### winreg.h ###

AbortSystemShutdownA=func
func.AbortSystemShutdownA.args=1
func.AbortSystemShutdownA.arg.0=LPSTR,lpMachineName
func.AbortSystemShutdownA.ret=BOOL

AbortSystemShutdownW=func
func.AbortSystemShutdownW.args=1
func.AbortSystemShutdownW.arg.0=LPWSTR,lpMachineName
func.AbortSystemShutdownW.ret=BOOL

CheckForHiberboot=func
func.CheckForHiberboot.args=2
func.CheckForHiberboot.arg.0=PBOOLEAN,pHiberboot
func.CheckForHiberboot.arg.1=BOOLEAN,bClearFlag
func.CheckForHiberboot.ret=DWORD

InitiateShutdownA=func
func.InitiateShutdownA.args=5
func.InitiateShutdownA.arg.0=LPSTR,lpMachineName
func.InitiateShutdownA.arg.1=LPSTR,lpMessage
func.InitiateShutdownA.arg.2=DWORD,dwGracePeriod
func.InitiateShutdownA.arg.3=DWORD,dwShutdownFlags
func.InitiateShutdownA.arg.4=DWORD,dwReason
func.InitiateShutdownA.ret=DWORD

InitiateShutdownW=func
func.InitiateShutdownW.args=5
func.InitiateShutdownW.arg.0=LPWSTR,lpMachineName
func.InitiateShutdownW.arg.1=LPWSTR,lpMessage
func.InitiateShutdownW.arg.2=DWORD,dwGracePeriod
func.InitiateShutdownW.arg.3=DWORD,dwShutdownFlags
func.InitiateShutdownW.arg.4=DWORD,dwReason
func.InitiateShutdownW.ret=DWORD

InitiateSystemShutdownA=func
func.InitiateSystemShutdownA.args=5
func.InitiateSystemShutdownA.arg.0=LPSTR,lpMachineName
func.InitiateSystemShutdownA.arg.1=LPSTR,lpMessage
func.InitiateSystemShutdownA.arg.2=DWORD,dwTimeout
func.InitiateSystemShutdownA.arg.3=BOOL,bForceAppsClosed
func.InitiateSystemShutdownA.arg.4=BOOL,bRebootAfterShutdown
func.InitiateSystemShutdownA.ret=BOOL

InitiateSystemShutdownExA=func
func.InitiateSystemShutdownExA.args=6
func.InitiateSystemShutdownExA.arg.0=LPSTR,lpMachineName
func.InitiateSystemShutdownExA.arg.1=LPSTR,lpMessage
func.InitiateSystemShutdownExA.arg.2=DWORD,dwTimeout
func.InitiateSystemShutdownExA.arg.3=BOOL,bForceAppsClosed
func.InitiateSystemShutdownExA.arg.4=BOOL,bRebootAfterShutdown
func.InitiateSystemShutdownExA.arg.5=DWORD,dwReason
func.InitiateSystemShutdownExA.ret=BOOL

InitiateSystemShutdownExW=func
func.InitiateSystemShutdownExW.args=6
func.InitiateSystemShutdownExW.arg.0=LPWSTR,lpMachineName
func.InitiateSystemShutdownExW.arg.1=LPWSTR,lpMessage
func.InitiateSystemShutdownExW.arg.2=DWORD,dwTimeout
func.InitiateSystemShutdownExW.arg.3=BOOL,bForceAppsClosed
func.InitiateSystemShutdownExW.arg.4=BOOL,bRebootAfterShutdown
func.InitiateSystemShutdownExW.arg.5=DWORD,dwReason
func.InitiateSystemShutdownExW.ret=BOOL

InitiateSystemShutdownW=func
func.InitiateSystemShutdownW.args=5
func.InitiateSystemShutdownW.arg.0=LPWSTR,lpMachineName
func.InitiateSystemShutdownW.arg.1=LPWSTR,lpMessage
func.InitiateSystemShutdownW.arg.2=DWORD,dwTimeout
func.InitiateSystemShutdownW.arg.3=BOOL,bForceAppsClosed
func.InitiateSystemShutdownW.arg.4=BOOL,bRebootAfterShutdown
func.InitiateSystemShutdownW.ret=BOOL

RegCloseKey=func
func.RegCloseKey.args=1
func.RegCloseKey.arg.0=HKEY,hKey
func.RegCloseKey.ret=LSTATUS

RegConnectRegistryA=func
func.RegConnectRegistryA.args=3
func.RegConnectRegistryA.arg.0=LPCSTR,lpMachineName
func.RegConnectRegistryA.arg.1=HKEY,hKey
func.RegConnectRegistryA.arg.2=PHKEY,phkResult
func.RegConnectRegistryA.ret=LSTATUS

RegConnectRegistryExA=func
func.RegConnectRegistryExA.args=4
func.RegConnectRegistryExA.arg.0=LPCSTR,lpMachineName
func.RegConnectRegistryExA.arg.1=HKEY,hKey
func.RegConnectRegistryExA.arg.2=ULONG,Flags
func.RegConnectRegistryExA.arg.3=PHKEY,phkResult
func.RegConnectRegistryExA.ret=LSTATUS

RegConnectRegistryExW=func
func.RegConnectRegistryExW.args=4
func.RegConnectRegistryExW.arg.0=LPCWSTR,lpMachineName
func.RegConnectRegistryExW.arg.1=HKEY,hKey
func.RegConnectRegistryExW.arg.2=ULONG,Flags
func.RegConnectRegistryExW.arg.3=PHKEY,phkResult
func.RegConnectRegistryExW.ret=LSTATUS

RegConnectRegistryW=func
func.RegConnectRegistryW.args=3
func.RegConnectRegistryW.arg.0=LPCWSTR,lpMachineName
func.RegConnectRegistryW.arg.1=HKEY,hKey
func.RegConnectRegistryW.arg.2=PHKEY,phkResult
func.RegConnectRegistryW.ret=LSTATUS

RegCopyTreeA=func
func.RegCopyTreeA.args=3
func.RegCopyTreeA.arg.0=HKEY,hKeySrc
func.RegCopyTreeA.arg.1=LPCSTR,lpSubKey
func.RegCopyTreeA.arg.2=HKEY,hKeyDest
func.RegCopyTreeA.ret=LSTATUS

RegCopyTreeW=func
func.RegCopyTreeW.args=3
func.RegCopyTreeW.arg.0=HKEY,hKeySrc
func.RegCopyTreeW.arg.1=LPCWSTR,lpSubKey
func.RegCopyTreeW.arg.2=HKEY,hKeyDest
func.RegCopyTreeW.ret=LSTATUS

RegCreateKeyA=func
func.RegCreateKeyA.args=3
func.RegCreateKeyA.arg.0=HKEY,hKey
func.RegCreateKeyA.arg.1=LPCSTR,lpSubKey
func.RegCreateKeyA.arg.2=PHKEY,phkResult
func.RegCreateKeyA.ret=LSTATUS

RegCreateKeyExA=func
func.RegCreateKeyExA.args=9
func.RegCreateKeyExA.arg.0=HKEY,hKey
func.RegCreateKeyExA.arg.1=LPCSTR,lpSubKey
func.RegCreateKeyExA.arg.2=DWORD,Reserved
func.RegCreateKeyExA.arg.3=LPSTR,lpClass
func.RegCreateKeyExA.arg.4=DWORD,dwOptions
func.RegCreateKeyExA.arg.5=REGSAM,samDesired
func.RegCreateKeyExA.arg.6=const LPSECURITY_ATTRIBUTES,lpSecurityAttributes
func.RegCreateKeyExA.arg.7=PHKEY,phkResult
func.RegCreateKeyExA.arg.8=LPDWORD,lpdwDisposition
func.RegCreateKeyExA.ret=LSTATUS

RegCreateKeyExW=func
func.RegCreateKeyExW.args=9
func.RegCreateKeyExW.arg.0=HKEY,hKey
func.RegCreateKeyExW.arg.1=LPCWSTR,lpSubKey
func.RegCreateKeyExW.arg.2=DWORD,Reserved
func.RegCreateKeyExW.arg.3=LPWSTR,lpClass
func.RegCreateKeyExW.arg.4=DWORD,dwOptions
func.RegCreateKeyExW.arg.5=REGSAM,samDesired
func.RegCreateKeyExW.arg.6=const LPSECURITY_ATTRIBUTES,lpSecurityAttributes
func.RegCreateKeyExW.arg.7=PHKEY,phkResult
func.RegCreateKeyExW.arg.8=LPDWORD,lpdwDisposition
func.RegCreateKeyExW.ret=LSTATUS

RegCreateKeyTransactedA=func
func.RegCreateKeyTransactedA.args=11
func.RegCreateKeyTransactedA.arg.0=HKEY,hKey
func.RegCreateKeyTransactedA.arg.1=LPCSTR,lpSubKey
func.RegCreateKeyTransactedA.arg.2=DWORD,Reserved
func.RegCreateKeyTransactedA.arg.3=LPSTR,lpClass
func.RegCreateKeyTransactedA.arg.4=DWORD,dwOptions
func.RegCreateKeyTransactedA.arg.5=REGSAM,samDesired
func.RegCreateKeyTransactedA.arg.6=const LPSECURITY_ATTRIBUTES,lpSecurityAttributes
func.RegCreateKeyTransactedA.arg.7=PHKEY,phkResult
func.RegCreateKeyTransactedA.arg.8=LPDWORD,lpdwDisposition
func.RegCreateKeyTransactedA.arg.9=HANDLE,hTransaction
func.RegCreateKeyTransactedA.arg.10=PVOID,pExtendedParemeter
func.RegCreateKeyTransactedA.ret=LSTATUS

RegCreateKeyTransactedW=func
func.RegCreateKeyTransactedW.args=11
func.RegCreateKeyTransactedW.arg.0=HKEY,hKey
func.RegCreateKeyTransactedW.arg.1=LPCWSTR,lpSubKey
func.RegCreateKeyTransactedW.arg.2=DWORD,Reserved
func.RegCreateKeyTransactedW.arg.3=LPWSTR,lpClass
func.RegCreateKeyTransactedW.arg.4=DWORD,dwOptions
func.RegCreateKeyTransactedW.arg.5=REGSAM,samDesired
func.RegCreateKeyTransactedW.arg.6=const LPSECURITY_ATTRIBUTES,lpSecurityAttributes
func.RegCreateKeyTransactedW.arg.7=PHKEY,phkResult
func.RegCreateKeyTransactedW.arg.8=LPDWORD,lpdwDisposition
func.RegCreateKeyTransactedW.arg.9=HANDLE,hTransaction
func.RegCreateKeyTransactedW.arg.10=PVOID,pExtendedParemeter
func.RegCreateKeyTransactedW.ret=LSTATUS

RegCreateKeyW=func
func.RegCreateKeyW.args=3
func.RegCreateKeyW.arg.0=HKEY,hKey
func.RegCreateKeyW.arg.1=LPCWSTR,lpSubKey
func.RegCreateKeyW.arg.2=PHKEY,phkResult
func.RegCreateKeyW.ret=LSTATUS

RegDeleteKeyA=func
func.RegDeleteKeyA.args=2
func.RegDeleteKeyA.arg.0=HKEY,hKey
func.RegDeleteKeyA.arg.1=LPCSTR,lpSubKey
func.RegDeleteKeyA.ret=LSTATUS

RegDeleteKeyExA=func
func.RegDeleteKeyExA.args=4
func.RegDeleteKeyExA.arg.0=HKEY,hKey
func.RegDeleteKeyExA.arg.1=LPCSTR,lpSubKey
func.RegDeleteKeyExA.arg.2=REGSAM,samDesired
func.RegDeleteKeyExA.arg.3=DWORD,Reserved
func.RegDeleteKeyExA.ret=LSTATUS

RegDeleteKeyExW=func
func.RegDeleteKeyExW.args=4
func.RegDeleteKeyExW.arg.0=HKEY,hKey
func.RegDeleteKeyExW.arg.1=LPCWSTR,lpSubKey
func.RegDeleteKeyExW.arg.2=REGSAM,samDesired
func.RegDeleteKeyExW.arg.3=DWORD,Reserved
func.RegDeleteKeyExW.ret=LSTATUS

RegDeleteKeyTransactedA=func
func.RegDeleteKeyTransactedA.args=6
func.RegDeleteKeyTransactedA.arg.0=HKEY,hKey
func.RegDeleteKeyTransactedA.arg.1=LPCSTR,lpSubKey
func.RegDeleteKeyTransactedA.arg.2=REGSAM,samDesired
func.RegDeleteKeyTransactedA.arg.3=DWORD,Reserved
func.RegDeleteKeyTransactedA.arg.4=HANDLE,hTransaction
func.RegDeleteKeyTransactedA.arg.5=PVOID,pExtendedParameter
func.RegDeleteKeyTransactedA.ret=LSTATUS

RegDeleteKeyTransactedW=func
func.RegDeleteKeyTransactedW.args=6
func.RegDeleteKeyTransactedW.arg.0=HKEY,hKey
func.RegDeleteKeyTransactedW.arg.1=LPCWSTR,lpSubKey
func.RegDeleteKeyTransactedW.arg.2=REGSAM,samDesired
func.RegDeleteKeyTransactedW.arg.3=DWORD,Reserved
func.RegDeleteKeyTransactedW.arg.4=HANDLE,hTransaction
func.RegDeleteKeyTransactedW.arg.5=PVOID,pExtendedParameter
func.RegDeleteKeyTransactedW.ret=LSTATUS

RegDeleteKeyValueA=func
func.RegDeleteKeyValueA.args=3
func.RegDeleteKeyValueA.arg.0=HKEY,hKey
func.RegDeleteKeyValueA.arg.1=LPCSTR,lpSubKey
func.RegDeleteKeyValueA.arg.2=LPCSTR,lpValueName
func.RegDeleteKeyValueA.ret=LSTATUS

RegDeleteKeyValueW=func
func.RegDeleteKeyValueW.args=3
func.RegDeleteKeyValueW.arg.0=HKEY,hKey
func.RegDeleteKeyValueW.arg.1=LPCWSTR,lpSubKey
func.RegDeleteKeyValueW.arg.2=LPCWSTR,lpValueName
func.RegDeleteKeyValueW.ret=LSTATUS

RegDeleteKeyW=func
func.RegDeleteKeyW.args=2
func.RegDeleteKeyW.arg.0=HKEY,hKey
func.RegDeleteKeyW.arg.1=LPCWSTR,lpSubKey
func.RegDeleteKeyW.ret=LSTATUS

RegDeleteTreeA=func
func.RegDeleteTreeA.args=2
func.RegDeleteTreeA.arg.0=HKEY,hKey
func.RegDeleteTreeA.arg.1=LPCSTR,lpSubKey
func.RegDeleteTreeA.ret=LSTATUS

RegDeleteTreeW=func
func.RegDeleteTreeW.args=2
func.RegDeleteTreeW.arg.0=HKEY,hKey
func.RegDeleteTreeW.arg.1=LPCWSTR,lpSubKey
func.RegDeleteTreeW.ret=LSTATUS

RegDeleteValueA=func
func.RegDeleteValueA.args=2
func.RegDeleteValueA.arg.0=HKEY,hKey
func.RegDeleteValueA.arg.1=LPCSTR,lpValueName
func.RegDeleteValueA.ret=LSTATUS

RegDeleteValueW=func
func.RegDeleteValueW.args=2
func.RegDeleteValueW.arg.0=HKEY,hKey
func.RegDeleteValueW.arg.1=LPCWSTR,lpValueName
func.RegDeleteValueW.ret=LSTATUS

RegDisablePredefinedCache=func
func.RegDisablePredefinedCache.args=0
func.RegDisablePredefinedCache.ret=LSTATUS

RegDisablePredefinedCacheEx=func
func.RegDisablePredefinedCacheEx.args=0
func.RegDisablePredefinedCacheEx.ret=LSTATUS

RegDisableReflectionKey=func
func.RegDisableReflectionKey.args=1
func.RegDisableReflectionKey.arg.0=HKEY,hBase
func.RegDisableReflectionKey.ret=LONG

RegEnableReflectionKey=func
func.RegEnableReflectionKey.args=1
func.RegEnableReflectionKey.arg.0=HKEY,hBase
func.RegEnableReflectionKey.ret=LONG

RegEnumKeyA=func
func.RegEnumKeyA.args=4
func.RegEnumKeyA.arg.0=HKEY,hKey
func.RegEnumKeyA.arg.1=DWORD,dwIndex
func.RegEnumKeyA.arg.2=LPSTR,lpName
func.RegEnumKeyA.arg.3=DWORD,cchName
func.RegEnumKeyA.ret=LSTATUS

RegEnumKeyExA=func
func.RegEnumKeyExA.args=8
func.RegEnumKeyExA.arg.0=HKEY,hKey
func.RegEnumKeyExA.arg.1=DWORD,dwIndex
func.RegEnumKeyExA.arg.2=LPSTR,lpName
func.RegEnumKeyExA.arg.3=LPDWORD,lpcchName
func.RegEnumKeyExA.arg.4=LPDWORD,lpReserved
func.RegEnumKeyExA.arg.5=LPSTR,lpClass
func.RegEnumKeyExA.arg.6=LPDWORD,lpcchClass
func.RegEnumKeyExA.arg.7=PFILETIME,lpftLastWriteTime
func.RegEnumKeyExA.ret=LSTATUS

RegEnumKeyExW=func
func.RegEnumKeyExW.args=8
func.RegEnumKeyExW.arg.0=HKEY,hKey
func.RegEnumKeyExW.arg.1=DWORD,dwIndex
func.RegEnumKeyExW.arg.2=LPWSTR,lpName
func.RegEnumKeyExW.arg.3=LPDWORD,lpcchName
func.RegEnumKeyExW.arg.4=LPDWORD,lpReserved
func.RegEnumKeyExW.arg.5=LPWSTR,lpClass
func.RegEnumKeyExW.arg.6=LPDWORD,lpcchClass
func.RegEnumKeyExW.arg.7=PFILETIME,lpftLastWriteTime
func.RegEnumKeyExW.ret=LSTATUS

RegEnumKeyW=func
func.RegEnumKeyW.args=4
func.RegEnumKeyW.arg.0=HKEY,hKey
func.RegEnumKeyW.arg.1=DWORD,dwIndex
func.RegEnumKeyW.arg.2=LPWSTR,lpName
func.RegEnumKeyW.arg.3=DWORD,cchName
func.RegEnumKeyW.ret=LSTATUS

RegEnumValueA=func
func.RegEnumValueA.args=8
func.RegEnumValueA.arg.0=HKEY,hKey
func.RegEnumValueA.arg.1=DWORD,dwIndex
func.RegEnumValueA.arg.2=LPSTR,lpValueName
func.RegEnumValueA.arg.3=LPDWORD,lpcchValueName
func.RegEnumValueA.arg.4=LPDWORD,lpReserved
func.RegEnumValueA.arg.5=LPDWORD,lpType
func.RegEnumValueA.arg.6=LPBYTE,lpData
func.RegEnumValueA.arg.7=LPDWORD,lpcbData
func.RegEnumValueA.ret=LSTATUS

RegEnumValueW=func
func.RegEnumValueW.args=8
func.RegEnumValueW.arg.0=HKEY,hKey
func.RegEnumValueW.arg.1=DWORD,dwIndex
func.RegEnumValueW.arg.2=LPWSTR,lpValueName
func.RegEnumValueW.arg.3=LPDWORD,lpcchValueName
func.RegEnumValueW.arg.4=LPDWORD,lpReserved
func.RegEnumValueW.arg.5=LPDWORD,lpType
func.RegEnumValueW.arg.6=LPBYTE,lpData
func.RegEnumValueW.arg.7=LPDWORD,lpcbData
func.RegEnumValueW.ret=LSTATUS

RegFlushKey=func
func.RegFlushKey.args=1
func.RegFlushKey.arg.0=HKEY,hKey
func.RegFlushKey.ret=LSTATUS

RegGetKeySecurity=func
func.RegGetKeySecurity.args=4
func.RegGetKeySecurity.arg.0=HKEY,hKey
func.RegGetKeySecurity.arg.1=SECURITY_INFORMATION,SecurityInformation
func.RegGetKeySecurity.arg.2=PSECURITY_DESCRIPTOR,pSecurityDescriptor
func.RegGetKeySecurity.arg.3=LPDWORD,lpcbSecurityDescriptor
func.RegGetKeySecurity.ret=LSTATUS

RegGetValueA=func
func.RegGetValueA.args=7
func.RegGetValueA.arg.0=HKEY,hkey
func.RegGetValueA.arg.1=LPCSTR,lpSubKey
func.RegGetValueA.arg.2=LPCSTR,lpValue
func.RegGetValueA.arg.3=DWORD,dwFlags
func.RegGetValueA.arg.4=LPDWORD,pdwType
func.RegGetValueA.arg.5=PVOID,pvData
func.RegGetValueA.arg.6=LPDWORD,pcbData
func.RegGetValueA.ret=LSTATUS

RegGetValueW=func
func.RegGetValueW.args=7
func.RegGetValueW.arg.0=HKEY,hkey
func.RegGetValueW.arg.1=LPCWSTR,lpSubKey
func.RegGetValueW.arg.2=LPCWSTR,lpValue
func.RegGetValueW.arg.3=DWORD,dwFlags
func.RegGetValueW.arg.4=LPDWORD,pdwType
func.RegGetValueW.arg.5=PVOID,pvData
func.RegGetValueW.arg.6=LPDWORD,pcbData
func.RegGetValueW.ret=LSTATUS

RegLoadAppKeyA=func
func.RegLoadAppKeyA.args=5
func.RegLoadAppKeyA.arg.0=LPCSTR,lpFile
func.RegLoadAppKeyA.arg.1=PHKEY,phkResult
func.RegLoadAppKeyA.arg.2=REGSAM,samDesired
func.RegLoadAppKeyA.arg.3=DWORD,dwOptions
func.RegLoadAppKeyA.arg.4=DWORD,Reserved
func.RegLoadAppKeyA.ret=LSTATUS

RegLoadAppKeyW=func
func.RegLoadAppKeyW.args=5
func.RegLoadAppKeyW.arg.0=LPCWSTR,lpFile
func.RegLoadAppKeyW.arg.1=PHKEY,phkResult
func.RegLoadAppKeyW.arg.2=REGSAM,samDesired
func.RegLoadAppKeyW.arg.3=DWORD,dwOptions
func.RegLoadAppKeyW.arg.4=DWORD,Reserved
func.RegLoadAppKeyW.ret=LSTATUS

RegLoadKeyA=func
func.RegLoadKeyA.args=3
func.RegLoadKeyA.arg.0=HKEY,hKey
func.RegLoadKeyA.arg.1=LPCSTR,lpSubKey
func.RegLoadKeyA.arg.2=LPCSTR,lpFile
func.RegLoadKeyA.ret=LSTATUS

RegLoadKeyW=func
func.RegLoadKeyW.args=3
func.RegLoadKeyW.arg.0=HKEY,hKey
func.RegLoadKeyW.arg.1=LPCWSTR,lpSubKey
func.RegLoadKeyW.arg.2=LPCWSTR,lpFile
func.RegLoadKeyW.ret=LSTATUS

RegLoadMUIStringA=func
func.RegLoadMUIStringA.args=7
func.RegLoadMUIStringA.arg.0=HKEY,hKey
func.RegLoadMUIStringA.arg.1=LPCSTR,pszValue
func.RegLoadMUIStringA.arg.2=LPSTR,pszOutBuf
func.RegLoadMUIStringA.arg.3=DWORD,cbOutBuf
func.RegLoadMUIStringA.arg.4=LPDWORD,pcbData
func.RegLoadMUIStringA.arg.5=DWORD,Flags
func.RegLoadMUIStringA.arg.6=LPCSTR,pszDirectory
func.RegLoadMUIStringA.ret=LSTATUS

RegLoadMUIStringW=func
func.RegLoadMUIStringW.args=7
func.RegLoadMUIStringW.arg.0=HKEY,hKey
func.RegLoadMUIStringW.arg.1=LPCWSTR,pszValue
func.RegLoadMUIStringW.arg.2=LPWSTR,pszOutBuf
func.RegLoadMUIStringW.arg.3=DWORD,cbOutBuf
func.RegLoadMUIStringW.arg.4=LPDWORD,pcbData
func.RegLoadMUIStringW.arg.5=DWORD,Flags
func.RegLoadMUIStringW.arg.6=LPCWSTR,pszDirectory
func.RegLoadMUIStringW.ret=LSTATUS

RegNotifyChangeKeyValue=func
func.RegNotifyChangeKeyValue.args=5
func.RegNotifyChangeKeyValue.arg.0=HKEY,hKey
func.RegNotifyChangeKeyValue.arg.1=BOOL,bWatchSubtree
func.RegNotifyChangeKeyValue.arg.2=DWORD,dwNotifyFilter
func.RegNotifyChangeKeyValue.arg.3=HANDLE,hEvent
func.RegNotifyChangeKeyValue.arg.4=BOOL,fAsynchronous
func.RegNotifyChangeKeyValue.ret=LSTATUS

RegOpenCurrentUser=func
func.RegOpenCurrentUser.args=2
func.RegOpenCurrentUser.arg.0=REGSAM,samDesired
func.RegOpenCurrentUser.arg.1=PHKEY,phkResult
func.RegOpenCurrentUser.ret=LSTATUS

RegOpenKeyA=func
func.RegOpenKeyA.args=3
func.RegOpenKeyA.arg.0=HKEY,hKey
func.RegOpenKeyA.arg.1=LPCSTR,lpSubKey
func.RegOpenKeyA.arg.2=PHKEY,phkResult
func.RegOpenKeyA.ret=LSTATUS

RegOpenKeyExA=func
func.RegOpenKeyExA.args=5
func.RegOpenKeyExA.arg.0=HKEY,hKey
func.RegOpenKeyExA.arg.1=LPCSTR,lpSubKey
func.RegOpenKeyExA.arg.2=DWORD,ulOptions
func.RegOpenKeyExA.arg.3=REGSAM,samDesired
func.RegOpenKeyExA.arg.4=PHKEY,phkResult
func.RegOpenKeyExA.ret=LSTATUS

RegOpenKeyExW=func
func.RegOpenKeyExW.args=5
func.RegOpenKeyExW.arg.0=HKEY,hKey
func.RegOpenKeyExW.arg.1=LPCWSTR,lpSubKey
func.RegOpenKeyExW.arg.2=DWORD,ulOptions
func.RegOpenKeyExW.arg.3=REGSAM,samDesired
func.RegOpenKeyExW.arg.4=PHKEY,phkResult
func.RegOpenKeyExW.ret=LSTATUS

RegOpenKeyTransactedA=func
func.RegOpenKeyTransactedA.args=7
func.RegOpenKeyTransactedA.arg.0=HKEY,hKey
func.RegOpenKeyTransactedA.arg.1=LPCSTR,lpSubKey
func.RegOpenKeyTransactedA.arg.2=DWORD,ulOptions
func.RegOpenKeyTransactedA.arg.3=REGSAM,samDesired
func.RegOpenKeyTransactedA.arg.4=PHKEY,phkResult
func.RegOpenKeyTransactedA.arg.5=HANDLE,hTransaction
func.RegOpenKeyTransactedA.arg.6=PVOID,pExtendedParemeter
func.RegOpenKeyTransactedA.ret=LSTATUS

RegOpenKeyTransactedW=func
func.RegOpenKeyTransactedW.args=7
func.RegOpenKeyTransactedW.arg.0=HKEY,hKey
func.RegOpenKeyTransactedW.arg.1=LPCWSTR,lpSubKey
func.RegOpenKeyTransactedW.arg.2=DWORD,ulOptions
func.RegOpenKeyTransactedW.arg.3=REGSAM,samDesired
func.RegOpenKeyTransactedW.arg.4=PHKEY,phkResult
func.RegOpenKeyTransactedW.arg.5=HANDLE,hTransaction
func.RegOpenKeyTransactedW.arg.6=PVOID,pExtendedParemeter
func.RegOpenKeyTransactedW.ret=LSTATUS

RegOpenKeyW=func
func.RegOpenKeyW.args=3
func.RegOpenKeyW.arg.0=HKEY,hKey
func.RegOpenKeyW.arg.1=LPCWSTR,lpSubKey
func.RegOpenKeyW.arg.2=PHKEY,phkResult
func.RegOpenKeyW.ret=LSTATUS

RegOpenUserClassesRoot=func
func.RegOpenUserClassesRoot.args=4
func.RegOpenUserClassesRoot.arg.0=HANDLE,hToken
func.RegOpenUserClassesRoot.arg.1=DWORD,dwOptions
func.RegOpenUserClassesRoot.arg.2=REGSAM,samDesired
func.RegOpenUserClassesRoot.arg.3=PHKEY,phkResult
func.RegOpenUserClassesRoot.ret=LSTATUS

RegOverridePredefKey=func
func.RegOverridePredefKey.args=2
func.RegOverridePredefKey.arg.0=HKEY,hKey
func.RegOverridePredefKey.arg.1=HKEY,hNewHKey
func.RegOverridePredefKey.ret=LSTATUS

RegQueryInfoKeyA=func
func.RegQueryInfoKeyA.args=12
func.RegQueryInfoKeyA.arg.0=HKEY,hKey
func.RegQueryInfoKeyA.arg.1=LPSTR,lpClass
func.RegQueryInfoKeyA.arg.2=LPDWORD,lpcchClass
func.RegQueryInfoKeyA.arg.3=LPDWORD,lpReserved
func.RegQueryInfoKeyA.arg.4=LPDWORD,lpcSubKeys
func.RegQueryInfoKeyA.arg.5=LPDWORD,lpcbMaxSubKeyLen
func.RegQueryInfoKeyA.arg.6=LPDWORD,lpcbMaxClassLen
func.RegQueryInfoKeyA.arg.7=LPDWORD,lpcValues
func.RegQueryInfoKeyA.arg.8=LPDWORD,lpcbMaxValueNameLen
func.RegQueryInfoKeyA.arg.9=LPDWORD,lpcbMaxValueLen
func.RegQueryInfoKeyA.arg.10=LPDWORD,lpcbSecurityDescriptor
func.RegQueryInfoKeyA.arg.11=PFILETIME,lpftLastWriteTime
func.RegQueryInfoKeyA.ret=LSTATUS

RegQueryInfoKeyW=func
func.RegQueryInfoKeyW.args=12
func.RegQueryInfoKeyW.arg.0=HKEY,hKey
func.RegQueryInfoKeyW.arg.1=LPWSTR,lpClass
func.RegQueryInfoKeyW.arg.2=LPDWORD,lpcchClass
func.RegQueryInfoKeyW.arg.3=LPDWORD,lpReserved
func.RegQueryInfoKeyW.arg.4=LPDWORD,lpcSubKeys
func.RegQueryInfoKeyW.arg.5=LPDWORD,lpcbMaxSubKeyLen
func.RegQueryInfoKeyW.arg.6=LPDWORD,lpcbMaxClassLen
func.RegQueryInfoKeyW.arg.7=LPDWORD,lpcValues
func.RegQueryInfoKeyW.arg.8=LPDWORD,lpcbMaxValueNameLen
func.RegQueryInfoKeyW.arg.9=LPDWORD,lpcbMaxValueLen
func.RegQueryInfoKeyW.arg.10=LPDWORD,lpcbSecurityDescriptor
func.RegQueryInfoKeyW.arg.11=PFILETIME,lpftLastWriteTime
func.RegQueryInfoKeyW.ret=LSTATUS

RegQueryMultipleValuesA=func
func.RegQueryMultipleValuesA.args=5
func.RegQueryMultipleValuesA.arg.0=HKEY,hKey
func.RegQueryMultipleValuesA.arg.1=PVALENTA,val_list
func.RegQueryMultipleValuesA.arg.2=DWORD,num_vals
func.RegQueryMultipleValuesA.arg.3=LPSTR,lpValueBuf
func.RegQueryMultipleValuesA.arg.4=LPDWORD,ldwTotsize
func.RegQueryMultipleValuesA.ret=LSTATUS

RegQueryMultipleValuesW=func
func.RegQueryMultipleValuesW.args=5
func.RegQueryMultipleValuesW.arg.0=HKEY,hKey
func.RegQueryMultipleValuesW.arg.1=PVALENTW,val_list
func.RegQueryMultipleValuesW.arg.2=DWORD,num_vals
func.RegQueryMultipleValuesW.arg.3=LPWSTR,lpValueBuf
func.RegQueryMultipleValuesW.arg.4=LPDWORD,ldwTotsize
func.RegQueryMultipleValuesW.ret=LSTATUS

RegQueryReflectionKey=func
func.RegQueryReflectionKey.args=2
func.RegQueryReflectionKey.arg.0=HKEY,hBase
func.RegQueryReflectionKey.arg.1=BOOL *,bIsReflectionDisabled
func.RegQueryReflectionKey.ret=LONG

RegQueryValueA=func
func.RegQueryValueA.args=4
func.RegQueryValueA.arg.0=HKEY,hKey
func.RegQueryValueA.arg.1=LPCSTR,lpSubKey
func.RegQueryValueA.arg.2=LPSTR,lpData
func.RegQueryValueA.arg.3=PLONG,lpcbData
func.RegQueryValueA.ret=LSTATUS

RegQueryValueExA=func
func.RegQueryValueExA.args=6
func.RegQueryValueExA.arg.0=HKEY,hKey
func.RegQueryValueExA.arg.1=LPCSTR,lpValueName
func.RegQueryValueExA.arg.2=LPDWORD,lpReserved
func.RegQueryValueExA.arg.3=LPDWORD,lpType
func.RegQueryValueExA.arg.4=LPBYTE,lpData
func.RegQueryValueExA.arg.5=LPDWORD,lpcbData
func.RegQueryValueExA.ret=LSTATUS

RegQueryValueExW=func
func.RegQueryValueExW.args=6
func.RegQueryValueExW.arg.0=HKEY,hKey
func.RegQueryValueExW.arg.1=LPCWSTR,lpValueName
func.RegQueryValueExW.arg.2=LPDWORD,lpReserved
func.RegQueryValueExW.arg.3=LPDWORD,lpType
func.RegQueryValueExW.arg.4=LPBYTE,lpData
func.RegQueryValueExW.arg.5=LPDWORD,lpcbData
func.RegQueryValueExW.ret=LSTATUS

RegQueryValueW=func
func.RegQueryValueW.args=4
func.RegQueryValueW.arg.0=HKEY,hKey
func.RegQueryValueW.arg.1=LPCWSTR,lpSubKey
func.RegQueryValueW.arg.2=LPWSTR,lpData
func.RegQueryValueW.arg.3=PLONG,lpcbData
func.RegQueryValueW.ret=LSTATUS

RegRenameKey=func
func.RegRenameKey.args=3
func.RegRenameKey.arg.0=HKEY,hKey
func.RegRenameKey.arg.1=LPCWSTR,lpSubKeyName
func.RegRenameKey.arg.2=LPCWSTR,lpNewKeyName
func.RegRenameKey.ret=LSTATUS

RegReplaceKeyA=func
func.RegReplaceKeyA.args=4
func.RegReplaceKeyA.arg.0=HKEY,hKey
func.RegReplaceKeyA.arg.1=LPCSTR,lpSubKey
func.RegReplaceKeyA.arg.2=LPCSTR,lpNewFile
func.RegReplaceKeyA.arg.3=LPCSTR,lpOldFile
func.RegReplaceKeyA.ret=LSTATUS

RegReplaceKeyW=func
func.RegReplaceKeyW.args=4
func.RegReplaceKeyW.arg.0=HKEY,hKey
func.RegReplaceKeyW.arg.1=LPCWSTR,lpSubKey
func.RegReplaceKeyW.arg.2=LPCWSTR,lpNewFile
func.RegReplaceKeyW.arg.3=LPCWSTR,lpOldFile
func.RegReplaceKeyW.ret=LSTATUS

RegRestoreKeyA=func
func.RegRestoreKeyA.args=3
func.RegRestoreKeyA.arg.0=HKEY,hKey
func.RegRestoreKeyA.arg.1=LPCSTR,lpFile
func.RegRestoreKeyA.arg.2=DWORD,dwFlags
func.RegRestoreKeyA.ret=LSTATUS

RegRestoreKeyW=func
func.RegRestoreKeyW.args=3
func.RegRestoreKeyW.arg.0=HKEY,hKey
func.RegRestoreKeyW.arg.1=LPCWSTR,lpFile
func.RegRestoreKeyW.arg.2=DWORD,dwFlags
func.RegRestoreKeyW.ret=LSTATUS

RegSaveKeyA=func
func.RegSaveKeyA.args=3
func.RegSaveKeyA.arg.0=HKEY,hKey
func.RegSaveKeyA.arg.1=LPCSTR,lpFile
func.RegSaveKeyA.arg.2=const LPSECURITY_ATTRIBUTES,lpSecurityAttributes
func.RegSaveKeyA.ret=LSTATUS

RegSaveKeyExA=func
func.RegSaveKeyExA.args=4
func.RegSaveKeyExA.arg.0=HKEY,hKey
func.RegSaveKeyExA.arg.1=LPCSTR,lpFile
func.RegSaveKeyExA.arg.2=const LPSECURITY_ATTRIBUTES,lpSecurityAttributes
func.RegSaveKeyExA.arg.3=DWORD,Flags
func.RegSaveKeyExA.ret=LSTATUS

RegSaveKeyExW=func
func.RegSaveKeyExW.args=4
func.RegSaveKeyExW.arg.0=HKEY,hKey
func.RegSaveKeyExW.arg.1=LPCWSTR,lpFile
func.RegSaveKeyExW.arg.2=const LPSECURITY_ATTRIBUTES,lpSecurityAttributes
func.RegSaveKeyExW.arg.3=DWORD,Flags
func.RegSaveKeyExW.ret=LSTATUS

RegSaveKeyW=func
func.RegSaveKeyW.args=3
func.RegSaveKeyW.arg.0=HKEY,hKey
func.RegSaveKeyW.arg.1=LPCWSTR,lpFile
func.RegSaveKeyW.arg.2=const LPSECURITY_ATTRIBUTES,lpSecurityAttributes
func.RegSaveKeyW.ret=LSTATUS

RegSetKeySecurity=func
func.RegSetKeySecurity.args=3
func.RegSetKeySecurity.arg.0=HKEY,hKey
func.RegSetKeySecurity.arg.1=SECURITY_INFORMATION,SecurityInformation
func.RegSetKeySecurity.arg.2=PSECURITY_DESCRIPTOR,pSecurityDescriptor
func.RegSetKeySecurity.ret=LSTATUS

RegSetKeyValueA=func
func.RegSetKeyValueA.args=6
func.RegSetKeyValueA.arg.0=HKEY,hKey
func.RegSetKeyValueA.arg.1=LPCSTR,lpSubKey
func.RegSetKeyValueA.arg.2=LPCSTR,lpValueName
func.RegSetKeyValueA.arg.3=DWORD,dwType
func.RegSetKeyValueA.arg.4=LPCVOID,lpData
func.RegSetKeyValueA.arg.5=DWORD,cbData
func.RegSetKeyValueA.ret=LSTATUS

RegSetKeyValueW=func
func.RegSetKeyValueW.args=6
func.RegSetKeyValueW.arg.0=HKEY,hKey
func.RegSetKeyValueW.arg.1=LPCWSTR,lpSubKey
func.RegSetKeyValueW.arg.2=LPCWSTR,lpValueName
func.RegSetKeyValueW.arg.3=DWORD,dwType
func.RegSetKeyValueW.arg.4=LPCVOID,lpData
func.RegSetKeyValueW.arg.5=DWORD,cbData
func.RegSetKeyValueW.ret=LSTATUS

RegSetValueA=func
func.RegSetValueA.args=5
func.RegSetValueA.arg.0=HKEY,hKey
func.RegSetValueA.arg.1=LPCSTR,lpSubKey
func.RegSetValueA.arg.2=DWORD,dwType
func.RegSetValueA.arg.3=LPCSTR,lpData
func.RegSetValueA.arg.4=DWORD,cbData
func.RegSetValueA.ret=LSTATUS

RegSetValueExA=func
func.RegSetValueExA.args=6
func.RegSetValueExA.arg.0=HKEY,hKey
func.RegSetValueExA.arg.1=LPCSTR,lpValueName
func.RegSetValueExA.arg.2=DWORD,Reserved
func.RegSetValueExA.arg.3=DWORD,dwType
func.RegSetValueExA.arg.4=const BYTE *,lpData
func.RegSetValueExA.arg.5=DWORD,cbData
func.RegSetValueExA.ret=LSTATUS

RegSetValueExW=func
func.RegSetValueExW.args=6
func.RegSetValueExW.arg.0=HKEY,hKey
func.RegSetValueExW.arg.1=LPCWSTR,lpValueName
func.RegSetValueExW.arg.2=DWORD,Reserved
func.RegSetValueExW.arg.3=DWORD,dwType
func.RegSetValueExW.arg.4=const BYTE *,lpData
func.RegSetValueExW.arg.5=DWORD,cbData
func.RegSetValueExW.ret=LSTATUS

RegSetValueW=func
func.RegSetValueW.args=5
func.RegSetValueW.arg.0=HKEY,hKey
func.RegSetValueW.arg.1=LPCWSTR,lpSubKey
func.RegSetValueW.arg.2=DWORD,dwType
func.RegSetValueW.arg.3=LPCWSTR,lpData
func.RegSetValueW.arg.4=DWORD,cbData
func.RegSetValueW.ret=LSTATUS

RegUnLoadKeyA=func
func.RegUnLoadKeyA.args=2
func.RegUnLoadKeyA.arg.0=HKEY,hKey
func.RegUnLoadKeyA.arg.1=LPCSTR,lpSubKey
func.RegUnLoadKeyA.ret=LSTATUS

RegUnLoadKeyW=func
func.RegUnLoadKeyW.args=2
func.RegUnLoadKeyW.arg.0=HKEY,hKey
func.RegUnLoadKeyW.arg.1=LPCWSTR,lpSubKey
func.RegUnLoadKeyW.ret=LSTATUS
