summaryrefslogtreecommitdiff
path: root/src/libs/dutil/WixToolset.DUtil/inc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/dutil/WixToolset.DUtil/inc')
-rw-r--r--src/libs/dutil/WixToolset.DUtil/inc/regutil.h44
1 files changed, 43 insertions, 1 deletions
diff --git a/src/libs/dutil/WixToolset.DUtil/inc/regutil.h b/src/libs/dutil/WixToolset.DUtil/inc/regutil.h
index 76d2d7cb..f5b40291 100644
--- a/src/libs/dutil/WixToolset.DUtil/inc/regutil.h
+++ b/src/libs/dutil/WixToolset.DUtil/inc/regutil.h
@@ -99,6 +99,15 @@ typedef LSTATUS (APIENTRY *PFN_REGDELETEVALUEW)(
99 __in HKEY hKey, 99 __in HKEY hKey,
100 __in_opt LPCWSTR lpValueName 100 __in_opt LPCWSTR lpValueName
101 ); 101 );
102typedef LSTATUS(APIENTRY *PFN_REGGETVALUEW)(
103 __in HKEY hkey,
104 __in_opt LPCWSTR lpSubKey,
105 __in_opt LPCWSTR lpValue,
106 __in DWORD dwFlags,
107 __out_opt LPDWORD pdwType,
108 __out_bcount_part_opt(*pcbData, *pcbData) __out_data_source(REGISTRY) PVOID pvData,
109 __inout_opt LPDWORD pcbData
110 );
102 111
103/******************************************************************** 112/********************************************************************
104 RegInitialize - initializes regutil 113 RegInitialize - initializes regutil
@@ -126,10 +135,18 @@ void DAPI RegFunctionOverride(
126 __in_opt PFN_REGQUERYINFOKEYW pfnRegQueryInfoKeyW, 135 __in_opt PFN_REGQUERYINFOKEYW pfnRegQueryInfoKeyW,
127 __in_opt PFN_REGQUERYVALUEEXW pfnRegQueryValueExW, 136 __in_opt PFN_REGQUERYVALUEEXW pfnRegQueryValueExW,
128 __in_opt PFN_REGSETVALUEEXW pfnRegSetValueExW, 137 __in_opt PFN_REGSETVALUEEXW pfnRegSetValueExW,
129 __in_opt PFN_REGDELETEVALUEW pfnRegDeleteValueW 138 __in_opt PFN_REGDELETEVALUEW pfnRegDeleteValueW,
139 __in_opt PFN_REGGETVALUEW pfnRegGetValueW
130 ); 140 );
131 141
132/******************************************************************** 142/********************************************************************
143 RegFunctionForceFallback - ignore functions only available in newer versions of Windows.
144 Typically used for unit testing.
145
146*********************************************************************/
147void DAPI RegFunctionForceFallback();
148
149/********************************************************************
133 RegCreate - creates a registry key. 150 RegCreate - creates a registry key.
134 151
135*********************************************************************/ 152*********************************************************************/
@@ -220,6 +237,20 @@ HRESULT DAPI RegGetType(
220 ); 237 );
221 238
222/******************************************************************** 239/********************************************************************
240 RegReadBinary - reads a registry key value.
241 If fExpand is TRUE and the value is REG_EXPAND_SZ then it will be expanded.
242 NOTE: caller is responsible for freeing *ppbBuffer
243*********************************************************************/
244HRESULT DAPI RegReadValue(
245 __in HKEY hk,
246 __in_z_opt LPCWSTR wzName,
247 __in BOOL fExpand,
248 __deref_out_bcount_opt(*pcbBuffer) BYTE** ppbBuffer,
249 __inout SIZE_T* pcbBuffer,
250 __out DWORD* pdwType
251 );
252
253/********************************************************************
223 RegReadBinary - reads a registry key binary value. 254 RegReadBinary - reads a registry key binary value.
224 NOTE: caller is responsible for freeing *ppbBuffer 255 NOTE: caller is responsible for freeing *ppbBuffer
225*********************************************************************/ 256*********************************************************************/
@@ -241,6 +272,17 @@ HRESULT DAPI RegReadString(
241 ); 272 );
242 273
243/******************************************************************** 274/********************************************************************
275 RegReadUnexpandedString - reads a registry key value as a string without expanding it.
276
277*********************************************************************/
278HRESULT DAPI RegReadUnexpandedString(
279 __in HKEY hk,
280 __in_z_opt LPCWSTR wzName,
281 __inout BOOL* pfNeedsExpansion,
282 __deref_out_z LPWSTR* psczValue
283 );
284
285/********************************************************************
244 RegReadStringArray - reads a registry key value REG_MULTI_SZ value as a string array. 286 RegReadStringArray - reads a registry key value REG_MULTI_SZ value as a string array.
245 287
246*********************************************************************/ 288*********************************************************************/