source: trunk/Include/api_reg.sbp@ 343

Last change on this file since 343 was 300, checked in by dai, 17 years ago

trunkディレクトリを作成。bin、Include、TestCaseをtrunkに移動した。
標準ライブラリのビルドバッチを追加。

File size: 11.3 KB
RevLine 
[1]1' api_reg.sbp
2' Registry Operation
3
4
5#ifndef _INC_REG
6#define _INC_REG
7
[141]8#ifdef UNICODE
9Const _FuncName_RegConnectRegistry = "RegConnectRegistryW"
[281]10Const _FuncName_RegConnectRegistryEx = "RegConnectRegistryExW"
[141]11Const _FuncName_RegCreateKeyEx = "RegCreateKeyExW"
[281]12Const _FuncName_RegCreateKeyTransacted = "RegCreateKeyTransactedW"
[141]13Const _FuncName_RegDeleteKey = "RegDeleteKeyW"
[281]14Const _FuncName_RegDeleteKeyEx = "RegDeleteKeyExW"
15Const _FuncName_RegDeleteKeyTransacted = "RegDeleteKeyTransactedW"
[141]16Const _FuncName_RegDeleteValue = "RegDeleteValueW"
17Const _FuncName_RegEnumKeyEx = "RegEnumKeyExW"
18Const _FuncName_RegEnumValue = "RegEnumValueW"
19Const _FuncName_RegLoadKey = "RegLoadKeyW"
20Const _FuncName_RegOpenKeyEx = "RegOpenKeyExW"
[281]21Const _FuncName_RegOpenKeyTransacted = "RegOpenKeyTransactedW"
[141]22Const _FuncName_RegQueryInfoKey = "RegQueryInfoKeyW"
23Const _FuncName_RegQueryMultipleValues = "RegQueryMultipleValuesW"
24Const _FuncName_RegQueryValueEx = "RegQueryValueExW"
[172]25Const _FuncName_RegReplaceKey = "RegReplaceKeyW"
[281]26Const _FuncName_RegRestoreKey = "RegRestoreKeyW"
[141]27Const _FuncName_RegSaveKey = "RegSaveKeyW"
28Const _FuncName_RegSetValueEx = "RegSetValueExW"
29Const _FuncName_RegUnLoadKey = "RegUnLoadKeyW"
[281]30Const _FuncName_RegDeleteKeyValue = "RegDeleteKeyValueW"
31Const _FuncName_RegSetKeyValue = "RegSetKeyValueW"
32Const _FuncName_RegDeleteTree = "RegDeleteTreeW"
33Const _FuncName_RegCopyTree = "RegCopyTreeW"
34Const _FuncName_RegGetValue = "RegGetValueW"
35Const _FuncName_RegLoadMUIString = "RegLoadMUIStringW"
36Const _FuncName_RegLoadAppKey = "RegLoadAppKeyW"
37Const _FuncName_RegSaveKeyEx = "RegSaveKeyExW"
[141]38#else
39Const _FuncName_RegConnectRegistry = "RegConnectRegistryA"
[281]40Const _FuncName_RegConnectRegistryEx = "RegConnectRegistryExA"
[141]41Const _FuncName_RegCreateKeyEx = "RegCreateKeyExA"
[281]42Const _FuncName_RegCreateKeyTransacted = "RegCreateKeyTransactedA"
[141]43Const _FuncName_RegDeleteKey = "RegDeleteKeyA"
[281]44Const _FuncName_RegDeleteKeyEx = "RegDeleteKeyExA"
45Const _FuncName_RegDeleteKeyTransacted = "RegDeleteKeyTransactedA"
[141]46Const _FuncName_RegDeleteValue = "RegDeleteValueA"
47Const _FuncName_RegEnumKeyEx = "RegEnumKeyExA"
48Const _FuncName_RegEnumValue = "RegEnumValueA"
49Const _FuncName_RegLoadKey = "RegLoadKeyA"
50Const _FuncName_RegOpenKeyEx = "RegOpenKeyExA"
[281]51Const _FuncName_RegOpenKeyTransacted = "RegOpenKeyTransactedA"
[141]52Const _FuncName_RegQueryInfoKey = "RegQueryInfoKeyA"
53Const _FuncName_RegQueryMultipleValues = "RegQueryMultipleValuesA"
54Const _FuncName_RegQueryValueEx = "RegQueryValueExA"
[172]55Const _FuncName_RegReplaceKey = "RegReplaceKeyA"
[281]56Const _FuncName_RegRestoreKey = "RegRestoreKeyA"
[141]57Const _FuncName_RegSaveKey = "RegSaveKeyA"
58Const _FuncName_RegSetValueEx = "RegSetValueExA"
59Const _FuncName_RegUnLoadKey = "RegUnLoadKeyA"
[281]60Const _FuncName_RegDeleteKeyValue = "RegDeleteKeyValueA"
61Const _FuncName_RegSetKeyValue = "RegSetKeyValueA"
62Const _FuncName_RegDeleteTree = "RegDeleteTreeA"
63Const _FuncName_RegCopyTree = "RegCopyTreeA"
64Const _FuncName_RegGetValue = "RegGetValueA"
65Const _FuncName_RegLoadMUIString = "RegLoadMUIStringA"
66Const _FuncName_RegLoadAppKey = "RegLoadAppKeyA"
67Const _FuncName_RegSaveKeyEx = "RegSaveKeyExA"
[141]68#endif
[1]69
[281]70TypeDef REGSAM = Long 'ACCESS_MASK
71
[1]72' Reserved Key Handles
[172]73Const HKEY_CLASSES_ROOT = ((&H80000000 As Long) As ULONG_PTR) As HKEY
74Const HKEY_CURRENT_USER = ((&H80000001 As Long) As ULONG_PTR) As HKEY
75Const HKEY_LOCAL_MACHINE = ((&H80000002 As Long) As ULONG_PTR) As HKEY
76Const HKEY_USERS = ((&H80000003 As Long) As ULONG_PTR) As HKEY
77Const HKEY_PERFORMANCE_DATA = ((&H80000004 As Long) As ULONG_PTR) As HKEY
78Const HKEY_CURRENT_CONFIG = ((&H80000005 As Long) As ULONG_PTR) As HKEY
79Const HKEY_DYN_DATA = ((&H80000006 As Long) As ULONG_PTR) As HKEY
[1]80
[281]81Const REG_SECURE_CONNECTION = 1
82
[141]83Type VALENTW
84 ve_valuename As PWSTR
85 ve_valuelen As DWord
86 ve_valueptr As ULONG_PTR
87 ve_type As DWord
88End Type
89Type VALENTA
90 ve_valuename As PSTR
91 ve_valuelen As DWord
92 ve_valueptr As ULONG_PTR
93 ve_type As DWord
94End Type
[1]95
[141]96#ifdef UNICODE
97TypeDef VALENT = VALENTW
98#else
99TypeDef VALENT = VALENTA
100#endif
[1]101'------------------------
102' Registry API Functions
103
104Declare Function RegCloseKey Lib "advapi32" (hKey As HKEY) As Long
[281]105'#if WINVER >= 0x0500 'AB
106Declare Function RegOverridePredefKey Lib "advapi32" (hKey As HKEY, hNewKey As HKEY) As Long
107Declare Function RegOpenUserClassesRoot Lib "advapi32" (hToken As HANDLE, dwOptions As DWord, samDesired As REGSAM, ByRef hkResult As HKEY) As Long
108Declare Function RegOpenCurrentUser Lib "advapi32" (samDesired As REGSAM, ByRef hkResult As HKEY) As Long
109Declare Function RegDisablePredefinedCache Lib "advapi32" () As Long
110Declare Function RegDisablePredefinedCacheEx Lib "advapi32" () As Long
111'#endif
[141]112Declare Function RegConnectRegistry Lib "advapi32" Alias _FuncName_RegConnectRegistry (pMachineName As PCTSTR, hKey As HKEY, ByRef hkResult As HKEY) As Long
[281]113Declare Function RegConnectRegistryEx Lib "advapi32" Alias _FuncName_RegConnectRegistryEx (lpMachineName As LPCTSTR, hKey As HKEY, Flags As DWord, ByRef hkResult As HKEY) As Long
114Declare Function RegCreateKeyEx Lib "advapi32" Alias _FuncName_RegCreateKeyEx (hKey As HKEY, lpSubKey As PCTSTR, Reserved As DWord, lpClass As PTSTR, dwOptions As DWord, samDesired As REGSAM, lpSecurityAttributes As *SECURITY_ATTRIBUTES, ByRef phkResult As HKEY, lpdwDisposition As *DWord) As Long
115'#if WINVER >= 0x0600 'AB
116Declare Function RegCreateKeyTransacted Lib "advapi32" Alias _FuncName_RegCreateKeyTransacted (hKey As HKEY, lpSubKey As LPCTSTR, Reserved As DWord, lpClass As LPTSTR, dwOptions As DWord, samDesired As REGSAM, lpSecurityAttributes As *SECURITY_ATTRIBUTES, ByRef phkResult As HKEY, lpdwDisposition As *DWord, hTransaction As HANDLE, pExtendedParemeter As VoidPtr) As Long
117'#endif
[141]118Declare Function RegDeleteKey Lib "advapi32" Alias _FuncName_RegDeleteKey (hKey As HKEY, lpSubKey As PCTSTR) As Long
[281]119'#if WINVER >= 0x0520 'AB
120Declare Function RegDeleteKeyEx Lib "advapi32" Alias _FuncName_RegDeleteKeyEx (hKey As HKEY, lpSubKey As LPCTSTR, samDesired As REGSAM, Reserved As DWord) As Long
121'#endif
122'#if WINVER >= 0x0600 'AB
123Declare Function RegDeleteKeyTransacted Lib "advapi32" Alias _FuncName_RegDeleteKeyTransacted (hKey As HKEY, lpSubKey As LPCTSTR, samDesired As REGSAM, Reserved As DWord, hTransaction As HANDLE, pExtendedParameter As VoidPtr) As Long
124'#endif
125'#if WINVER >= 0x0520 'AB
126Declare Function RegDisableReflectionKey Lib "advapi32" (hBase As HKEY) As Long
127Declare Function RegEnableReflectionKey Lib "advapi32" (hBase As HKEY) As Long
128Declare Function RegQueryReflectionKey Lib "advapi32" (hBase As HKEY, ByRef bIsReflectionDisabled As BOOL) As Long
129'#endif
[141]130Declare Function RegDeleteValue Lib "advapi32" Alias _FuncName_RegDeleteValue (hKey As HKEY, lpValueName As PCTSTR) As Long
131Declare 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
132Declare 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
[281]133Declare Function RegFlushKey Lib "advapi32" (hKey As HKEY) As Long
134'#if _WIN32_WINNT >= &h0310 'AB
135Declare Function RegGetKeySecurity Lib "advapi32"(hKey As HKEY, SecurityInformation As SECURITY_INFORMATION, pSecurityDescriptor As *SECURITY_DESCRIPTOR, ByRef lpcbSecurityDescriptor As DWord) As Long
136'#endif
[141]137Declare Function RegLoadKey Lib "advapi32" Alias _FuncName_RegLoadKey (hKey As HKEY, pSubKey As PCTSTR, pFile As PCTSTR) As Long
138Declare 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
[281]139'#if WINVER >= 0x0600 'AB
140Declare Function RegOpenKeyTransacted Lib "advapi32" Alias _FuncName_RegOpenKeyTransacted (hKey As HKEY, lpSubKey As LPCTSTR, ulOptions As DWord, samDesired As REGSAM, ByRef phkResult As HKEY, hTransaction As HANDLE, pExtendedParemeter As VoidPtr) As Long
141'#endif
[141]142Declare 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
143Declare 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
144Declare 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
[172]145Declare Function RegReplaceKey Lib "advapi32" Alias _FuncName_RegReplaceKey (hKey As HKEY, lpSubKey As LPCTSTR, lpNewFile As LPCTSTR, lpOldFile As LPCTSTR) As Long
[281]146'#if _WIN32_WINNT >= &h0310 'AB
147Declare Function RegRestoreKey Lib "advapi32" Alias _FuncName_RegRestoreKey (hKey As HKEY, lpFile As LPCTSTR, dwFlags As DWord) As Long
148'#endif
[141]149Declare Function RegSaveKey Lib "advapi32" Alias _FuncName_RegSaveKey (hKey As HKEY, pFile As PCTSTR, pSecurityAttributes As *SECURITY_ATTRIBUTES) As Long
[281]150'#if _WIN32_WINNT >= &h0310 'AB
151Declare Function RegSetKeySecurity Lib "advapi32" (hKey As HKEY, SecurityInformation As SECURITY_INFORMATION, pSecurityDescriptor As *SECURITY_DESCRIPTOR) AS Long
152'#endif
153Declare Function RegSetValueEx Lib "advapi32" Alias _FuncName_RegSetValueEx (hKey As HKEY, lpValueName As LPCTSTR, Reserved As DWord, dwType As DWord, lpData As VoidPtr, cbData As DWord) As Long
[172]154Declare Function RegUnLoadKey Lib "advapi32" Alias _FuncName_RegUnLoadKey (hKey As HKEY, lpSubKey As LPCTSTR) As Long
[281]155'#if _WIN32_WINNT >= &h0600
156Declare Function RegDeleteKeyValue Lib "advapi32" Alias _FuncName_RegDeleteKeyValue (hKey As HKEY, lpSubKey As LPCTSTR, lpValueName As LPCTSTR) As Long
157Declare Function RegSetKeyValue Lib "advapi32" Alias _FuncName_RegSetKeyValue (hKey As HKEY, lpSubKey As LPCTSTR, lpValueName As LPCTSTR, dwType As DWord, lpData As VoidPtr, cbData As DWord) As Long
158Declare Function RegDeleteTree Lib "advapi32" Alias _FuncName_RegDeleteTree (hKey As HKEY, lpSubKey As LPCTSTR) As Long
159Declare Function RegCopyTree Lib "advapi32" Alias _FuncName_RegCopyTree (hKeySrc As HKEY, lpSubKey As LPCTSTR, hKeyDest As HKEY) As Long
160Declare Function RegGetValue Lib "advapi32" Alias _FuncName_RegGetValue (hKey As HKEY, lpSubKey As LPCTSTR, lpValue As LPCTSTR, dwFlags As DWord, pdwType As *DWord, pvData As VoidPtr, pcbData As *DWord) As Long
161Declare Function RegLoadMUIString Lib "advapi32" Alias _FuncName_RegLoadMUIString (hKey As HKEY, pszValue As LPCTSTR, pszOutBuf As LPTSTR, cbOutBuf As DWord, pcbData As *DWord, Flags As DWord, pszDirectory As LPCTSTR) As Long
162Declare Function RegLoadAppKey Lib "advapi32" Alias _FuncName_RegLoadAppKey (lpFile As LPCTSTR, ByRef hkResult As HKEY, samDesired As REGSAM, dwOptions As DWord, Reserved As DWord) As Long
163'#endif
164'#if WINVER >= 0x0510 'AB
165Declare Function RegSaveKeyEx Lib "advapi32" Alias _FuncName_RegSaveKeyEx (hKey As HKEY, lpFile As LPCTSTR, lpSecurityAttributes As *SECURITY_ATTRIBUTES, Flags As DWord) As Long
166'#endif
[172]167#endif '_INC_REG
Note: See TracBrowser for help on using the repository browser.