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