2 * Directory Service Setup interface definition
7 typedef [context_handle] HANDLE RPC_HKEY;
8 typedef RPC_HKEY *PRPC_HKEY;
10 typedef [handle] PWCHAR PREGISTRY_SERVER_NAME;
12 typedef struct value_ent
14 PRPC_UNICODE_STRING ve_valuename;
22 typedef struct _RPC_SECURITY_DESCRIPTOR
24 [size_is(cbInSecurityDescriptor), length_is(cbOutSecurityDescriptor)] PBYTE lpSecurityDescriptor;
25 DWORD cbInSecurityDescriptor;
26 DWORD cbOutSecurityDescriptor;
27 } RPC_SECURITY_DESCRIPTOR, *PRPC_SECURITY_DESCRIPTOR;
29 typedef struct _RPC_SECURITY_ATTRIBUTES
32 RPC_SECURITY_DESCRIPTOR RpcSecurityDescriptor;
33 BOOLEAN bInheritHandle;
34 } RPC_SECURITY_ATTRIBUTES, *PRPC_SECURITY_ATTRIBUTES;
37 uuid(338CD001-2244-31F1-AAAA-900038001003),
39 pointer_default(unique),
40 endpoint("ncacn_np:[\\pipe\\winreg]")
51 [in, unique] PREGISTRY_SERVER_NAME ServerName,
52 [in] REGSAM samDesired,
53 [out] PRPC_HKEY phKey);
59 [in, unique] PREGISTRY_SERVER_NAME ServerName,
60 [in] REGSAM samDesired,
61 [out] PRPC_HKEY phKey);
67 [in, unique] PREGISTRY_SERVER_NAME ServerName,
68 [in] REGSAM samDesired,
69 [out] PRPC_HKEY phKey);
75 [in, unique] PREGISTRY_SERVER_NAME ServerName,
76 [in] REGSAM samDesired,
77 [out] PRPC_HKEY phKey);
83 [in, unique] PREGISTRY_SERVER_NAME ServerName,
84 [in] REGSAM samDesired,
85 [out] PRPC_HKEY phKey);
91 [in, out] PRPC_HKEY hKey);
98 [in] PRPC_UNICODE_STRING lpSubKey,
99 [in] PRPC_UNICODE_STRING lpClass,
100 [in] DWORD dwOptions,
101 [in] REGSAM samDesired,
102 [in, unique] PRPC_SECURITY_ATTRIBUTES lpSecurityAttributes,
103 [out] PRPC_HKEY phkResult,
104 [in, out, unique] LPDWORD lpdwDisposition);
111 [in] PRPC_UNICODE_STRING lpSubKey);
118 [in] PRPC_UNICODE_STRING lpValueName);
126 [in] PRPC_UNICODE_STRING lpNameIn,
127 [out] PRPC_UNICODE_STRING lpNameOut,
128 [in, unique] PRPC_UNICODE_STRING lpClassIn,
129 [out] PRPC_UNICODE_STRING *lplpClassOut,
130 [in, out, unique] PFILETIME lpftLastWriteTime);
138 [in] PRPC_UNICODE_STRING lpValueNameIn,
139 [out] PRPC_UNICODE_STRING lpValueNameOut,
140 [in, out, unique] LPDWORD lpType,
141 [in, out, unique, size_is(lpcbData ? *lpcbData : 0), length_is(lpcbLen ? *lpcbLen : 0)] LPBYTE lpData, /* range(0, 0x4000000) */
142 [in, out, unique] LPDWORD lpcbData,
143 [in, out, unique] LPDWORD lpcbLen);
154 BaseRegGetKeySecurity(
156 [in] SECURITY_INFORMATION SecurityInformation,
157 [in] PRPC_SECURITY_DESCRIPTOR pRpcSecurityDescriptorIn,
158 [out] PRPC_SECURITY_DESCRIPTOR pRpcSecurityDescriptorOut);
165 [in] PRPC_UNICODE_STRING lpSubKey,
166 [in] PRPC_UNICODE_STRING lpFile);
171 Opnum14NotImplemented(void);
178 [in] PRPC_UNICODE_STRING lpSubKey,
179 [in] DWORD dwOptions,
180 [in] REGSAM samDesired,
181 [out] PRPC_HKEY phkResult);
188 [in] PRPC_UNICODE_STRING lpClassIn,
189 [out] PRPC_UNICODE_STRING lpClassOut,
190 [out] LPDWORD lpcSubKeys,
191 [out] LPDWORD lpcbMaxSubKeyLen,
192 [out] LPDWORD lpcbMaxClassLen,
193 [out] LPDWORD lpcValues,
194 [out] LPDWORD lpcbMaxValueNameLen,
195 [out] LPDWORD lpcbMaxValueLen,
196 [out] LPDWORD lpcbSecurityDescriptor,
197 [out] PFILETIME lpftLastWriteTime);
204 [in] PRPC_UNICODE_STRING lpValueName,
205 [in, out, unique] LPDWORD lpType,
206 [in, out, unique, size_is(lpcbData ? *lpcbData : 0), length_is(lpcbLen ? *lpcbLen : 0)] LPBYTE lpData, /* range(0, 0x4000000) */
207 [in, out, unique] LPDWORD lpcbData,
208 [in, out, unique] LPDWORD lpcbLen);
215 [in] PRPC_UNICODE_STRING lpSubKey,
216 [in] PRPC_UNICODE_STRING lpNewFile,
217 [in] PRPC_UNICODE_STRING lpOldFile);
224 [in] PRPC_UNICODE_STRING lpFile,
232 [in] PRPC_UNICODE_STRING lpFile,
233 [in, unique] PRPC_SECURITY_ATTRIBUTES pSecurityAttributes);
238 BaseRegSetKeySecurity(
240 [in] SECURITY_INFORMATION SecurityInformation,
241 [in] PRPC_SECURITY_DESCRIPTOR pRpcSecurityDescriptor);
248 [in] PRPC_UNICODE_STRING lpValueName,
250 [in, size_is(cbData)] LPBYTE lpData,
258 [in] PRPC_UNICODE_STRING lpSubKey);
263 BaseInitiateSystemShutdown(
264 [in, unique] PREGISTRY_SERVER_NAME ServerName,
265 [in, unique] PRPC_UNICODE_STRING lpMessage,
266 [in] ULONG dwTimeout,
267 [in] BOOLEAN bForceAppsClosed,
268 [in] BOOLEAN bRebootAfterShutdown);
273 BaseAbortSystemShutdown(
274 [in, unique] PREGISTRY_SERVER_NAME ServerName);
281 [out] LPDWORD lpdwVersion);
287 [in, unique] PREGISTRY_SERVER_NAME ServerName,
288 [in] REGSAM samDesired,
289 [out] PRPC_HKEY phKey);
294 Opnum28NotImplemented(void);
299 BaseRegQueryMultipleValues(
301 [in, size_is(num_vals), length_is(num_vals)] PRVALENT val_listIn,
302 [out, size_is(num_vals), length_is(num_vals)] PRVALENT val_listOut,
304 [in, out, unique, size_is(*ldwTotsize), length_is(*ldwTotsize)] char *lpvalueBuf,
305 [in, out, ref] LPDWORD ldwTotsize);
310 BaseInitiateSystemShutdownEx(
311 [in, unique] PREGISTRY_SERVER_NAME ServerName,
312 [in, unique] PRPC_UNICODE_STRING lpMessage,
313 [in] ULONG dwTimeout,
314 [in] BOOLEAN bForceAppsClosed,
315 [in] BOOLEAN bRebootAfterShutdown,
316 [in] ULONG dwReason);
323 [in] PRPC_UNICODE_STRING lpFile,
324 [in, unique] PRPC_SECURITY_ATTRIBUTES pSecurityAttributes,
331 [in, unique] PREGISTRY_SERVER_NAME ServerName,
332 [in] REGSAM samDesired,
333 [out] PRPC_HKEY phKey);
338 OpenPerformanceNlsText(
339 [in, unique] PREGISTRY_SERVER_NAME ServerName,
340 [in] REGSAM samDesired,
341 [out] PRPC_HKEY phKey);
346 BaseRegQueryMultipleValues2(
348 [in, size_is(num_vals), length_is(num_vals)] PRVALENT val_listIn,
349 [out, size_is(num_vals), length_is(num_vals)] PRVALENT val_listOut,
351 [in, out, unique, size_is(*ldwTotsize), length_is(*ldwTotsize)] char *lpvalueBuf,
352 [in] LPDWORD ldwTotsize,
353 [out] LPDWORD ldwRequiredSize);
360 [in] PRPC_UNICODE_STRING lpSubKey,
361 [in] REGSAM AccessMask,
362 [in] DWORD Reserved);