/* header auto-generated by pidl */ #include <stdint.h> #include "libcli/util/ntstatus.h" #include "librpc/gen_ndr/misc.h" #include "librpc/gen_ndr/security.h" #ifndef _HEADER_lsarpc #define _HEADER_lsarpc #define LSA_POLICY_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|LSA_POLICY_VIEW_LOCAL_INFORMATION|LSA_POLICY_VIEW_AUDIT_INFORMATION|LSA_POLICY_GET_PRIVATE_INFORMATION|LSA_POLICY_TRUST_ADMIN|LSA_POLICY_CREATE_ACCOUNT|LSA_POLICY_CREATE_SECRET|LSA_POLICY_CREATE_PRIVILEGE|LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS|LSA_POLICY_SET_AUDIT_REQUIREMENTS|LSA_POLICY_AUDIT_LOG_ADMIN|LSA_POLICY_SERVER_ADMIN|LSA_POLICY_LOOKUP_NAMES) ) #define LSA_POLICY_READ ( (STANDARD_RIGHTS_READ_ACCESS|LSA_POLICY_VIEW_LOCAL_INFORMATION|LSA_POLICY_VIEW_AUDIT_INFORMATION|LSA_POLICY_GET_PRIVATE_INFORMATION) ) #define LSA_POLICY_WRITE ( (STANDARD_RIGHTS_READ_ACCESS|LSA_POLICY_TRUST_ADMIN|LSA_POLICY_CREATE_ACCOUNT|LSA_POLICY_CREATE_SECRET|LSA_POLICY_CREATE_PRIVILEGE|LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS|LSA_POLICY_SET_AUDIT_REQUIREMENTS|LSA_POLICY_AUDIT_LOG_ADMIN|LSA_POLICY_SERVER_ADMIN) ) #define LSA_POLICY_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|LSA_POLICY_VIEW_LOCAL_INFORMATION|LSA_POLICY_LOOKUP_NAMES) ) #define LSA_ACCOUNT_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|LSA_ACCOUNT_VIEW|LSA_ACCOUNT_ADJUST_PRIVILEGES|LSA_ACCOUNT_ADJUST_QUOTAS|LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS) ) #define LSA_ACCOUNT_READ ( (STANDARD_RIGHTS_READ_ACCESS|LSA_ACCOUNT_VIEW) ) #define LSA_ACCOUNT_WRITE ( (STANDARD_RIGHTS_READ_ACCESS|LSA_ACCOUNT_ADJUST_PRIVILEGES|LSA_ACCOUNT_ADJUST_QUOTAS|LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS) ) #define LSA_ACCOUNT_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS) ) #define LSA_ENUM_TRUST_DOMAIN_MULTIPLIER ( 60 ) #define LSA_REF_DOMAIN_LIST_MULTIPLIER ( 32 ) #define LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER ( 82 ) #define LSA_CLIENT_REVISION_NO_DNS ( 0x00000001 ) #define LSA_CLIENT_REVISION_DNS ( 0x00000002 ) #define LSA_LOOKUP_OPTIONS_NO_ISOLATED ( 0x80000000 ) struct lsa_String { uint16_t length;/* [value(2*strlen_m(string))] */ uint16_t size;/* [value(2*strlen_m(string))] */ const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */ }/* [public] */; struct lsa_StringLarge { uint16_t length;/* [value(2*strlen_m(string))] */ uint16_t size;/* [value(2*strlen_m_term(string))] */ const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */ }/* [public] */; struct lsa_Strings { uint32_t count; struct lsa_String *names;/* [unique,size_is(count)] */ }/* [public] */; struct lsa_AsciiString { uint16_t length;/* [value(strlen_m(string))] */ uint16_t size;/* [value(strlen_m(string))] */ const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */ }/* [public] */; struct lsa_AsciiStringLarge { uint16_t length;/* [value(strlen_m(string))] */ uint16_t size;/* [value(strlen_m_term(string))] */ const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */ }/* [public] */; struct lsa_BinaryString { uint16_t length; uint16_t size; uint16_t *array;/* [unique,length_is(length/2),size_is(size/2)] */ }/* [public] */; struct lsa_LUID { uint32_t low; uint32_t high; }; struct lsa_PrivEntry { struct lsa_StringLarge name; struct lsa_LUID luid; }; struct lsa_PrivArray { uint32_t count; struct lsa_PrivEntry *privs;/* [unique,size_is(count)] */ }; struct lsa_QosInfo { uint32_t len; uint16_t impersonation_level; uint8_t context_mode; uint8_t effective_only; }; struct lsa_ObjectAttribute { uint32_t len; uint8_t *root_dir;/* [unique] */ const char *object_name;/* [unique,charset(UTF16)] */ uint32_t attributes; struct security_descriptor *sec_desc;/* [unique] */ struct lsa_QosInfo *sec_qos;/* [unique] */ }; /* bitmap lsa_PolicyAccessMask */ #define LSA_POLICY_VIEW_LOCAL_INFORMATION ( 0x00000001 ) #define LSA_POLICY_VIEW_AUDIT_INFORMATION ( 0x00000002 ) #define LSA_POLICY_GET_PRIVATE_INFORMATION ( 0x00000004 ) #define LSA_POLICY_TRUST_ADMIN ( 0x00000008 ) #define LSA_POLICY_CREATE_ACCOUNT ( 0x00000010 ) #define LSA_POLICY_CREATE_SECRET ( 0x00000020 ) #define LSA_POLICY_CREATE_PRIVILEGE ( 0x00000040 ) #define LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS ( 0x00000080 ) #define LSA_POLICY_SET_AUDIT_REQUIREMENTS ( 0x00000100 ) #define LSA_POLICY_AUDIT_LOG_ADMIN ( 0x00000200 ) #define LSA_POLICY_SERVER_ADMIN ( 0x00000400 ) #define LSA_POLICY_LOOKUP_NAMES ( 0x00000800 ) #define LSA_POLICY_NOTIFICATION ( 0x00001000 ) /* bitmap lsa_AccountAccessMask */ #define LSA_ACCOUNT_VIEW ( 0x00000001 ) #define LSA_ACCOUNT_ADJUST_PRIVILEGES ( 0x00000002 ) #define LSA_ACCOUNT_ADJUST_QUOTAS ( 0x00000004 ) #define LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS ( 0x00000008 ) /* bitmap lsa_SecretAccessMask */ #define LSA_SECRET_SET_VALUE ( 0x00000001 ) #define LSA_SECRET_QUERY_VALUE ( 0x00000002 ) /* bitmap lsa_TrustedAccessMask */ #define LSA_TRUSTED_QUERY_DOMAIN_NAME ( 0x00000001 ) #define LSA_TRUSTED_QUERY_CONTROLLERS ( 0x00000002 ) #define LSA_TRUSTED_SET_CONTROLLERS ( 0x00000004 ) #define LSA_TRUSTED_QUERY_POSIX ( 0x00000008 ) #define LSA_TRUSTED_SET_POSIX ( 0x00000010 ) #define LSA_TRUSTED_SET_AUTH ( 0x00000020 ) #define LSA_TRUSTED_QUERY_AUTH ( 0x00000040 ) struct lsa_AuditLogInfo { uint32_t percent_full; uint32_t maximum_log_size; uint64_t retention_time; uint8_t shutdown_in_progress; uint64_t time_to_shutdown; uint32_t next_audit_record; }; enum lsa_PolicyAuditPolicy #ifndef USE_UINT_ENUMS { LSA_AUDIT_POLICY_NONE=(int)(0), LSA_AUDIT_POLICY_SUCCESS=(int)(1), LSA_AUDIT_POLICY_FAILURE=(int)(2), LSA_AUDIT_POLICY_ALL=(int)((LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE)), LSA_AUDIT_POLICY_CLEAR=(int)(4) } #else { __donnot_use_enum_lsa_PolicyAuditPolicy=0x7FFFFFFF} #define LSA_AUDIT_POLICY_NONE ( 0 ) #define LSA_AUDIT_POLICY_SUCCESS ( 1 ) #define LSA_AUDIT_POLICY_FAILURE ( 2 ) #define LSA_AUDIT_POLICY_ALL ( (LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE) ) #define LSA_AUDIT_POLICY_CLEAR ( 4 ) #endif ; enum lsa_PolicyAuditEventType #ifndef USE_UINT_ENUMS { LSA_AUDIT_CATEGORY_SYSTEM=(int)(0), LSA_AUDIT_CATEGORY_LOGON=(int)(1), LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS=(int)(2), LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS=(int)(3), LSA_AUDIT_CATEGORY_PROCCESS_TRACKING=(int)(4), LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES=(int)(5), LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT=(int)(6), LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS=(int)(7), LSA_AUDIT_CATEGORY_ACCOUNT_LOGON=(int)(8) } #else { __donnot_use_enum_lsa_PolicyAuditEventType=0x7FFFFFFF} #define LSA_AUDIT_CATEGORY_SYSTEM ( 0 ) #define LSA_AUDIT_CATEGORY_LOGON ( 1 ) #define LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS ( 2 ) #define LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS ( 3 ) #define LSA_AUDIT_CATEGORY_PROCCESS_TRACKING ( 4 ) #define LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES ( 5 ) #define LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT ( 6 ) #define LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS ( 7 ) #define LSA_AUDIT_CATEGORY_ACCOUNT_LOGON ( 8 ) #endif ; struct lsa_AuditEventsInfo { uint32_t auditing_mode; enum lsa_PolicyAuditPolicy *settings;/* [unique,size_is(count)] */ uint32_t count; }; struct lsa_DomainInfo { struct lsa_StringLarge name; struct dom_sid2 *sid;/* [unique] */ }; struct lsa_PDAccountInfo { struct lsa_String name; }; enum lsa_Role #ifndef USE_UINT_ENUMS { LSA_ROLE_BACKUP=(int)(2), LSA_ROLE_PRIMARY=(int)(3) } #else { __donnot_use_enum_lsa_Role=0x7FFFFFFF} #define LSA_ROLE_BACKUP ( 2 ) #define LSA_ROLE_PRIMARY ( 3 ) #endif ; struct lsa_ServerRole { enum lsa_Role role; }; struct lsa_ReplicaSourceInfo { struct lsa_String source; struct lsa_String account; }; struct lsa_DefaultQuotaInfo { uint32_t paged_pool; uint32_t non_paged_pool; uint32_t min_wss; uint32_t max_wss; uint32_t pagefile; uint64_t unknown; }; struct lsa_ModificationInfo { uint64_t modified_id; NTTIME db_create_time; }; struct lsa_AuditFullSetInfo { uint8_t shutdown_on_full; }; struct lsa_AuditFullQueryInfo { uint8_t shutdown_on_full; uint8_t log_is_full; }; struct lsa_DnsDomainInfo { struct lsa_StringLarge name; struct lsa_StringLarge dns_domain; struct lsa_StringLarge dns_forest; struct GUID domain_guid; struct dom_sid2 *sid;/* [unique] */ }; enum lsa_PolicyInfo #ifndef USE_UINT_ENUMS { LSA_POLICY_INFO_AUDIT_LOG=(int)(1), LSA_POLICY_INFO_AUDIT_EVENTS=(int)(2), LSA_POLICY_INFO_DOMAIN=(int)(3), LSA_POLICY_INFO_PD=(int)(4), LSA_POLICY_INFO_ACCOUNT_DOMAIN=(int)(5), LSA_POLICY_INFO_ROLE=(int)(6), LSA_POLICY_INFO_REPLICA=(int)(7), LSA_POLICY_INFO_QUOTA=(int)(8), LSA_POLICY_INFO_MOD=(int)(9), LSA_POLICY_INFO_AUDIT_FULL_SET=(int)(10), LSA_POLICY_INFO_AUDIT_FULL_QUERY=(int)(11), LSA_POLICY_INFO_DNS=(int)(12), LSA_POLICY_INFO_DNS_INT=(int)(13), LSA_POLICY_INFO_L_ACCOUNT_DOMAIN=(int)(14) } #else { __donnot_use_enum_lsa_PolicyInfo=0x7FFFFFFF} #define LSA_POLICY_INFO_AUDIT_LOG ( 1 ) #define LSA_POLICY_INFO_AUDIT_EVENTS ( 2 ) #define LSA_POLICY_INFO_DOMAIN ( 3 ) #define LSA_POLICY_INFO_PD ( 4 ) #define LSA_POLICY_INFO_ACCOUNT_DOMAIN ( 5 ) #define LSA_POLICY_INFO_ROLE ( 6 ) #define LSA_POLICY_INFO_REPLICA ( 7 ) #define LSA_POLICY_INFO_QUOTA ( 8 ) #define LSA_POLICY_INFO_MOD ( 9 ) #define LSA_POLICY_INFO_AUDIT_FULL_SET ( 10 ) #define LSA_POLICY_INFO_AUDIT_FULL_QUERY ( 11 ) #define LSA_POLICY_INFO_DNS ( 12 ) #define LSA_POLICY_INFO_DNS_INT ( 13 ) #define LSA_POLICY_INFO_L_ACCOUNT_DOMAIN ( 14 ) #endif ; union lsa_PolicyInformation { struct lsa_AuditLogInfo audit_log;/* [case(LSA_POLICY_INFO_AUDIT_LOG)] */ struct lsa_AuditEventsInfo audit_events;/* [case(LSA_POLICY_INFO_AUDIT_EVENTS)] */ struct lsa_DomainInfo domain;/* [case(LSA_POLICY_INFO_DOMAIN)] */ struct lsa_PDAccountInfo pd;/* [case(LSA_POLICY_INFO_PD)] */ struct lsa_DomainInfo account_domain;/* [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] */ struct lsa_ServerRole role;/* [case(LSA_POLICY_INFO_ROLE)] */ struct lsa_ReplicaSourceInfo replica;/* [case(LSA_POLICY_INFO_REPLICA)] */ struct lsa_DefaultQuotaInfo quota;/* [case(LSA_POLICY_INFO_QUOTA)] */ struct lsa_ModificationInfo mod;/* [case(LSA_POLICY_INFO_MOD)] */ struct lsa_AuditFullSetInfo auditfullset;/* [case(LSA_POLICY_INFO_AUDIT_FULL_SET)] */ struct lsa_AuditFullQueryInfo auditfullquery;/* [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] */ struct lsa_DnsDomainInfo dns;/* [case(LSA_POLICY_INFO_DNS)] */ struct lsa_DomainInfo l_account_domain;/* [case(LSA_POLICY_INFO_L_ACCOUNT_DOMAIN)] */ }/* [switch_type(uint16)] */; struct lsa_SidPtr { struct dom_sid2 *sid;/* [unique] */ }; struct lsa_SidArray { uint32_t num_sids;/* [range(0,1000)] */ struct lsa_SidPtr *sids;/* [unique,size_is(num_sids)] */ }/* [public] */; struct lsa_DomainList { uint32_t count; struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */ }; enum lsa_SidType #ifndef USE_UINT_ENUMS { SID_NAME_USE_NONE=(int)(0), SID_NAME_USER=(int)(1), SID_NAME_DOM_GRP=(int)(2), SID_NAME_DOMAIN=(int)(3), SID_NAME_ALIAS=(int)(4), SID_NAME_WKN_GRP=(int)(5), SID_NAME_DELETED=(int)(6), SID_NAME_INVALID=(int)(7), SID_NAME_UNKNOWN=(int)(8), SID_NAME_COMPUTER=(int)(9) } #else { __donnot_use_enum_lsa_SidType=0x7FFFFFFF} #define SID_NAME_USE_NONE ( 0 ) #define SID_NAME_USER ( 1 ) #define SID_NAME_DOM_GRP ( 2 ) #define SID_NAME_DOMAIN ( 3 ) #define SID_NAME_ALIAS ( 4 ) #define SID_NAME_WKN_GRP ( 5 ) #define SID_NAME_DELETED ( 6 ) #define SID_NAME_INVALID ( 7 ) #define SID_NAME_UNKNOWN ( 8 ) #define SID_NAME_COMPUTER ( 9 ) #endif ; struct lsa_TranslatedSid { enum lsa_SidType sid_type; uint32_t rid; uint32_t sid_index; }; struct lsa_TransSidArray { uint32_t count;/* [range(0,1000)] */ struct lsa_TranslatedSid *sids;/* [unique,size_is(count)] */ }; struct lsa_RefDomainList { uint32_t count;/* [range(0,1000)] */ struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */ uint32_t max_size; }; enum lsa_LookupNamesLevel #ifndef USE_UINT_ENUMS { LSA_LOOKUP_NAMES_ALL=(int)(1), LSA_LOOKUP_NAMES_DOMAINS_ONLY=(int)(2), LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY=(int)(3), LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY=(int)(4), LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY=(int)(5), LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2=(int)(6), LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC=(int)(7) } #else { __donnot_use_enum_lsa_LookupNamesLevel=0x7FFFFFFF} #define LSA_LOOKUP_NAMES_ALL ( 1 ) #define LSA_LOOKUP_NAMES_DOMAINS_ONLY ( 2 ) #define LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY ( 3 ) #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY ( 4 ) #define LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY ( 5 ) #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2 ( 6 ) #define LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC ( 7 ) #endif ; struct lsa_TranslatedName { enum lsa_SidType sid_type; struct lsa_String name; uint32_t sid_index; }; struct lsa_TransNameArray { uint32_t count;/* [range(0,1000)] */ struct lsa_TranslatedName *names;/* [unique,size_is(count)] */ }; struct lsa_LUIDAttribute { struct lsa_LUID luid; uint32_t attribute; }; struct lsa_PrivilegeSet { uint32_t count;/* [range(0,1000)] */ uint32_t unknown; struct lsa_LUIDAttribute *set;/* [size_is(count)] */ }; /* bitmap lsa_SystemAccessModeFlags */ #define LSA_POLICY_MODE_INTERACTIVE ( 0x00000001 ) #define LSA_POLICY_MODE_NETWORK ( 0x00000002 ) #define LSA_POLICY_MODE_BATCH ( 0x00000004 ) #define LSA_POLICY_MODE_SERVICE ( 0x00000010 ) #define LSA_POLICY_MODE_PROXY ( 0x00000020 ) #define LSA_POLICY_MODE_DENY_INTERACTIVE ( 0x00000040 ) #define LSA_POLICY_MODE_DENY_NETWORK ( 0x00000080 ) #define LSA_POLICY_MODE_DENY_BATCH ( 0x00000100 ) #define LSA_POLICY_MODE_DENY_SERVICE ( 0x00000200 ) #define LSA_POLICY_MODE_REMOTE_INTERACTIVE ( 0x00000400 ) #define LSA_POLICY_MODE_DENY_REMOTE_INTERACTIVE ( 0x00000800 ) #define LSA_POLICY_MODE_ALL ( 0x00000FF7 ) #define LSA_POLICY_MODE_ALL_NT4 ( 0x00000037 ) struct lsa_DATA_BUF { uint32_t length; uint32_t size; uint8_t *data;/* [unique,length_is(length),size_is(size)] */ }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; struct lsa_DATA_BUF2 { uint32_t size;/* [range(0,65536)] */ uint8_t *data;/* [unique,size_is(size)] */ }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; enum lsa_TrustDomInfoEnum #ifndef USE_UINT_ENUMS { LSA_TRUSTED_DOMAIN_INFO_NAME=(int)(1), LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS=(int)(2), LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET=(int)(3), LSA_TRUSTED_DOMAIN_INFO_PASSWORD=(int)(4), LSA_TRUSTED_DOMAIN_INFO_BASIC=(int)(5), LSA_TRUSTED_DOMAIN_INFO_INFO_EX=(int)(6), LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO=(int)(7), LSA_TRUSTED_DOMAIN_INFO_FULL_INFO=(int)(8), LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL=(int)(9), LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL=(int)(10), LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL=(int)(11), LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL=(int)(12), LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES=(int)(13) } #else { __donnot_use_enum_lsa_TrustDomInfoEnum=0x7FFFFFFF} #define LSA_TRUSTED_DOMAIN_INFO_NAME ( 1 ) #define LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS ( 2 ) #define LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET ( 3 ) #define LSA_TRUSTED_DOMAIN_INFO_PASSWORD ( 4 ) #define LSA_TRUSTED_DOMAIN_INFO_BASIC ( 5 ) #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX ( 6 ) #define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO ( 7 ) #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO ( 8 ) #define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL ( 9 ) #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL ( 10 ) #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL ( 11 ) #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL ( 12 ) #define LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES ( 13 ) #endif ; /* bitmap lsa_TrustDirection */ #define LSA_TRUST_DIRECTION_INBOUND ( 0x00000001 ) #define LSA_TRUST_DIRECTION_OUTBOUND ( 0x00000002 ) enum lsa_TrustType #ifndef USE_UINT_ENUMS { LSA_TRUST_TYPE_DOWNLEVEL=(int)(0x00000001), LSA_TRUST_TYPE_UPLEVEL=(int)(0x00000002), LSA_TRUST_TYPE_MIT=(int)(0x00000003) } #else { __donnot_use_enum_lsa_TrustType=0x7FFFFFFF} #define LSA_TRUST_TYPE_DOWNLEVEL ( 0x00000001 ) #define LSA_TRUST_TYPE_UPLEVEL ( 0x00000002 ) #define LSA_TRUST_TYPE_MIT ( 0x00000003 ) #endif ; /* bitmap lsa_TrustAttributes */ #define LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 ) #define LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 ) #define LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 ) #define LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 ) #define LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 ) #define LSA_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 ) #define LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 ) #define LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION ( 0x00000080 ) struct lsa_TrustDomainInfoName { struct lsa_StringLarge netbios_name; }; struct lsa_TrustDomainInfoControllers { uint32_t entries; struct lsa_StringLarge *netbios_names;/* [unique,size_is(entries)] */ }; struct lsa_TrustDomainInfoPosixOffset { uint32_t posix_offset; }; struct lsa_TrustDomainInfoPassword { struct lsa_DATA_BUF *password;/* [unique] */ struct lsa_DATA_BUF *old_password;/* [unique] */ }; struct lsa_TrustDomainInfoBasic { struct lsa_String netbios_name; struct dom_sid2 *sid;/* [unique] */ }; struct lsa_TrustDomainInfoInfoEx { struct lsa_StringLarge domain_name; struct lsa_StringLarge netbios_name; struct dom_sid2 *sid;/* [unique] */ uint32_t trust_direction; enum lsa_TrustType trust_type; uint32_t trust_attributes; }; enum lsa_TrustAuthType #ifndef USE_UINT_ENUMS { TRUST_AUTH_TYPE_NONE=(int)(0), TRUST_AUTH_TYPE_NT4OWF=(int)(1), TRUST_AUTH_TYPE_CLEAR=(int)(2), TRUST_AUTH_TYPE_VERSION=(int)(3) } #else { __donnot_use_enum_lsa_TrustAuthType=0x7FFFFFFF} #define TRUST_AUTH_TYPE_NONE ( 0 ) #define TRUST_AUTH_TYPE_NT4OWF ( 1 ) #define TRUST_AUTH_TYPE_CLEAR ( 2 ) #define TRUST_AUTH_TYPE_VERSION ( 3 ) #endif ; struct lsa_TrustDomainInfoBuffer { NTTIME last_update_time; enum lsa_TrustAuthType AuthType; struct lsa_DATA_BUF2 data; }; struct lsa_TrustDomainInfoAuthInfo { uint32_t incoming_count; struct lsa_TrustDomainInfoBuffer *incoming_current_auth_info;/* [unique] */ struct lsa_TrustDomainInfoBuffer *incoming_previous_auth_info;/* [unique] */ uint32_t outgoing_count; struct lsa_TrustDomainInfoBuffer *outgoing_current_auth_info;/* [unique] */ struct lsa_TrustDomainInfoBuffer *outgoing_previous_auth_info;/* [unique] */ }; struct lsa_TrustDomainInfoFullInfo { struct lsa_TrustDomainInfoInfoEx info_ex; struct lsa_TrustDomainInfoPosixOffset posix_offset; struct lsa_TrustDomainInfoAuthInfo auth_info; }; struct lsa_TrustDomainInfoAuthInfoInternal { struct lsa_DATA_BUF2 auth_blob; }; struct lsa_TrustDomainInfoFullInfoInternal { struct lsa_TrustDomainInfoInfoEx info_ex; struct lsa_TrustDomainInfoPosixOffset posix_offset; struct lsa_TrustDomainInfoAuthInfoInternal auth_info; }; struct lsa_TrustDomainInfoInfoEx2Internal { struct lsa_TrustDomainInfoInfoEx info_ex; uint32_t forest_trust_length; uint8_t *forest_trust_data;/* [unique,size_is(forest_trust_length)] */ }; struct lsa_TrustDomainInfoFullInfo2Internal { struct lsa_TrustDomainInfoInfoEx2Internal info; struct lsa_TrustDomainInfoPosixOffset posix_offset; struct lsa_TrustDomainInfoAuthInfo auth_info; }; struct lsa_TrustDomainInfoSupportedEncTypes { uint32_t enc_types; }; union lsa_TrustedDomainInfo { struct lsa_TrustDomainInfoName name;/* [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] */ struct lsa_TrustDomainInfoControllers controllers;/* [case(LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS)] */ struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] */ struct lsa_TrustDomainInfoPassword password;/* [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] */ struct lsa_TrustDomainInfoBasic info_basic;/* [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] */ struct lsa_TrustDomainInfoInfoEx info_ex;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] */ struct lsa_TrustDomainInfoAuthInfo auth_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] */ struct lsa_TrustDomainInfoFullInfo full_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] */ struct lsa_TrustDomainInfoAuthInfoInternal auth_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL)] */ struct lsa_TrustDomainInfoFullInfoInternal full_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL)] */ struct lsa_TrustDomainInfoInfoEx2Internal info_ex2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL)] */ struct lsa_TrustDomainInfoFullInfo2Internal full_info2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL)] */ struct lsa_TrustDomainInfoSupportedEncTypes enc_types;/* [case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES)] */ }/* [switch_type(lsa_TrustDomInfoEnum)] */; struct lsa_DATA_BUF_PTR { struct lsa_DATA_BUF *buf;/* [unique] */ }; struct lsa_RightAttribute { const char *name;/* [unique,charset(UTF16)] */ }; struct lsa_RightSet { uint32_t count;/* [range(0,256)] */ struct lsa_StringLarge *names;/* [unique,size_is(count)] */ }; struct lsa_DomainListEx { uint32_t count; struct lsa_TrustDomainInfoInfoEx *domains;/* [unique,size_is(count)] */ }; struct lsa_DomainInfoKerberos { uint32_t enforce_restrictions; uint64_t service_tkt_lifetime; uint64_t user_tkt_lifetime; uint64_t user_tkt_renewaltime; uint64_t clock_skew; uint64_t unknown6; }; struct lsa_DomainInfoEfs { uint32_t blob_size; uint8_t *efs_blob;/* [unique,size_is(blob_size)] */ }; enum lsa_DomainInfoEnum #ifndef USE_UINT_ENUMS { LSA_DOMAIN_INFO_POLICY_EFS=(int)(2), LSA_DOMAIN_INFO_POLICY_KERBEROS=(int)(3) } #else { __donnot_use_enum_lsa_DomainInfoEnum=0x7FFFFFFF} #define LSA_DOMAIN_INFO_POLICY_EFS ( 2 ) #define LSA_DOMAIN_INFO_POLICY_KERBEROS ( 3 ) #endif ; union lsa_DomainInformationPolicy { struct lsa_DomainInfoEfs efs_info;/* [case(LSA_DOMAIN_INFO_POLICY_EFS)] */ struct lsa_DomainInfoKerberos kerberos_info;/* [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] */ }/* [switch_type(uint16)] */; struct lsa_TranslatedName2 { enum lsa_SidType sid_type; struct lsa_String name; uint32_t sid_index; uint32_t unknown; }; struct lsa_TransNameArray2 { uint32_t count;/* [range(0,1000)] */ struct lsa_TranslatedName2 *names;/* [unique,size_is(count)] */ }; enum lsa_LookupOptions #ifndef USE_UINT_ENUMS { LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES=(int)(0x00000000), LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES_LOCAL=(int)(0x80000000) } #else { __donnot_use_enum_lsa_LookupOptions=0x7FFFFFFF} #define LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES ( 0x00000000 ) #define LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES_LOCAL ( 0x80000000 ) #endif ; enum lsa_ClientRevision #ifndef USE_UINT_ENUMS { LSA_CLIENT_REVISION_1=(int)(0x00000001), LSA_CLIENT_REVISION_2=(int)(0x00000002) } #else { __donnot_use_enum_lsa_ClientRevision=0x7FFFFFFF} #define LSA_CLIENT_REVISION_1 ( 0x00000001 ) #define LSA_CLIENT_REVISION_2 ( 0x00000002 ) #endif ; struct lsa_TranslatedSid2 { enum lsa_SidType sid_type; uint32_t rid; uint32_t sid_index; uint32_t unknown; }; struct lsa_TransSidArray2 { uint32_t count;/* [range(0,1000)] */ struct lsa_TranslatedSid2 *sids;/* [unique,size_is(count)] */ }; struct lsa_TranslatedSid3 { enum lsa_SidType sid_type; struct dom_sid2 *sid;/* [unique] */ uint32_t sid_index; uint32_t flags; }; struct lsa_TransSidArray3 { uint32_t count;/* [range(0,1000)] */ struct lsa_TranslatedSid3 *sids;/* [unique,size_is(count)] */ }; struct lsa_ForestTrustBinaryData { uint32_t length;/* [range(0,131072)] */ uint8_t *data;/* [unique,size_is(length)] */ }; struct lsa_ForestTrustDomainInfo { struct dom_sid2 *domain_sid;/* [unique] */ struct lsa_StringLarge dns_domain_name; struct lsa_StringLarge netbios_domain_name; }; union lsa_ForestTrustData { struct lsa_String top_level_name;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] */ struct lsa_StringLarge top_level_name_ex;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] */ struct lsa_ForestTrustDomainInfo domain_info;/* [case(LSA_FOREST_TRUST_DOMAIN_INFO)] */ struct lsa_ForestTrustBinaryData data;/* [default] */ }/* [switch_type(uint32)] */; enum lsa_ForestTrustRecordType #ifndef USE_UINT_ENUMS { LSA_FOREST_TRUST_TOP_LEVEL_NAME=(int)(0), LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX=(int)(1), LSA_FOREST_TRUST_DOMAIN_INFO=(int)(2), LSA_FOREST_TRUST_RECORD_TYPE_LAST=(int)(3) } #else { __donnot_use_enum_lsa_ForestTrustRecordType=0x7FFFFFFF} #define LSA_FOREST_TRUST_TOP_LEVEL_NAME ( 0 ) #define LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX ( 1 ) #define LSA_FOREST_TRUST_DOMAIN_INFO ( 2 ) #define LSA_FOREST_TRUST_RECORD_TYPE_LAST ( 3 ) #endif ; struct lsa_ForestTrustRecord { uint32_t flags; enum lsa_ForestTrustRecordType level; uint64_t unknown; union lsa_ForestTrustData forest_trust_data;/* [switch_is(level)] */ }; struct lsa_ForestTrustInformation { uint32_t count;/* [range(0,4000)] */ struct lsa_ForestTrustRecord **entries;/* [unique,size_is(count)] */ }/* [public] */; struct lsa_Close { struct { struct policy_handle *handle;/* [ref] */ } in; struct { struct policy_handle *handle;/* [ref] */ NTSTATUS result; } out; }; struct lsa_Delete { struct { struct policy_handle *handle;/* [ref] */ } in; struct { NTSTATUS result; } out; }; struct lsa_EnumPrivs { struct { struct policy_handle *handle;/* [ref] */ uint32_t max_count; uint32_t *resume_handle;/* [ref] */ } in; struct { struct lsa_PrivArray *privs;/* [ref] */ uint32_t *resume_handle;/* [ref] */ NTSTATUS result; } out; }; struct lsa_QuerySecurity { struct { struct policy_handle *handle;/* [ref] */ uint32_t sec_info; } in; struct { struct sec_desc_buf **sdbuf;/* [ref] */ NTSTATUS result; } out; }; struct lsa_SetSecObj { struct { struct policy_handle *handle;/* [ref] */ uint32_t sec_info; struct sec_desc_buf *sdbuf;/* [ref] */ } in; struct { NTSTATUS result; } out; }; struct lsa_ChangePassword { struct { NTSTATUS result; } out; }; struct lsa_OpenPolicy { struct { uint16_t *system_name;/* [unique] */ struct lsa_ObjectAttribute *attr;/* [ref] */ uint32_t access_mask; } in; struct { struct policy_handle *handle;/* [ref] */ NTSTATUS result; } out; }; struct lsa_QueryInfoPolicy { struct { struct policy_handle *handle;/* [ref] */ enum lsa_PolicyInfo level; } in; struct { union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */ NTSTATUS result; } out; }; struct lsa_SetInfoPolicy { struct { struct policy_handle *handle;/* [ref] */ enum lsa_PolicyInfo level; union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */ } in; struct { NTSTATUS result; } out; }; struct lsa_ClearAuditLog { struct { NTSTATUS result; } out; }; struct lsa_CreateAccount { struct { struct policy_handle *handle;/* [ref] */ struct dom_sid2 *sid;/* [ref] */ uint32_t access_mask; } in; struct { struct policy_handle *acct_handle;/* [ref] */ NTSTATUS result; } out; }; struct lsa_EnumAccounts { struct { struct policy_handle *handle;/* [ref] */ uint32_t num_entries;/* [range(0,8192)] */ uint32_t *resume_handle;/* [ref] */ } in; struct { struct lsa_SidArray *sids;/* [ref] */ uint32_t *resume_handle;/* [ref] */ NTSTATUS result; } out; }; struct lsa_CreateTrustedDomain { struct { struct policy_handle *policy_handle;/* [ref] */ struct lsa_DomainInfo *info;/* [ref] */ uint32_t access_mask; } in; struct { struct policy_handle *trustdom_handle;/* [ref] */ NTSTATUS result; } out; }; struct lsa_EnumTrustDom { struct { struct policy_handle *handle;/* [ref] */ uint32_t max_size; uint32_t *resume_handle;/* [ref] */ } in; struct { struct lsa_DomainList *domains;/* [ref] */ uint32_t *resume_handle;/* [ref] */ NTSTATUS result; } out; }; struct lsa_LookupNames { struct { struct policy_handle *handle;/* [ref] */ uint32_t num_names;/* [range(0,1000)] */ struct lsa_String *names;/* [size_is(num_names)] */ enum lsa_LookupNamesLevel level; struct lsa_TransSidArray *sids;/* [ref] */ uint32_t *count;/* [ref] */ } in; struct { struct lsa_RefDomainList **domains;/* [ref] */ struct lsa_TransSidArray *sids;/* [ref] */ uint32_t *count;/* [ref] */ NTSTATUS result; } out; }; struct lsa_LookupSids { struct { struct policy_handle *handle;/* [ref] */ struct lsa_SidArray *sids;/* [ref] */ enum lsa_LookupNamesLevel level; struct lsa_TransNameArray *names;/* [ref] */ uint32_t *count;/* [ref] */ } in; struct { struct lsa_RefDomainList **domains;/* [ref] */ struct lsa_TransNameArray *names;/* [ref] */ uint32_t *count;/* [ref] */ NTSTATUS result; } out; }; struct lsa_CreateSecret { struct { struct policy_handle *handle;/* [ref] */ struct lsa_String name; uint32_t access_mask; } in; struct { struct policy_handle *sec_handle;/* [ref] */ NTSTATUS result; } out; }; struct lsa_OpenAccount { struct { struct policy_handle *handle;/* [ref] */ struct dom_sid2 *sid;/* [ref] */ uint32_t access_mask; } in; struct { struct policy_handle *acct_handle;/* [ref] */ NTSTATUS result; } out; }; struct lsa_EnumPrivsAccount { struct { struct policy_handle *handle;/* [ref] */ } in; struct { struct lsa_PrivilegeSet **privs;/* [ref] */ NTSTATUS result; } out; }; struct lsa_AddPrivilegesToAccount { struct { struct policy_handle *handle;/* [ref] */ struct lsa_PrivilegeSet *privs;/* [ref] */ } in; struct { NTSTATUS result; } out; }; struct lsa_RemovePrivilegesFromAccount { struct { struct policy_handle *handle;/* [ref] */ uint8_t remove_all; struct lsa_PrivilegeSet *privs;/* [unique] */ } in; struct { NTSTATUS result; } out; }; struct lsa_GetQuotasForAccount { struct { NTSTATUS result; } out; }; struct lsa_SetQuotasForAccount { struct { NTSTATUS result; } out; }; struct lsa_GetSystemAccessAccount { struct { struct policy_handle *handle;/* [ref] */ } in; struct { uint32_t *access_mask;/* [ref] */ NTSTATUS result; } out; }; struct lsa_SetSystemAccessAccount { struct { struct policy_handle *handle;/* [ref] */ uint32_t access_mask; } in; struct { NTSTATUS result; } out; }; struct lsa_OpenTrustedDomain { struct { struct policy_handle *handle;/* [ref] */ struct dom_sid2 *sid;/* [ref] */ uint32_t access_mask; } in; struct { struct policy_handle *trustdom_handle;/* [ref] */ NTSTATUS result; } out; }; struct lsa_QueryTrustedDomainInfo { struct { struct policy_handle *trustdom_handle;/* [ref] */ enum lsa_TrustDomInfoEnum level; } in; struct { union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */ NTSTATUS result; } out; }; struct lsa_SetInformationTrustedDomain { struct { struct policy_handle *trustdom_handle;/* [ref] */ enum lsa_TrustDomInfoEnum level; union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */ } in; struct { NTSTATUS result; } out; }; struct lsa_OpenSecret { struct { struct policy_handle *handle;/* [ref] */ struct lsa_String name; uint32_t access_mask; } in; struct { struct policy_handle *sec_handle;/* [ref] */ NTSTATUS result; } out; }; struct lsa_SetSecret { struct { struct policy_handle *sec_handle;/* [ref] */ struct lsa_DATA_BUF *new_val;/* [unique] */ struct lsa_DATA_BUF *old_val;/* [unique] */ } in; struct { NTSTATUS result; } out; }; struct lsa_QuerySecret { struct { struct policy_handle *sec_handle;/* [ref] */ struct lsa_DATA_BUF_PTR *new_val;/* [unique] */ NTTIME *new_mtime;/* [unique] */ struct lsa_DATA_BUF_PTR *old_val;/* [unique] */ NTTIME *old_mtime;/* [unique] */ } in; struct { struct lsa_DATA_BUF_PTR *new_val;/* [unique] */ NTTIME *new_mtime;/* [unique] */ struct lsa_DATA_BUF_PTR *old_val;/* [unique] */ NTTIME *old_mtime;/* [unique] */ NTSTATUS result; } out; }; struct lsa_LookupPrivValue { struct { struct policy_handle *handle;/* [ref] */ struct lsa_String *name;/* [ref] */ } in; struct { struct lsa_LUID *luid;/* [ref] */ NTSTATUS result; } out; }; struct lsa_LookupPrivName { struct { struct policy_handle *handle;/* [ref] */ struct lsa_LUID *luid;/* [ref] */ } in; struct { struct lsa_StringLarge **name;/* [ref] */ NTSTATUS result; } out; }; struct lsa_LookupPrivDisplayName { struct { struct policy_handle *handle;/* [ref] */ struct lsa_String *name;/* [ref] */ uint16_t language_id; uint16_t language_id_sys; } in; struct { struct lsa_StringLarge **disp_name;/* [ref] */ uint16_t *returned_language_id;/* [ref] */ NTSTATUS result; } out; }; struct lsa_DeleteObject { struct { struct policy_handle *handle;/* [ref] */ } in; struct { struct policy_handle *handle;/* [ref] */ NTSTATUS result; } out; }; struct lsa_EnumAccountsWithUserRight { struct { struct policy_handle *handle;/* [ref] */ struct lsa_String *name;/* [unique] */ } in; struct { struct lsa_SidArray *sids;/* [ref] */ NTSTATUS result; } out; }; struct lsa_EnumAccountRights { struct { struct policy_handle *handle;/* [ref] */ struct dom_sid2 *sid;/* [ref] */ } in; struct { struct lsa_RightSet *rights;/* [ref] */ NTSTATUS result; } out; }; struct lsa_AddAccountRights { struct { struct policy_handle *handle;/* [ref] */ struct dom_sid2 *sid;/* [ref] */ struct lsa_RightSet *rights;/* [ref] */ } in; struct { NTSTATUS result; } out; }; struct lsa_RemoveAccountRights { struct { struct policy_handle *handle;/* [ref] */ struct dom_sid2 *sid;/* [ref] */ uint8_t remove_all; struct lsa_RightSet *rights;/* [ref] */ } in; struct { NTSTATUS result; } out; }; struct lsa_QueryTrustedDomainInfoBySid { struct { struct policy_handle *handle;/* [ref] */ struct dom_sid2 *dom_sid;/* [ref] */ enum lsa_TrustDomInfoEnum level; } in; struct { union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */ NTSTATUS result; } out; }; struct lsa_SetTrustedDomainInfo { struct { struct policy_handle *handle;/* [ref] */ struct dom_sid2 *dom_sid;/* [ref] */ enum lsa_TrustDomInfoEnum level; union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */ } in; struct { NTSTATUS result; } out; }; struct lsa_DeleteTrustedDomain { struct { struct policy_handle *handle;/* [ref] */ struct dom_sid2 *dom_sid;/* [ref] */ } in; struct { NTSTATUS result; } out; }; struct lsa_StorePrivateData { struct { struct policy_handle *handle;/* [ref] */ struct lsa_String *name;/* [ref] */ struct lsa_DATA_BUF *val;/* [unique] */ } in; struct { NTSTATUS result; } out; }; struct lsa_RetrievePrivateData { struct { struct policy_handle *handle;/* [ref] */ struct lsa_String *name;/* [ref] */ struct lsa_DATA_BUF **val;/* [ref] */ } in; struct { struct lsa_DATA_BUF **val;/* [ref] */ NTSTATUS result; } out; }; struct lsa_OpenPolicy2 { struct { const char *system_name;/* [unique,charset(UTF16)] */ struct lsa_ObjectAttribute *attr;/* [ref] */ uint32_t access_mask; } in; struct { struct policy_handle *handle;/* [ref] */ NTSTATUS result; } out; }; struct lsa_GetUserName { struct { const char *system_name;/* [unique,charset(UTF16)] */ struct lsa_String **account_name;/* [ref] */ struct lsa_String **authority_name;/* [unique] */ } in; struct { struct lsa_String **account_name;/* [ref] */ struct lsa_String **authority_name;/* [unique] */ NTSTATUS result; } out; }; struct lsa_QueryInfoPolicy2 { struct { struct policy_handle *handle;/* [ref] */ enum lsa_PolicyInfo level; } in; struct { union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */ NTSTATUS result; } out; }; struct lsa_SetInfoPolicy2 { struct { struct policy_handle *handle;/* [ref] */ enum lsa_PolicyInfo level; union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */ } in; struct { NTSTATUS result; } out; }; struct lsa_QueryTrustedDomainInfoByName { struct { struct policy_handle *handle;/* [ref] */ struct lsa_String *trusted_domain;/* [ref] */ enum lsa_TrustDomInfoEnum level; } in; struct { union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */ NTSTATUS result; } out; }; struct lsa_SetTrustedDomainInfoByName { struct { struct policy_handle *handle;/* [ref] */ struct lsa_String trusted_domain; enum lsa_TrustDomInfoEnum level; union lsa_TrustedDomainInfo *info;/* [unique,switch_is(level)] */ } in; struct { NTSTATUS result; } out; }; struct lsa_EnumTrustedDomainsEx { struct { struct policy_handle *handle;/* [ref] */ uint32_t max_size; uint32_t *resume_handle;/* [ref] */ } in; struct { struct lsa_DomainListEx *domains;/* [ref] */ uint32_t *resume_handle;/* [ref] */ NTSTATUS result; } out; }; struct lsa_CreateTrustedDomainEx { struct { struct policy_handle *policy_handle;/* [ref] */ struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */ struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */ uint32_t access_mask; } in; struct { struct policy_handle *trustdom_handle;/* [ref] */ NTSTATUS result; } out; }; struct lsa_CloseTrustedDomainEx { struct { struct policy_handle *handle;/* [ref] */ } in; struct { struct policy_handle *handle;/* [ref] */ NTSTATUS result; } out; }; struct lsa_QueryDomainInformationPolicy { struct { struct policy_handle *handle;/* [ref] */ uint16_t level; } in; struct { union lsa_DomainInformationPolicy **info;/* [ref,switch_is(level)] */ NTSTATUS result; } out; }; struct lsa_SetDomainInformationPolicy { struct { struct policy_handle *handle;/* [ref] */ uint16_t level; union lsa_DomainInformationPolicy *info;/* [unique,switch_is(level)] */ } in; struct { NTSTATUS result; } out; }; struct lsa_OpenTrustedDomainByName { struct { struct policy_handle *handle;/* [ref] */ struct lsa_String name; uint32_t access_mask; } in; struct { struct policy_handle *trustdom_handle;/* [ref] */ NTSTATUS result; } out; }; struct lsa_TestCall { struct { NTSTATUS result; } out; }; struct lsa_LookupSids2 { struct { struct policy_handle *handle;/* [ref] */ struct lsa_SidArray *sids;/* [ref] */ enum lsa_LookupNamesLevel level; enum lsa_LookupOptions lookup_options; enum lsa_ClientRevision client_revision; struct lsa_TransNameArray2 *names;/* [ref] */ uint32_t *count;/* [ref] */ } in; struct { struct lsa_RefDomainList **domains;/* [ref] */ struct lsa_TransNameArray2 *names;/* [ref] */ uint32_t *count;/* [ref] */ NTSTATUS result; } out; }; struct lsa_LookupNames2 { struct { struct policy_handle *handle;/* [ref] */ uint32_t num_names;/* [range(0,1000)] */ struct lsa_String *names;/* [size_is(num_names)] */ enum lsa_LookupNamesLevel level; enum lsa_LookupOptions lookup_options; enum lsa_ClientRevision client_revision; struct lsa_TransSidArray2 *sids;/* [ref] */ uint32_t *count;/* [ref] */ } in; struct { struct lsa_RefDomainList **domains;/* [ref] */ struct lsa_TransSidArray2 *sids;/* [ref] */ uint32_t *count;/* [ref] */ NTSTATUS result; } out; }; struct lsa_CreateTrustedDomainEx2 { struct { struct policy_handle *policy_handle;/* [ref] */ struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */ struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */ uint32_t access_mask; } in; struct { struct policy_handle *trustdom_handle;/* [ref] */ 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;/* [ref] */ uint32_t num_names;/* [range(0,1000)] */ struct lsa_String *names;/* [size_is(num_names)] */ enum lsa_LookupNamesLevel level; enum lsa_LookupOptions lookup_options; enum lsa_ClientRevision client_revision; struct lsa_TransSidArray3 *sids;/* [ref] */ uint32_t *count;/* [ref] */ } in; struct { struct lsa_RefDomainList **domains;/* [ref] */ struct lsa_TransSidArray3 *sids;/* [ref] */ uint32_t *count;/* [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 { struct policy_handle *handle;/* [ref] */ struct lsa_String *trusted_domain_name;/* [ref] */ uint16_t unknown; } in; struct { struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */ 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;/* [ref] */ enum lsa_LookupNamesLevel level; enum lsa_LookupOptions lookup_options; enum lsa_ClientRevision client_revision; struct lsa_TransNameArray2 *names;/* [ref] */ uint32_t *count;/* [ref] */ } in; struct { struct lsa_RefDomainList **domains;/* [ref] */ struct lsa_TransNameArray2 *names;/* [ref] */ uint32_t *count;/* [ref] */ NTSTATUS result; } out; }; struct lsa_LookupNames4 { struct { uint32_t num_names;/* [range(0,1000)] */ struct lsa_String *names;/* [size_is(num_names)] */ enum lsa_LookupNamesLevel level; enum lsa_LookupOptions lookup_options; enum lsa_ClientRevision client_revision; struct lsa_TransSidArray3 *sids;/* [ref] */ uint32_t *count;/* [ref] */ } in; struct { struct lsa_RefDomainList **domains;/* [ref] */ struct lsa_TransSidArray3 *sids;/* [ref] */ uint32_t *count;/* [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 */