1 /* header auto-generated by pidl */
5 #include "librpc/gen_ndr/lsa.h"
6 #include "librpc/gen_ndr/security.h"
10 /* bitmap winreg_AccessMask */
11 #define KEY_QUERY_VALUE ( 0x00001 )
12 #define KEY_SET_VALUE ( 0x00002 )
13 #define KEY_CREATE_SUB_KEY ( 0x00004 )
14 #define KEY_ENUMERATE_SUB_KEYS ( 0x00008 )
15 #define KEY_NOTIFY ( 0x00010 )
16 #define KEY_CREATE_LINK ( 0x00020 )
17 #define KEY_WOW64_64KEY ( 0x00100 )
18 #define KEY_WOW64_32KEY ( 0x00200 )
21 #ifndef USE_UINT_ENUMS
28 REG_DWORD_BIG_ENDIAN=5,
32 REG_FULL_RESOURCE_DESCRIPTOR=9,
33 REG_RESOURCE_REQUIREMENTS_LIST=10,
37 { __donnot_use_enum_winreg_Type=0x7FFFFFFF}
38 #define REG_NONE ( 0 )
40 #define REG_EXPAND_SZ ( 2 )
41 #define REG_BINARY ( 3 )
42 #define REG_DWORD ( 4 )
43 #define REG_DWORD_BIG_ENDIAN ( 5 )
44 #define REG_LINK ( 6 )
45 #define REG_MULTI_SZ ( 7 )
46 #define REG_RESOURCE_LIST ( 8 )
47 #define REG_FULL_RESOURCE_DESCRIPTOR ( 9 )
48 #define REG_RESOURCE_REQUIREMENTS_LIST ( 10 )
49 #define REG_QWORD ( 11 )
53 struct winreg_String {
54 uint16_t name_len;/* [value(strlen_m_term(name)*2)] */
55 uint16_t name_size;/* [value(strlen_m_term(name)*2)] */
56 const char *name;/* [unique,charset(UTF16)] */
57 }/* [public,noejs] */;
59 struct KeySecurityData {
60 uint8_t *data;/* [unique,length_is(len),size_is(size)] */
65 struct winreg_SecBuf {
67 struct KeySecurityData sd;
71 enum winreg_CreateAction
72 #ifndef USE_UINT_ENUMS
75 REG_CREATED_NEW_KEY=1,
76 REG_OPENED_EXISTING_KEY=2
79 { __donnot_use_enum_winreg_CreateAction=0x7FFFFFFF}
80 #define REG_ACTION_NONE ( 0 )
81 #define REG_CREATED_NEW_KEY ( 1 )
82 #define REG_OPENED_EXISTING_KEY ( 2 )
86 struct winreg_StringBuf {
87 uint16_t length;/* [value(strlen_m_term_null(name)*2)] */
89 const char *name;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
92 struct winreg_ValNameBuf {
93 uint16_t length;/* [value(strlen_m_term(name)*2)] */
95 const char *name;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
98 /* bitmap winreg_NotifyChangeType */
99 #define REG_NOTIFY_CHANGE_NAME ( 0x00000001 )
100 #define REG_NOTIFY_CHANGE_ATTRIBUTES ( 0x00000002 )
101 #define REG_NOTIFY_CHANGE_LAST_SET ( 0x00000004 )
102 #define REG_NOTIFY_CHANGE_SECURITY ( 0x00000008 )
104 struct KeySecurityAttribute {
106 struct KeySecurityData sec_data;
110 struct QueryMultipleValue {
111 struct winreg_String *name;/* [unique] */
112 enum winreg_Type type;
118 struct winreg_OpenHKCR {
120 uint16_t *system_name;/* [unique] */
121 uint32_t access_mask;
125 struct policy_handle *handle;/* [ref] */
132 struct winreg_OpenHKCU {
134 uint16_t *system_name;/* [unique] */
135 uint32_t access_mask;
139 struct policy_handle *handle;/* [ref] */
146 struct winreg_OpenHKLM {
148 uint16_t *system_name;/* [unique] */
149 uint32_t access_mask;
153 struct policy_handle *handle;/* [ref] */
160 struct winreg_OpenHKPD {
162 uint16_t *system_name;/* [unique] */
163 uint32_t access_mask;
167 struct policy_handle *handle;/* [ref] */
174 struct winreg_OpenHKU {
176 uint16_t *system_name;/* [unique] */
177 uint32_t access_mask;
181 struct policy_handle *handle;/* [ref] */
188 struct winreg_CloseKey {
190 struct policy_handle *handle;/* [ref] */
194 struct policy_handle *handle;/* [ref] */
201 struct winreg_CreateKey {
203 struct policy_handle *handle;/* [ref] */
204 struct winreg_String name;
205 struct winreg_String keyclass;
207 uint32_t access_mask;
208 struct winreg_SecBuf *secdesc;/* [unique] */
209 enum winreg_CreateAction *action_taken;/* [unique] */
213 struct policy_handle *new_handle;/* [ref] */
214 enum winreg_CreateAction *action_taken;/* [unique] */
221 struct winreg_DeleteKey {
223 struct policy_handle *handle;/* [ref] */
224 struct winreg_String key;
234 struct winreg_DeleteValue {
236 struct policy_handle *handle;/* [ref] */
237 struct winreg_String value;
247 struct winreg_EnumKey {
249 struct policy_handle *handle;/* [ref] */
251 struct winreg_StringBuf *name;/* [ref] */
252 struct winreg_StringBuf *keyclass;/* [unique] */
253 NTTIME *last_changed_time;/* [unique] */
257 struct winreg_StringBuf *name;/* [ref] */
258 struct winreg_StringBuf *keyclass;/* [unique] */
259 NTTIME *last_changed_time;/* [unique] */
266 struct winreg_EnumValue {
268 struct policy_handle *handle;/* [ref] */
270 struct winreg_ValNameBuf *name;/* [ref] */
271 enum winreg_Type *type;/* [unique] */
272 uint8_t *value;/* [unique,length_is(*length),size_is(*size)] */
273 uint32_t *size;/* [unique] */
274 uint32_t *length;/* [unique] */
278 struct winreg_ValNameBuf *name;/* [ref] */
279 enum winreg_Type *type;/* [unique] */
280 uint8_t *value;/* [unique,length_is(*length),size_is(*size)] */
281 uint32_t *size;/* [unique] */
282 uint32_t *length;/* [unique] */
289 struct winreg_FlushKey {
291 struct policy_handle *handle;/* [ref] */
301 struct winreg_GetKeySecurity {
303 struct policy_handle *handle;/* [ref] */
305 struct KeySecurityData *sd;/* [ref] */
309 struct KeySecurityData *sd;/* [ref] */
316 struct winreg_LoadKey {
318 struct policy_handle *handle;/* [ref] */
319 struct winreg_String *keyname;/* [unique] */
320 struct winreg_String *filename;/* [unique] */
330 struct winreg_NotifyChangeKeyValue {
332 struct policy_handle *handle;/* [ref] */
333 uint8_t watch_subtree;
334 uint32_t notify_filter;
336 struct winreg_String string1;
337 struct winreg_String string2;
348 struct winreg_OpenKey {
350 struct policy_handle *parent_handle;/* [ref] */
351 struct winreg_String keyname;
353 uint32_t access_mask;
357 struct policy_handle *handle;/* [ref] */
364 struct winreg_QueryInfoKey {
366 struct policy_handle *handle;/* [ref] */
367 struct winreg_String *classname;/* [ref] */
371 uint32_t *num_subkeys;/* [ref] */
372 uint32_t *max_subkeylen;/* [ref] */
373 uint32_t *max_classlen;/* [ref] */
374 uint32_t *num_values;/* [ref] */
375 uint32_t *max_valnamelen;/* [ref] */
376 uint32_t *max_valbufsize;/* [ref] */
377 uint32_t *secdescsize;/* [ref] */
378 NTTIME *last_changed_time;/* [ref] */
379 struct winreg_String *classname;/* [ref] */
386 struct winreg_QueryValue {
388 struct policy_handle *handle;/* [ref] */
389 struct winreg_String *value_name;/* [ref] */
390 enum winreg_Type *type;/* [unique] */
391 uint8_t *data;/* [unique,length_is(*data_length),size_is(*data_size)] */
392 uint32_t *data_size;/* [unique] */
393 uint32_t *data_length;/* [unique] */
397 enum winreg_Type *type;/* [unique] */
398 uint8_t *data;/* [unique,length_is(*data_length),size_is(*data_size)] */
399 uint32_t *data_size;/* [unique] */
400 uint32_t *data_length;/* [unique] */
407 struct winreg_ReplaceKey {
415 struct winreg_RestoreKey {
417 struct policy_handle *handle;/* [ref] */
418 struct winreg_String *filename;/* [ref] */
429 struct winreg_SaveKey {
431 struct policy_handle *handle;/* [ref] */
432 struct winreg_String *filename;/* [ref] */
433 struct KeySecurityAttribute *sec_attrib;/* [unique] */
443 struct winreg_SetKeySecurity {
445 struct policy_handle *handle;/* [ref] */
447 struct KeySecurityData *sd;/* [ref] */
457 struct winreg_SetValue {
459 struct policy_handle *handle;/* [ref] */
460 struct winreg_String name;
461 enum winreg_Type type;
462 uint8_t *data;/* [ref,size_is(size)] */
473 struct winreg_UnLoadKey {
481 struct winreg_InitiateSystemShutdown {
483 uint16_t *hostname;/* [unique] */
484 struct lsa_StringLarge *message;/* [unique] */
497 struct winreg_AbortSystemShutdown {
499 uint16_t *server;/* [unique] */
509 struct winreg_GetVersion {
511 struct policy_handle *handle;/* [ref] */
515 uint32_t *version;/* [ref] */
522 struct winreg_OpenHKCC {
524 uint16_t *system_name;/* [unique] */
525 uint32_t access_mask;
529 struct policy_handle *handle;/* [ref] */
536 struct winreg_OpenHKDD {
538 uint16_t *system_name;/* [unique] */
539 uint32_t access_mask;
543 struct policy_handle *handle;/* [ref] */
550 struct winreg_QueryMultipleValues {
552 struct policy_handle *key_handle;/* [ref] */
554 struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */
555 uint8_t *buffer;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
556 uint32_t *buffer_size;/* [ref] */
560 struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */
561 uint8_t *buffer;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
562 uint32_t *buffer_size;/* [ref] */
569 struct winreg_InitiateSystemShutdownEx {
571 uint16_t *hostname;/* [unique] */
572 struct lsa_StringLarge *message;/* [unique] */
586 struct winreg_SaveKeyEx {
594 struct winreg_OpenHKPT {
596 uint16_t *system_name;/* [unique] */
597 uint32_t access_mask;
601 struct policy_handle *handle;/* [ref] */
608 struct winreg_OpenHKPN {
610 uint16_t *system_name;/* [unique] */
611 uint32_t access_mask;
615 struct policy_handle *handle;/* [ref] */
622 struct winreg_QueryMultipleValues2 {
629 #endif /* _HEADER_winreg */