Index: Include/api_reg.sbp
===================================================================
--- Include/api_reg.sbp	(revision 35)
+++ Include/api_reg.sbp	(revision 141)
@@ -5,4 +5,36 @@
 #ifndef _INC_REG
 #define _INC_REG
+
+#ifdef UNICODE
+Const _FuncName_RegConnectRegistry = "RegConnectRegistryW"
+Const _FuncName_RegCreateKeyEx = "RegCreateKeyExW"
+Const _FuncName_RegDeleteKey = "RegDeleteKeyW"
+Const _FuncName_RegDeleteValue = "RegDeleteValueW"
+Const _FuncName_RegEnumKeyEx = "RegEnumKeyExW"
+Const _FuncName_RegEnumValue = "RegEnumValueW"
+Const _FuncName_RegLoadKey = "RegLoadKeyW"
+Const _FuncName_RegOpenKeyEx = "RegOpenKeyExW"
+Const _FuncName_RegQueryInfoKey = "RegQueryInfoKeyW"
+Const _FuncName_RegQueryMultipleValues = "RegQueryMultipleValuesW"
+Const _FuncName_RegQueryValueEx = "RegQueryValueExW"
+Const _FuncName_RegSaveKey = "RegSaveKeyW"
+Const _FuncName_RegSetValueEx = "RegSetValueExW"
+Const _FuncName_RegUnLoadKey = "RegUnLoadKeyW"
+#else
+Const _FuncName_RegConnectRegistry = "RegConnectRegistryA"
+Const _FuncName_RegCreateKeyEx = "RegCreateKeyExA"
+Const _FuncName_RegDeleteKey = "RegDeleteKeyA"
+Const _FuncName_RegDeleteValue = "RegDeleteValueA"
+Const _FuncName_RegEnumKeyEx = "RegEnumKeyExA"
+Const _FuncName_RegEnumValue = "RegEnumValueA"
+Const _FuncName_RegLoadKey = "RegLoadKeyA"
+Const _FuncName_RegOpenKeyEx = "RegOpenKeyExA"
+Const _FuncName_RegQueryInfoKey = "RegQueryInfoKeyA"
+Const _FuncName_RegQueryMultipleValues = "RegQueryMultipleValuesA"
+Const _FuncName_RegQueryValueEx = "RegQueryValueExA"
+Const _FuncName_RegSaveKey = "RegSaveKeyA"
+Const _FuncName_RegSetValueEx = "RegSetValueExA"
+Const _FuncName_RegUnLoadKey = "RegUnLoadKeyA"
+#endif
 
 
@@ -57,4 +89,22 @@
 Const REG_RESOURCE_LIST =       8
 
+Type VALENTW
+	ve_valuename As PWSTR
+	ve_valuelen As DWord
+	ve_valueptr As ULONG_PTR
+	ve_type As DWord
+End Type
+Type VALENTA
+	ve_valuename As PSTR
+	ve_valuelen As DWord
+	ve_valueptr As ULONG_PTR
+	ve_type As DWord
+End Type
+
+#ifdef UNICODE
+TypeDef VALENT = VALENTW
+#else
+TypeDef VALENT = VALENTA
+#endif
 
 '------------------------
@@ -62,25 +112,20 @@
 
 Declare Function RegCloseKey Lib "advapi32" (hKey As HKEY) As Long
-Declare Function RegConnectRegistry Lib "advapi32" Alias "RegConnectRegistryA" (pMachineName As PCSTR, hKey As HKEY, ByRef hkResult As HKEY) As Long
-Declare Function RegCreateKeyEx Lib "advapi32" Alias "RegCreateKeyExA" (hKey As HKEY, lpSubKey As PCSTR, Reserved As DWord, lpClass As PSTR, dwOptions As DWord, samDesired As Long, ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES, ByRef phkResult As HKEY, lpdwDisposition As *DWord) As Long
-Declare Function RegDeleteKey Lib "advapi32" Alias "RegDeleteKeyA" (hKey As HKEY, lpSubKey As PCSTR) As Long
-Declare Function RegDeleteValue Lib "advapi32" Alias "RegDeleteValueA" (hKey As HKEY, lpValueName As PCSTR) As Long
-Declare Function RegEnumKeyEx Lib "advapi32" Alias "RegEnumKeyExA" (hKey As HKEY, dwIndex As DWord, pName As PSTR, ByRef cName As DWord, pReserved As *DWord, pClass As PSTR, ByRef cClass As DWord, pftLastWriteTime As *FILETIME) As Long
-Declare Function RegEnumValue Lib "advapi32" Alias "RegEnumValueA" (hKey As HKEY, dwIndex As DWord, pValueName As PSTR, ByRef cValueName As DWord, pReserved As *DWord, pType As *DWord, pData As *Byte, pcbData As *DWord) As Long
+Declare Function RegConnectRegistry Lib "advapi32" Alias _FuncName_RegConnectRegistry (pMachineName As PCTSTR, hKey As HKEY, ByRef hkResult As HKEY) As Long
+Declare Function RegCreateKeyEx Lib "advapi32" Alias _FuncName_RegCreateKeyEx (hKey As HKEY, lpSubKey As PCTSTR, Reserved As DWord, lpClass As PTSTR, dwOptions As DWord, samDesired As Long, ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES, ByRef phkResult As HKEY, lpdwDisposition As *DWord) As Long
+Declare Function RegDeleteKey Lib "advapi32" Alias _FuncName_RegDeleteKey (hKey As HKEY, lpSubKey As PCTSTR) As Long
+Declare Function RegDeleteValue Lib "advapi32" Alias _FuncName_RegDeleteValue (hKey As HKEY, lpValueName As PCTSTR) As Long
+Declare Function RegEnumKeyEx Lib "advapi32" Alias _FuncName_RegEnumKeyEx (hKey As HKEY, dwIndex As DWord, pName As PTSTR, ByRef cName As DWord, pReserved As *DWord, pClass As PTSTR, ByRef cClass As DWord, pftLastWriteTime As *FILETIME) As Long
+Declare Function RegEnumValue Lib "advapi32" Alias _FuncName_RegEnumValue (hKey As HKEY, dwIndex As DWord, pValueName As PTSTR, ByRef cValueName As DWord, pReserved As *DWord, pType As *DWord, pData As *Byte, pcbData As *DWord) As Long
 Declare Function RegFlushKey Lib "advapi32"(hKey As HKEY) As Long
-Declare Function RegLoadKey Lib "advapi32" Alias "RegLoadKeyA" (hKey As HKEY, pSubKey As PCSTR, pFile As PCSTR) As Long
-Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (hKey As HKEY, lpSubKey As PCSTR, ulOptions As DWord, samDesired As Long, ByRef phkResult As HKEY) As Long
-Declare Function RegQueryInfoKey Lib "advapi32" Alias "RegQueryInfoKeyA" (hKey As HKEY, pClass As PSTR, pcClass As *DWord, pReserved As *DWord, pcSubKeys As *DWord, pcMaxSubKeyLen As *DWord, pcMaxClassLen As *DWord, pcValues As *DWord, pcMaxValueNameLen As *DWord, pcMaxValueLen As *DWord, pcbSecurityDescriptor As *DWord, pftLastWriteTime As *FILETIME) As Long
-Declare Function RegQueryMultipleValues Lib "advapi32" Alias "RegQueryMultipleValuesA" (hKey As HKEY, val_list As *VALENT, num_vals As DWord, pValueBuf As PSTR, ByRef dwTotsize As DWord) As Long
-Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (hKey As HKEY, lpValueName As PCSTR, lpReserved As DWord, lpType As *DWord, lpData As VoidPtr, lpcbData As *DWord) As Long
-Declare Function RegSaveKey Lib "advapi32" Alias "RegSaveKeyA" (hKey As HKEY, pFile As PCSTR, pSecurityAttributes As *SECURITY_ATTRIBUTES) As Long
-Declare Function RegSetValueEx Lib "advapi32" Alias "RegSetValueExA" (hKey As HKEY, lpValueName As PCSTR, Reserved As DWord, dwType As DWord, lpData As VoidPtr, cbData As DWord) As Long
-Declare Function RegUnLoadKey Lib "advapi32" Alias "RegUnLoadKeyA" (hKey As HKEY, pSubKey As PCSTR) As Long
-
-Type VALENT
-	ve_valuename As PSTR
-	ve_valuelen As DWord
-	ve_valueptr As ULONG_PTR
-	ve_type As DWord
-End Type
-#endif '_INC_REG
+/*
+Declare Function RegLoadKey Lib "advapi32" Alias _FuncName_RegLoadKey (hKey As HKEY, pSubKey As PCTSTR, pFile As PCTSTR) As Long
+Declare Function RegOpenKeyEx Lib "advapi32" Alias _FuncName_RegOpenKeyEx (hKey As HKEY, lpSubKey As PCTSTR, ulOptions As DWord, samDesired As Long, ByRef phkResult As HKEY) As Long
+Declare Function RegQueryInfoKey Lib "advapi32" Alias _FuncName_RegQueryInfoKey (hKey As HKEY, pClass As PTSTR, pcClass As *DWord, pReserved As *DWord, pcSubKeys As *DWord, pcMaxSubKeyLen As *DWord, pcMaxClassLen As *DWord, pcValues As *DWord, pcMaxValueNameLen As *DWord, pcMaxValueLen As *DWord, pcbSecurityDescriptor As *DWord, pftLastWriteTime As *FILETIME) As Long
+Declare Function RegQueryMultipleValues Lib "advapi32" Alias _FuncName_RegQueryMultipleValues (hKey As HKEY, val_list As *VALENT, num_vals As DWord, pValueBuf As PTSTR, ByRef dwTotsize As DWord) As Long
+Declare Function RegQueryValueEx Lib "advapi32" Alias _FuncName_RegQueryValueEx (hKey As HKEY, lpValueName As PCTSTR, lpReserved As DWord, lpType As *DWord, lpData As VoidPtr, lpcbData As *DWord) As Long
+Declare Function RegSaveKey Lib "advapi32" Alias _FuncName_RegSaveKey (hKey As HKEY, pFile As PCTSTR, pSecurityAttributes As *SECURITY_ATTRIBUTES) As Long
+Declare Function RegSetValueEx Lib "advapi32" Alias _FuncName_RegSetValueEx (hKey As HKEY, lpValueName As PCTSTR, Reserved As DWord, dwType As DWord, lpData As VoidPtr, cbData As DWord) As Long
+Declare Function RegUnLoadKey Lib "advapi32" Alias _FuncName_RegUnLoadKey (hKey As HKEY, pSubKey As PCTSTR) As Long
+*/
+'_INC_REG
