4e2933c620 2015-04-21 kinaba: /***********************************************************************\ 4e2933c620 2015-04-21 kinaba: * winreg.d * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Windows API header module * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Translated from MinGW Windows headers * 4e2933c620 2015-04-21 kinaba: * by Stewart Gordon * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Placed into public domain * 4e2933c620 2015-04-21 kinaba: \***********************************************************************/ c2b7a98c21 2011-02-23 kinaba: module win32.winreg; 4e2933c620 2015-04-21 kinaba: pragma(lib, "advapi32.lib"); 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: private import win32.w32api, win32.winbase, win32.windef; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const HKEY 4e2933c620 2015-04-21 kinaba: HKEY_CLASSES_ROOT = cast(HKEY) 0x80000000, 4e2933c620 2015-04-21 kinaba: HKEY_CURRENT_USER = cast(HKEY) 0x80000001, 4e2933c620 2015-04-21 kinaba: HKEY_LOCAL_MACHINE = cast(HKEY) 0x80000002, 4e2933c620 2015-04-21 kinaba: HKEY_USERS = cast(HKEY) 0x80000003, 4e2933c620 2015-04-21 kinaba: HKEY_PERFORMANCE_DATA = cast(HKEY) 0x80000004, 4e2933c620 2015-04-21 kinaba: HKEY_CURRENT_CONFIG = cast(HKEY) 0x80000005, 4e2933c620 2015-04-21 kinaba: HKEY_DYN_DATA = cast(HKEY) 0x80000006; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: REG_OPTION_NON_VOLATILE, 4e2933c620 2015-04-21 kinaba: REG_OPTION_VOLATILE 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: REG_CREATED_NEW_KEY = 1, 4e2933c620 2015-04-21 kinaba: REG_OPENED_EXISTING_KEY 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: REG_NONE = 0, 4e2933c620 2015-04-21 kinaba: REG_SZ, 4e2933c620 2015-04-21 kinaba: REG_EXPAND_SZ, 4e2933c620 2015-04-21 kinaba: REG_BINARY, 4e2933c620 2015-04-21 kinaba: REG_DWORD_LITTLE_ENDIAN, 4e2933c620 2015-04-21 kinaba: REG_DWORD = REG_DWORD_LITTLE_ENDIAN, 4e2933c620 2015-04-21 kinaba: REG_DWORD_BIG_ENDIAN, 4e2933c620 2015-04-21 kinaba: REG_LINK, 4e2933c620 2015-04-21 kinaba: REG_MULTI_SZ, 4e2933c620 2015-04-21 kinaba: REG_RESOURCE_LIST, 4e2933c620 2015-04-21 kinaba: REG_FULL_RESOURCE_DESCRIPTOR, 4e2933c620 2015-04-21 kinaba: REG_RESOURCE_REQUIREMENTS_LIST, 4e2933c620 2015-04-21 kinaba: REG_QWORD_LITTLE_ENDIAN, 4e2933c620 2015-04-21 kinaba: REG_QWORD = REG_QWORD_LITTLE_ENDIAN 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: REG_NOTIFY_CHANGE_NAME = 1, 4e2933c620 2015-04-21 kinaba: REG_NOTIFY_CHANGE_ATTRIBUTES = 2, 4e2933c620 2015-04-21 kinaba: REG_NOTIFY_CHANGE_LAST_SET = 4, 4e2933c620 2015-04-21 kinaba: REG_NOTIFY_CHANGE_SECURITY = 8; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias ACCESS_MASK REGSAM; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct VALENTA { 4e2933c620 2015-04-21 kinaba: LPSTR ve_valuename; 4e2933c620 2015-04-21 kinaba: DWORD ve_valuelen; 4e2933c620 2015-04-21 kinaba: DWORD ve_valueptr; 4e2933c620 2015-04-21 kinaba: DWORD ve_type; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias VALENTA* PVALENTA; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct VALENTW { 4e2933c620 2015-04-21 kinaba: LPWSTR ve_valuename; 4e2933c620 2015-04-21 kinaba: DWORD ve_valuelen; 4e2933c620 2015-04-21 kinaba: DWORD ve_valueptr; 4e2933c620 2015-04-21 kinaba: DWORD ve_type; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias VALENTW* PVALENTW; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: // RRF - Registry Routine Flags (for RegGetValue) 4e2933c620 2015-04-21 kinaba: static if (WINVER >= 0x600) { 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: RRF_RT_REG_NONE = 0x00000001, 4e2933c620 2015-04-21 kinaba: RRF_RT_REG_SZ = 0x00000002, 4e2933c620 2015-04-21 kinaba: RRF_RT_REG_EXPAND_SZ = 0x00000004, 4e2933c620 2015-04-21 kinaba: RRF_RT_REG_BINARY = 0x00000008, 4e2933c620 2015-04-21 kinaba: RRF_RT_REG_DWORD = 0x00000010, 4e2933c620 2015-04-21 kinaba: RRF_RT_REG_MULTI_SZ = 0x00000020, 4e2933c620 2015-04-21 kinaba: RRF_RT_REG_QWORD = 0x00000040, 4e2933c620 2015-04-21 kinaba: RRF_RT_DWORD = RRF_RT_REG_BINARY | RRF_RT_REG_DWORD, 4e2933c620 2015-04-21 kinaba: RRF_RT_QWORD = RRF_RT_REG_BINARY | RRF_RT_REG_QWORD, 4e2933c620 2015-04-21 kinaba: RRF_RT_ANY = 0x0000FFFF, 4e2933c620 2015-04-21 kinaba: RRF_NOEXPAND = 0x10000000, 4e2933c620 2015-04-21 kinaba: RRF_ZEROONFAILURE = 0x20000000 4e2933c620 2015-04-21 kinaba: } c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: extern (Windows) { 4e2933c620 2015-04-21 kinaba: LONG RegCloseKey(HKEY); 4e2933c620 2015-04-21 kinaba: LONG RegConnectRegistryA(LPCSTR, HKEY, PHKEY); 4e2933c620 2015-04-21 kinaba: LONG RegConnectRegistryW(LPCWSTR, HKEY, PHKEY); 4e2933c620 2015-04-21 kinaba: LONG RegCreateKeyExA(HKEY, LPCSTR, DWORD, LPSTR, DWORD, REGSAM, 4e2933c620 2015-04-21 kinaba: LPSECURITY_ATTRIBUTES, PHKEY, PDWORD); 4e2933c620 2015-04-21 kinaba: LONG RegCreateKeyExW(HKEY, LPCWSTR, DWORD, LPWSTR, DWORD, REGSAM, 4e2933c620 2015-04-21 kinaba: LPSECURITY_ATTRIBUTES, PHKEY, PDWORD); 4e2933c620 2015-04-21 kinaba: LONG RegDeleteKeyA(HKEY, LPCSTR); 4e2933c620 2015-04-21 kinaba: LONG RegDeleteKeyW(HKEY, LPCWSTR); 4e2933c620 2015-04-21 kinaba: LONG RegDeleteValueA(HKEY, LPCSTR); 4e2933c620 2015-04-21 kinaba: LONG RegDeleteValueW(HKEY, LPCWSTR); 4e2933c620 2015-04-21 kinaba: LONG RegEnumKeyExA(HKEY, DWORD, LPSTR, PDWORD, PDWORD, LPSTR, PDWORD, 4e2933c620 2015-04-21 kinaba: PFILETIME); 4e2933c620 2015-04-21 kinaba: LONG RegEnumKeyExW(HKEY, DWORD, LPWSTR, PDWORD, PDWORD, LPWSTR, PDWORD, 4e2933c620 2015-04-21 kinaba: PFILETIME); 4e2933c620 2015-04-21 kinaba: LONG RegEnumValueA(HKEY, DWORD, LPSTR, PDWORD, PDWORD, PDWORD, LPBYTE, 4e2933c620 2015-04-21 kinaba: PDWORD); 4e2933c620 2015-04-21 kinaba: LONG RegEnumValueW(HKEY, DWORD, LPWSTR, PDWORD, PDWORD, PDWORD, LPBYTE, 4e2933c620 2015-04-21 kinaba: PDWORD); 4e2933c620 2015-04-21 kinaba: LONG RegFlushKey(HKEY); 4e2933c620 2015-04-21 kinaba: LONG RegLoadKeyA(HKEY, LPCSTR, LPCSTR); 4e2933c620 2015-04-21 kinaba: LONG RegLoadKeyW(HKEY, LPCWSTR, LPCWSTR); 4e2933c620 2015-04-21 kinaba: LONG RegOpenKeyExA(HKEY, LPCSTR, DWORD, REGSAM, PHKEY); 4e2933c620 2015-04-21 kinaba: LONG RegOpenKeyExW(HKEY, LPCWSTR, DWORD, REGSAM, PHKEY); 4e2933c620 2015-04-21 kinaba: LONG RegQueryInfoKeyA(HKEY, LPSTR, PDWORD, PDWORD, PDWORD, PDWORD, 4e2933c620 2015-04-21 kinaba: PDWORD, PDWORD, PDWORD, PDWORD, PDWORD, PFILETIME); 4e2933c620 2015-04-21 kinaba: LONG RegQueryInfoKeyW(HKEY, LPWSTR, PDWORD, PDWORD, PDWORD, PDWORD, 4e2933c620 2015-04-21 kinaba: PDWORD, PDWORD, PDWORD, PDWORD, PDWORD, PFILETIME); 4e2933c620 2015-04-21 kinaba: LONG RegQueryMultipleValuesA(HKEY, PVALENTA, DWORD, LPSTR, LPDWORD); 4e2933c620 2015-04-21 kinaba: LONG RegQueryMultipleValuesW(HKEY, PVALENTW, DWORD, LPWSTR, LPDWORD); 4e2933c620 2015-04-21 kinaba: LONG RegQueryValueExA(HKEY, LPCSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD); 4e2933c620 2015-04-21 kinaba: LONG RegQueryValueExW(HKEY, LPCWSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD); 4e2933c620 2015-04-21 kinaba: LONG RegReplaceKeyA(HKEY, LPCSTR, LPCSTR, LPCSTR); 4e2933c620 2015-04-21 kinaba: LONG RegReplaceKeyW(HKEY, LPCWSTR, LPCWSTR, LPCWSTR); 4e2933c620 2015-04-21 kinaba: LONG RegSaveKeyA(HKEY, LPCSTR, LPSECURITY_ATTRIBUTES); 4e2933c620 2015-04-21 kinaba: LONG RegSaveKeyW(HKEY, LPCWSTR, LPSECURITY_ATTRIBUTES); 4e2933c620 2015-04-21 kinaba: LONG RegSetKeySecurity(HKEY, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR); 4e2933c620 2015-04-21 kinaba: LONG RegSetValueExA(HKEY, LPCSTR, DWORD, DWORD, CPtr!(BYTE), DWORD); 4e2933c620 2015-04-21 kinaba: LONG RegSetValueExW(HKEY, LPCWSTR, DWORD, DWORD, CPtr!(BYTE), DWORD); 4e2933c620 2015-04-21 kinaba: LONG RegUnLoadKeyA(HKEY, LPCSTR); 4e2933c620 2015-04-21 kinaba: LONG RegUnLoadKeyW(HKEY, LPCWSTR); 4e2933c620 2015-04-21 kinaba: static if (_WIN32_WINDOWS >= 0x410) { 4e2933c620 2015-04-21 kinaba: LONG RegNotifyChangeKeyValue(HKEY, BOOL, DWORD, HANDLE, BOOL); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: static if (_WIN32_WINNT_ONLY) { 4e2933c620 2015-04-21 kinaba: BOOL AbortSystemShutdownA(LPCSTR); 4e2933c620 2015-04-21 kinaba: BOOL AbortSystemShutdownW(LPCWSTR); 4e2933c620 2015-04-21 kinaba: BOOL InitiateSystemShutdownA(LPSTR, LPSTR, DWORD, BOOL, BOOL); 4e2933c620 2015-04-21 kinaba: BOOL InitiateSystemShutdownW(LPWSTR, LPWSTR, DWORD, BOOL, BOOL); 4e2933c620 2015-04-21 kinaba: LONG RegGetKeySecurity(HKEY, SECURITY_INFORMATION, 4e2933c620 2015-04-21 kinaba: PSECURITY_DESCRIPTOR, PDWORD); 4e2933c620 2015-04-21 kinaba: LONG RegRestoreKeyA(HKEY, LPCSTR, DWORD); 4e2933c620 2015-04-21 kinaba: LONG RegRestoreKeyW(HKEY, LPCWSTR, DWORD); 4e2933c620 2015-04-21 kinaba: LONG RegSetKeySecurity(HKEY, SECURITY_INFORMATION, 4e2933c620 2015-04-21 kinaba: PSECURITY_DESCRIPTOR); c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: static if (_WIN32_WINNT >= 0x500) { 4e2933c620 2015-04-21 kinaba: LONG RegDisablePredefinedCache(); 4e2933c620 2015-04-21 kinaba: LONG RegOpenCurrentUser(REGSAM, PHKEY); 4e2933c620 2015-04-21 kinaba: LONG RegOpenUserClassesRoot(HANDLE, DWORD, REGSAM, PHKEY); 4e2933c620 2015-04-21 kinaba: } c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: static if (_WIN32_WINNT >= 0x501) { 4e2933c620 2015-04-21 kinaba: LONG RegSaveKeyExA(HKEY, LPCSTR, LPSECURITY_ATTRIBUTES, DWORD); 4e2933c620 2015-04-21 kinaba: LONG RegSaveKeyExW(HKEY, LPCWSTR, LPSECURITY_ATTRIBUTES, DWORD); 4e2933c620 2015-04-21 kinaba: } c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: static if (_WIN32_WINNT >= 0x600) { 4e2933c620 2015-04-21 kinaba: LONG RegGetValueA(HKEY hkey, LPCSTR lpSubKey, LPCSTR lpValue, 4e2933c620 2015-04-21 kinaba: DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData); 4e2933c620 2015-04-21 kinaba: LONG RegGetValueW(HKEY hkey, LPCWSTR lpSubKey, LPCWSTR lpValue, 4e2933c620 2015-04-21 kinaba: DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: } c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: deprecated { 4e2933c620 2015-04-21 kinaba: LONG RegCreateKeyA(HKEY, LPCSTR, PHKEY); 4e2933c620 2015-04-21 kinaba: LONG RegCreateKeyW(HKEY, LPCWSTR, PHKEY); 4e2933c620 2015-04-21 kinaba: LONG RegEnumKeyA(HKEY, DWORD, LPSTR, DWORD); 4e2933c620 2015-04-21 kinaba: LONG RegEnumKeyW(HKEY, DWORD, LPWSTR, DWORD); 4e2933c620 2015-04-21 kinaba: LONG RegOpenKeyA(HKEY, LPCSTR, PHKEY); 4e2933c620 2015-04-21 kinaba: LONG RegOpenKeyW(HKEY, LPCWSTR, PHKEY); 4e2933c620 2015-04-21 kinaba: LONG RegQueryValueA(HKEY, LPCSTR, LPSTR, PLONG); 4e2933c620 2015-04-21 kinaba: LONG RegQueryValueW(HKEY, LPCWSTR, LPWSTR, PLONG); 4e2933c620 2015-04-21 kinaba: LONG RegSetValueA(HKEY, LPCSTR, DWORD, LPCSTR, DWORD); 4e2933c620 2015-04-21 kinaba: LONG RegSetValueW(HKEY, LPCWSTR, DWORD, LPCWSTR, DWORD); 4e2933c620 2015-04-21 kinaba: } c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: version (Unicode) { 4e2933c620 2015-04-21 kinaba: alias VALENTW VALENT; 4e2933c620 2015-04-21 kinaba: alias RegConnectRegistryW RegConnectRegistry; 4e2933c620 2015-04-21 kinaba: alias RegCreateKeyExW RegCreateKeyEx; 4e2933c620 2015-04-21 kinaba: alias RegDeleteKeyW RegDeleteKey; 4e2933c620 2015-04-21 kinaba: alias RegDeleteValueW RegDeleteValue; 4e2933c620 2015-04-21 kinaba: alias RegEnumKeyExW RegEnumKeyEx; 4e2933c620 2015-04-21 kinaba: alias RegEnumValueW RegEnumValue; 4e2933c620 2015-04-21 kinaba: alias RegLoadKeyW RegLoadKey; 4e2933c620 2015-04-21 kinaba: alias RegOpenKeyExW RegOpenKeyEx; 4e2933c620 2015-04-21 kinaba: alias RegQueryInfoKeyW RegQueryInfoKey; 4e2933c620 2015-04-21 kinaba: alias RegQueryMultipleValuesW RegQueryMultipleValues; 4e2933c620 2015-04-21 kinaba: alias RegQueryValueExW RegQueryValueEx; 4e2933c620 2015-04-21 kinaba: alias RegReplaceKeyW RegReplaceKey; 4e2933c620 2015-04-21 kinaba: alias RegSaveKeyW RegSaveKey; 4e2933c620 2015-04-21 kinaba: alias RegSetValueExW RegSetValueEx; 4e2933c620 2015-04-21 kinaba: alias RegUnLoadKeyW RegUnLoadKey; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: static if (_WIN32_WINNT_ONLY) { 4e2933c620 2015-04-21 kinaba: alias AbortSystemShutdownW AbortSystemShutdown; 4e2933c620 2015-04-21 kinaba: alias InitiateSystemShutdownW InitiateSystemShutdown; 4e2933c620 2015-04-21 kinaba: alias RegRestoreKeyW RegRestoreKey; 4e2933c620 2015-04-21 kinaba: static if (_WIN32_WINNT >= 0x501) { 4e2933c620 2015-04-21 kinaba: alias RegSaveKeyExA RegSaveKeyEx; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: static if (_WIN32_WINNT >= 0x600) { 4e2933c620 2015-04-21 kinaba: alias RegGetValueW RegGetValue; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: deprecated { 4e2933c620 2015-04-21 kinaba: alias RegCreateKeyW RegCreateKey; 4e2933c620 2015-04-21 kinaba: alias RegEnumKeyW RegEnumKey; 4e2933c620 2015-04-21 kinaba: alias RegOpenKeyW RegOpenKey; 4e2933c620 2015-04-21 kinaba: alias RegQueryValueW RegQueryValue; 4e2933c620 2015-04-21 kinaba: alias RegSetValueW RegSetValue; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: } else { 4e2933c620 2015-04-21 kinaba: alias VALENTA VALENT; 4e2933c620 2015-04-21 kinaba: alias RegConnectRegistryA RegConnectRegistry; 4e2933c620 2015-04-21 kinaba: alias RegCreateKeyExA RegCreateKeyEx; 4e2933c620 2015-04-21 kinaba: alias RegDeleteKeyA RegDeleteKey; 4e2933c620 2015-04-21 kinaba: alias RegDeleteValueA RegDeleteValue; 4e2933c620 2015-04-21 kinaba: alias RegEnumKeyExA RegEnumKeyEx; 4e2933c620 2015-04-21 kinaba: alias RegEnumValueA RegEnumValue; 4e2933c620 2015-04-21 kinaba: alias RegLoadKeyA RegLoadKey; 4e2933c620 2015-04-21 kinaba: alias RegOpenKeyExA RegOpenKeyEx; 4e2933c620 2015-04-21 kinaba: alias RegQueryInfoKeyA RegQueryInfoKey; 4e2933c620 2015-04-21 kinaba: alias RegQueryMultipleValuesA RegQueryMultipleValues; 4e2933c620 2015-04-21 kinaba: alias RegQueryValueExA RegQueryValueEx; 4e2933c620 2015-04-21 kinaba: alias RegReplaceKeyA RegReplaceKey; 4e2933c620 2015-04-21 kinaba: alias RegSaveKeyA RegSaveKey; 4e2933c620 2015-04-21 kinaba: alias RegSetValueExA RegSetValueEx; 4e2933c620 2015-04-21 kinaba: alias RegUnLoadKeyA RegUnLoadKey; 4e2933c620 2015-04-21 kinaba: static if (_WIN32_WINNT_ONLY) { 4e2933c620 2015-04-21 kinaba: alias AbortSystemShutdownA AbortSystemShutdown; 4e2933c620 2015-04-21 kinaba: alias InitiateSystemShutdownA InitiateSystemShutdown; 4e2933c620 2015-04-21 kinaba: alias RegRestoreKeyW RegRestoreKey; 4e2933c620 2015-04-21 kinaba: static if (_WIN32_WINNT >= 0x501) { 4e2933c620 2015-04-21 kinaba: alias RegSaveKeyExA RegSaveKeyEx; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: static if (_WIN32_WINNT >= 0x600) { 4e2933c620 2015-04-21 kinaba: alias RegGetValueA RegGetValue; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: deprecated { 4e2933c620 2015-04-21 kinaba: alias RegCreateKeyA RegCreateKey; 4e2933c620 2015-04-21 kinaba: alias RegEnumKeyA RegEnumKey; 4e2933c620 2015-04-21 kinaba: alias RegOpenKeyA RegOpenKey; 4e2933c620 2015-04-21 kinaba: alias RegQueryValueA RegQueryValue; 4e2933c620 2015-04-21 kinaba: alias RegSetValueA RegSetValue; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: } c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: alias VALENT* PVALENT;