4 winreg interface definition
7 [ uuid("338cd001-2244-31f1-aaaa-900038001003"),
9 endpoint("ncacn_np:[\\pipe\\winreg]","ncacn_ip_tcp:","ncalrpc:"),
10 pointer_default(unique),
11 helpstring("Remote Registry Service"),
16 [value(strlen_m_term(r->name)*2)] uint16 name_len;
17 [value(r->name_len)] uint16 name_size;
28 WERROR winreg_OpenHKCR(
29 [in] winreg_OpenUnknown *unknown,
30 [in] uint32 access_required,
31 [out,ref] policy_handle *handle
36 WERROR winreg_OpenHKCU(
37 [in] winreg_OpenUnknown *unknown,
38 [in] uint32 access_required,
39 [out,ref] policy_handle *handle
44 WERROR winreg_OpenHKLM(
45 [in] winreg_OpenUnknown *unknown,
46 [in] uint32 access_required,
47 [out,ref] policy_handle *handle
52 WERROR winreg_OpenHKPD(
53 [in] winreg_OpenUnknown *unknown,
54 [in] uint32 access_required,
55 [out,ref] policy_handle *handle
60 WERROR winreg_OpenHKU(
61 [in] winreg_OpenUnknown *unknown,
62 [in] uint32 access_required,
63 [out,ref] policy_handle *handle
68 WERROR winreg_CloseKey(
69 [in,out,ref] policy_handle *handle
74 WERROR winreg_CreateKey(
75 [in,out,ref] policy_handle *handle,
76 [in] winreg_String key,
77 [in] winreg_String class,
79 [out] uint32 *unknown,
80 [in] uint32 access_mask,
81 [in,ref] uint32 *sec_info,
82 [in] sec_desc_buf *sec_desc
87 WERROR winreg_DeleteKey(
88 [in,ref] policy_handle *handle,
89 [in] winreg_String key
94 WERROR winreg_DeleteValue(
95 [in,ref] policy_handle *handle,
96 [in] winreg_String value
106 winreg_String key_name;
107 } winreg_EnumKeyNameRequest;
113 } winreg_EnumKeyNameResponse;
117 WERROR winreg_EnumKey(
118 [in,ref] policy_handle *handle,
119 [in] uint32 enum_index,
120 [in,out] uint16 key_name_len,
121 [in,out] uint16 unknown,
122 [in] winreg_EnumKeyNameRequest *in_name,
123 [out] winreg_EnumKeyNameResponse *out_name,
124 [in,out] winreg_String *class,
125 [in,out] winreg_Time *last_changed_time
132 this is equivalent IDL to a winreg_String, but we need to
133 have absolute control over the length/size fields as the
134 server looks at those to see what size buffer we have, so
135 we can't use the automatic unistr handing in pidl.
140 [size_is(size/2),length_is(length/2)] uint16 *name;
141 } winreg_EnumValueString;
143 WERROR winreg_EnumValue(
144 [in,ref] policy_handle *handle,
145 [in] uint32 enum_index,
146 [in] winreg_EnumValueString name_in,
147 [out] winreg_String name_out,
148 [in,out] uint32 *type,
149 [in,out,size_is(*size),length_is(*length)] uint8 *value,
150 [in,out] uint32 *size,
151 [in,out] uint32 *length
156 WERROR winreg_FlushKey(
157 [in,ref] policy_handle *handle
161 [size_is(size),length_is(len)] uint8 *data;
168 WERROR winreg_GetKeySecurity(
169 [in,ref] policy_handle *handle,
170 [in] uint32 access_mask,
171 [in,out,ref] KeySecurityData *data
176 WERROR winreg_LoadKey(
181 WERROR winreg_NotifyChangeKeyValue(
186 WERROR winreg_OpenKey(
187 [in,ref] policy_handle *handle,
188 [in] winreg_String keyname,
190 [in] uint32 access_mask,
191 [out,ref] policy_handle *handle
196 WERROR winreg_QueryInfoKey(
197 [in,ref] policy_handle *handle,
198 [in] winreg_String class,
199 [out] winreg_String class,
200 [out] uint32 num_subkeys,
201 [out] uint32 max_subkeylen,
202 [out] uint32 max_subkeysize,
203 [out] uint32 num_values,
204 [out] uint32 max_valnamelen,
205 [out] uint32 max_valbufsize,
206 [out] uint32 secdescsize,
207 [out] winreg_Time last_changed_time
212 WERROR winreg_QueryValue(
213 [in,ref] policy_handle *handle,
214 [in] winreg_String value_name,
215 [in,out] uint32 *type,
216 [in,out,size_is(*size),length_is(*length)] uint8 *data,
217 [in,out] uint32 *size,
218 [in,out] uint32 *length
223 WERROR winreg_ReplaceKey(
228 WERROR winreg_RestoreKey(
233 WERROR winreg_SaveKey(
238 WERROR winreg_SetKeySecurity(
239 [in,ref] policy_handle *handle,
240 [in] uint32 sec_info,
241 [in] sec_desc_buf *sec_desc
246 WERROR winreg_SetValue(
247 [in,ref] policy_handle *handle,
248 [in] winreg_String name,
250 [in,size_is(size)] uint8 *data,
256 WERROR winreg_UnLoadKey(
261 WERROR winreg_InitiateSystemShutdown(
262 [in] winreg_String hostname,
263 [in] winreg_String message,
271 WERROR winreg_AbortSystemShutdown(
272 [in,ref] uint16 *server
277 WERROR winreg_GetVersion(
278 [in,ref] policy_handle *handle,
284 WERROR winreg_OpenHKCC(
285 [in] winreg_OpenUnknown *unknown,
286 [in] uint32 access_required,
287 [out,ref] policy_handle *handle
292 WERROR winreg_OpenHKDD(
293 [in] winreg_OpenUnknown *unknown,
294 [in] uint32 access_required,
295 [out,ref] policy_handle *handle
300 WERROR winreg_QueryMultipleValues(
305 WERROR winreg_InitiateSystemShutdownEx(
310 WERROR winreg_SaveKeyEx(
315 WERROR winreg_OpenHKPT(
316 [in] winreg_OpenUnknown *unknown,
317 [in] uint32 access_required,
318 [out,ref] policy_handle *handle
323 WERROR winreg_OpenHKPN(
324 [in] winreg_OpenUnknown *unknown,
325 [in] uint32 access_required,
326 [out,ref] policy_handle *handle
331 WERROR winreg_QueryMultipleValues2(