This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/nt/winreg.h

375 lines
18 KiB
C

/*
* winreg.h Win32 registry functions.
*
* =========================================================================
*
* Open Watcom Project
*
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
*
* This file is automatically generated. Do not edit directly.
*
* =========================================================================
*/
#ifndef _WINREG_
#define _WINREG_
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
#include <reason.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Registry access mask data type */
typedef ACCESS_MASK REGSAM;
/* Registry API return value data type */
typedef LONG LSTATUS;
/* RegGetValue() flags */
#define RRF_RT_REG_NONE 0x00000001L
#define RRF_RT_REG_SZ 0x00000002L
#define RRF_RT_REG_EXPAND_SZ 0x00000004L
#define RRF_RT_REG_BINARY 0x00000008L
#define RRF_RT_REG_DWORD 0x00000010L
#define RRF_RT_REG_MULTI_SZ 0x00000020L
#define RRF_RT_REG_QWORD 0x00000040L
#define RRF_RT_DWORD (RRF_RT_REG_BINARY | RRF_RT_REF_DWORD)
#define RRF_RT_QWORD (RRF_RT_REG_BINARY | RRF_RT_REF_QWORD)
#define RRF_RT_ANY 0x0000FFFFL
#define RRF_NOEXPAND 0x10000000L
#define RRF_ZEROONFAILURE 0x20000000L
/* RegLoadAppKey() flags */
#define REG_PROCESS_APPKEY 0x00000001L
/* RegLoadMUIString() flags */
#define REG_MUI_STRING_TRUNCATE 0x00000001L
/* Special key handles */
#define HKEY_CLASSES_ROOT ((HKEY)0x80000000L)
#define HKEY_CURRENT_USER ((HKEY)0x80000001L)
#define HKEY_LOCAL_MACHINE ((HKEY)0x80000002L)
#define HKEY_USERS ((HKEY)0x80000003L)
#define HKEY_PERFORMANCE_DATA ((HKEY)0x80000004L)
#define HKEY_PERFORMANCE_TEXT ((HKEY)0x80000050L)
#define HKEY_PERFORMANCE_NLSTEXT ((HKEY)0x80000060L)
#if (WINVER >= 0x0400)
#define HKEY_CURRENT_CONFIG ((HKEY)0x80000005L)
#define HKEY_DYN_DATA ((HKEY)0x80000006L)
#define HKEY_CURRENT_USER_LOCAL_SETTINGS ((HKEY)0x80000007L)
#endif
/* RegConnectRegistryEx() flags */
#if (WINVER >= 0x0400)
#define REG_SECURE_CONNECTION 1L
#endif
/* Default value for parameters that didn't exist in Win16 */
#define WIN31_CLASS NULL
/* Old names for shutdown reason codes */
#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_LEGACY_API SHTDN_REASON_LEGACY_API
#define REASON_PLANNED_FLAG SHTDN_REASON_FLAG_PLANNED
/* Maximum shutdown timeout */
#define MAX_SHUTDOWN_TIMEOUT 315360000L
/* Shutdown flags */
#define SHUTDOWN_FORCE_OTHERS 0x00000001L
#define SHUTDOWN_FORCE_SELF 0x00000002L
#define SHUTDOWN_RESTART 0x00000004L
#define SHUTDOWN_POWEROFF 0x00000008L
#define SHUTDOWN_NOREBOOT 0x00000010L
#define SHUTDOWN_GRACE_OVERRIDE 0x00000020L
#define SHUTDOWN_INSTALL_UPDATES 0x00000040L
#define SHUTDOWN_RESTARTAPPS 0x00000080L
#define SHUTDOWN_SKIP_SVC_PRESHUTDOWN 0x00000100L
/* Value context */
#if (WINVER >= 0x0400)
struct val_context {
int valuelen;
LPVOID value_context;
LPVOID val_buff_ptr;
};
typedef struct val_context * PVALCONTEXT;
#endif
/* Provider value context */
#if (WINVER >= 0x0400)
typedef struct pvalueA {
LPSTR pv_valuename;
int pv_valuelen;
LPVOID pv_value_context;
DWORD pv_type;
} PVALUEA;
typedef PVALUEA *PPVALUEA;
typedef struct pvalueW {
LPWSTR pv_valuename;
int pv_valuelen;
LPVOID pv_value_context;
DWORD pv_type;
} PVALUEW;
typedef PVALUEW *PPVALUEW;
#ifdef UNICODE
typedef PVALUEW PVALUE;
typedef PPVALUEW PPVALUE;
#else
typedef PVALUEA PVALUE;
typedef PPVALUEA PPVALUE;
#endif
#endif
/* Query handler callback function */
#if (WINVER >= 0x0400)
typedef DWORD (__cdecl QUERYHANDLER)( LPVOID, PVALCONTEXT, DWORD, LPVOID, DWORD *,
DWORD );
typedef QUERYHANDLER *PQUERYHANDLER;
#endif
/* Provider information */
#if (WINVER >= 0x0400)
typedef struct provider_info {
PQUERYHANDLER pi_R0_1val;
PQUERYHANDLER pi_R0_allvals;
PQUERYHANDLER pi_R3_1val;
PQUERYHANDLER pi_R3_allvals;
DWORD pi_flags;
LPVOID pi_key_context;
} REG_PROVIDER;
typedef struct provider_info *PPROVIDER;
#endif
/* Value entry */
#if (WINVER >= 0x0400)
typedef struct value_entA {
LPSTR ve_valuename;
DWORD ve_valuelen;
DWORD_PTR ve_valueptr;
DWORD ve_type;
} VALENTA;
typedef VALENTA *PVALENTA;
typedef struct value_entW {
LPWSTR ve_valuename;
DWORD ve_valuelen;
DWORD_PTR ve_valueptr;
DWORD ve_type;
} VALENTW;
typedef VALENTW *PVALENTW;
#ifdef UNICODE
typedef VALENTW VALENT;
typedef PVALENTW PVALENT;
#else
typedef VALENTA VALENT;
typedef PVALENTA PVALENT;
#endif
#endif
/* Functions in ADVAPI32.DLL */
WINADVAPI BOOL APIENTRY AbortSystemShutdownA( LPSTR );
WINADVAPI BOOL APIENTRY AbortSystemShutdownW( LPWSTR );
WINADVAPI DWORD APIENTRY InitiateShutdownA( LPSTR, LPSTR, DWORD, DWORD, DWORD );
WINADVAPI DWORD APIENTRY InitiateShutdownW( LPWSTR, LPWSTR, DWORD, DWORD, DWORD );
WINADVAPI BOOL APIENTRY InitiateSystemShutdownA( LPSTR, LPSTR, DWORD, BOOL, BOOL );
WINADVAPI BOOL APIENTRY InitiateSystemShutdownExA( LPSTR, LPSTR, DWORD, BOOL, BOOL, DWORD );
WINADVAPI BOOL APIENTRY InitiateSystemShutdownExW( LPWSTR, LPWSTR, DWORD, BOOL, BOOL, DWORD );
WINADVAPI BOOL APIENTRY InitiateSystemShutdownW( LPWSTR, LPWSTR, DWORD, BOOL, BOOL );
WINADVAPI LSTATUS APIENTRY RegCloseKey( HKEY );
WINADVAPI LSTATUS APIENTRY RegConnectRegistryA( LPCSTR, HKEY, PHKEY );
WINADVAPI LSTATUS APIENTRY RegConnectRegistryExA( LPCSTR, HKEY, ULONG, PHKEY );
WINADVAPI LSTATUS APIENTRY RegConnectRegistryExW( LPCWSTR, HKEY, ULONG, PHKEY );
WINADVAPI LSTATUS APIENTRY RegConnectRegistryW( LPCWSTR, HKEY, PHKEY );
WINADVAPI LSTATUS APIENTRY RegCreateKeyA( HKEY, LPCSTR, PHKEY );
WINADVAPI LSTATUS APIENTRY RegCreateKeyExA( HKEY, LPCSTR, DWORD, LPSTR, DWORD, REGSAM, CONST LPSECURITY_ATTRIBUTES, PHKEY, LPDWORD );
WINADVAPI LSTATUS APIENTRY RegCreateKeyExW( HKEY, LPCWSTR, DWORD, LPWSTR, DWORD, REGSAM, CONST LPSECURITY_ATTRIBUTES, PHKEY, LPDWORD );
WINADVAPI LSTATUS APIENTRY RegCreateKeyTransactedA( HKEY, LPCSTR, DWORD, LPSTR, DWORD, REGSAM, CONST LPSECURITY_ATTRIBUTES, PHKEY, LPDWORD, HANDLE, PVOID );
WINADVAPI LSTATUS APIENTRY RegCreateKeyTransactedW( HKEY, LPCWSTR, DWORD, LPWSTR, DWORD, REGSAM, CONST LPSECURITY_ATTRIBUTES, PHKEY, LPDWORD, HANDLE, PVOID );
WINADVAPI LSTATUS APIENTRY RegCreateKeyW( HKEY, LPCWSTR, PHKEY );
WINADVAPI LSTATUS APIENTRY RegDeleteKeyA( HKEY, LPCSTR );
WINADVAPI LSTATUS APIENTRY RegDeleteKeyExA( HKEY, LPCSTR, REGSAM, DWORD );
WINADVAPI LSTATUS APIENTRY RegDeleteKeyExW( HKEY, LPCWSTR, REGSAM, DWORD );
WINADVAPI LSTATUS APIENTRY RegDeleteKeyTransactedA( HKEY, LPCSTR, REGSAM, DWORD, HANDLE, PVOID );
WINADVAPI LSTATUS APIENTRY RegDeleteKeyTransactedW( HKEY, LPCWSTR, REGSAM, DWORD, HANDLE, PVOID );
WINADVAPI LSTATUS APIENTRY RegDeleteKeyW( HKEY, LPCWSTR );
WINADVAPI LSTATUS APIENTRY RegDeleteValueA( HKEY, LPCSTR );
WINADVAPI LSTATUS APIENTRY RegDeleteValueW( HKEY, LPCWSTR );
WINADVAPI LSTATUS APIENTRY RegDisablePredefinedCache( VOID );
WINADVAPI LSTATUS APIENTRY RegDisablePredefinedCacheEx( VOID );
WINADVAPI LONG APIENTRY RegDisableReflectionKey( HKEY );
WINADVAPI LONG APIENTRY RegEnableReflectionKey( HKEY );
WINADVAPI LSTATUS APIENTRY RegEnumKeyA( HKEY, DWORD, LPSTR, DWORD );
WINADVAPI LSTATUS APIENTRY RegEnumKeyExA( HKEY, DWORD, LPSTR, LPDWORD, LPDWORD, LPSTR, LPDWORD, PFILETIME );
WINADVAPI LSTATUS APIENTRY RegEnumKeyExW( HKEY, DWORD, LPWSTR, LPDWORD, LPDWORD, LPWSTR, LPDWORD, PFILETIME );
WINADVAPI LSTATUS APIENTRY RegEnumKeyW( HKEY, DWORD, LPWSTR, DWORD );
WINADVAPI LSTATUS APIENTRY RegEnumValueA( HKEY, DWORD, LPSTR, LPDWORD, LPDWORD, LPDWORD, LPBYTE, LPDWORD );
WINADVAPI LSTATUS APIENTRY RegEnumValueW( HKEY, DWORD, LPWSTR, LPDWORD, LPDWORD, LPDWORD, LPBYTE, LPDWORD );
WINADVAPI LSTATUS APIENTRY RegFlushKey( HKEY );
WINADVAPI LSTATUS APIENTRY RegGetKeySecurity( HKEY, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, LPDWORD );
WINADVAPI LSTATUS APIENTRY RegGetValueA( HKEY, LPCSTR, LPCSTR, DWORD, LPDWORD, PVOID, LPDWORD );
WINADVAPI LSTATUS APIENTRY RegGetValueW( HKEY, LPCWSTR, LPCWSTR, DWORD, LPDWORD, PVOID, LPDWORD );
WINADVAPI LSTATUS APIENTRY RegLoadAppKeyA( LPCSTR, PHKEY, REGSAM, DWORD, DWORD );
WINADVAPI LSTATUS APIENTRY RegLoadAppKeyW( LPCWSTR, PHKEY, REGSAM, DWORD, DWORD );
WINADVAPI LSTATUS APIENTRY RegLoadKeyA( HKEY, LPCSTR, LPCSTR );
WINADVAPI LSTATUS APIENTRY RegLoadKeyW( HKEY, LPCWSTR, LPCWSTR );
WINADVAPI LSTATUS APIENTRY RegLoadMUIStringA( HKEY, LPCSTR, LPSTR, DWORD, LPDWORD, LPCSTR );
WINADVAPI LSTATUS APIENTRY RegLoadMUIStringW( HKEY, LPCWSTR, LPWSTR, DWORD, LPDWORD, LPCWSTR );
WINADVAPI LSTATUS APIENTRY RegNotifyChangeKeyValue( HKEY, BOOL, DWORD, HANDLE, BOOL );
WINADVAPI LSTATUS APIENTRY RegOpenCurrentUser( REGSAM, PHKEY );
WINADVAPI LSTATUS APIENTRY RegOpenKeyA( HKEY, LPCSTR, PHKEY );
WINADVAPI LSTATUS APIENTRY RegOpenKeyExA( HKEY, LPCSTR, DWORD, REGSAM, PHKEY );
WINADVAPI LSTATUS APIENTRY RegOpenKeyExW( HKEY, LPCWSTR, DWORD, REGSAM, PHKEY );
WINADVAPI LSTATUS APIENTRY RegOpenKeyTransactedA( HKEY, LPCSTR, DWORD, REGSAM, PHKEY, HANDLE, PVOID );
WINADVAPI LSTATUS APIENTRY RegOpenKeyTransactedW( HKEY, LPCWSTR, DWORD, REGSAM, PHKEY, HANDLE, PVOID );
WINADVAPI LSTATUS APIENTRY RegOpenKeyW( HKEY, LPCWSTR, PHKEY );
WINADVAPI LSTATUS APIENTRY RegOpenUserClassesRoot( HANDLE, DWORD, REGSAM, PHKEY );
WINADVAPI LSTATUS APIENTRY RegOverridePredefKey( HKEY, HKEY );
WINADVAPI LSTATUS APIENTRY RegQueryInfoKeyA( HKEY, LPSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, PFILETIME );
WINADVAPI LSTATUS APIENTRY RegQueryInfoKeyW( HKEY, LPWSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, PFILETIME );
WINADVAPI LONG APIENTRY RegQueryReflectionKey( HKEY, BOOL * );
WINADVAPI LSTATUS APIENTRY RegQueryValueA( HKEY, LPCSTR, LPSTR, PLONG );
WINADVAPI LSTATUS APIENTRY RegQueryValueExA( HKEY, LPCSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD );
WINADVAPI LSTATUS APIENTRY RegQueryValueExW( HKEY, LPCWSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD );
WINADVAPI LSTATUS APIENTRY RegQueryValueW( HKEY, LPCWSTR, LPWSTR, PLONG );
WINADVAPI LSTATUS APIENTRY RegReplaceKeyA( HKEY, LPCSTR, LPCSTR, LPCSTR );
WINADVAPI LSTATUS APIENTRY RegReplaceKeyW( HKEY, LPCWSTR, LPCWSTR, LPCWSTR );
WINADVAPI LSTATUS APIENTRY RegRestoreKeyA( HKEY, LPCSTR, DWORD );
WINADVAPI LSTATUS APIENTRY RegRestoreKeyW( HKEY, LPCWSTR, DWORD );
WINADVAPI LSTATUS APIENTRY RegSaveKeyA( HKEY, LPCSTR, LPSECURITY_ATTRIBUTES );
WINADVAPI LSTATUS APIENTRY RegSaveKeyExA( HKEY, LPCSTR, LPSECURITY_ATTRIBUTES, DWORD );
WINADVAPI LSTATUS APIENTRY RegSaveKeyExW( HKEY, LPCWSTR, LPSECURITY_ATTRIBUTES, DWORD );
WINADVAPI LSTATUS APIENTRY RegSaveKeyW( HKEY, LPCWSTR, LPSECURITY_ATTRIBUTES );
WINADVAPI LSTATUS APIENTRY RegSetKeySecurity( HKEY, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR );
WINADVAPI LSTATUS APIENTRY RegSetValueA( HKEY, LPCSTR, DWORD, LPCSTR, DWORD );
WINADVAPI LSTATUS APIENTRY RegSetValueExA( HKEY, LPCSTR, DWORD, DWORD, CONST BYTE *, DWORD );
WINADVAPI LSTATUS APIENTRY RegSetValueExW( HKEY, LPCWSTR, DWORD, DWORD, CONST BYTE *, DWORD );
WINADVAPI LSTATUS APIENTRY RegSetValueW( HKEY, LPCWSTR, DWORD, LPCWSTR, DWORD );
WINADVAPI LSTATUS APIENTRY RegUnLoadKeyA( HKEY, LPCSTR );
WINADVAPI LSTATUS APIENTRY RegUnLoadKeyW( HKEY, LPCWSTR );
#if (WINVER >= 0x0400)
WINADVAPI LSTATUS APIENTRY RegQueryMultipleValuesA( HKEY, PVALENTA, DWORD, LPSTR, LPDWORD );
WINADVAPI LSTATUS APIENTRY RegQueryMultipleValuesW( HKEY, PVALENTW, DWORD, LPWSTR, LPDWORD );
#endif
#if (WINVER >= 0x0600)
WINADVAPI LSTATUS APIENTRY RegRenameKey( HKEY, LPCWSTR, LPCWSTR );
#endif
#if (_WIN32_WINNT >= 0x0600)
WINADVAPI LSTATUS APIENTRY RegCopyTreeA( HKEY, LPCSTR, HKEY );
WINADVAPI LSTATUS APIENTRY RegCopyTreeW( HKEY, LPCWSTR, HKEY );
WINADVAPI LSTATUS APIENTRY RegDeleteKeyValueA( HKEY, LPCSTR, LPCSTR );
WINADVAPI LSTATUS APIENTRY RegDeleteKeyValueW( HKEY, LPCWSTR, LPCWSTR );
WINADVAPI LSTATUS APIENTRY RegDeleteTreeA( HKEY, LPCSTR );
WINADVAPI LSTATUS APIENTRY RegDeleteTreeW( HKEY, LPCWSTR );
WINADVAPI LSTATUS APIENTRY RegSetKeyValueA( HKEY, LPCSTR, LPCSTR, DWORD, LPCVOID, DWORD );
WINADVAPI LSTATUS APIENTRY RegSetKeyValueW( HKEY, LPCWSTR, LPCWSTR, DWORD, LPCVOID, DWORD );
#endif
/* Map generic function names to the appropriate ANSI or Unicode version. */
#ifdef UNICODE
#define AbortSystemShutdown AbortSystemShutdownW
#define InitiateShutdown InitiateShutdownW
#define InitiateSystemShutdown InitiateSystemShutdownW
#define InitiateSystemShutdownEx InitiateSystemShutdownExW
#define RegConnectRegistry RegConnectRegistryW
#define RegConnectRegistryEx RegConnectRegistryExW
#define RegCreateKey RegCreateKeyW
#define RegCreateKeyEx RegCreateKeyExW
#define RegCreateKeyTransacted RegCreateKeyTransactedW
#define RegDeleteKey RegDeleteKeyW
#define RegDeleteKeyEx RegDeleteKeyExW
#define RegDeleteKeyTransacted RegDeleteKeyTransactedW
#define RegDeleteValue RegDeleteValueW
#define RegEnumKey RegEnumKeyW
#define RegEnumKeyEx RegEnumKeyExW
#define RegEnumValue RegEnumValueW
#define RegGetValue RegGetValueW
#define RegLoadAppKey RegLoadAppKeyW
#define RegLoadKey RegLoadKeyW
#define RegLoadMUIString RegLoadMUIStringW
#define RegOpenKey RegOpenKeyW
#define RegOpenKeyEx RegOpenKeyExW
#define RegOpenKeyTransacted RegOpenKeyTransactedW
#define RegQueryInfoKey RegQueryInfoKeyW
#define RegQueryValue RegQueryValueW
#define RegQueryValueEx RegQueryValueExW
#define RegReplaceKey RegReplaceKeyW
#define RegRestoreKey RegRestoreKeyW
#define RegSaveKey RegSaveKeyW
#define RegSaveKeyEx RegSaveKeyExW
#define RegSetValue RegSetValueW
#define RegSetValueEx RegSetValueExW
#define RegUnLoadKey RegUnLoadKeyW
#if (WINVER >= 0x0400)
#define RegQueryMultipleValues RegQueryMultipleValuesW
#endif
#if (_WIN32_WINNT >= 0x0600)
#define RegCopyTree RegCopyTreeW
#define RegDeleteKeyValue RegDeleteKeyValueW
#define RegDeleteTree RegDeleteTreeW
#define RegSetKeyValue RegSetKeyValueW
#endif
#else
#define AbortSystemShutdown AbortSystemShutdownA
#define InitiateShutdown InitiateShutdownA
#define InitiateSystemShutdown InitiateSystemShutdownA
#define InitiateSystemShutdownEx InitiateSystemShutdownExA
#define RegConnectRegistry RegConnectRegistryA
#define RegConnectRegistryEx RegConnectRegistryExA
#define RegCreateKey RegCreateKeyA
#define RegCreateKeyEx RegCreateKeyExA
#define RegCreateKeyTransacted RegCreateKeyTransactedA
#define RegDeleteKey RegDeleteKeyA
#define RegDeleteKeyEx RegDeleteKeyExA
#define RegDeleteKeyTransacted RegDeleteKeyTransactedA
#define RegDeleteValue RegDeleteValueA
#define RegEnumKey RegEnumKeyA
#define RegEnumKeyEx RegEnumKeyExA
#define RegEnumValue RegEnumValueA
#define RegGetValue RegGetValueA
#define RegLoadAppKey RegLoadAppKeyA
#define RegLoadKey RegLoadKeyA
#define RegLoadMUIString RegLoadMUIStringA
#define RegOpenKey RegOpenKeyA
#define RegOpenKeyEx RegOpenKeyExA
#define RegOpenKeyTransacted RegOpenKeyTransactedA
#define RegQueryInfoKey RegQueryInfoKeyA
#define RegQueryValue RegQueryValueA
#define RegQueryValueEx RegQueryValueExA
#define RegReplaceKey RegReplaceKeyA
#define RegRestoreKey RegRestoreKeyA
#define RegSaveKey RegSaveKeyA
#define RegSaveKeyEx RegSaveKeyExA
#define RegSetValue RegSetValueA
#define RegSetValueEx RegSetValueExA
#define RegUnLoadKey RegUnLoadKeyA
#if (WINVER >= 0x0400)
#define RegQueryMultipleValues RegQueryMultipleValuesA
#endif
#if (_WIN32_WINNT >= 0x0600)
#define RegCopyTree RegCopyTreeA
#define RegDeleteKeyValue RegDeleteKeyValueA
#define RegDeleteTree RegDeleteTreeA
#define RegSetKeyValue RegSetKeyValueA
#endif
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* _WINREG_ */