/* header auto-generated by pidl */ #ifndef _HEADER_lsarpc #define _HEADER_lsarpc #include "librpc/gen_ndr/security.h" #define LSA_ENUM_TRUST_DOMAIN_MULTIPLIER ( 60 ) #define LSA_REF_DOMAIN_LIST_MULTIPLIER ( 32 ) #define LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER ( 82 ) struct lsa_String { uint16_t length;/* [keepref,value(2*strlen_m(string))] */ uint16_t size;/* [keepref,value(2*strlen_m(string))] */ const char *string;/* [unique,keepref,charset(UTF16),length_is(length/2),size_is(size/2)] */ }/* [public,noejs] */; struct lsa_StringLarge { uint16_t length;/* [keepref,value(2*strlen_m(string))] */ uint16_t size;/* [keepref,value(2*(strlen_m(string)+1))] */ const char *string;/* [unique,keepref,charset(UTF16),length_is(length/2),size_is(size/2)] */ }/* [public] */; struct lsa_Strings { uint32_t count;/* [keepref] */ struct lsa_String *names;/* [unique,keepref,size_is(count)] */ }/* [public] */; struct lsa_AsciiString { uint16_t length;/* [keepref,value(strlen_m(string))] */ uint16_t size;/* [keepref,value(strlen_m(string))] */ const char * string;/* [unique,keepref,flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_SIZE4|LIBNDR_FLAG_STR_LEN4)] */ }/* [public] */; struct lsa_LUID { uint32_t low;/* [keepref] */ uint32_t high;/* [keepref] */ }; struct lsa_PrivEntry { struct lsa_StringLarge name;/* [keepref] */ struct lsa_LUID luid;/* [keepref] */ }; struct lsa_PrivArray { uint32_t count;/* [keepref] */ struct lsa_PrivEntry *privs;/* [unique,keepref,size_is(count)] */ }; struct lsa_QosInfo { uint32_t len;/* [keepref] */ uint16_t impersonation_level;/* [keepref] */ uint8_t context_mode;/* [keepref] */ uint8_t effective_only;/* [keepref] */ }; struct lsa_ObjectAttribute { uint32_t len;/* [keepref] */ uint8_t *root_dir;/* [unique,keepref] */ const char *object_name;/* [unique,keepref,charset(UTF16)] */ uint32_t attributes;/* [keepref] */ struct security_descriptor *sec_desc;/* [unique,keepref] */ struct lsa_QosInfo *sec_qos;/* [unique,keepref] */ }; struct lsa_AuditLogInfo { uint32_t percent_full;/* [keepref] */ uint32_t log_size;/* [keepref] */ NTTIME retention_time;/* [keepref] */ uint8_t shutdown_in_progress;/* [keepref] */ NTTIME time_to_shutdown;/* [keepref] */ uint32_t next_audit_record;/* [keepref] */ uint32_t unknown;/* [keepref] */ }; struct lsa_AuditEventsInfo { uint32_t auditing_mode;/* [keepref] */ uint32_t *settings;/* [unique,keepref,size_is(count)] */ uint32_t count;/* [keepref] */ }; struct lsa_DomainInfo { struct lsa_StringLarge name;/* [keepref] */ struct dom_sid2 *sid;/* [unique,keepref] */ }; struct lsa_PDAccountInfo { struct lsa_String name;/* [keepref] */ }; struct lsa_ServerRole { uint16_t unknown;/* [keepref] */ uint16_t role;/* [keepref] */ }; struct lsa_ReplicaSourceInfo { struct lsa_String source;/* [keepref] */ struct lsa_String account;/* [keepref] */ }; struct lsa_DefaultQuotaInfo { uint32_t paged_pool;/* [keepref] */ uint32_t non_paged_pool;/* [keepref] */ uint32_t min_wss;/* [keepref] */ uint32_t max_wss;/* [keepref] */ uint32_t pagefile;/* [keepref] */ uint64_t unknown;/* [keepref] */ }; struct lsa_ModificationInfo { uint64_t modified_id;/* [keepref] */ NTTIME db_create_time;/* [keepref] */ }; struct lsa_AuditFullSetInfo { uint8_t shutdown_on_full;/* [keepref] */ }; struct lsa_AuditFullQueryInfo { uint16_t unknown;/* [keepref] */ uint8_t shutdown_on_full;/* [keepref] */ uint8_t log_is_full;/* [keepref] */ }; struct lsa_DnsDomainInfo { struct lsa_StringLarge name;/* [keepref] */ struct lsa_StringLarge dns_domain;/* [keepref] */ struct lsa_StringLarge dns_forest;/* [keepref] */ struct GUID domain_guid;/* [keepref] */ struct dom_sid2 *sid;/* [unique,keepref] */ }; enum lsaPolicyInfo { LSA_POLICY_INFO_AUDIT_LOG=1, LSA_POLICY_INFO_AUDIT_EVENTS=2, LSA_POLICY_INFO_DOMAIN=3, LSA_POLICY_INFO_PD=4, LSA_POLICY_INFO_ACCOUNT_DOMAIN=5, LSA_POLICY_INFO_ROLE=6, LSA_POLICY_INFO_REPLICA=7, LSA_POLICY_INFO_QUOTA=8, LSA_POLICY_INFO_DB=9, LSA_POLICY_INFO_AUDIT_FULL_SET=10, LSA_POLICY_INFO_AUDIT_FULL_QUERY=11, LSA_POLICY_INFO_DNS=12 }; union lsa_PolicyInformation { struct lsa_AuditLogInfo audit_log;/* [keepref,case(LSA_POLICY_INFO_AUDIT_LOG)] */ struct lsa_AuditEventsInfo audit_events;/* [keepref,case(LSA_POLICY_INFO_AUDIT_EVENTS)] */ struct lsa_DomainInfo domain;/* [keepref,case(LSA_POLICY_INFO_DOMAIN)] */ struct lsa_PDAccountInfo pd;/* [keepref,case(LSA_POLICY_INFO_PD)] */ struct lsa_DomainInfo account_domain;/* [keepref,case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] */ struct lsa_ServerRole role;/* [keepref,case(LSA_POLICY_INFO_ROLE)] */ struct lsa_ReplicaSourceInfo replica;/* [keepref,case(LSA_POLICY_INFO_REPLICA)] */ struct lsa_DefaultQuotaInfo quota;/* [keepref,case(LSA_POLICY_INFO_QUOTA)] */ struct lsa_ModificationInfo db;/* [keepref,case(LSA_POLICY_INFO_DB)] */ struct lsa_AuditFullSetInfo auditfullset;/* [keepref,case(LSA_POLICY_INFO_AUDIT_FULL_SET)] */ struct lsa_AuditFullQueryInfo auditfullquery;/* [keepref,case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] */ struct lsa_DnsDomainInfo dns;/* [keepref,case(LSA_POLICY_INFO_DNS)] */ }/* [switch_type(uint16)] */; struct lsa_SidPtr { struct dom_sid2 *sid;/* [unique,keepref] */ }; struct lsa_SidArray { uint32_t num_sids;/* [keepref,range(0 1000)] */ struct lsa_SidPtr *sids;/* [unique,keepref,size_is(num_sids)] */ }/* [public] */; struct lsa_DomainList { uint32_t count;/* [keepref] */ struct lsa_DomainInfo *domains;/* [unique,keepref,size_is(count)] */ }; enum lsa_SidType { SID_NAME_USE_NONE=0, SID_NAME_USER=1, SID_NAME_DOM_GRP=2, SID_NAME_DOMAIN=3, SID_NAME_ALIAS=4, SID_NAME_WKN_GRP=5, SID_NAME_DELETED=6, SID_NAME_INVALID=7, SID_NAME_UNKNOWN=8, SID_NAME_COMPUTER=9 }; struct lsa_TranslatedSid { enum lsa_SidType sid_type;/* [keepref] */ uint32_t rid;/* [keepref] */ uint32_t sid_index;/* [keepref] */ }; struct lsa_TransSidArray { uint32_t count;/* [keepref,range(0 1000)] */ struct lsa_TranslatedSid *sids;/* [unique,keepref,size_is(count)] */ }; struct lsa_RefDomainList { uint32_t count;/* [keepref,range(0 1000)] */ struct lsa_DomainInfo *domains;/* [unique,keepref,size_is(count)] */ uint32_t max_size;/* [keepref] */ }; struct lsa_TranslatedName { enum lsa_SidType sid_type;/* [keepref] */ struct lsa_String name;/* [keepref] */ uint32_t sid_index;/* [keepref] */ }; struct lsa_TransNameArray { uint32_t count;/* [keepref,range(0 1000)] */ struct lsa_TranslatedName *names;/* [unique,keepref,size_is(count)] */ }; struct lsa_LUIDAttribute { struct lsa_LUID luid;/* [keepref] */ uint32_t attribute;/* [keepref] */ }; struct lsa_PrivilegeSet { uint32_t count;/* [keepref,range(0 1000)] */ uint32_t unknown;/* [keepref] */ struct lsa_LUIDAttribute *set;/* [keepref,size_is(count)] */ }; struct lsa_DATA_BUF { uint32_t length;/* [keepref] */ uint32_t size;/* [keepref] */ uint8_t *data;/* [unique,keepref,length_is(length),size_is(size)] */ }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; struct lsa_DATA_BUF2 { uint32_t size;/* [keepref,range(0 65536)] */ uint8_t *data;/* [unique,keepref,size_is(size)] */ }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; enum lsa_TrustDomInfoEnum { LSA_TRUSTED_DOMAIN_INFO_NAME=1, LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS_INFO=2, LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET=3, LSA_TRUSTED_DOMAIN_INFO_PASSWORD=4, LSA_TRUSTED_DOMAIN_INFO_BASIC=5, LSA_TRUSTED_DOMAIN_INFO_INFO_EX=6, LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO=7, LSA_TRUSTED_DOMAIN_INFO_FULL_INFO=8, LSA_TRUSTED_DOMAIN_INFO_11=11, LSA_TRUSTED_DOMAIN_INFO_INFO_ALL=12 }; struct lsa_TrustDomainInfoName { struct lsa_StringLarge netbios_name;/* [keepref] */ }; struct lsa_TrustDomainInfoPosixOffset { uint32_t posix_offset;/* [keepref] */ }; struct lsa_TrustDomainInfoPassword { struct lsa_DATA_BUF *password;/* [unique,keepref] */ struct lsa_DATA_BUF *old_password;/* [unique,keepref] */ }; struct lsa_TrustDomainInfoBasic { struct lsa_String netbios_name;/* [keepref] */ struct dom_sid2 *sid;/* [unique,keepref] */ }; struct lsa_TrustDomainInfoInfoEx { struct lsa_StringLarge domain_name;/* [keepref] */ struct lsa_StringLarge netbios_name;/* [keepref] */ struct dom_sid2 *sid;/* [unique,keepref] */ uint32_t trust_direction;/* [keepref] */ uint32_t trust_type;/* [keepref] */ uint32_t trust_attributes;/* [keepref] */ }; struct lsa_TrustDomainInfoBuffer { NTTIME last_update_time;/* [keepref] */ uint32_t secret_type;/* [keepref] */ struct lsa_DATA_BUF2 data;/* [keepref] */ }; struct lsa_TrustDomainInfoAuthInfo { uint32_t incoming_count;/* [keepref] */ struct lsa_TrustDomainInfoBuffer *incoming_current_auth_info;/* [unique,keepref] */ struct lsa_TrustDomainInfoBuffer *incoming_previous_auth_info;/* [unique,keepref] */ uint32_t outgoing_count;/* [keepref] */ struct lsa_TrustDomainInfoBuffer *outgoing_current_auth_info;/* [unique,keepref] */ struct lsa_TrustDomainInfoBuffer *outgoing_previous_auth_info;/* [unique,keepref] */ }; struct lsa_TrustDomainInfoFullInfo { struct lsa_TrustDomainInfoInfoEx info_ex;/* [keepref] */ struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [keepref] */ struct lsa_TrustDomainInfoAuthInfo auth_info;/* [keepref] */ }; struct lsa_TrustDomainInfo11 { struct lsa_TrustDomainInfoInfoEx info_ex;/* [keepref] */ struct lsa_DATA_BUF2 data1;/* [keepref] */ }; struct lsa_TrustDomainInfoInfoAll { struct lsa_TrustDomainInfoInfoEx info_ex;/* [keepref] */ struct lsa_DATA_BUF2 data1;/* [keepref] */ struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [keepref] */ struct lsa_TrustDomainInfoAuthInfo auth_info;/* [keepref] */ }; union lsa_TrustedDomainInfo { struct lsa_TrustDomainInfoName name;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_NAME)] */ struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] */ struct lsa_TrustDomainInfoPassword password;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] */ struct lsa_TrustDomainInfoBasic info_basic;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] */ struct lsa_TrustDomainInfoInfoEx info_ex;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] */ struct lsa_TrustDomainInfoAuthInfo auth_info;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] */ struct lsa_TrustDomainInfoFullInfo full_info;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] */ struct lsa_TrustDomainInfo11 info11;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_11)] */ struct lsa_TrustDomainInfoInfoAll info_all;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_INFO_ALL)] */ }/* [switch_type(lsa_TrustDomInfoEnum)] */; struct lsa_DATA_BUF_PTR { struct lsa_DATA_BUF *buf;/* [unique,keepref] */ }; struct lsa_RightAttribute { const char *name;/* [unique,keepref,charset(UTF16)] */ }; struct lsa_RightSet { uint32_t count;/* [keepref] */ struct lsa_StringLarge *names;/* [unique,keepref,size_is(count)] */ }; struct lsa_StringPointer { struct lsa_String *string;/* [unique,keepref] */ }; struct lsa_DomainListEx { uint32_t count;/* [keepref] */ struct lsa_TrustDomainInfoInfoEx *domains;/* [unique,keepref,size_is(count)] */ }; struct lsa_DomainInfoKerberos { uint32_t enforce_restrictions;/* [keepref] */ uint64_t service_tkt_lifetime;/* [keepref] */ uint64_t user_tkt_lifetime;/* [keepref] */ uint64_t user_tkt_renewaltime;/* [keepref] */ uint64_t clock_skew;/* [keepref] */ uint64_t unknown6;/* [keepref] */ }; struct lsa_DomainInfoEfs { uint32_t blob_size;/* [keepref] */ uint8_t *efs_blob;/* [unique,keepref,size_is(blob_size)] */ }; enum lsa_DomainInfoEnum { LSA_DOMAIN_INFO_POLICY_EFS=2, LSA_DOMAIN_INFO_POLICY_KERBEROS=3 }; union lsa_DomainInformationPolicy { struct lsa_DomainInfoEfs efs_info;/* [keepref,case(LSA_DOMAIN_INFO_POLICY_EFS)] */ struct lsa_DomainInfoKerberos kerberos_info;/* [keepref,case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] */ }/* [switch_type(uint16)] */; struct lsa_TranslatedName2 { enum lsa_SidType sid_type;/* [keepref] */ struct lsa_String name;/* [keepref] */ uint32_t sid_index;/* [keepref] */ uint32_t unknown;/* [keepref] */ }; struct lsa_TransNameArray2 { uint32_t count;/* [keepref,range(0 1000)] */ struct lsa_TranslatedName2 *names;/* [unique,keepref,size_is(count)] */ }; struct lsa_TranslatedSid2 { enum lsa_SidType sid_type;/* [keepref] */ uint32_t rid;/* [keepref] */ uint32_t sid_index;/* [keepref] */ uint32_t unknown;/* [keepref] */ }; struct lsa_TransSidArray2 { uint32_t count;/* [keepref,range(0 1000)] */ struct lsa_TranslatedSid2 *sids;/* [unique,keepref,size_is(count)] */ }; struct lsa_TranslatedSid3 { enum lsa_SidType sid_type;/* [keepref] */ struct dom_sid2 *sid;/* [unique,keepref] */ uint32_t sid_index;/* [keepref] */ uint32_t unknown;/* [keepref] */ }; struct lsa_TransSidArray3 { uint32_t count;/* [keepref,range(0 1000)] */ struct lsa_TranslatedSid3 *sids;/* [unique,keepref,size_is(count)] */ }; struct lsa_Close { struct { struct policy_handle *handle;/* [keepref,ref] */ } in; struct { struct policy_handle *handle;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_Delete { struct { struct policy_handle *handle;/* [keepref,ref] */ } in; struct { NTSTATUS result; } out; }; struct lsa_EnumPrivs { struct { struct policy_handle *handle;/* [keepref,ref] */ uint32_t *resume_handle;/* [keepref,ref] */ uint32_t max_count;/* [keepref] */ } in; struct { uint32_t *resume_handle;/* [keepref,ref] */ struct lsa_PrivArray *privs;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_QuerySecurity { struct { struct policy_handle *handle;/* [keepref,ref] */ uint32_t sec_info;/* [keepref] */ } in; struct { struct sec_desc_buf *sdbuf;/* [unique,keepref] */ NTSTATUS result; } out; }; struct lsa_SetSecObj { struct { NTSTATUS result; } out; }; struct lsa_ChangePassword { struct { NTSTATUS result; } out; }; struct lsa_OpenPolicy { struct { uint16_t *system_name;/* [unique,keepref] */ struct lsa_ObjectAttribute *attr;/* [keepref,ref] */ uint32_t access_mask;/* [keepref] */ } in; struct { struct policy_handle *handle;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_QueryInfoPolicy { struct { struct policy_handle *handle;/* [keepref,ref] */ uint16_t level;/* [keepref] */ } in; struct { union lsa_PolicyInformation *info;/* [unique,keepref,switch_is(level)] */ NTSTATUS result; } out; }; struct lsa_SetInfoPolicy { struct { NTSTATUS result; } out; }; struct lsa_ClearAuditLog { struct { NTSTATUS result; } out; }; struct lsa_CreateAccount { struct { struct policy_handle *handle;/* [keepref,ref] */ struct dom_sid2 *sid;/* [keepref,ref] */ uint32_t access_mask;/* [keepref] */ } in; struct { struct policy_handle *acct_handle;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_EnumAccounts { struct { struct policy_handle *handle;/* [keepref,ref] */ uint32_t *resume_handle;/* [keepref,ref] */ uint32_t num_entries;/* [keepref,range(0 8192)] */ } in; struct { uint32_t *resume_handle;/* [keepref,ref] */ struct lsa_SidArray *sids;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_CreateTrustedDomain { struct { struct policy_handle *handle;/* [keepref,ref] */ struct lsa_DomainInfo *info;/* [keepref,ref] */ uint32_t access_mask;/* [keepref] */ } in; struct { struct policy_handle *trustdom_handle;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_EnumTrustDom { struct { struct policy_handle *handle;/* [keepref,ref] */ uint32_t *resume_handle;/* [keepref,ref] */ uint32_t max_size;/* [keepref,range(0 1000)] */ } in; struct { uint32_t *resume_handle;/* [keepref,ref] */ struct lsa_DomainList *domains;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_LookupNames { struct { struct policy_handle *handle;/* [keepref,ref] */ uint32_t num_names;/* [keepref,range(0 1000)] */ struct lsa_String *names;/* [keepref,size_is(num_names)] */ struct lsa_TransSidArray *sids;/* [keepref,ref] */ uint16_t level;/* [keepref] */ uint32_t *count;/* [keepref,ref] */ } in; struct { struct lsa_RefDomainList *domains;/* [unique,keepref] */ struct lsa_TransSidArray *sids;/* [keepref,ref] */ uint32_t *count;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_LookupSids { struct { struct policy_handle *handle;/* [keepref,ref] */ struct lsa_SidArray *sids;/* [keepref,ref] */ struct lsa_TransNameArray *names;/* [keepref,ref] */ uint16_t level;/* [keepref] */ uint32_t *count;/* [keepref,ref] */ } in; struct { struct lsa_RefDomainList *domains;/* [unique,keepref] */ struct lsa_TransNameArray *names;/* [keepref,ref] */ uint32_t *count;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_CreateSecret { struct { struct policy_handle *handle;/* [keepref,ref] */ struct lsa_String name;/* [keepref] */ uint32_t access_mask;/* [keepref] */ } in; struct { struct policy_handle *sec_handle;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_OpenAccount { struct { struct policy_handle *handle;/* [keepref,ref] */ struct dom_sid2 *sid;/* [keepref,ref] */ uint32_t access_mask;/* [keepref] */ } in; struct { struct policy_handle *acct_handle;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_EnumPrivsAccount { struct { struct policy_handle *handle;/* [keepref,ref] */ } in; struct { struct lsa_PrivilegeSet *privs;/* [unique,keepref] */ NTSTATUS result; } out; }; struct lsa_AddPrivilegesToAccount { struct { struct policy_handle *handle;/* [keepref,ref] */ struct lsa_PrivilegeSet *privs;/* [keepref,ref] */ } in; struct { NTSTATUS result; } out; }; struct lsa_RemovePrivilegesFromAccount { struct { struct policy_handle *handle;/* [keepref,ref] */ uint8_t remove_all;/* [keepref] */ struct lsa_PrivilegeSet *privs;/* [unique,keepref] */ } in; struct { NTSTATUS result; } out; }; struct lsa_GetQuotasForAccount { struct { NTSTATUS result; } out; }; struct lsa_SetQuotasForAccount { struct { NTSTATUS result; } out; }; struct lsa_GetSystemAccessAccount { struct { NTSTATUS result; } out; }; struct lsa_SetSystemAccessAccount { struct { NTSTATUS result; } out; }; struct lsa_OpenTrustedDomain { struct { struct policy_handle *handle;/* [keepref,ref] */ struct dom_sid2 *sid;/* [keepref,ref] */ uint32_t access_mask;/* [keepref] */ } in; struct { struct policy_handle *trustdom_handle;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_QueryTrustedDomainInfo { struct { struct policy_handle *trustdom_handle;/* [keepref,ref] */ enum lsa_TrustDomInfoEnum level;/* [keepref] */ } in; struct { union lsa_TrustedDomainInfo *info;/* [unique,keepref,switch_is(level)] */ NTSTATUS result; } out; }; struct lsa_SetInformationTrustedDomain { struct { NTSTATUS result; } out; }; struct lsa_OpenSecret { struct { struct policy_handle *handle;/* [keepref,ref] */ struct lsa_String name;/* [keepref] */ uint32_t access_mask;/* [keepref] */ } in; struct { struct policy_handle *sec_handle;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_SetSecret { struct { struct policy_handle *sec_handle;/* [keepref,ref] */ struct lsa_DATA_BUF *new_val;/* [unique,keepref] */ struct lsa_DATA_BUF *old_val;/* [unique,keepref] */ } in; struct { NTSTATUS result; } out; }; struct lsa_QuerySecret { struct { struct policy_handle *sec_handle;/* [keepref,ref] */ struct lsa_DATA_BUF_PTR *new_val;/* [unique,keepref] */ NTTIME *new_mtime;/* [unique,keepref] */ struct lsa_DATA_BUF_PTR *old_val;/* [unique,keepref] */ NTTIME *old_mtime;/* [unique,keepref] */ } in; struct { struct lsa_DATA_BUF_PTR *new_val;/* [unique,keepref] */ NTTIME *new_mtime;/* [unique,keepref] */ struct lsa_DATA_BUF_PTR *old_val;/* [unique,keepref] */ NTTIME *old_mtime;/* [unique,keepref] */ NTSTATUS result; } out; }; struct lsa_LookupPrivValue { struct { struct policy_handle *handle;/* [keepref,ref] */ struct lsa_String *name;/* [keepref,ref] */ } in; struct { struct lsa_LUID *luid;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_LookupPrivName { struct { struct policy_handle *handle;/* [keepref,ref] */ struct lsa_LUID *luid;/* [keepref,ref] */ } in; struct { struct lsa_StringLarge *name;/* [unique,keepref] */ NTSTATUS result; } out; }; struct lsa_LookupPrivDisplayName { struct { struct policy_handle *handle;/* [keepref,ref] */ struct lsa_String *name;/* [keepref,ref] */ uint16_t *language_id;/* [keepref,ref] */ uint16_t unknown;/* [keepref] */ } in; struct { struct lsa_StringLarge *disp_name;/* [unique,keepref] */ uint16_t *language_id;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_DeleteObject { struct { NTSTATUS result; } out; }; struct lsa_EnumAccountsWithUserRight { struct { struct policy_handle *handle;/* [keepref,ref] */ struct lsa_String *name;/* [unique,keepref] */ } in; struct { struct lsa_SidArray *sids;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_EnumAccountRights { struct { struct policy_handle *handle;/* [keepref,ref] */ struct dom_sid2 *sid;/* [keepref,ref] */ } in; struct { struct lsa_RightSet *rights;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_AddAccountRights { struct { struct policy_handle *handle;/* [keepref,ref] */ struct dom_sid2 *sid;/* [keepref,ref] */ struct lsa_RightSet *rights;/* [keepref,ref] */ } in; struct { NTSTATUS result; } out; }; struct lsa_RemoveAccountRights { struct { struct policy_handle *handle;/* [keepref,ref] */ struct dom_sid2 *sid;/* [keepref,ref] */ uint32_t unknown;/* [keepref] */ struct lsa_RightSet *rights;/* [keepref,ref] */ } in; struct { NTSTATUS result; } out; }; struct lsa_QueryTrustedDomainInfoBySid { struct { struct policy_handle *handle;/* [keepref,ref] */ struct dom_sid2 *dom_sid;/* [keepref,ref] */ enum lsa_TrustDomInfoEnum level;/* [keepref] */ } in; struct { union lsa_TrustedDomainInfo *info;/* [unique,keepref,switch_is(level)] */ NTSTATUS result; } out; }; struct lsa_SetTrustedDomainInfo { struct { NTSTATUS result; } out; }; struct lsa_DeleteTrustedDomain { struct { struct policy_handle *handle;/* [keepref,ref] */ struct dom_sid2 *dom_sid;/* [keepref,ref] */ } in; struct { NTSTATUS result; } out; }; struct lsa_StorePrivateData { struct { NTSTATUS result; } out; }; struct lsa_RetrievePrivateData { struct { NTSTATUS result; } out; }; struct lsa_OpenPolicy2 { struct { const char *system_name;/* [unique,keepref,charset(UTF16)] */ struct lsa_ObjectAttribute *attr;/* [keepref,ref] */ uint32_t access_mask;/* [keepref] */ } in; struct { struct policy_handle *handle;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_GetUserName { struct { const char *system_name;/* [unique,keepref,charset(UTF16)] */ struct lsa_String *account_name;/* [unique,keepref] */ struct lsa_StringPointer *authority_name;/* [unique,keepref] */ } in; struct { struct lsa_String *account_name;/* [unique,keepref] */ struct lsa_StringPointer *authority_name;/* [unique,keepref] */ NTSTATUS result; } out; }; struct lsa_QueryInfoPolicy2 { struct { struct policy_handle *handle;/* [keepref,ref] */ uint16_t level;/* [keepref] */ } in; struct { union lsa_PolicyInformation *info;/* [unique,keepref,switch_is(level)] */ NTSTATUS result; } out; }; struct lsa_SetInfoPolicy2 { struct { NTSTATUS result; } out; }; struct lsa_QueryTrustedDomainInfoByName { struct { struct policy_handle *handle;/* [keepref,ref] */ struct lsa_String trusted_domain;/* [keepref] */ enum lsa_TrustDomInfoEnum level;/* [keepref] */ } in; struct { union lsa_TrustedDomainInfo *info;/* [unique,keepref,switch_is(level)] */ NTSTATUS result; } out; }; struct lsa_SetTrustedDomainInfoByName { struct { struct policy_handle *handle;/* [keepref,ref] */ struct lsa_String trusted_domain;/* [keepref] */ enum lsa_TrustDomInfoEnum level;/* [keepref] */ union lsa_TrustedDomainInfo *info;/* [unique,keepref,switch_is(level)] */ } in; struct { NTSTATUS result; } out; }; struct lsa_EnumTrustedDomainsEx { struct { struct policy_handle *handle;/* [keepref,ref] */ uint32_t *resume_handle;/* [keepref,ref] */ uint32_t max_size;/* [keepref] */ } in; struct { uint32_t *resume_handle;/* [keepref,ref] */ struct lsa_DomainListEx *domains;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_CreateTrustedDomainEx { struct { NTSTATUS result; } out; }; struct lsa_CloseTrustedDomainEx { struct { struct policy_handle *handle;/* [keepref,ref] */ } in; struct { struct policy_handle *handle;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_QueryDomainInformationPolicy { struct { struct policy_handle *handle;/* [keepref,ref] */ uint16_t level;/* [keepref] */ } in; struct { union lsa_DomainInformationPolicy *info;/* [unique,keepref,switch_is(level)] */ NTSTATUS result; } out; }; struct lsa_SetDomainInformationPolicy { struct { struct policy_handle *handle;/* [keepref,ref] */ uint16_t level;/* [keepref] */ union lsa_DomainInformationPolicy *info;/* [unique,keepref,switch_is(level)] */ } in; struct { NTSTATUS result; } out; }; struct lsa_OpenTrustedDomainByName { struct { struct policy_handle *handle;/* [keepref,ref] */ struct lsa_String name;/* [keepref] */ uint32_t access_mask;/* [keepref] */ } in; struct { struct policy_handle *trustdom_handle;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_TestCall { struct { NTSTATUS result; } out; }; struct lsa_LookupSids2 { struct { struct policy_handle *handle;/* [keepref,ref] */ struct lsa_SidArray *sids;/* [keepref,ref] */ struct lsa_TransNameArray2 *names;/* [keepref,ref] */ uint16_t level;/* [keepref] */ uint32_t *count;/* [keepref,ref] */ uint32_t unknown1;/* [keepref] */ uint32_t unknown2;/* [keepref] */ } in; struct { struct lsa_RefDomainList *domains;/* [unique,keepref] */ struct lsa_TransNameArray2 *names;/* [keepref,ref] */ uint32_t *count;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_LookupNames2 { struct { struct policy_handle *handle;/* [keepref,ref] */ uint32_t num_names;/* [keepref,range(0 1000)] */ struct lsa_String *names;/* [keepref,size_is(num_names)] */ struct lsa_TransSidArray2 *sids;/* [keepref,ref] */ uint16_t level;/* [keepref] */ uint32_t *count;/* [keepref,ref] */ uint32_t unknown1;/* [keepref] */ uint32_t unknown2;/* [keepref] */ } in; struct { struct lsa_RefDomainList *domains;/* [unique,keepref] */ struct lsa_TransSidArray2 *sids;/* [keepref,ref] */ uint32_t *count;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_CreateTrustedDomainEx2 { struct { NTSTATUS result; } out; }; struct lsa_CREDRWRITE { struct { NTSTATUS result; } out; }; struct lsa_CREDRREAD { struct { NTSTATUS result; } out; }; struct lsa_CREDRENUMERATE { struct { NTSTATUS result; } out; }; struct lsa_CREDRWRITEDOMAINCREDENTIALS { struct { NTSTATUS result; } out; }; struct lsa_CREDRREADDOMAINCREDENTIALS { struct { NTSTATUS result; } out; }; struct lsa_CREDRDELETE { struct { NTSTATUS result; } out; }; struct lsa_CREDRGETTARGETINFO { struct { NTSTATUS result; } out; }; struct lsa_CREDRPROFILELOADED { struct { NTSTATUS result; } out; }; struct lsa_LookupNames3 { struct { struct policy_handle *handle;/* [keepref,ref] */ uint32_t num_names;/* [keepref,range(0 1000)] */ struct lsa_String *names;/* [keepref,size_is(num_names)] */ struct lsa_TransSidArray3 *sids;/* [keepref,ref] */ uint16_t level;/* [keepref] */ uint32_t *count;/* [keepref,ref] */ uint32_t unknown1;/* [keepref] */ uint32_t unknown2;/* [keepref] */ } in; struct { struct lsa_RefDomainList *domains;/* [unique,keepref] */ struct lsa_TransSidArray3 *sids;/* [keepref,ref] */ uint32_t *count;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_CREDRGETSESSIONTYPES { struct { NTSTATUS result; } out; }; struct lsa_LSARREGISTERAUDITEVENT { struct { NTSTATUS result; } out; }; struct lsa_LSARGENAUDITEVENT { struct { NTSTATUS result; } out; }; struct lsa_LSARUNREGISTERAUDITEVENT { struct { NTSTATUS result; } out; }; struct lsa_LSARQUERYFORESTTRUSTINFORMATION { struct { NTSTATUS result; } out; }; struct lsa_LSARSETFORESTTRUSTINFORMATION { struct { NTSTATUS result; } out; }; struct lsa_CREDRRENAME { struct { NTSTATUS result; } out; }; struct lsa_LookupSids3 { struct { struct lsa_SidArray *sids;/* [keepref,ref] */ struct lsa_TransNameArray2 *names;/* [keepref,ref] */ uint16_t level;/* [keepref] */ uint32_t *count;/* [keepref,ref] */ uint32_t unknown1;/* [keepref] */ uint32_t unknown2;/* [keepref] */ } in; struct { struct lsa_RefDomainList *domains;/* [unique,keepref] */ struct lsa_TransNameArray2 *names;/* [keepref,ref] */ uint32_t *count;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_LookupNames4 { struct { uint32_t num_names;/* [keepref,range(0 1000)] */ struct lsa_String *names;/* [keepref,size_is(num_names)] */ struct lsa_TransSidArray3 *sids;/* [keepref,ref] */ uint16_t level;/* [keepref] */ uint32_t *count;/* [keepref,ref] */ uint32_t unknown1;/* [keepref] */ uint32_t unknown2;/* [keepref] */ } in; struct { struct lsa_RefDomainList *domains;/* [unique,keepref] */ struct lsa_TransSidArray3 *sids;/* [keepref,ref] */ uint32_t *count;/* [keepref,ref] */ NTSTATUS result; } out; }; struct lsa_LSAROPENPOLICYSCE { struct { NTSTATUS result; } out; }; struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE { struct { NTSTATUS result; } out; }; struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE { struct { NTSTATUS result; } out; }; struct lsa_LSARADTREPORTSECURITYEVENT { struct { NTSTATUS result; } out; }; #endif /* _HEADER_lsarpc */