📄 winreg.h
字号:
RegOpenKeyW (
IN HKEY hKey,
IN LPCWSTR lpSubKey,
OUT PHKEY phkResult
);
#ifdef UNICODE
#define RegOpenKey RegOpenKeyW
#else
#define RegOpenKey RegOpenKeyA
#endif // !UNICODE
WINADVAPI
LONG
APIENTRY
RegOpenKeyExA (
IN HKEY hKey,
IN LPCSTR lpSubKey,
IN DWORD ulOptions,
IN REGSAM samDesired,
OUT PHKEY phkResult
);
WINADVAPI
LONG
APIENTRY
RegOpenKeyExW (
IN HKEY hKey,
IN LPCWSTR lpSubKey,
IN DWORD ulOptions,
IN REGSAM samDesired,
OUT PHKEY phkResult
);
#ifdef UNICODE
#define RegOpenKeyEx RegOpenKeyExW
#else
#define RegOpenKeyEx RegOpenKeyExA
#endif // !UNICODE
WINADVAPI
LONG
APIENTRY
RegQueryInfoKeyA (
IN HKEY hKey,
OUT LPSTR lpClass,
IN OUT LPDWORD lpcbClass,
IN LPDWORD lpReserved,
OUT LPDWORD lpcSubKeys,
OUT LPDWORD lpcbMaxSubKeyLen,
OUT LPDWORD lpcbMaxClassLen,
OUT LPDWORD lpcValues,
OUT LPDWORD lpcbMaxValueNameLen,
OUT LPDWORD lpcbMaxValueLen,
OUT LPDWORD lpcbSecurityDescriptor,
OUT PFILETIME lpftLastWriteTime
);
WINADVAPI
LONG
APIENTRY
RegQueryInfoKeyW (
IN HKEY hKey,
OUT LPWSTR lpClass,
IN OUT LPDWORD lpcbClass,
IN LPDWORD lpReserved,
OUT LPDWORD lpcSubKeys,
OUT LPDWORD lpcbMaxSubKeyLen,
OUT LPDWORD lpcbMaxClassLen,
OUT LPDWORD lpcValues,
OUT LPDWORD lpcbMaxValueNameLen,
OUT LPDWORD lpcbMaxValueLen,
OUT LPDWORD lpcbSecurityDescriptor,
OUT PFILETIME lpftLastWriteTime
);
#ifdef UNICODE
#define RegQueryInfoKey RegQueryInfoKeyW
#else
#define RegQueryInfoKey RegQueryInfoKeyA
#endif // !UNICODE
WINADVAPI
LONG
APIENTRY
RegQueryValueA (
IN HKEY hKey,
IN LPCSTR lpSubKey,
OUT LPSTR lpValue,
IN OUT PLONG lpcbValue
);
WINADVAPI
LONG
APIENTRY
RegQueryValueW (
IN HKEY hKey,
IN LPCWSTR lpSubKey,
OUT LPWSTR lpValue,
IN OUT PLONG lpcbValue
);
#ifdef UNICODE
#define RegQueryValue RegQueryValueW
#else
#define RegQueryValue RegQueryValueA
#endif // !UNICODE
#if(WINVER >= 0x0400)
WINADVAPI
LONG
APIENTRY
RegQueryMultipleValuesA (
IN HKEY hKey,
OUT PVALENTA val_list,
IN DWORD num_vals,
OUT LPSTR lpValueBuf,
IN OUT LPDWORD ldwTotsize
);
WINADVAPI
LONG
APIENTRY
RegQueryMultipleValuesW (
IN HKEY hKey,
OUT PVALENTW val_list,
IN DWORD num_vals,
OUT LPWSTR lpValueBuf,
IN OUT LPDWORD ldwTotsize
);
#ifdef UNICODE
#define RegQueryMultipleValues RegQueryMultipleValuesW
#else
#define RegQueryMultipleValues RegQueryMultipleValuesA
#endif // !UNICODE
#endif /* WINVER >= 0x0400 */
WINADVAPI
LONG
APIENTRY
RegQueryValueExA (
IN HKEY hKey,
IN LPCSTR lpValueName,
IN LPDWORD lpReserved,
OUT LPDWORD lpType,
IN OUT LPBYTE lpData,
IN OUT LPDWORD lpcbData
);
WINADVAPI
LONG
APIENTRY
RegQueryValueExW (
IN HKEY hKey,
IN LPCWSTR lpValueName,
IN LPDWORD lpReserved,
OUT LPDWORD lpType,
IN OUT LPBYTE lpData,
IN OUT LPDWORD lpcbData
);
#ifdef UNICODE
#define RegQueryValueEx RegQueryValueExW
#else
#define RegQueryValueEx RegQueryValueExA
#endif // !UNICODE
WINADVAPI
LONG
APIENTRY
RegReplaceKeyA (
IN HKEY hKey,
IN LPCSTR lpSubKey,
IN LPCSTR lpNewFile,
IN LPCSTR lpOldFile
);
WINADVAPI
LONG
APIENTRY
RegReplaceKeyW (
IN HKEY hKey,
IN LPCWSTR lpSubKey,
IN LPCWSTR lpNewFile,
IN LPCWSTR lpOldFile
);
#ifdef UNICODE
#define RegReplaceKey RegReplaceKeyW
#else
#define RegReplaceKey RegReplaceKeyA
#endif // !UNICODE
WINADVAPI
LONG
APIENTRY
RegRestoreKeyA (
IN HKEY hKey,
IN LPCSTR lpFile,
IN DWORD dwFlags
);
WINADVAPI
LONG
APIENTRY
RegRestoreKeyW (
IN HKEY hKey,
IN LPCWSTR lpFile,
IN DWORD dwFlags
);
#ifdef UNICODE
#define RegRestoreKey RegRestoreKeyW
#else
#define RegRestoreKey RegRestoreKeyA
#endif // !UNICODE
WINADVAPI
LONG
APIENTRY
RegSaveKeyA (
IN HKEY hKey,
IN LPCSTR lpFile,
IN LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
WINADVAPI
LONG
APIENTRY
RegSaveKeyW (
IN HKEY hKey,
IN LPCWSTR lpFile,
IN LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
#ifdef UNICODE
#define RegSaveKey RegSaveKeyW
#else
#define RegSaveKey RegSaveKeyA
#endif // !UNICODE
WINADVAPI
LONG
APIENTRY
RegSetKeySecurity (
IN HKEY hKey,
IN SECURITY_INFORMATION SecurityInformation,
IN PSECURITY_DESCRIPTOR pSecurityDescriptor
);
WINADVAPI
LONG
APIENTRY
RegSetValueA (
IN HKEY hKey,
IN LPCSTR lpSubKey,
IN DWORD dwType,
IN LPCSTR lpData,
IN DWORD cbData
);
WINADVAPI
LONG
APIENTRY
RegSetValueW (
IN HKEY hKey,
IN LPCWSTR lpSubKey,
IN DWORD dwType,
IN LPCWSTR lpData,
IN DWORD cbData
);
#ifdef UNICODE
#define RegSetValue RegSetValueW
#else
#define RegSetValue RegSetValueA
#endif // !UNICODE
WINADVAPI
LONG
APIENTRY
RegSetValueExA (
IN HKEY hKey,
IN LPCSTR lpValueName,
IN DWORD Reserved,
IN DWORD dwType,
IN CONST BYTE* lpData,
IN DWORD cbData
);
WINADVAPI
LONG
APIENTRY
RegSetValueExW (
IN HKEY hKey,
IN LPCWSTR lpValueName,
IN DWORD Reserved,
IN DWORD dwType,
IN CONST BYTE* lpData,
IN DWORD cbData
);
#ifdef UNICODE
#define RegSetValueEx RegSetValueExW
#else
#define RegSetValueEx RegSetValueExA
#endif // !UNICODE
WINADVAPI
LONG
APIENTRY
RegUnLoadKeyA (
IN HKEY hKey,
IN LPCSTR lpSubKey
);
WINADVAPI
LONG
APIENTRY
RegUnLoadKeyW (
IN HKEY hKey,
IN LPCWSTR lpSubKey
);
#ifdef UNICODE
#define RegUnLoadKey RegUnLoadKeyW
#else
#define RegUnLoadKey RegUnLoadKeyA
#endif // !UNICODE
//
// Remoteable System Shutdown APIs
//
WINADVAPI
BOOL
APIENTRY
InitiateSystemShutdownA(
IN LPSTR lpMachineName,
IN LPSTR lpMessage,
IN DWORD dwTimeout,
IN BOOL bForceAppsClosed,
IN BOOL bRebootAfterShutdown
);
WINADVAPI
BOOL
APIENTRY
InitiateSystemShutdownW(
IN LPWSTR lpMachineName,
IN LPWSTR lpMessage,
IN DWORD dwTimeout,
IN BOOL bForceAppsClosed,
IN BOOL bRebootAfterShutdown
);
#ifdef UNICODE
#define InitiateSystemShutdown InitiateSystemShutdownW
#else
#define InitiateSystemShutdown InitiateSystemShutdownA
#endif // !UNICODE
WINADVAPI
BOOL
APIENTRY
AbortSystemShutdownA(
IN LPSTR lpMachineName
);
WINADVAPI
BOOL
APIENTRY
AbortSystemShutdownW(
IN LPWSTR lpMachineName
);
#ifdef UNICODE
#define AbortSystemShutdown AbortSystemShutdownW
#else
#define AbortSystemShutdown AbortSystemShutdownA
#endif // !UNICODE
//
// defines for InitiateSystemShutdownEx reason codes
//
#include <reason.h> // get the public reasons
//
// Then for Historical reasons support some old symbols, internal only
#define REASON_SWINSTALL SHTDN_REASON_MAJOR_SOFTWARE|SHTDN_REASON_MINOR_INSTALLATION
#define REASON_HWINSTALL SHTDN_REASON_MAJOR_HARDWARE|SHTDN_REASON_MINOR_INSTALLATION
#define REASON_SERVICEHANG SHTDN_REASON_MAJOR_SOFTWARE|SHTDN_REASON_MINOR_HUNG
#define REASON_UNSTABLE SHTDN_REASON_MAJOR_SYSTEM|SHTDN_REASON_MINOR_UNSTABLE
#define REASON_SWHWRECONF SHTDN_REASON_MAJOR_SOFTWARE|SHTDN_REASON_MINOR_RECONFIG
#define REASON_OTHER SHTDN_REASON_MAJOR_OTHER|SHTDN_REASON_MINOR_OTHER
#define REASON_UNKNOWN SHTDN_REASON_UNKNOWN
#define REASON_PLANNED_FLAG SHTDN_REASON_FLAG_PLANNED
WINADVAPI
BOOL
APIENTRY
InitiateSystemShutdownExA(
IN LPSTR lpMachineName,
IN LPSTR lpMessage,
IN DWORD dwTimeout,
IN BOOL bForceAppsClosed,
IN BOOL bRebootAfterShutdown,
IN DWORD dwReason
);
WINADVAPI
BOOL
APIENTRY
InitiateSystemShutdownExW(
IN LPWSTR lpMachineName,
IN LPWSTR lpMessage,
IN DWORD dwTimeout,
IN BOOL bForceAppsClosed,
IN BOOL bRebootAfterShutdown,
IN DWORD dwReason
);
#ifdef UNICODE
#define InitiateSystemShutdownEx InitiateSystemShutdownExW
#else
#define InitiateSystemShutdownEx InitiateSystemShutdownExA
#endif // !UNICODE
WINADVAPI
LONG
APIENTRY
RegSaveKeyExA (
IN HKEY hKey,
IN LPCSTR lpFile,
IN LPSECURITY_ATTRIBUTES lpSecurityAttributes,
IN DWORD Flags
);
WINADVAPI
LONG
APIENTRY
RegSaveKeyExW (
IN HKEY hKey,
IN LPCWSTR lpFile,
IN LPSECURITY_ATTRIBUTES lpSecurityAttributes,
IN DWORD Flags
);
#ifdef UNICODE
#define RegSaveKeyEx RegSaveKeyExW
#else
#define RegSaveKeyEx RegSaveKeyExA
#endif // !UNICODE
WINADVAPI
LONG
APIENTRY
Wow64Win32ApiEntry (
DWORD dwFuncNumber,
DWORD dwFlag,
DWORD dwRes
);
#ifdef __cplusplus
}
#endif
#endif // _WINREG_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -