2000-02-18 03:38:33 +08:00
|
|
|
#ifndef _WINREG_H
|
|
|
|
#define _WINREG_H
|
2006-01-12 06:49:06 +08:00
|
|
|
#if __GNUC__ >= 3
|
* include/accctrl.h, aclapi.h, basetsd.h, basetyps.h, cderr.h,
cguid.h, commctrl.h, commdlg.h, cpl.h, cplext.h, custcntl.h,
dbt.h, dde.h, ddeml.h, dlgs.h, excpt.h, httpext.h, imagehlp.h,
imm.h, initguid.h, intshcut.h, ipexport.h, iphlpapi.h,
ipifcons.h, iprtrmib.h, iptypes.h, isguids.h, largeint.h, lm.h,
lmaccess.h, lmalert.h, lmapibuf.h, lmat.h, lmaudit.h,
lmbrowsr.h, lmchdev.h, lmconfig.h, lmcons.h, lmerr.h,
lmerrlog.h, lmmsg.h, lmremutl.h, lmrepl.h, lmserver.h,
lmshare.h, lmsname.h, lmstats.h, lmsvc.h, lmuse.h, lmuseflg.h,
lmwksta.h, lzexpand.h, mapi.h, mciavi.h, mcx.h, mmsystem.h,
mswsock.h, nb30.h, nddeapi.h, nspapi.h, ntdef.h, ntsecapi.h,
ntsecpkg.h, oaidl.h, objbase.h, objfwd.h, objidl.h, odbcinst.h,
ole.h, ole2.h, ole2ver.h, oleauto.h, olectl.h, olectlid.h,
oledlg.h, oleidl.h, pbt.h, prsht.h, psapi.h, rapi.h, ras.h,
raserror.h, rassapi.h, regstr.h, richedit.h, richole.h, rpc.h,
rpcdce.h, rpcdce2.h, rpcdcep.h, rpcndr.h, rpcnsi.h, rpcnsip.h,
rpcnterr.h, rpcproxy.h, schannel.h, schnlsp.h, scrnsave.h,
security.h, setupapi.h, shellapi.h, shlguid.h, shlobj.h, sql.h,
sqlext.h, sqltypes.h, sqlucode.h, sspi.h, subauth.h,
tlhelp32.h, unknwn.h, userenv.h, w32api.h, winbase.h, wincon.h,
wincrypt.h, windef.h, windows.h, windowsx.h, winerror.h,
wingdi.h, wininet.h, winioctl.h, winnetwk.h, winnls.h, winnt.h,
winperf.h, winreg.h, winresrc.h, winsock.h, winsock2.h,
winspool.h, winsvc.h, winuser.h, winver.h, ws2tcpip.h,
wsnetbs.h, wtypes.h, zmouse.h: Add #pragma GCC system_header
if __GNUC__ >= 3.
* include/mapi.h: Change header guard name to _MAPI_H for
consistency.
2002-03-09 17:04:10 +08:00
|
|
|
#pragma GCC system_header
|
|
|
|
#endif
|
|
|
|
|
2006-01-12 06:49:06 +08:00
|
|
|
#ifndef WINADVAPI
|
|
|
|
#define WINADVAPI
|
|
|
|
#endif
|
|
|
|
|
2000-02-18 03:38:33 +08:00
|
|
|
#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
|
2002-05-27 17:44:17 +08:00
|
|
|
#define REG_DWORD_LITTLE_ENDIAN 4
|
2000-02-18 03:38:33 +08:00
|
|
|
#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
|
2002-05-27 17:44:17 +08:00
|
|
|
#define REG_QWORD_LITTLE_ENDIAN 11
|
|
|
|
#define REG_QWORD 11
|
2000-02-18 03:38:33 +08:00
|
|
|
#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
|
|
|
|
|
2006-10-05 15:36:06 +08:00
|
|
|
#if (WINVER >= 0x0502)
|
|
|
|
#define KEY_WOW64_32KEY 0x0200
|
|
|
|
#define KEY_WOW64_64KEY 0x0100
|
|
|
|
#endif
|
|
|
|
|
2000-02-18 03:38:33 +08:00
|
|
|
#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;
|
2006-01-12 06:49:06 +08:00
|
|
|
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);
|
2006-10-05 15:36:06 +08:00
|
|
|
#if (WINVER >= 0x0502)
|
|
|
|
WINADVAPI LONG WINAPI RegDeleteKeyExA(HKEY,LPCSTR,REGSAM,DWORD);
|
|
|
|
WINADVAPI LONG WINAPI RegDeleteKeyExW(HKEY,LPCWSTR,REGSAM,DWORD);
|
|
|
|
#endif
|
2006-01-12 06:49:06 +08:00
|
|
|
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);
|
2000-02-18 03:38:33 +08:00
|
|
|
|
|
|
|
#ifdef UNICODE
|
|
|
|
typedef VALENTW VALENT,*PVALENT;
|
|
|
|
#define AbortSystemShutdown AbortSystemShutdownW
|
|
|
|
#define InitiateSystemShutdown InitiateSystemShutdownW
|
|
|
|
#define RegConnectRegistry RegConnectRegistryW
|
|
|
|
#define RegCreateKey RegCreateKeyW
|
|
|
|
#define RegCreateKeyEx RegCreateKeyExW
|
|
|
|
#define RegDeleteKey RegDeleteKeyW
|
2006-10-05 15:36:06 +08:00
|
|
|
#if (WINVER >= 0x0502)
|
|
|
|
#define RegDeleteKeyEx RegDeleteKeyExW
|
|
|
|
#endif
|
2000-02-18 03:38:33 +08:00
|
|
|
#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
|
2006-10-05 15:36:06 +08:00
|
|
|
#if (WINVER >= 0x0502)
|
|
|
|
#define RegDeleteKeyEx RegDeleteKeyExA
|
|
|
|
#endif
|
2000-02-18 03:38:33 +08:00
|
|
|
#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
|