1 /* header auto-generated by pidl */
5 #include "librpc/gen_ndr/lsa.h"
6 #include "librpc/gen_ndr/initshutdown.h"
7 #include "librpc/gen_ndr/security.h"
11 /* bitmap winreg_AccessMask */
12 #define KEY_QUERY_VALUE ( 0x00001 )
13 #define KEY_SET_VALUE ( 0x00002 )
14 #define KEY_CREATE_SUB_KEY ( 0x00004 )
15 #define KEY_ENUMERATE_SUB_KEYS ( 0x00008 )
16 #define KEY_NOTIFY ( 0x00010 )
17 #define KEY_CREATE_LINK ( 0x00020 )
18 #define KEY_WOW64_64KEY ( 0x00100 )
19 #define KEY_WOW64_32KEY ( 0x00200 )
22 #ifndef USE_UINT_ENUMS
29 REG_DWORD_BIG_ENDIAN=5,
33 REG_FULL_RESOURCE_DESCRIPTOR=9,
34 REG_RESOURCE_REQUIREMENTS_LIST=10,
38 { __donnot_use_enum_winreg_Type=0x7FFFFFFF}
39 #define REG_NONE ( 0 )
41 #define REG_EXPAND_SZ ( 2 )
42 #define REG_BINARY ( 3 )
43 #define REG_DWORD ( 4 )
44 #define REG_DWORD_BIG_ENDIAN ( 5 )
45 #define REG_LINK ( 6 )
46 #define REG_MULTI_SZ ( 7 )
47 #define REG_RESOURCE_LIST ( 8 )
48 #define REG_FULL_RESOURCE_DESCRIPTOR ( 9 )
49 #define REG_RESOURCE_REQUIREMENTS_LIST ( 10 )
50 #define REG_QWORD ( 11 )
54 struct winreg_String {
55 uint16_t name_len;/* [value(strlen_m_term(name)*2)] */
56 uint16_t name_size;/* [value(strlen_m_term(name)*2)] */
57 const char *name;/* [unique,charset(UTF16)] */
58 }/* [public,noejs] */;
60 struct KeySecurityData {
61 uint8_t *data;/* [unique,length_is(len),size_is(size)] */
66 struct winreg_SecBuf {
68 struct KeySecurityData sd;
72 enum winreg_CreateAction
73 #ifndef USE_UINT_ENUMS
76 REG_CREATED_NEW_KEY=1,
77 REG_OPENED_EXISTING_KEY=2
80 { __donnot_use_enum_winreg_CreateAction=0x7FFFFFFF}
81 #define REG_ACTION_NONE ( 0 )
82 #define REG_CREATED_NEW_KEY ( 1 )
83 #define REG_OPENED_EXISTING_KEY ( 2 )
87 struct winreg_StringBuf {
88 uint16_t length;/* [value(strlen_m_term_null(name)*2)] */
90 const char *name;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
93 struct winreg_ValNameBuf {
94 uint16_t length;/* [value(strlen_m_term(name)*2)] */
96 const char *name;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
99 /* bitmap winreg_NotifyChangeType */
100 #define REG_NOTIFY_CHANGE_NAME ( 0x00000001 )
101 #define REG_NOTIFY_CHANGE_ATTRIBUTES ( 0x00000002 )
102 #define REG_NOTIFY_CHANGE_LAST_SET ( 0x00000004 )
103 #define REG_NOTIFY_CHANGE_SECURITY ( 0x00000008 )
105 struct KeySecurityAttribute {
107 struct KeySecurityData sec_data;
111 struct QueryMultipleValue {
112 struct winreg_String *name;/* [unique] */
113 enum winreg_Type type;
119 struct winreg_OpenHKCR {
121 uint16_t *system_name;/* [unique] */
122 uint32_t access_mask;
126 struct policy_handle *handle;/* [ref] */
133 struct winreg_OpenHKCU {
135 uint16_t *system_name;/* [unique] */
136 uint32_t access_mask;
140 struct policy_handle *handle;/* [ref] */
147 struct winreg_OpenHKLM {
149 uint16_t *system_name;/* [unique] */
150 uint32_t access_mask;
154 struct policy_handle *handle;/* [ref] */
161 struct winreg_OpenHKPD {
163 uint16_t *system_name;/* [unique] */
164 uint32_t access_mask;
168 struct policy_handle *handle;/* [ref] */
175 struct winreg_OpenHKU {
177 uint16_t *system_name;/* [unique] */
178 uint32_t access_mask;
182 struct policy_handle *handle;/* [ref] */
189 struct winreg_CloseKey {
191 struct policy_handle *handle;/* [ref] */
195 struct policy_handle *handle;/* [ref] */
202 struct winreg_CreateKey {
204 struct policy_handle *handle;/* [ref] */
205 struct winreg_String name;
206 struct winreg_String keyclass;
208 uint32_t access_mask;
209 struct winreg_SecBuf *secdesc;/* [unique] */
210 enum winreg_CreateAction *action_taken;/* [unique] */
214 struct policy_handle *new_handle;/* [ref] */
215 enum winreg_CreateAction *action_taken;/* [unique] */
222 struct winreg_DeleteKey {
224 struct policy_handle *handle;/* [ref] */
225 struct winreg_String key;
235 struct winreg_DeleteValue {
237 struct policy_handle *handle;/* [ref] */
238 struct winreg_String value;
248 struct winreg_EnumKey {
250 struct policy_handle *handle;/* [ref] */
252 struct winreg_StringBuf *name;/* [ref] */
253 struct winreg_StringBuf *keyclass;/* [unique] */
254 NTTIME *last_changed_time;/* [unique] */
258 struct winreg_StringBuf *name;/* [ref] */
259 struct winreg_StringBuf *keyclass;/* [unique] */
260 NTTIME *last_changed_time;/* [unique] */
267 struct winreg_EnumValue {
269 struct policy_handle *handle;/* [ref] */
271 struct winreg_ValNameBuf *name;/* [ref] */
272 enum winreg_Type *type;/* [unique] */
273 uint8_t *value;/* [unique,length_is(*length),size_is(*size)] */
274 uint32_t *size;/* [unique] */
275 uint32_t *length;/* [unique] */
279 struct winreg_ValNameBuf *name;/* [ref] */
280 enum winreg_Type *type;/* [unique] */
281 uint8_t *value;/* [unique,length_is(*length),size_is(*size)] */
282 uint32_t *size;/* [unique] */
283 uint32_t *length;/* [unique] */
290 struct winreg_FlushKey {
292 struct policy_handle *handle;/* [ref] */
302 struct winreg_GetKeySecurity {
304 struct policy_handle *handle;/* [ref] */
306 struct KeySecurityData *sd;/* [ref] */
310 struct KeySecurityData *sd;/* [ref] */
317 struct winreg_LoadKey {
319 struct policy_handle *handle;/* [ref] */
320 struct winreg_String *keyname;/* [unique] */
321 struct winreg_String *filename;/* [unique] */
331 struct winreg_NotifyChangeKeyValue {
333 struct policy_handle *handle;/* [ref] */
334 uint8_t watch_subtree;
335 uint32_t notify_filter;
337 struct winreg_String string1;
338 struct winreg_String string2;
349 struct winreg_OpenKey {
351 struct policy_handle *parent_handle;/* [ref] */
352 struct winreg_String keyname;
354 uint32_t access_mask;
358 struct policy_handle *handle;/* [ref] */
365 struct winreg_QueryInfoKey {
367 struct policy_handle *handle;/* [ref] */
368 struct winreg_String *classname;/* [ref] */
372 uint32_t *num_subkeys;/* [ref] */
373 uint32_t *max_subkeylen;/* [ref] */
374 uint32_t *max_classlen;/* [ref] */
375 uint32_t *num_values;/* [ref] */
376 uint32_t *max_valnamelen;/* [ref] */
377 uint32_t *max_valbufsize;/* [ref] */
378 uint32_t *secdescsize;/* [ref] */
379 NTTIME *last_changed_time;/* [ref] */
380 struct winreg_String *classname;/* [ref] */
387 struct winreg_QueryValue {
389 struct policy_handle *handle;/* [ref] */
390 struct winreg_String *value_name;/* [ref] */
391 enum winreg_Type *type;/* [unique] */
392 uint8_t *data;/* [unique,length_is(*value_length),size_is(*data_size)] */
393 uint32_t *data_size;/* [unique] */
394 uint32_t *value_length;/* [unique] */
398 enum winreg_Type *type;/* [unique] */
399 uint8_t *data;/* [unique,length_is(*value_length),size_is(*data_size)] */
400 uint32_t *data_size;/* [unique] */
401 uint32_t *value_length;/* [unique] */
408 struct winreg_ReplaceKey {
416 struct winreg_RestoreKey {
418 struct policy_handle *handle;/* [ref] */
419 struct winreg_String *filename;/* [ref] */
430 struct winreg_SaveKey {
432 struct policy_handle *handle;/* [ref] */
433 struct winreg_String *filename;/* [ref] */
434 struct KeySecurityAttribute *sec_attrib;/* [unique] */
444 struct winreg_SetKeySecurity {
446 struct policy_handle *handle;/* [ref] */
447 uint32_t access_mask;
448 struct KeySecurityData *sd;/* [ref] */
458 struct winreg_SetValue {
460 struct policy_handle *handle;/* [ref] */
461 struct winreg_String name;
462 enum winreg_Type type;
463 uint8_t *data;/* [ref,size_is(size)] */
474 struct winreg_UnLoadKey {
482 struct winreg_InitiateSystemShutdown {
484 uint16_t *hostname;/* [unique] */
485 struct lsa_StringLarge *message;/* [unique] */
498 struct winreg_AbortSystemShutdown {
500 uint16_t *server;/* [unique] */
510 struct winreg_GetVersion {
512 struct policy_handle *handle;/* [ref] */
516 uint32_t *version;/* [ref] */
523 struct winreg_OpenHKCC {
525 uint16_t *system_name;/* [unique] */
526 uint32_t access_mask;
530 struct policy_handle *handle;/* [ref] */
537 struct winreg_OpenHKDD {
539 uint16_t *system_name;/* [unique] */
540 uint32_t access_mask;
544 struct policy_handle *handle;/* [ref] */
551 struct winreg_QueryMultipleValues {
553 struct policy_handle *key_handle;/* [ref] */
555 struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */
556 uint8_t *buffer;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
557 uint32_t *buffer_size;/* [ref] */
561 struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */
562 uint8_t *buffer;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
563 uint32_t *buffer_size;/* [ref] */
570 struct winreg_InitiateSystemShutdownEx {
572 uint16_t *hostname;/* [unique] */
573 struct lsa_StringLarge *message;/* [unique] */
587 struct winreg_SaveKeyEx {
595 struct winreg_OpenHKPT {
597 uint16_t *system_name;/* [unique] */
598 uint32_t access_mask;
602 struct policy_handle *handle;/* [ref] */
609 struct winreg_OpenHKPN {
611 uint16_t *system_name;/* [unique] */
612 uint32_t access_mask;
616 struct policy_handle *handle;/* [ref] */
623 struct winreg_QueryMultipleValues2 {
630 #endif /* _HEADER_winreg */