| #ifndef _WINREG_H |
| #define _WINREG_H |
| #if __GNUC__ >= 3 |
| #pragma GCC system_header |
| #endif |
| |
| #ifndef WINADVAPI |
| #define WINADVAPI |
| #endif |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| #define HKEY_CLASSES_ROOT ((HKEY)0x80000000) |
| #define HKEY_CURRENT_USER ((HKEY)0x80000001) |
| #define HKEY_LOCAL_MACHINE ((HKEY)0x80000002) |
| #define HKEY_USERS ((HKEY)0x80000003) |
| #define HKEY_PERFORMANCE_DATA ((HKEY)0x80000004) |
| #define HKEY_CURRENT_CONFIG ((HKEY)0x80000005) |
| #define HKEY_DYN_DATA ((HKEY)0x80000006) |
| #define REG_OPTION_VOLATILE 1 |
| #define REG_OPTION_NON_VOLATILE 0 |
| #define REG_CREATED_NEW_KEY 1 |
| #define REG_OPENED_EXISTING_KEY 2 |
| #define REG_NONE 0 |
| #define REG_SZ 1 |
| #define REG_EXPAND_SZ 2 |
| #define REG_BINARY 3 |
| #define REG_DWORD_LITTLE_ENDIAN 4 |
| #define REG_DWORD 4 |
| #define REG_DWORD_BIG_ENDIAN 5 |
| #define REG_LINK 6 |
| #define REG_MULTI_SZ 7 |
| #define REG_RESOURCE_LIST 8 |
| #define REG_FULL_RESOURCE_DESCRIPTOR 9 |
| #define REG_RESOURCE_REQUIREMENTS_LIST 10 |
| #define REG_QWORD_LITTLE_ENDIAN 11 |
| #define REG_QWORD 11 |
| #define REG_NOTIFY_CHANGE_NAME 1 |
| #define REG_NOTIFY_CHANGE_ATTRIBUTES 2 |
| #define REG_NOTIFY_CHANGE_LAST_SET 4 |
| #define REG_NOTIFY_CHANGE_SECURITY 8 |
| |
| #ifndef RC_INVOKED |
| typedef ACCESS_MASK REGSAM; |
| typedef struct value_entA { |
| LPSTR ve_valuename; |
| DWORD ve_valuelen; |
| DWORD ve_valueptr; |
| DWORD ve_type; |
| } VALENTA,*PVALENTA; |
| typedef struct value_entW { |
| LPWSTR ve_valuename; |
| DWORD ve_valuelen; |
| DWORD ve_valueptr; |
| DWORD ve_type; |
| } VALENTW,*PVALENTW; |
| WINADVAPI BOOL WINAPI AbortSystemShutdownA(LPCSTR); |
| WINADVAPI BOOL WINAPI AbortSystemShutdownW(LPCWSTR); |
| WINADVAPI BOOL WINAPI InitiateSystemShutdownA(LPSTR,LPSTR,DWORD,BOOL,BOOL); |
| WINADVAPI BOOL WINAPI InitiateSystemShutdownW(LPWSTR,LPWSTR,DWORD,BOOL,BOOL); |
| WINADVAPI LONG WINAPI RegCloseKey(HKEY); |
| WINADVAPI LONG WINAPI RegConnectRegistryA(LPCSTR,HKEY,PHKEY); |
| WINADVAPI LONG WINAPI RegConnectRegistryW(LPCWSTR,HKEY,PHKEY); |
| WINADVAPI LONG WINAPI RegCreateKeyA(HKEY,LPCSTR,PHKEY); |
| WINADVAPI LONG WINAPI RegCreateKeyExA(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD); |
| WINADVAPI LONG WINAPI RegCreateKeyExW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD); |
| WINADVAPI LONG WINAPI RegCreateKeyW(HKEY,LPCWSTR,PHKEY); |
| WINADVAPI LONG WINAPI RegDeleteKeyA(HKEY,LPCSTR); |
| WINADVAPI LONG WINAPI RegDeleteKeyW(HKEY,LPCWSTR); |
| #if (WINVER >= 0x0502) |
| WINADVAPI LONG WINAPI RegDeleteKeyExA(HKEY,LPCSTR,REGSAM,DWORD); |
| WINADVAPI LONG WINAPI RegDeleteKeyExW(HKEY,LPCWSTR,REGSAM,DWORD); |
| #endif |
| WINADVAPI LONG WINAPI RegDeleteValueA(HKEY,LPCSTR); |
| WINADVAPI LONG WINAPI RegDeleteValueW(HKEY,LPCWSTR); |
| WINADVAPI LONG WINAPI RegEnumKeyA(HKEY,DWORD,LPSTR,DWORD); |
| WINADVAPI LONG WINAPI RegEnumKeyW(HKEY,DWORD,LPWSTR,DWORD); |
| WINADVAPI LONG WINAPI RegEnumKeyExA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,LPSTR,PDWORD,PFILETIME); |
| WINADVAPI LONG WINAPI RegEnumKeyExW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,LPWSTR,PDWORD,PFILETIME); |
| WINADVAPI LONG WINAPI RegEnumValueA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD); |
| WINADVAPI LONG WINAPI RegEnumValueW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD); |
| WINADVAPI LONG WINAPI RegFlushKey(HKEY); |
| WINADVAPI LONG WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PDWORD); |
| WINADVAPI LONG WINAPI RegLoadKeyA(HKEY,LPCSTR,LPCSTR); |
| WINADVAPI LONG WINAPI RegLoadKeyW(HKEY,LPCWSTR,LPCWSTR); |
| WINADVAPI LONG WINAPI RegNotifyChangeKeyValue(HKEY,BOOL,DWORD,HANDLE,BOOL); |
| WINADVAPI LONG WINAPI RegOpenKeyA(HKEY,LPCSTR,PHKEY); |
| WINADVAPI LONG WINAPI RegOpenKeyExA(HKEY,LPCSTR,DWORD,REGSAM,PHKEY); |
| WINADVAPI LONG WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY); |
| WINADVAPI LONG WINAPI RegOpenKeyW(HKEY,LPCWSTR,PHKEY); |
| WINADVAPI LONG WINAPI RegQueryInfoKeyA(HKEY,LPSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME); |
| WINADVAPI LONG WINAPI RegQueryInfoKeyW(HKEY,LPWSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME); |
| WINADVAPI LONG WINAPI RegQueryMultipleValuesA(HKEY,PVALENTA,DWORD,LPSTR,LPDWORD); |
| WINADVAPI LONG WINAPI RegQueryMultipleValuesW(HKEY,PVALENTW,DWORD,LPWSTR,LPDWORD); |
| WINADVAPI LONG WINAPI RegQueryValueA(HKEY,LPCSTR,LPSTR,PLONG); |
| WINADVAPI LONG WINAPI RegQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD); |
| WINADVAPI LONG WINAPI RegQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD); |
| WINADVAPI LONG WINAPI RegQueryValueW(HKEY,LPCWSTR,LPWSTR,PLONG); |
| WINADVAPI LONG WINAPI RegReplaceKeyA(HKEY,LPCSTR,LPCSTR,LPCSTR); |
| WINADVAPI LONG WINAPI RegReplaceKeyW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR); |
| WINADVAPI LONG WINAPI RegRestoreKeyA(HKEY,LPCSTR,DWORD); |
| WINADVAPI LONG WINAPI RegRestoreKeyW(HKEY,LPCWSTR,DWORD); |
| WINADVAPI LONG WINAPI RegSaveKeyA(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES); |
| WINADVAPI LONG WINAPI RegSaveKeyW(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES); |
| WINADVAPI LONG WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR); |
| WINADVAPI LONG WINAPI RegSetValueA(HKEY,LPCSTR,DWORD,LPCSTR,DWORD); |
| WINADVAPI LONG WINAPI RegSetValueExA(HKEY,LPCSTR,DWORD,DWORD,const BYTE*,DWORD); |
| WINADVAPI LONG WINAPI RegSetValueExW(HKEY,LPCWSTR,DWORD,DWORD,const BYTE*,DWORD); |
| WINADVAPI LONG WINAPI RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD); |
| WINADVAPI LONG WINAPI RegUnLoadKeyA(HKEY,LPCSTR); |
| WINADVAPI LONG WINAPI RegUnLoadKeyW(HKEY,LPCWSTR); |
| |
| #ifdef UNICODE |
| typedef VALENTW VALENT,*PVALENT; |
| #define AbortSystemShutdown AbortSystemShutdownW |
| #define InitiateSystemShutdown InitiateSystemShutdownW |
| #define RegConnectRegistry RegConnectRegistryW |
| #define RegCreateKey RegCreateKeyW |
| #define RegCreateKeyEx RegCreateKeyExW |
| #define RegDeleteKey RegDeleteKeyW |
| #if (WINVER >= 0x0502) |
| #define RegDeleteKeyEx RegDeleteKeyExW |
| #endif |
| #define RegDeleteValue RegDeleteValueW |
| #define RegEnumKey RegEnumKeyW |
| #define RegEnumKeyEx RegEnumKeyExW |
| #define RegEnumValue RegEnumValueW |
| #define RegLoadKey RegLoadKeyW |
| #define RegOpenKey RegOpenKeyW |
| #define RegOpenKeyEx RegOpenKeyExW |
| #define RegQueryInfoKey RegQueryInfoKeyW |
| #define RegQueryMultipleValues RegQueryMultipleValuesW |
| #define RegQueryValue RegQueryValueW |
| #define RegQueryValueEx RegQueryValueExW |
| #define RegReplaceKey RegReplaceKeyW |
| #define RegRestoreKey RegRestoreKeyW |
| #define RegSaveKey RegSaveKeyW |
| #define RegSetValue RegSetValueW |
| #define RegSetValueEx RegSetValueExW |
| #define RegUnLoadKey RegUnLoadKeyW |
| #else |
| typedef VALENTA VALENT,*PVALENT; |
| #define AbortSystemShutdown AbortSystemShutdownA |
| #define InitiateSystemShutdown InitiateSystemShutdownA |
| #define RegConnectRegistry RegConnectRegistryA |
| #define RegCreateKey RegCreateKeyA |
| #define RegCreateKeyEx RegCreateKeyExA |
| #define RegDeleteKey RegDeleteKeyA |
| #if (WINVER >= 0x0502) |
| #define RegDeleteKeyEx RegDeleteKeyExA |
| #endif |
| #define RegDeleteValue RegDeleteValueA |
| #define RegEnumKey RegEnumKeyA |
| #define RegEnumKeyEx RegEnumKeyExA |
| #define RegEnumValue RegEnumValueA |
| #define RegLoadKey RegLoadKeyA |
| #define RegOpenKey RegOpenKeyA |
| #define RegOpenKeyEx RegOpenKeyExA |
| #define RegQueryInfoKey RegQueryInfoKeyA |
| #define RegQueryMultipleValues RegQueryMultipleValuesA |
| #define RegQueryValue RegQueryValueA |
| #define RegQueryValueEx RegQueryValueExA |
| #define RegReplaceKey RegReplaceKeyA |
| #define RegRestoreKey RegRestoreKeyA |
| #define RegSaveKey RegSaveKeyA |
| #define RegSetValue RegSetValueA |
| #define RegSetValueEx RegSetValueExA |
| #define RegUnLoadKey RegUnLoadKeyA |
| #endif |
| #endif |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif |