2006-09-15 22:32:43 +04:00
/* header auto-generated by pidl */
2007-02-16 17:50:57 +03:00
# include <stdint.h>
2006-09-15 22:32:43 +04:00
# include "librpc/gen_ndr/lsa.h"
# include "librpc/gen_ndr/initshutdown.h"
# include "librpc/gen_ndr/security.h"
2006-11-07 02:20:35 +03:00
# ifndef _HEADER_winreg
# define _HEADER_winreg
2006-09-15 22:32:43 +04:00
/* bitmap winreg_AccessMask */
2007-02-16 17:50:57 +03:00
# define KEY_QUERY_VALUE ( 0x00001 )
# define KEY_SET_VALUE ( 0x00002 )
# define KEY_CREATE_SUB_KEY ( 0x00004 )
# define KEY_ENUMERATE_SUB_KEYS ( 0x00008 )
# define KEY_NOTIFY ( 0x00010 )
# define KEY_CREATE_LINK ( 0x00020 )
# define KEY_WOW64_64KEY ( 0x00100 )
# define KEY_WOW64_32KEY ( 0x00200 )
2006-09-15 22:32:43 +04:00
2007-02-27 20:17:16 +03:00
;
2007-02-07 02:02:27 +03:00
# ifndef USE_UINT_ENUMS
2006-09-15 22:32:43 +04:00
enum winreg_Type {
REG_NONE = 0 ,
REG_SZ = 1 ,
REG_EXPAND_SZ = 2 ,
REG_BINARY = 3 ,
REG_DWORD = 4 ,
REG_DWORD_BIG_ENDIAN = 5 ,
REG_LINK = 6 ,
REG_MULTI_SZ = 7 ,
REG_RESOURCE_LIST = 8 ,
REG_FULL_RESOURCE_DESCRIPTOR = 9 ,
REG_RESOURCE_REQUIREMENTS_LIST = 10 ,
REG_QWORD = 11
2007-02-27 20:17:16 +03:00
}
2007-02-07 02:02:27 +03:00
# else
2007-02-27 20:17:16 +03:00
enum winreg_Type { __donnot_use_enum_winreg_Type = 0x7FFFFFFF }
2007-02-07 02:02:27 +03:00
# define REG_NONE ( 0 )
# define REG_SZ ( 1 )
# define REG_EXPAND_SZ ( 2 )
# define REG_BINARY ( 3 )
# define REG_DWORD ( 4 )
# define REG_DWORD_BIG_ENDIAN ( 5 )
# define REG_LINK ( 6 )
# define REG_MULTI_SZ ( 7 )
# define REG_RESOURCE_LIST ( 8 )
# define REG_FULL_RESOURCE_DESCRIPTOR ( 9 )
# define REG_RESOURCE_REQUIREMENTS_LIST ( 10 )
# define REG_QWORD ( 11 )
# endif
2007-02-27 20:17:16 +03:00
;
2006-09-15 22:32:43 +04:00
struct winreg_String {
2006-09-20 02:22:57 +04:00
uint16_t name_len ; /* [value(strlen_m_term(name)*2)] */
uint16_t name_size ; /* [value(strlen_m_term(name)*2)] */
const char * name ; /* [unique,charset(UTF16)] */
2006-09-15 22:32:43 +04:00
} /* [public,noejs] */ ;
struct KeySecurityData {
2006-09-20 02:22:57 +04:00
uint8_t * data ; /* [unique,length_is(len),size_is(size)] */
uint32_t size ;
uint32_t len ;
2006-09-15 22:32:43 +04:00
} ;
struct winreg_SecBuf {
2006-09-20 02:22:57 +04:00
uint32_t length ;
struct KeySecurityData sd ;
uint8_t inherit ;
2006-09-15 22:32:43 +04:00
} ;
2007-02-07 02:02:27 +03:00
# ifndef USE_UINT_ENUMS
2006-09-15 22:32:43 +04:00
enum winreg_CreateAction {
REG_ACTION_NONE = 0 ,
REG_CREATED_NEW_KEY = 1 ,
REG_OPENED_EXISTING_KEY = 2
2007-02-27 20:17:16 +03:00
}
2007-02-07 02:02:27 +03:00
# else
2007-02-27 20:17:16 +03:00
enum winreg_CreateAction { __donnot_use_enum_winreg_CreateAction = 0x7FFFFFFF }
2007-02-07 02:02:27 +03:00
# define REG_ACTION_NONE ( 0 )
# define REG_CREATED_NEW_KEY ( 1 )
# define REG_OPENED_EXISTING_KEY ( 2 )
# endif
2007-02-27 20:17:16 +03:00
;
2006-09-15 22:32:43 +04:00
struct winreg_StringBuf {
2006-11-19 20:56:35 +03:00
uint16_t length ; /* [value(strlen_m_term_null(name)*2)] */
2006-09-20 02:22:57 +04:00
uint16_t size ;
const char * name ; /* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
2006-09-15 22:32:43 +04:00
} ;
2006-11-27 10:52:46 +03:00
struct winreg_ValNameBuf {
uint16_t length ; /* [value(strlen_m_term(name)*2)] */
uint16_t size ;
const char * name ; /* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
} ;
2006-09-27 20:05:25 +04:00
struct KeySecurityAttribute {
uint32_t data_size ;
struct KeySecurityData sec_data ;
uint8_t inherit ;
} ;
2006-09-15 22:32:43 +04:00
struct QueryMultipleValue {
2006-09-20 02:22:57 +04:00
struct winreg_String * name ; /* [unique] */
enum winreg_Type type ;
uint32_t offset ;
uint32_t length ;
2006-09-15 22:32:43 +04:00
} ;
struct winreg_OpenHKCR {
struct {
2006-09-20 02:22:57 +04:00
uint16_t * system_name ; /* [unique] */
uint32_t access_mask ;
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_OpenHKCU {
struct {
2006-09-20 02:22:57 +04:00
uint16_t * system_name ; /* [unique] */
uint32_t access_mask ;
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_OpenHKLM {
struct {
2006-09-20 02:22:57 +04:00
uint16_t * system_name ; /* [unique] */
uint32_t access_mask ;
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_OpenHKPD {
struct {
2006-09-20 02:22:57 +04:00
uint16_t * system_name ; /* [unique] */
uint32_t access_mask ;
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_OpenHKU {
struct {
2006-09-20 02:22:57 +04:00
uint16_t * system_name ; /* [unique] */
uint32_t access_mask ;
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_CloseKey {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_CreateKey {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct winreg_String name ;
struct winreg_String keyclass ;
uint32_t options ;
uint32_t access_mask ;
struct winreg_SecBuf * secdesc ; /* [unique] */
2006-11-28 16:09:32 +03:00
enum winreg_CreateAction * action_taken ; /* [unique] */
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * new_handle ; /* [ref] */
2006-11-28 16:09:32 +03:00
enum winreg_CreateAction * action_taken ; /* [unique] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_DeleteKey {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct winreg_String key ;
2006-09-15 22:32:43 +04:00
} in ;
struct {
WERROR result ;
} out ;
} ;
struct winreg_DeleteValue {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct winreg_String value ;
2006-09-15 22:32:43 +04:00
} in ;
struct {
WERROR result ;
} out ;
} ;
struct winreg_EnumKey {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
uint32_t enum_index ;
struct winreg_StringBuf * name ; /* [ref] */
2006-11-28 16:09:32 +03:00
struct winreg_StringBuf * keyclass ; /* [unique] */
NTTIME * last_changed_time ; /* [unique] */
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct winreg_StringBuf * name ; /* [ref] */
2006-11-28 16:09:32 +03:00
struct winreg_StringBuf * keyclass ; /* [unique] */
NTTIME * last_changed_time ; /* [unique] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_EnumValue {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
uint32_t enum_index ;
2006-11-27 10:52:46 +03:00
struct winreg_ValNameBuf * name ; /* [ref] */
2006-09-20 02:22:57 +04:00
enum winreg_Type * type ; /* [unique] */
2007-02-20 16:43:41 +03:00
uint8_t * value ; /* [unique,length_is(*length),size_is(*size)] */
2007-02-16 17:50:57 +03:00
uint32_t * size ; /* [unique] */
uint32_t * length ; /* [unique] */
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-11-27 10:52:46 +03:00
struct winreg_ValNameBuf * name ; /* [ref] */
2006-09-20 02:22:57 +04:00
enum winreg_Type * type ; /* [unique] */
2007-02-20 16:43:41 +03:00
uint8_t * value ; /* [unique,length_is(*length),size_is(*size)] */
2007-02-16 17:50:57 +03:00
uint32_t * size ; /* [unique] */
uint32_t * length ; /* [unique] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_FlushKey {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-15 22:32:43 +04:00
} in ;
struct {
WERROR result ;
} out ;
} ;
struct winreg_GetKeySecurity {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
uint32_t sec_info ;
struct KeySecurityData * sd ; /* [ref] */
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct KeySecurityData * sd ; /* [ref] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_LoadKey {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct winreg_String * keyname ; /* [unique] */
struct winreg_String * filename ; /* [unique] */
2006-09-15 22:32:43 +04:00
} in ;
struct {
WERROR result ;
} out ;
} ;
struct winreg_NotifyChangeKeyValue {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
uint8_t watch_subtree ;
uint32_t notify_filter ;
uint32_t unknown ;
struct winreg_String string1 ;
struct winreg_String string2 ;
uint32_t unknown2 ;
2006-09-15 22:32:43 +04:00
} in ;
struct {
WERROR result ;
} out ;
} ;
struct winreg_OpenKey {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * parent_handle ; /* [ref] */
struct winreg_String keyname ;
uint32_t unknown ;
uint32_t access_mask ;
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_QueryInfoKey {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-27 01:01:57 +04:00
struct winreg_String * classname ; /* [ref] */
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
uint32_t * num_subkeys ; /* [ref] */
uint32_t * max_subkeylen ; /* [ref] */
2006-09-29 01:19:08 +04:00
uint32_t * max_classlen ; /* [ref] */
2006-09-20 02:22:57 +04:00
uint32_t * num_values ; /* [ref] */
uint32_t * max_valnamelen ; /* [ref] */
uint32_t * max_valbufsize ; /* [ref] */
uint32_t * secdescsize ; /* [ref] */
NTTIME * last_changed_time ; /* [ref] */
2007-02-16 17:50:57 +03:00
struct winreg_String * classname ; /* [ref] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_QueryValue {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct winreg_String value_name ;
enum winreg_Type * type ; /* [unique] */
2006-09-26 23:37:37 +04:00
uint8_t * data ; /* [unique,length_is(*value_length),size_is(*data_size)] */
uint32_t * data_size ; /* [unique] */
uint32_t * value_length ; /* [unique] */
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
enum winreg_Type * type ; /* [unique] */
2006-09-26 23:37:37 +04:00
uint8_t * data ; /* [unique,length_is(*value_length),size_is(*data_size)] */
uint32_t * data_size ; /* [unique] */
uint32_t * value_length ; /* [unique] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_ReplaceKey {
struct {
WERROR result ;
} out ;
} ;
struct winreg_RestoreKey {
2006-09-27 20:05:25 +04:00
struct {
struct policy_handle * handle ; /* [ref] */
struct winreg_String * filename ; /* [ref] */
uint32_t flags ;
} in ;
2006-09-15 22:32:43 +04:00
struct {
WERROR result ;
} out ;
} ;
struct winreg_SaveKey {
2006-09-27 20:05:25 +04:00
struct {
struct policy_handle * handle ; /* [ref] */
struct winreg_String * filename ; /* [ref] */
struct KeySecurityAttribute * sec_attrib ; /* [unique] */
} in ;
2006-09-15 22:32:43 +04:00
struct {
WERROR result ;
} out ;
} ;
struct winreg_SetKeySecurity {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
uint32_t access_mask ;
struct KeySecurityData * sd ; /* [ref] */
2006-09-15 22:32:43 +04:00
} in ;
struct {
WERROR result ;
} out ;
} ;
struct winreg_SetValue {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct winreg_String name ;
enum winreg_Type type ;
uint8_t * data ; /* [ref,size_is(size)] */
uint32_t size ;
2006-09-15 22:32:43 +04:00
} in ;
struct {
WERROR result ;
} out ;
} ;
struct winreg_UnLoadKey {
struct {
WERROR result ;
} out ;
} ;
struct winreg_InitiateSystemShutdown {
struct {
2006-09-20 02:22:57 +04:00
uint16_t * hostname ; /* [unique] */
struct initshutdown_String * message ; /* [unique] */
uint32_t timeout ;
uint8_t force_apps ;
uint8_t reboot ;
2006-09-15 22:32:43 +04:00
} in ;
struct {
WERROR result ;
} out ;
} ;
struct winreg_AbortSystemShutdown {
struct {
2006-09-20 02:22:57 +04:00
uint16_t * server ; /* [unique] */
2006-09-15 22:32:43 +04:00
} in ;
struct {
WERROR result ;
} out ;
} ;
struct winreg_GetVersion {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
uint32_t * version ; /* [ref] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_OpenHKCC {
struct {
2006-09-20 02:22:57 +04:00
uint16_t * system_name ; /* [unique] */
uint32_t access_mask ;
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_OpenHKDD {
struct {
2006-09-20 02:22:57 +04:00
uint16_t * system_name ; /* [unique] */
uint32_t access_mask ;
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_QueryMultipleValues {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * key_handle ; /* [ref] */
uint32_t num_values ;
2007-02-16 17:50:57 +03:00
struct QueryMultipleValue * values ; /* [ref,length_is(num_values),size_is(num_values)] */
2006-09-20 02:22:57 +04:00
uint8_t * buffer ; /* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
uint32_t * buffer_size ; /* [ref] */
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct QueryMultipleValue * values ; /* [ref,length_is(num_values),size_is(num_values)] */
uint8_t * buffer ; /* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
uint32_t * buffer_size ; /* [ref] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_InitiateSystemShutdownEx {
struct {
2006-09-20 02:22:57 +04:00
uint16_t * hostname ; /* [unique] */
struct initshutdown_String * message ; /* [unique] */
uint32_t timeout ;
uint8_t force_apps ;
uint8_t reboot ;
uint32_t reason ;
2006-09-15 22:32:43 +04:00
} in ;
struct {
WERROR result ;
} out ;
} ;
struct winreg_SaveKeyEx {
struct {
WERROR result ;
} out ;
} ;
struct winreg_OpenHKPT {
struct {
2006-09-20 02:22:57 +04:00
uint16_t * system_name ; /* [unique] */
uint32_t access_mask ;
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_OpenHKPN {
struct {
2006-09-20 02:22:57 +04:00
uint16_t * system_name ; /* [unique] */
uint32_t access_mask ;
2006-09-15 22:32:43 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-15 22:32:43 +04:00
WERROR result ;
} out ;
} ;
struct winreg_QueryMultipleValues2 {
struct {
WERROR result ;
} out ;
} ;
# endif /* _HEADER_winreg */