home *** CD-ROM | disk | FTP | other *** search
/ Beginning C++ Through Gam…rogramming (2nd Edition) / BCGP2E.ISO / bloodshed / devcpp-4.9.9.2_setup.exe / winreg.h < prev    next >
C/C++ Source or Header  |  2005-01-29  |  6KB  |  162 lines

  1. #ifndef _WINREG_H
  2. #define _WINREG_H
  3. #if __GNUC__ >=3
  4. #pragma GCC system_header
  5. #endif
  6.  
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10. #define HKEY_CLASSES_ROOT    ((HKEY)0x80000000)
  11. #define HKEY_CURRENT_USER    ((HKEY)0x80000001)
  12. #define HKEY_LOCAL_MACHINE    ((HKEY)0x80000002)
  13. #define HKEY_USERS    ((HKEY)0x80000003)
  14. #define HKEY_PERFORMANCE_DATA    ((HKEY)0x80000004)
  15. #define HKEY_CURRENT_CONFIG    ((HKEY)0x80000005)
  16. #define HKEY_DYN_DATA    ((HKEY)0x80000006)
  17. #define REG_OPTION_VOLATILE 1
  18. #define REG_OPTION_NON_VOLATILE 0
  19. #define REG_CREATED_NEW_KEY 1
  20. #define REG_OPENED_EXISTING_KEY 2
  21. #define REG_NONE 0
  22. #define REG_SZ 1
  23. #define REG_EXPAND_SZ 2
  24. #define REG_BINARY 3
  25. #define REG_DWORD_LITTLE_ENDIAN 4
  26. #define REG_DWORD 4
  27. #define REG_DWORD_BIG_ENDIAN 5
  28. #define REG_LINK 6
  29. #define REG_MULTI_SZ 7
  30. #define REG_RESOURCE_LIST 8
  31. #define REG_FULL_RESOURCE_DESCRIPTOR 9
  32. #define REG_RESOURCE_REQUIREMENTS_LIST 10
  33. #define REG_QWORD_LITTLE_ENDIAN 11
  34. #define REG_QWORD 11
  35. #define REG_NOTIFY_CHANGE_NAME 1
  36. #define REG_NOTIFY_CHANGE_ATTRIBUTES 2
  37. #define REG_NOTIFY_CHANGE_LAST_SET 4
  38. #define REG_NOTIFY_CHANGE_SECURITY 8
  39.  
  40. #ifndef RC_INVOKED
  41. typedef ACCESS_MASK REGSAM;
  42. typedef struct value_entA {
  43.     LPSTR ve_valuename;
  44.     DWORD ve_valuelen;
  45.     DWORD ve_valueptr;
  46.     DWORD ve_type;
  47. } VALENTA,*PVALENTA;
  48. typedef struct value_entW {
  49.     LPWSTR ve_valuename;
  50.     DWORD ve_valuelen;
  51.     DWORD ve_valueptr;
  52.     DWORD ve_type;
  53. } VALENTW,*PVALENTW;
  54. BOOL WINAPI AbortSystemShutdownA(LPCSTR);
  55. BOOL WINAPI AbortSystemShutdownW(LPCWSTR);
  56. BOOL WINAPI InitiateSystemShutdownA(LPSTR,LPSTR,DWORD,BOOL,BOOL);
  57. BOOL WINAPI InitiateSystemShutdownW(LPWSTR,LPWSTR,DWORD,BOOL,BOOL);
  58. LONG WINAPI RegCloseKey(HKEY);
  59. LONG WINAPI RegConnectRegistryA(LPCSTR,HKEY,PHKEY);
  60. LONG WINAPI RegConnectRegistryW(LPCWSTR,HKEY,PHKEY);
  61. LONG WINAPI RegCreateKeyA(HKEY,LPCSTR,PHKEY);
  62. LONG WINAPI RegCreateKeyExA(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD);
  63. LONG WINAPI RegCreateKeyExW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD);
  64. LONG WINAPI RegCreateKeyW(HKEY,LPCWSTR,PHKEY);
  65. LONG WINAPI RegDeleteKeyA(HKEY,LPCSTR);
  66. LONG WINAPI RegDeleteKeyW(HKEY,LPCWSTR);
  67. LONG WINAPI RegDeleteValueA(HKEY,LPCSTR);
  68. LONG WINAPI RegDeleteValueW(HKEY,LPCWSTR);
  69. LONG WINAPI RegEnumKeyA(HKEY,DWORD,LPSTR,DWORD);
  70. LONG WINAPI RegEnumKeyW(HKEY,DWORD,LPWSTR,DWORD);
  71. LONG WINAPI RegEnumKeyExA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,LPSTR,PDWORD,PFILETIME);
  72. LONG WINAPI RegEnumKeyExW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,LPWSTR,PDWORD,PFILETIME);
  73. LONG WINAPI RegEnumValueA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD);
  74. LONG WINAPI RegEnumValueW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD);
  75. LONG WINAPI RegFlushKey(HKEY);
  76. LONG WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PDWORD);
  77. LONG WINAPI RegLoadKeyA(HKEY,LPCSTR,LPCSTR);
  78. LONG WINAPI RegLoadKeyW(HKEY,LPCWSTR,LPCWSTR);
  79. LONG WINAPI RegNotifyChangeKeyValue(HKEY,BOOL,DWORD,HANDLE,BOOL);
  80. LONG WINAPI RegOpenKeyA(HKEY,LPCSTR,PHKEY);
  81. LONG WINAPI RegOpenKeyExA(HKEY,LPCSTR,DWORD,REGSAM,PHKEY);
  82. LONG WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY);
  83. LONG WINAPI RegOpenKeyW(HKEY,LPCWSTR,PHKEY);
  84. LONG WINAPI RegQueryInfoKeyA(HKEY,LPSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME);
  85. LONG WINAPI RegQueryInfoKeyW(HKEY,LPWSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME);
  86. LONG WINAPI RegQueryMultipleValuesA(HKEY,PVALENTA,DWORD,LPSTR,LPDWORD);
  87. LONG WINAPI RegQueryMultipleValuesW(HKEY,PVALENTW,DWORD,LPWSTR,LPDWORD);
  88. LONG WINAPI RegQueryValueA(HKEY,LPCSTR,LPSTR,PLONG);
  89. LONG WINAPI RegQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
  90. LONG WINAPI RegQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
  91. LONG WINAPI RegQueryValueW(HKEY,LPCWSTR,LPWSTR,PLONG);
  92. LONG WINAPI RegReplaceKeyA(HKEY,LPCSTR,LPCSTR,LPCSTR);
  93. LONG WINAPI RegReplaceKeyW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR);
  94. LONG WINAPI RegRestoreKeyA(HKEY,LPCSTR,DWORD);
  95. LONG WINAPI RegRestoreKeyW(HKEY,LPCWSTR,DWORD);
  96. LONG WINAPI RegSaveKeyA(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES);
  97. LONG WINAPI RegSaveKeyW(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES);
  98. LONG WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
  99. LONG WINAPI RegSetValueA(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
  100. LONG WINAPI RegSetValueExA(HKEY,LPCSTR,DWORD,DWORD,const BYTE*,DWORD);
  101. LONG WINAPI RegSetValueExW(HKEY,LPCWSTR,DWORD,DWORD,const BYTE*,DWORD);
  102. LONG WINAPI RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
  103. LONG WINAPI RegUnLoadKeyA(HKEY,LPCSTR);
  104. LONG WINAPI RegUnLoadKeyW(HKEY,LPCWSTR);
  105.  
  106. #ifdef UNICODE
  107. typedef VALENTW VALENT,*PVALENT;
  108. #define AbortSystemShutdown AbortSystemShutdownW
  109. #define InitiateSystemShutdown InitiateSystemShutdownW
  110. #define RegConnectRegistry RegConnectRegistryW
  111. #define RegCreateKey RegCreateKeyW
  112. #define RegCreateKeyEx RegCreateKeyExW
  113. #define RegDeleteKey RegDeleteKeyW
  114. #define RegDeleteValue RegDeleteValueW
  115. #define RegEnumKey RegEnumKeyW
  116. #define RegEnumKeyEx RegEnumKeyExW
  117. #define RegEnumValue RegEnumValueW
  118. #define RegLoadKey RegLoadKeyW
  119. #define RegOpenKey RegOpenKeyW
  120. #define RegOpenKeyEx RegOpenKeyExW
  121. #define RegQueryInfoKey RegQueryInfoKeyW
  122. #define RegQueryMultipleValues RegQueryMultipleValuesW
  123. #define RegQueryValue RegQueryValueW
  124. #define RegQueryValueEx RegQueryValueExW
  125. #define RegReplaceKey RegReplaceKeyW
  126. #define RegRestoreKey RegRestoreKeyW
  127. #define RegSaveKey RegSaveKeyW
  128. #define RegSetValue RegSetValueW
  129. #define RegSetValueEx RegSetValueExW
  130. #define RegUnLoadKey RegUnLoadKeyW
  131. #else
  132. typedef VALENTA VALENT,*PVALENT;
  133. #define AbortSystemShutdown AbortSystemShutdownA
  134. #define InitiateSystemShutdown InitiateSystemShutdownA
  135. #define RegConnectRegistry RegConnectRegistryA
  136. #define RegCreateKey RegCreateKeyA
  137. #define RegCreateKeyEx RegCreateKeyExA
  138. #define RegDeleteKey RegDeleteKeyA
  139. #define RegDeleteValue RegDeleteValueA
  140. #define RegEnumKey RegEnumKeyA
  141. #define RegEnumKeyEx RegEnumKeyExA
  142. #define RegEnumValue RegEnumValueA
  143. #define RegLoadKey RegLoadKeyA
  144. #define RegOpenKey RegOpenKeyA
  145. #define RegOpenKeyEx RegOpenKeyExA
  146. #define RegQueryInfoKey RegQueryInfoKeyA
  147. #define RegQueryMultipleValues RegQueryMultipleValuesA
  148. #define RegQueryValue RegQueryValueA
  149. #define RegQueryValueEx RegQueryValueExA
  150. #define RegReplaceKey RegReplaceKeyA
  151. #define RegRestoreKey RegRestoreKeyA
  152. #define RegSaveKey RegSaveKeyA
  153. #define RegSetValue RegSetValueA
  154. #define RegSetValueEx RegSetValueExA
  155. #define RegUnLoadKey RegUnLoadKeyA
  156. #endif
  157. #endif
  158. #ifdef __cplusplus
  159. }
  160. #endif
  161. #endif
  162.