summaryrefslogtreecommitdiffstats
path: root/public/sdk/inc/winreg.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--public/sdk/inc/winreg.h779
1 files changed, 779 insertions, 0 deletions
diff --git a/public/sdk/inc/winreg.h b/public/sdk/inc/winreg.h
new file mode 100644
index 000000000..0eb8fe06f
--- /dev/null
+++ b/public/sdk/inc/winreg.h
@@ -0,0 +1,779 @@
+/*++ BUILD Version: 0001 // Increment this if a change has global effects
+
+Copyright (c) 1991-1996 Microsoft Corporation
+
+Module Name:
+
+ Winreg.h
+
+Abstract:
+
+ This module contains the function prototypes and constant, type and
+ structure definitions for the Windows 32-Bit Registry API.
+
+--*/
+
+#ifndef _WINREG_
+#define _WINREG_
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef WINVER
+#define WINVER 0x0400 // version 4.0
+#endif /* !WINVER */
+
+//
+// Requested Key access mask type.
+//
+
+typedef ACCESS_MASK REGSAM;
+
+//
+// Type definitions.
+//
+
+DECLARE_HANDLE(HKEY);
+typedef HKEY *PHKEY;
+
+//
+// Reserved Key Handles.
+//
+
+#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 )
+#if(WINVER >= 0x0400)
+#define HKEY_CURRENT_CONFIG (( HKEY ) 0x80000005 )
+#define HKEY_DYN_DATA (( HKEY ) 0x80000006 )
+
+/*NOINC*/
+#ifndef _PROVIDER_STRUCTS_DEFINED
+#define _PROVIDER_STRUCTS_DEFINED
+
+#define PROVIDER_KEEPS_VALUE_LENGTH 0x1
+struct val_context {
+ int valuelen; // the total length of this value
+ LPVOID value_context; // provider's context
+ LPVOID val_buff_ptr; // where in the ouput buffer the value is.
+};
+
+typedef struct val_context FAR *PVALCONTEXT;
+
+typedef struct pvalueA { // Provider supplied value/context.
+ LPSTR pv_valuename; // The value name pointer
+ int pv_valuelen;
+ LPVOID pv_value_context;
+ DWORD pv_type;
+}PVALUEA, FAR *PPVALUEA;
+typedef struct pvalueW { // Provider supplied value/context.
+ LPWSTR pv_valuename; // The value name pointer
+ int pv_valuelen;
+ LPVOID pv_value_context;
+ DWORD pv_type;
+}PVALUEW, FAR *PPVALUEW;
+#ifdef UNICODE
+typedef PVALUEW PVALUE;
+typedef PPVALUEW PPVALUE;
+#else
+typedef PVALUEA PVALUE;
+typedef PPVALUEA PPVALUE;
+#endif // UNICODE
+
+typedef
+DWORD _cdecl
+QUERYHANDLER (LPVOID keycontext, PVALCONTEXT val_list, DWORD num_vals,
+ LPVOID outputbuffer, DWORD FAR *total_outlen, DWORD input_blen);
+
+typedef QUERYHANDLER FAR *PQUERYHANDLER;
+
+typedef struct provider_info {
+ PQUERYHANDLER pi_R0_1val;
+ PQUERYHANDLER pi_R0_allvals;
+ PQUERYHANDLER pi_R3_1val;
+ PQUERYHANDLER pi_R3_allvals;
+ DWORD pi_flags; // capability flags (none defined yet).
+ LPVOID pi_key_context;
+}REG_PROVIDER;
+
+typedef struct provider_info FAR *PPROVIDER;
+
+typedef struct value_entA {
+ LPSTR ve_valuename;
+ DWORD ve_valuelen;
+ DWORD ve_valueptr;
+ DWORD ve_type;
+}VALENTA, FAR *PVALENTA;
+typedef struct value_entW {
+ LPWSTR ve_valuename;
+ DWORD ve_valuelen;
+ DWORD ve_valueptr;
+ DWORD ve_type;
+}VALENTW, FAR *PVALENTW;
+#ifdef UNICODE
+typedef VALENTW VALENT;
+typedef PVALENTW PVALENT;
+#else
+typedef VALENTA VALENT;
+typedef PVALENTA PVALENT;
+#endif // UNICODE
+
+#endif // not(_PROVIDER_STRUCTS_DEFINED)
+/*INC*/
+
+#endif /* WINVER >= 0x0400 */
+
+//
+// Default values for parameters that do not exist in the Win 3.1
+// compatible APIs.
+//
+
+#define WIN31_CLASS NULL
+
+//
+// API Prototypes.
+//
+
+
+WINADVAPI
+LONG
+APIENTRY
+RegCloseKey (
+ HKEY hKey
+ );
+
+WINADVAPI
+LONG
+APIENTRY
+RegConnectRegistryA (
+ LPSTR lpMachineName,
+ HKEY hKey,
+ PHKEY phkResult
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegConnectRegistryW (
+ LPWSTR lpMachineName,
+ HKEY hKey,
+ PHKEY phkResult
+ );
+#ifdef UNICODE
+#define RegConnectRegistry RegConnectRegistryW
+#else
+#define RegConnectRegistry RegConnectRegistryA
+#endif // !UNICODE
+
+WINADVAPI
+LONG
+APIENTRY
+RegCreateKeyA (
+ HKEY hKey,
+ LPCSTR lpSubKey,
+ PHKEY phkResult
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegCreateKeyW (
+ HKEY hKey,
+ LPCWSTR lpSubKey,
+ PHKEY phkResult
+ );
+#ifdef UNICODE
+#define RegCreateKey RegCreateKeyW
+#else
+#define RegCreateKey RegCreateKeyA
+#endif // !UNICODE
+
+WINADVAPI
+LONG
+APIENTRY
+RegCreateKeyExA (
+ HKEY hKey,
+ LPCSTR lpSubKey,
+ DWORD Reserved,
+ LPSTR lpClass,
+ DWORD dwOptions,
+ REGSAM samDesired,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
+ PHKEY phkResult,
+ LPDWORD lpdwDisposition
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegCreateKeyExW (
+ HKEY hKey,
+ LPCWSTR lpSubKey,
+ DWORD Reserved,
+ LPWSTR lpClass,
+ DWORD dwOptions,
+ REGSAM samDesired,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
+ PHKEY phkResult,
+ LPDWORD lpdwDisposition
+ );
+#ifdef UNICODE
+#define RegCreateKeyEx RegCreateKeyExW
+#else
+#define RegCreateKeyEx RegCreateKeyExA
+#endif // !UNICODE
+
+WINADVAPI
+LONG
+APIENTRY
+RegDeleteKeyA (
+ HKEY hKey,
+ LPCSTR lpSubKey
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegDeleteKeyW (
+ HKEY hKey,
+ LPCWSTR lpSubKey
+ );
+#ifdef UNICODE
+#define RegDeleteKey RegDeleteKeyW
+#else
+#define RegDeleteKey RegDeleteKeyA
+#endif // !UNICODE
+
+WINADVAPI
+LONG
+APIENTRY
+RegDeleteValueA (
+ HKEY hKey,
+ LPCSTR lpValueName
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegDeleteValueW (
+ HKEY hKey,
+ LPCWSTR lpValueName
+ );
+#ifdef UNICODE
+#define RegDeleteValue RegDeleteValueW
+#else
+#define RegDeleteValue RegDeleteValueA
+#endif // !UNICODE
+
+WINADVAPI
+LONG
+APIENTRY
+RegEnumKeyA (
+ HKEY hKey,
+ DWORD dwIndex,
+ LPSTR lpName,
+ DWORD cbName
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegEnumKeyW (
+ HKEY hKey,
+ DWORD dwIndex,
+ LPWSTR lpName,
+ DWORD cbName
+ );
+#ifdef UNICODE
+#define RegEnumKey RegEnumKeyW
+#else
+#define RegEnumKey RegEnumKeyA
+#endif // !UNICODE
+
+WINADVAPI
+LONG
+APIENTRY
+RegEnumKeyExA (
+ HKEY hKey,
+ DWORD dwIndex,
+ LPSTR lpName,
+ LPDWORD lpcbName,
+ LPDWORD lpReserved,
+ LPSTR lpClass,
+ LPDWORD lpcbClass,
+ PFILETIME lpftLastWriteTime
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegEnumKeyExW (
+ HKEY hKey,
+ DWORD dwIndex,
+ LPWSTR lpName,
+ LPDWORD lpcbName,
+ LPDWORD lpReserved,
+ LPWSTR lpClass,
+ LPDWORD lpcbClass,
+ PFILETIME lpftLastWriteTime
+ );
+#ifdef UNICODE
+#define RegEnumKeyEx RegEnumKeyExW
+#else
+#define RegEnumKeyEx RegEnumKeyExA
+#endif // !UNICODE
+
+WINADVAPI
+LONG
+APIENTRY
+RegEnumValueA (
+ HKEY hKey,
+ DWORD dwIndex,
+ LPSTR lpValueName,
+ LPDWORD lpcbValueName,
+ LPDWORD lpReserved,
+ LPDWORD lpType,
+ LPBYTE lpData,
+ LPDWORD lpcbData
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegEnumValueW (
+ HKEY hKey,
+ DWORD dwIndex,
+ LPWSTR lpValueName,
+ LPDWORD lpcbValueName,
+ LPDWORD lpReserved,
+ LPDWORD lpType,
+ LPBYTE lpData,
+ LPDWORD lpcbData
+ );
+#ifdef UNICODE
+#define RegEnumValue RegEnumValueW
+#else
+#define RegEnumValue RegEnumValueA
+#endif // !UNICODE
+
+WINADVAPI
+LONG
+APIENTRY
+RegFlushKey (
+ HKEY hKey
+ );
+
+WINADVAPI
+LONG
+APIENTRY
+RegGetKeySecurity (
+ HKEY hKey,
+ SECURITY_INFORMATION SecurityInformation,
+ PSECURITY_DESCRIPTOR pSecurityDescriptor,
+ LPDWORD lpcbSecurityDescriptor
+ );
+
+WINADVAPI
+LONG
+APIENTRY
+RegLoadKeyA (
+ HKEY hKey,
+ LPCSTR lpSubKey,
+ LPCSTR lpFile
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegLoadKeyW (
+ HKEY hKey,
+ LPCWSTR lpSubKey,
+ LPCWSTR lpFile
+ );
+#ifdef UNICODE
+#define RegLoadKey RegLoadKeyW
+#else
+#define RegLoadKey RegLoadKeyA
+#endif // !UNICODE
+
+WINADVAPI
+LONG
+APIENTRY
+RegNotifyChangeKeyValue (
+ HKEY hKey,
+ BOOL bWatchSubtree,
+ DWORD dwNotifyFilter,
+ HANDLE hEvent,
+ BOOL fAsynchronus
+ );
+
+WINADVAPI
+LONG
+APIENTRY
+RegOpenKeyA (
+ HKEY hKey,
+ LPCSTR lpSubKey,
+ PHKEY phkResult
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegOpenKeyW (
+ HKEY hKey,
+ LPCWSTR lpSubKey,
+ PHKEY phkResult
+ );
+#ifdef UNICODE
+#define RegOpenKey RegOpenKeyW
+#else
+#define RegOpenKey RegOpenKeyA
+#endif // !UNICODE
+
+WINADVAPI
+LONG
+APIENTRY
+RegOpenKeyExA (
+ HKEY hKey,
+ LPCSTR lpSubKey,
+ DWORD ulOptions,
+ REGSAM samDesired,
+ PHKEY phkResult
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegOpenKeyExW (
+ HKEY hKey,
+ LPCWSTR lpSubKey,
+ DWORD ulOptions,
+ REGSAM samDesired,
+ PHKEY phkResult
+ );
+#ifdef UNICODE
+#define RegOpenKeyEx RegOpenKeyExW
+#else
+#define RegOpenKeyEx RegOpenKeyExA
+#endif // !UNICODE
+
+WINADVAPI
+LONG
+APIENTRY
+RegQueryInfoKeyA (
+ HKEY hKey,
+ LPSTR lpClass,
+ LPDWORD lpcbClass,
+ LPDWORD lpReserved,
+ LPDWORD lpcSubKeys,
+ LPDWORD lpcbMaxSubKeyLen,
+ LPDWORD lpcbMaxClassLen,
+ LPDWORD lpcValues,
+ LPDWORD lpcbMaxValueNameLen,
+ LPDWORD lpcbMaxValueLen,
+ LPDWORD lpcbSecurityDescriptor,
+ PFILETIME lpftLastWriteTime
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegQueryInfoKeyW (
+ HKEY hKey,
+ LPWSTR lpClass,
+ LPDWORD lpcbClass,
+ LPDWORD lpReserved,
+ LPDWORD lpcSubKeys,
+ LPDWORD lpcbMaxSubKeyLen,
+ LPDWORD lpcbMaxClassLen,
+ LPDWORD lpcValues,
+ LPDWORD lpcbMaxValueNameLen,
+ LPDWORD lpcbMaxValueLen,
+ LPDWORD lpcbSecurityDescriptor,
+ PFILETIME lpftLastWriteTime
+ );
+#ifdef UNICODE
+#define RegQueryInfoKey RegQueryInfoKeyW
+#else
+#define RegQueryInfoKey RegQueryInfoKeyA
+#endif // !UNICODE
+
+WINADVAPI
+LONG
+APIENTRY
+RegQueryValueA (
+ HKEY hKey,
+ LPCSTR lpSubKey,
+ LPSTR lpValue,
+ PLONG lpcbValue
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegQueryValueW (
+ HKEY hKey,
+ LPCWSTR lpSubKey,
+ LPWSTR lpValue,
+ PLONG lpcbValue
+ );
+#ifdef UNICODE
+#define RegQueryValue RegQueryValueW
+#else
+#define RegQueryValue RegQueryValueA
+#endif // !UNICODE
+
+#if(WINVER >= 0x0400)
+WINADVAPI
+LONG
+APIENTRY
+RegQueryMultipleValuesA (
+ HKEY hKey,
+ PVALENTA val_list,
+ DWORD num_vals,
+ LPSTR lpValueBuf,
+ LPDWORD ldwTotsize
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegQueryMultipleValuesW (
+ HKEY hKey,
+ PVALENTW val_list,
+ DWORD num_vals,
+ LPWSTR lpValueBuf,
+ LPDWORD ldwTotsize
+ );
+#ifdef UNICODE
+#define RegQueryMultipleValues RegQueryMultipleValuesW
+#else
+#define RegQueryMultipleValues RegQueryMultipleValuesA
+#endif // !UNICODE
+#endif /* WINVER >= 0x0400 */
+
+WINADVAPI
+LONG
+APIENTRY
+RegQueryValueExA (
+ HKEY hKey,
+ LPCSTR lpValueName,
+ LPDWORD lpReserved,
+ LPDWORD lpType,
+ LPBYTE lpData,
+ LPDWORD lpcbData
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegQueryValueExW (
+ HKEY hKey,
+ LPCWSTR lpValueName,
+ LPDWORD lpReserved,
+ LPDWORD lpType,
+ LPBYTE lpData,
+ LPDWORD lpcbData
+ );
+#ifdef UNICODE
+#define RegQueryValueEx RegQueryValueExW
+#else
+#define RegQueryValueEx RegQueryValueExA
+#endif // !UNICODE
+
+WINADVAPI
+LONG
+APIENTRY
+RegReplaceKeyA (
+ HKEY hKey,
+ LPCSTR lpSubKey,
+ LPCSTR lpNewFile,
+ LPCSTR lpOldFile
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegReplaceKeyW (
+ HKEY hKey,
+ LPCWSTR lpSubKey,
+ LPCWSTR lpNewFile,
+ LPCWSTR lpOldFile
+ );
+#ifdef UNICODE
+#define RegReplaceKey RegReplaceKeyW
+#else
+#define RegReplaceKey RegReplaceKeyA
+#endif // !UNICODE
+
+WINADVAPI
+LONG
+APIENTRY
+RegRestoreKeyA (
+ HKEY hKey,
+ LPCSTR lpFile,
+ DWORD dwFlags
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegRestoreKeyW (
+ HKEY hKey,
+ LPCWSTR lpFile,
+ DWORD dwFlags
+ );
+#ifdef UNICODE
+#define RegRestoreKey RegRestoreKeyW
+#else
+#define RegRestoreKey RegRestoreKeyA
+#endif // !UNICODE
+
+WINADVAPI
+LONG
+APIENTRY
+RegSaveKeyA (
+ HKEY hKey,
+ LPCSTR lpFile,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegSaveKeyW (
+ HKEY hKey,
+ LPCWSTR lpFile,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes
+ );
+#ifdef UNICODE
+#define RegSaveKey RegSaveKeyW
+#else
+#define RegSaveKey RegSaveKeyA
+#endif // !UNICODE
+
+WINADVAPI
+LONG
+APIENTRY
+RegSetKeySecurity (
+ HKEY hKey,
+ SECURITY_INFORMATION SecurityInformation,
+ PSECURITY_DESCRIPTOR pSecurityDescriptor
+ );
+
+WINADVAPI
+LONG
+APIENTRY
+RegSetValueA (
+ HKEY hKey,
+ LPCSTR lpSubKey,
+ DWORD dwType,
+ LPCSTR lpData,
+ DWORD cbData
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegSetValueW (
+ HKEY hKey,
+ LPCWSTR lpSubKey,
+ DWORD dwType,
+ LPCWSTR lpData,
+ DWORD cbData
+ );
+#ifdef UNICODE
+#define RegSetValue RegSetValueW
+#else
+#define RegSetValue RegSetValueA
+#endif // !UNICODE
+
+
+WINADVAPI
+LONG
+APIENTRY
+RegSetValueExA (
+ HKEY hKey,
+ LPCSTR lpValueName,
+ DWORD Reserved,
+ DWORD dwType,
+ CONST BYTE* lpData,
+ DWORD cbData
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegSetValueExW (
+ HKEY hKey,
+ LPCWSTR lpValueName,
+ DWORD Reserved,
+ DWORD dwType,
+ CONST BYTE* lpData,
+ DWORD cbData
+ );
+#ifdef UNICODE
+#define RegSetValueEx RegSetValueExW
+#else
+#define RegSetValueEx RegSetValueExA
+#endif // !UNICODE
+
+WINADVAPI
+LONG
+APIENTRY
+RegUnLoadKeyA (
+ HKEY hKey,
+ LPCSTR lpSubKey
+ );
+WINADVAPI
+LONG
+APIENTRY
+RegUnLoadKeyW (
+ HKEY hKey,
+ LPCWSTR lpSubKey
+ );
+#ifdef UNICODE
+#define RegUnLoadKey RegUnLoadKeyW
+#else
+#define RegUnLoadKey RegUnLoadKeyA
+#endif // !UNICODE
+
+//
+// Remoteable System Shutdown APIs
+//
+
+WINADVAPI
+BOOL
+APIENTRY
+InitiateSystemShutdownA(
+ LPSTR lpMachineName,
+ LPSTR lpMessage,
+ DWORD dwTimeout,
+ BOOL bForceAppsClosed,
+ BOOL bRebootAfterShutdown
+ );
+WINADVAPI
+BOOL
+APIENTRY
+InitiateSystemShutdownW(
+ LPWSTR lpMachineName,
+ LPWSTR lpMessage,
+ DWORD dwTimeout,
+ BOOL bForceAppsClosed,
+ BOOL bRebootAfterShutdown
+ );
+#ifdef UNICODE
+#define InitiateSystemShutdown InitiateSystemShutdownW
+#else
+#define InitiateSystemShutdown InitiateSystemShutdownA
+#endif // !UNICODE
+
+
+WINADVAPI
+BOOL
+APIENTRY
+AbortSystemShutdownA(
+ LPSTR lpMachineName
+ );
+WINADVAPI
+BOOL
+APIENTRY
+AbortSystemShutdownW(
+ LPWSTR lpMachineName
+ );
+#ifdef UNICODE
+#define AbortSystemShutdown AbortSystemShutdownW
+#else
+#define AbortSystemShutdown AbortSystemShutdownA
+#endif // !UNICODE
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif // _WINREG_