1 /* header auto-generated by pidl */
5 #include "libcli/util/ntstatus.h"
7 #include "librpc/gen_ndr/lsa.h"
8 #include "librpc/gen_ndr/security.h"
10 #define _HEADER_winreg
12 /* bitmap winreg_AccessMask */
13 #define KEY_QUERY_VALUE ( 0x00001 )
14 #define KEY_SET_VALUE ( 0x00002 )
15 #define KEY_CREATE_SUB_KEY ( 0x00004 )
16 #define KEY_ENUMERATE_SUB_KEYS ( 0x00008 )
17 #define KEY_NOTIFY ( 0x00010 )
18 #define KEY_CREATE_LINK ( 0x00020 )
19 #define KEY_WOW64_64KEY ( 0x00100 )
20 #define KEY_WOW64_32KEY ( 0x00200 )
23 #ifndef USE_UINT_ENUMS
30 REG_DWORD_BIG_ENDIAN
=5,
34 REG_FULL_RESOURCE_DESCRIPTOR
=9,
35 REG_RESOURCE_REQUIREMENTS_LIST
=10,
39 { __donnot_use_enum_winreg_Type
=0x7FFFFFFF}
40 #define REG_NONE ( 0 )
42 #define REG_EXPAND_SZ ( 2 )
43 #define REG_BINARY ( 3 )
44 #define REG_DWORD ( 4 )
45 #define REG_DWORD_BIG_ENDIAN ( 5 )
46 #define REG_LINK ( 6 )
47 #define REG_MULTI_SZ ( 7 )
48 #define REG_RESOURCE_LIST ( 8 )
49 #define REG_FULL_RESOURCE_DESCRIPTOR ( 9 )
50 #define REG_RESOURCE_REQUIREMENTS_LIST ( 10 )
51 #define REG_QWORD ( 11 )
55 struct winreg_String
{
56 uint16_t name_len
;/* [value(strlen_m_term(name)*2)] */
57 uint16_t name_size
;/* [value(strlen_m_term(name)*2)] */
58 const char *name
;/* [unique,charset(UTF16)] */
61 struct KeySecurityData
{
62 uint8_t *data
;/* [unique,length_is(len),size_is(size)] */
67 struct winreg_SecBuf
{
69 struct KeySecurityData sd
;
73 enum winreg_CreateAction
74 #ifndef USE_UINT_ENUMS
77 REG_CREATED_NEW_KEY
=1,
78 REG_OPENED_EXISTING_KEY
=2
81 { __donnot_use_enum_winreg_CreateAction
=0x7FFFFFFF}
82 #define REG_ACTION_NONE ( 0 )
83 #define REG_CREATED_NEW_KEY ( 1 )
84 #define REG_OPENED_EXISTING_KEY ( 2 )
88 struct winreg_StringBuf
{
89 uint16_t length
;/* [value(strlen_m_term_null(name)*2)] */
91 const char *name
;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
94 struct winreg_ValNameBuf
{
95 uint16_t length
;/* [value(strlen_m_term(name)*2)] */
97 const char *name
;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
100 /* bitmap winreg_NotifyChangeType */
101 #define REG_NOTIFY_CHANGE_NAME ( 0x00000001 )
102 #define REG_NOTIFY_CHANGE_ATTRIBUTES ( 0x00000002 )
103 #define REG_NOTIFY_CHANGE_LAST_SET ( 0x00000004 )
104 #define REG_NOTIFY_CHANGE_SECURITY ( 0x00000008 )
106 struct KeySecurityAttribute
{
108 struct KeySecurityData sec_data
;
112 struct QueryMultipleValue
{
113 struct winreg_String
*name
;/* [unique] */
114 enum winreg_Type type
;
120 struct winreg_OpenHKCR
{
122 uint16_t *system_name
;/* [unique] */
123 uint32_t access_mask
;
127 struct policy_handle
*handle
;/* [ref] */
134 struct winreg_OpenHKCU
{
136 uint16_t *system_name
;/* [unique] */
137 uint32_t access_mask
;
141 struct policy_handle
*handle
;/* [ref] */
148 struct winreg_OpenHKLM
{
150 uint16_t *system_name
;/* [unique] */
151 uint32_t access_mask
;
155 struct policy_handle
*handle
;/* [ref] */
162 struct winreg_OpenHKPD
{
164 uint16_t *system_name
;/* [unique] */
165 uint32_t access_mask
;
169 struct policy_handle
*handle
;/* [ref] */
176 struct winreg_OpenHKU
{
178 uint16_t *system_name
;/* [unique] */
179 uint32_t access_mask
;
183 struct policy_handle
*handle
;/* [ref] */
190 struct winreg_CloseKey
{
192 struct policy_handle
*handle
;/* [ref] */
196 struct policy_handle
*handle
;/* [ref] */
203 struct winreg_CreateKey
{
205 struct policy_handle
*handle
;/* [ref] */
206 struct winreg_String name
;
207 struct winreg_String keyclass
;
209 uint32_t access_mask
;
210 struct winreg_SecBuf
*secdesc
;/* [unique] */
211 enum winreg_CreateAction
*action_taken
;/* [unique] */
215 struct policy_handle
*new_handle
;/* [ref] */
216 enum winreg_CreateAction
*action_taken
;/* [unique] */
223 struct winreg_DeleteKey
{
225 struct policy_handle
*handle
;/* [ref] */
226 struct winreg_String key
;
236 struct winreg_DeleteValue
{
238 struct policy_handle
*handle
;/* [ref] */
239 struct winreg_String value
;
249 struct winreg_EnumKey
{
251 struct policy_handle
*handle
;/* [ref] */
253 struct winreg_StringBuf
*name
;/* [ref] */
254 struct winreg_StringBuf
*keyclass
;/* [unique] */
255 NTTIME
*last_changed_time
;/* [unique] */
259 struct winreg_StringBuf
*name
;/* [ref] */
260 struct winreg_StringBuf
*keyclass
;/* [unique] */
261 NTTIME
*last_changed_time
;/* [unique] */
268 struct winreg_EnumValue
{
270 struct policy_handle
*handle
;/* [ref] */
272 struct winreg_ValNameBuf
*name
;/* [ref] */
273 enum winreg_Type
*type
;/* [unique] */
274 uint8_t *value
;/* [unique,length_is(*length),size_is(*size)] */
275 uint32_t *size
;/* [unique] */
276 uint32_t *length
;/* [unique] */
280 struct winreg_ValNameBuf
*name
;/* [ref] */
281 enum winreg_Type
*type
;/* [unique] */
282 uint8_t *value
;/* [unique,length_is(*length),size_is(*size)] */
283 uint32_t *size
;/* [unique] */
284 uint32_t *length
;/* [unique] */
291 struct winreg_FlushKey
{
293 struct policy_handle
*handle
;/* [ref] */
303 struct winreg_GetKeySecurity
{
305 struct policy_handle
*handle
;/* [ref] */
307 struct KeySecurityData
*sd
;/* [ref] */
311 struct KeySecurityData
*sd
;/* [ref] */
318 struct winreg_LoadKey
{
320 struct policy_handle
*handle
;/* [ref] */
321 struct winreg_String
*keyname
;/* [unique] */
322 struct winreg_String
*filename
;/* [unique] */
332 struct winreg_NotifyChangeKeyValue
{
334 struct policy_handle
*handle
;/* [ref] */
335 uint8_t watch_subtree
;
336 uint32_t notify_filter
;
338 struct winreg_String string1
;
339 struct winreg_String string2
;
350 struct winreg_OpenKey
{
352 struct policy_handle
*parent_handle
;/* [ref] */
353 struct winreg_String keyname
;
355 uint32_t access_mask
;
359 struct policy_handle
*handle
;/* [ref] */
366 struct winreg_QueryInfoKey
{
368 struct policy_handle
*handle
;/* [ref] */
369 struct winreg_String
*classname
;/* [ref] */
373 uint32_t *num_subkeys
;/* [ref] */
374 uint32_t *max_subkeylen
;/* [ref] */
375 uint32_t *max_classlen
;/* [ref] */
376 uint32_t *num_values
;/* [ref] */
377 uint32_t *max_valnamelen
;/* [ref] */
378 uint32_t *max_valbufsize
;/* [ref] */
379 uint32_t *secdescsize
;/* [ref] */
380 NTTIME
*last_changed_time
;/* [ref] */
381 struct winreg_String
*classname
;/* [ref] */
388 struct winreg_QueryValue
{
390 struct policy_handle
*handle
;/* [ref] */
391 struct winreg_String
*value_name
;/* [ref] */
392 enum winreg_Type
*type
;/* [unique] */
393 uint8_t *data
;/* [unique,length_is(*data_length),size_is(*data_size)] */
394 uint32_t *data_size
;/* [unique] */
395 uint32_t *data_length
;/* [unique] */
399 enum winreg_Type
*type
;/* [unique] */
400 uint8_t *data
;/* [unique,length_is(*data_length),size_is(*data_size)] */
401 uint32_t *data_size
;/* [unique] */
402 uint32_t *data_length
;/* [unique] */
409 struct winreg_ReplaceKey
{
417 struct winreg_RestoreKey
{
419 struct policy_handle
*handle
;/* [ref] */
420 struct winreg_String
*filename
;/* [ref] */
431 struct winreg_SaveKey
{
433 struct policy_handle
*handle
;/* [ref] */
434 struct winreg_String
*filename
;/* [ref] */
435 struct KeySecurityAttribute
*sec_attrib
;/* [unique] */
445 struct winreg_SetKeySecurity
{
447 struct policy_handle
*handle
;/* [ref] */
449 struct KeySecurityData
*sd
;/* [ref] */
459 struct winreg_SetValue
{
461 struct policy_handle
*handle
;/* [ref] */
462 struct winreg_String name
;
463 enum winreg_Type type
;
464 uint8_t *data
;/* [ref,size_is(size)] */
475 struct winreg_UnLoadKey
{
483 struct winreg_InitiateSystemShutdown
{
485 uint16_t *hostname
;/* [unique] */
486 struct lsa_StringLarge
*message
;/* [unique] */
499 struct winreg_AbortSystemShutdown
{
501 uint16_t *server
;/* [unique] */
511 struct winreg_GetVersion
{
513 struct policy_handle
*handle
;/* [ref] */
517 uint32_t *version
;/* [ref] */
524 struct winreg_OpenHKCC
{
526 uint16_t *system_name
;/* [unique] */
527 uint32_t access_mask
;
531 struct policy_handle
*handle
;/* [ref] */
538 struct winreg_OpenHKDD
{
540 uint16_t *system_name
;/* [unique] */
541 uint32_t access_mask
;
545 struct policy_handle
*handle
;/* [ref] */
552 struct winreg_QueryMultipleValues
{
554 struct policy_handle
*key_handle
;/* [ref] */
556 struct QueryMultipleValue
*values
;/* [ref,length_is(num_values),size_is(num_values)] */
557 uint8_t *buffer
;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
558 uint32_t *buffer_size
;/* [ref] */
562 struct QueryMultipleValue
*values
;/* [ref,length_is(num_values),size_is(num_values)] */
563 uint8_t *buffer
;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
564 uint32_t *buffer_size
;/* [ref] */
571 struct winreg_InitiateSystemShutdownEx
{
573 uint16_t *hostname
;/* [unique] */
574 struct lsa_StringLarge
*message
;/* [unique] */
588 struct winreg_SaveKeyEx
{
596 struct winreg_OpenHKPT
{
598 uint16_t *system_name
;/* [unique] */
599 uint32_t access_mask
;
603 struct policy_handle
*handle
;/* [ref] */
610 struct winreg_OpenHKPN
{
612 uint16_t *system_name
;/* [unique] */
613 uint32_t access_mask
;
617 struct policy_handle
*handle
;/* [ref] */
624 struct winreg_QueryMultipleValues2
{
631 #endif /* _HEADER_winreg */