1 /* header auto-generated by pidl */
5 #include "libcli/util/ntstatus.h"
7 #include "librpc/gen_ndr/misc.h"
8 #include "librpc/gen_ndr/security.h"
10 #define _HEADER_lsarpc
12 #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) )
13 #define LSA_POLICY_READ ( (STANDARD_RIGHTS_READ_ACCESS|LSA_POLICY_VIEW_LOCAL_INFORMATION|LSA_POLICY_VIEW_AUDIT_INFORMATION|LSA_POLICY_GET_PRIVATE_INFORMATION) )
14 #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) )
15 #define LSA_POLICY_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|LSA_POLICY_VIEW_LOCAL_INFORMATION|LSA_POLICY_LOOKUP_NAMES) )
16 #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) )
17 #define LSA_ACCOUNT_READ ( (STANDARD_RIGHTS_READ_ACCESS|LSA_ACCOUNT_VIEW) )
18 #define LSA_ACCOUNT_WRITE ( (STANDARD_RIGHTS_READ_ACCESS|LSA_ACCOUNT_ADJUST_PRIVILEGES|LSA_ACCOUNT_ADJUST_QUOTAS|LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS) )
19 #define LSA_ACCOUNT_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS) )
20 #define LSA_ENUM_TRUST_DOMAIN_MULTIPLIER ( 60 )
21 #define LSA_REF_DOMAIN_LIST_MULTIPLIER ( 32 )
22 #define LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER ( 82 )
23 #define LSA_CLIENT_REVISION_NO_DNS ( 0x00000001 )
24 #define LSA_CLIENT_REVISION_DNS ( 0x00000002 )
25 #define LSA_LOOKUP_OPTIONS_NO_ISOLATED ( 0x80000000 )
27 uint16_t length
;/* [value(2*strlen_m(string))] */
28 uint16_t size
;/* [value(2*strlen_m(string))] */
29 const char *string
;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
32 struct lsa_StringLarge
{
33 uint16_t length
;/* [value(2*strlen_m(string))] */
34 uint16_t size
;/* [value(2*strlen_m_term(string))] */
35 const char *string
;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
40 struct lsa_String
*names
;/* [unique,size_is(count)] */
43 struct lsa_AsciiString
{
44 uint16_t length
;/* [value(strlen_m(string))] */
45 uint16_t size
;/* [value(strlen_m(string))] */
46 const char *string
;/* [unique,charset(DOS),length_is(length),size_is(size)] */
49 struct lsa_AsciiStringLarge
{
50 uint16_t length
;/* [value(strlen_m(string))] */
51 uint16_t size
;/* [value(strlen_m_term(string))] */
52 const char *string
;/* [unique,charset(DOS),length_is(length),size_is(size)] */
55 struct lsa_BinaryString
{
58 uint16_t *array
;/* [unique,length_is(length/2),size_is(size/2)] */
66 struct lsa_PrivEntry
{
67 struct lsa_StringLarge name
;
71 struct lsa_PrivArray
{
73 struct lsa_PrivEntry
*privs
;/* [unique,size_is(count)] */
78 uint16_t impersonation_level
;
80 uint8_t effective_only
;
83 struct lsa_ObjectAttribute
{
85 uint8_t *root_dir
;/* [unique] */
86 const char *object_name
;/* [unique,charset(UTF16)] */
88 struct security_descriptor
*sec_desc
;/* [unique] */
89 struct lsa_QosInfo
*sec_qos
;/* [unique] */
92 /* bitmap lsa_PolicyAccessMask */
93 #define LSA_POLICY_VIEW_LOCAL_INFORMATION ( 0x00000001 )
94 #define LSA_POLICY_VIEW_AUDIT_INFORMATION ( 0x00000002 )
95 #define LSA_POLICY_GET_PRIVATE_INFORMATION ( 0x00000004 )
96 #define LSA_POLICY_TRUST_ADMIN ( 0x00000008 )
97 #define LSA_POLICY_CREATE_ACCOUNT ( 0x00000010 )
98 #define LSA_POLICY_CREATE_SECRET ( 0x00000020 )
99 #define LSA_POLICY_CREATE_PRIVILEGE ( 0x00000040 )
100 #define LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS ( 0x00000080 )
101 #define LSA_POLICY_SET_AUDIT_REQUIREMENTS ( 0x00000100 )
102 #define LSA_POLICY_AUDIT_LOG_ADMIN ( 0x00000200 )
103 #define LSA_POLICY_SERVER_ADMIN ( 0x00000400 )
104 #define LSA_POLICY_LOOKUP_NAMES ( 0x00000800 )
105 #define LSA_POLICY_NOTIFICATION ( 0x00001000 )
107 /* bitmap lsa_AccountAccessMask */
108 #define LSA_ACCOUNT_VIEW ( 0x00000001 )
109 #define LSA_ACCOUNT_ADJUST_PRIVILEGES ( 0x00000002 )
110 #define LSA_ACCOUNT_ADJUST_QUOTAS ( 0x00000004 )
111 #define LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS ( 0x00000008 )
113 /* bitmap lsa_SecretAccessMask */
114 #define LSA_SECRET_SET_VALUE ( 0x00000001 )
115 #define LSA_SECRET_QUERY_VALUE ( 0x00000002 )
117 /* bitmap lsa_TrustedAccessMask */
118 #define LSA_TRUSTED_QUERY_DOMAIN_NAME ( 0x00000001 )
119 #define LSA_TRUSTED_QUERY_CONTROLLERS ( 0x00000002 )
120 #define LSA_TRUSTED_SET_CONTROLLERS ( 0x00000004 )
121 #define LSA_TRUSTED_QUERY_POSIX ( 0x00000008 )
122 #define LSA_TRUSTED_SET_POSIX ( 0x00000010 )
123 #define LSA_TRUSTED_SET_AUTH ( 0x00000020 )
124 #define LSA_TRUSTED_QUERY_AUTH ( 0x00000040 )
126 struct lsa_AuditLogInfo
{
127 uint32_t percent_full
;
128 uint32_t maximum_log_size
;
129 uint64_t retention_time
;
130 uint8_t shutdown_in_progress
;
131 uint64_t time_to_shutdown
;
132 uint32_t next_audit_record
;
135 enum lsa_PolicyAuditPolicy
136 #ifndef USE_UINT_ENUMS
138 LSA_AUDIT_POLICY_NONE
=0,
139 LSA_AUDIT_POLICY_SUCCESS
=1,
140 LSA_AUDIT_POLICY_FAILURE
=2,
141 LSA_AUDIT_POLICY_ALL
=(LSA_AUDIT_POLICY_SUCCESS
|LSA_AUDIT_POLICY_FAILURE
),
142 LSA_AUDIT_POLICY_CLEAR
=4
145 { __donnot_use_enum_lsa_PolicyAuditPolicy
=0x7FFFFFFF}
146 #define LSA_AUDIT_POLICY_NONE ( 0 )
147 #define LSA_AUDIT_POLICY_SUCCESS ( 1 )
148 #define LSA_AUDIT_POLICY_FAILURE ( 2 )
149 #define LSA_AUDIT_POLICY_ALL ( (LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE) )
150 #define LSA_AUDIT_POLICY_CLEAR ( 4 )
154 enum lsa_PolicyAuditEventType
155 #ifndef USE_UINT_ENUMS
157 LSA_AUDIT_CATEGORY_SYSTEM
=0,
158 LSA_AUDIT_CATEGORY_LOGON
=1,
159 LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS
=2,
160 LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS
=3,
161 LSA_AUDIT_CATEGORY_PROCCESS_TRACKING
=4,
162 LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES
=5,
163 LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT
=6,
164 LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS
=7,
165 LSA_AUDIT_CATEGORY_ACCOUNT_LOGON
=8
168 { __donnot_use_enum_lsa_PolicyAuditEventType
=0x7FFFFFFF}
169 #define LSA_AUDIT_CATEGORY_SYSTEM ( 0 )
170 #define LSA_AUDIT_CATEGORY_LOGON ( 1 )
171 #define LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS ( 2 )
172 #define LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS ( 3 )
173 #define LSA_AUDIT_CATEGORY_PROCCESS_TRACKING ( 4 )
174 #define LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES ( 5 )
175 #define LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT ( 6 )
176 #define LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS ( 7 )
177 #define LSA_AUDIT_CATEGORY_ACCOUNT_LOGON ( 8 )
181 struct lsa_AuditEventsInfo
{
182 uint32_t auditing_mode
;
183 enum lsa_PolicyAuditPolicy
*settings
;/* [unique,size_is(count)] */
187 struct lsa_DomainInfo
{
188 struct lsa_StringLarge name
;
189 struct dom_sid2
*sid
;/* [unique] */
192 struct lsa_PDAccountInfo
{
193 struct lsa_String name
;
197 #ifndef USE_UINT_ENUMS
203 { __donnot_use_enum_lsa_Role
=0x7FFFFFFF}
204 #define LSA_ROLE_BACKUP ( 2 )
205 #define LSA_ROLE_PRIMARY ( 3 )
209 struct lsa_ServerRole
{
213 struct lsa_ReplicaSourceInfo
{
214 struct lsa_String source
;
215 struct lsa_String account
;
218 struct lsa_DefaultQuotaInfo
{
220 uint32_t non_paged_pool
;
227 struct lsa_ModificationInfo
{
228 uint64_t modified_id
;
229 NTTIME db_create_time
;
232 struct lsa_AuditFullSetInfo
{
233 uint8_t shutdown_on_full
;
236 struct lsa_AuditFullQueryInfo
{
237 uint8_t shutdown_on_full
;
241 struct lsa_DnsDomainInfo
{
242 struct lsa_StringLarge name
;
243 struct lsa_StringLarge dns_domain
;
244 struct lsa_StringLarge dns_forest
;
245 struct GUID domain_guid
;
246 struct dom_sid2
*sid
;/* [unique] */
250 #ifndef USE_UINT_ENUMS
252 LSA_POLICY_INFO_AUDIT_LOG
=1,
253 LSA_POLICY_INFO_AUDIT_EVENTS
=2,
254 LSA_POLICY_INFO_DOMAIN
=3,
255 LSA_POLICY_INFO_PD
=4,
256 LSA_POLICY_INFO_ACCOUNT_DOMAIN
=5,
257 LSA_POLICY_INFO_ROLE
=6,
258 LSA_POLICY_INFO_REPLICA
=7,
259 LSA_POLICY_INFO_QUOTA
=8,
260 LSA_POLICY_INFO_MOD
=9,
261 LSA_POLICY_INFO_AUDIT_FULL_SET
=10,
262 LSA_POLICY_INFO_AUDIT_FULL_QUERY
=11,
263 LSA_POLICY_INFO_DNS
=12,
264 LSA_POLICY_INFO_DNS_INT
=13,
265 LSA_POLICY_INFO_L_ACCOUNT_DOMAIN
=14
268 { __donnot_use_enum_lsa_PolicyInfo
=0x7FFFFFFF}
269 #define LSA_POLICY_INFO_AUDIT_LOG ( 1 )
270 #define LSA_POLICY_INFO_AUDIT_EVENTS ( 2 )
271 #define LSA_POLICY_INFO_DOMAIN ( 3 )
272 #define LSA_POLICY_INFO_PD ( 4 )
273 #define LSA_POLICY_INFO_ACCOUNT_DOMAIN ( 5 )
274 #define LSA_POLICY_INFO_ROLE ( 6 )
275 #define LSA_POLICY_INFO_REPLICA ( 7 )
276 #define LSA_POLICY_INFO_QUOTA ( 8 )
277 #define LSA_POLICY_INFO_MOD ( 9 )
278 #define LSA_POLICY_INFO_AUDIT_FULL_SET ( 10 )
279 #define LSA_POLICY_INFO_AUDIT_FULL_QUERY ( 11 )
280 #define LSA_POLICY_INFO_DNS ( 12 )
281 #define LSA_POLICY_INFO_DNS_INT ( 13 )
282 #define LSA_POLICY_INFO_L_ACCOUNT_DOMAIN ( 14 )
286 union lsa_PolicyInformation
{
287 struct lsa_AuditLogInfo audit_log
;/* [case(LSA_POLICY_INFO_AUDIT_LOG)] */
288 struct lsa_AuditEventsInfo audit_events
;/* [case(LSA_POLICY_INFO_AUDIT_EVENTS)] */
289 struct lsa_DomainInfo domain
;/* [case(LSA_POLICY_INFO_DOMAIN)] */
290 struct lsa_PDAccountInfo pd
;/* [case(LSA_POLICY_INFO_PD)] */
291 struct lsa_DomainInfo account_domain
;/* [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] */
292 struct lsa_ServerRole role
;/* [case(LSA_POLICY_INFO_ROLE)] */
293 struct lsa_ReplicaSourceInfo replica
;/* [case(LSA_POLICY_INFO_REPLICA)] */
294 struct lsa_DefaultQuotaInfo quota
;/* [case(LSA_POLICY_INFO_QUOTA)] */
295 struct lsa_ModificationInfo mod
;/* [case(LSA_POLICY_INFO_MOD)] */
296 struct lsa_AuditFullSetInfo auditfullset
;/* [case(LSA_POLICY_INFO_AUDIT_FULL_SET)] */
297 struct lsa_AuditFullQueryInfo auditfullquery
;/* [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] */
298 struct lsa_DnsDomainInfo dns
;/* [case(LSA_POLICY_INFO_DNS)] */
299 struct lsa_DomainInfo l_account_domain
;/* [case(LSA_POLICY_INFO_L_ACCOUNT_DOMAIN)] */
300 }/* [switch_type(uint16)] */;
303 struct dom_sid2
*sid
;/* [unique] */
306 struct lsa_SidArray
{
307 uint32_t num_sids
;/* [range(0,1000)] */
308 struct lsa_SidPtr
*sids
;/* [unique,size_is(num_sids)] */
311 struct lsa_DomainList
{
313 struct lsa_DomainInfo
*domains
;/* [unique,size_is(count)] */
317 #ifndef USE_UINT_ENUMS
331 { __donnot_use_enum_lsa_SidType
=0x7FFFFFFF}
332 #define SID_NAME_USE_NONE ( 0 )
333 #define SID_NAME_USER ( 1 )
334 #define SID_NAME_DOM_GRP ( 2 )
335 #define SID_NAME_DOMAIN ( 3 )
336 #define SID_NAME_ALIAS ( 4 )
337 #define SID_NAME_WKN_GRP ( 5 )
338 #define SID_NAME_DELETED ( 6 )
339 #define SID_NAME_INVALID ( 7 )
340 #define SID_NAME_UNKNOWN ( 8 )
341 #define SID_NAME_COMPUTER ( 9 )
345 struct lsa_TranslatedSid
{
346 enum lsa_SidType sid_type
;
351 struct lsa_TransSidArray
{
352 uint32_t count
;/* [range(0,1000)] */
353 struct lsa_TranslatedSid
*sids
;/* [unique,size_is(count)] */
356 struct lsa_RefDomainList
{
357 uint32_t count
;/* [range(0,1000)] */
358 struct lsa_DomainInfo
*domains
;/* [unique,size_is(count)] */
362 enum lsa_LookupNamesLevel
363 #ifndef USE_UINT_ENUMS
365 LSA_LOOKUP_NAMES_ALL
=1,
366 LSA_LOOKUP_NAMES_DOMAINS_ONLY
=2,
367 LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY
=3,
368 LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY
=4,
369 LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY
=5,
370 LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2
=6,
371 LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC
=7
374 { __donnot_use_enum_lsa_LookupNamesLevel
=0x7FFFFFFF}
375 #define LSA_LOOKUP_NAMES_ALL ( 1 )
376 #define LSA_LOOKUP_NAMES_DOMAINS_ONLY ( 2 )
377 #define LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY ( 3 )
378 #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY ( 4 )
379 #define LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY ( 5 )
380 #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2 ( 6 )
381 #define LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC ( 7 )
385 struct lsa_TranslatedName
{
386 enum lsa_SidType sid_type
;
387 struct lsa_String name
;
391 struct lsa_TransNameArray
{
392 uint32_t count
;/* [range(0,1000)] */
393 struct lsa_TranslatedName
*names
;/* [unique,size_is(count)] */
396 struct lsa_LUIDAttribute
{
397 struct lsa_LUID luid
;
401 struct lsa_PrivilegeSet
{
402 uint32_t count
;/* [range(0,1000)] */
404 struct lsa_LUIDAttribute
*set
;/* [size_is(count)] */
407 /* bitmap lsa_SystemAccessModeFlags */
408 #define LSA_POLICY_MODE_INTERACTIVE ( 0x00000001 )
409 #define LSA_POLICY_MODE_NETWORK ( 0x00000002 )
410 #define LSA_POLICY_MODE_BATCH ( 0x00000004 )
411 #define LSA_POLICY_MODE_SERVICE ( 0x00000010 )
412 #define LSA_POLICY_MODE_PROXY ( 0x00000020 )
413 #define LSA_POLICY_MODE_DENY_INTERACTIVE ( 0x00000040 )
414 #define LSA_POLICY_MODE_DENY_NETWORK ( 0x00000080 )
415 #define LSA_POLICY_MODE_DENY_BATCH ( 0x00000100 )
416 #define LSA_POLICY_MODE_DENY_SERVICE ( 0x00000200 )
417 #define LSA_POLICY_MODE_REMOTE_INTERACTIVE ( 0x00000400 )
418 #define LSA_POLICY_MODE_DENY_REMOTE_INTERACTIVE ( 0x00000800 )
419 #define LSA_POLICY_MODE_ALL ( 0x00000FF7 )
420 #define LSA_POLICY_MODE_ALL_NT4 ( 0x00000037 )
422 struct lsa_DATA_BUF
{
425 uint8_t *data
;/* [unique,length_is(length),size_is(size)] */
426 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
428 struct lsa_DATA_BUF2
{
429 uint32_t size
;/* [range(0,65536)] */
430 uint8_t *data
;/* [unique,size_is(size)] */
431 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
433 enum lsa_TrustDomInfoEnum
434 #ifndef USE_UINT_ENUMS
436 LSA_TRUSTED_DOMAIN_INFO_NAME
=1,
437 LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS
=2,
438 LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
=3,
439 LSA_TRUSTED_DOMAIN_INFO_PASSWORD
=4,
440 LSA_TRUSTED_DOMAIN_INFO_BASIC
=5,
441 LSA_TRUSTED_DOMAIN_INFO_INFO_EX
=6,
442 LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
=7,
443 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
=8,
444 LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL
=9,
445 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL
=10,
446 LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL
=11,
447 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL
=12,
448 LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES
=13
451 { __donnot_use_enum_lsa_TrustDomInfoEnum
=0x7FFFFFFF}
452 #define LSA_TRUSTED_DOMAIN_INFO_NAME ( 1 )
453 #define LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS ( 2 )
454 #define LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET ( 3 )
455 #define LSA_TRUSTED_DOMAIN_INFO_PASSWORD ( 4 )
456 #define LSA_TRUSTED_DOMAIN_INFO_BASIC ( 5 )
457 #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX ( 6 )
458 #define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO ( 7 )
459 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO ( 8 )
460 #define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL ( 9 )
461 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL ( 10 )
462 #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL ( 11 )
463 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL ( 12 )
464 #define LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES ( 13 )
468 /* bitmap lsa_TrustDirection */
469 #define LSA_TRUST_DIRECTION_INBOUND ( 0x00000001 )
470 #define LSA_TRUST_DIRECTION_OUTBOUND ( 0x00000002 )
473 #ifndef USE_UINT_ENUMS
475 LSA_TRUST_TYPE_DOWNLEVEL
=0x00000001,
476 LSA_TRUST_TYPE_UPLEVEL
=0x00000002,
477 LSA_TRUST_TYPE_MIT
=0x00000003
480 { __donnot_use_enum_lsa_TrustType
=0x7FFFFFFF}
481 #define LSA_TRUST_TYPE_DOWNLEVEL ( 0x00000001 )
482 #define LSA_TRUST_TYPE_UPLEVEL ( 0x00000002 )
483 #define LSA_TRUST_TYPE_MIT ( 0x00000003 )
487 /* bitmap lsa_TrustAttributes */
488 #define LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
489 #define LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
490 #define LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
491 #define LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
492 #define LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
493 #define LSA_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
494 #define LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
495 #define LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION ( 0x00000080 )
497 struct lsa_TrustDomainInfoName
{
498 struct lsa_StringLarge netbios_name
;
501 struct lsa_TrustDomainInfoControllers
{
503 struct lsa_StringLarge
*netbios_names
;/* [unique,size_is(entries)] */
506 struct lsa_TrustDomainInfoPosixOffset
{
507 uint32_t posix_offset
;
510 struct lsa_TrustDomainInfoPassword
{
511 struct lsa_DATA_BUF
*password
;/* [unique] */
512 struct lsa_DATA_BUF
*old_password
;/* [unique] */
515 struct lsa_TrustDomainInfoBasic
{
516 struct lsa_String netbios_name
;
517 struct dom_sid2
*sid
;/* [unique] */
520 struct lsa_TrustDomainInfoInfoEx
{
521 struct lsa_StringLarge domain_name
;
522 struct lsa_StringLarge netbios_name
;
523 struct dom_sid2
*sid
;/* [unique] */
524 uint32_t trust_direction
;
525 enum lsa_TrustType trust_type
;
526 uint32_t trust_attributes
;
529 enum lsa_TrustAuthType
530 #ifndef USE_UINT_ENUMS
532 TRUST_AUTH_TYPE_NONE
=0,
533 TRUST_AUTH_TYPE_NT4OWF
=1,
534 TRUST_AUTH_TYPE_CLEAR
=2,
535 TRUST_AUTH_TYPE_VERSION
=3
538 { __donnot_use_enum_lsa_TrustAuthType
=0x7FFFFFFF}
539 #define TRUST_AUTH_TYPE_NONE ( 0 )
540 #define TRUST_AUTH_TYPE_NT4OWF ( 1 )
541 #define TRUST_AUTH_TYPE_CLEAR ( 2 )
542 #define TRUST_AUTH_TYPE_VERSION ( 3 )
546 struct lsa_TrustDomainInfoBuffer
{
547 NTTIME last_update_time
;
548 enum lsa_TrustAuthType AuthType
;
549 struct lsa_DATA_BUF2 data
;
552 struct lsa_TrustDomainInfoAuthInfo
{
553 uint32_t incoming_count
;
554 struct lsa_TrustDomainInfoBuffer
*incoming_current_auth_info
;/* [unique] */
555 struct lsa_TrustDomainInfoBuffer
*incoming_previous_auth_info
;/* [unique] */
556 uint32_t outgoing_count
;
557 struct lsa_TrustDomainInfoBuffer
*outgoing_current_auth_info
;/* [unique] */
558 struct lsa_TrustDomainInfoBuffer
*outgoing_previous_auth_info
;/* [unique] */
561 struct lsa_TrustDomainInfoFullInfo
{
562 struct lsa_TrustDomainInfoInfoEx info_ex
;
563 struct lsa_TrustDomainInfoPosixOffset posix_offset
;
564 struct lsa_TrustDomainInfoAuthInfo auth_info
;
567 struct lsa_TrustDomainInfoAuthInfoInternal
{
568 struct lsa_DATA_BUF2 auth_blob
;
571 struct lsa_TrustDomainInfoFullInfoInternal
{
572 struct lsa_TrustDomainInfoInfoEx info_ex
;
573 struct lsa_TrustDomainInfoPosixOffset posix_offset
;
574 struct lsa_TrustDomainInfoAuthInfoInternal auth_info
;
577 struct lsa_TrustDomainInfoInfoEx2Internal
{
578 struct lsa_TrustDomainInfoInfoEx info_ex
;
579 uint32_t forest_trust_length
;
580 uint8_t *forest_trust_data
;/* [unique,size_is(forest_trust_length)] */
583 struct lsa_TrustDomainInfoFullInfo2Internal
{
584 struct lsa_TrustDomainInfoInfoEx2Internal info
;
585 struct lsa_TrustDomainInfoPosixOffset posix_offset
;
586 struct lsa_TrustDomainInfoAuthInfo auth_info
;
589 struct lsa_TrustDomainInfoSupportedEncTypes
{
593 union lsa_TrustedDomainInfo
{
594 struct lsa_TrustDomainInfoName name
;/* [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] */
595 struct lsa_TrustDomainInfoControllers controllers
;/* [case(LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS)] */
596 struct lsa_TrustDomainInfoPosixOffset posix_offset
;/* [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] */
597 struct lsa_TrustDomainInfoPassword password
;/* [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] */
598 struct lsa_TrustDomainInfoBasic info_basic
;/* [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] */
599 struct lsa_TrustDomainInfoInfoEx info_ex
;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] */
600 struct lsa_TrustDomainInfoAuthInfo auth_info
;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] */
601 struct lsa_TrustDomainInfoFullInfo full_info
;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] */
602 struct lsa_TrustDomainInfoAuthInfoInternal auth_info_internal
;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL)] */
603 struct lsa_TrustDomainInfoFullInfoInternal full_info_internal
;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL)] */
604 struct lsa_TrustDomainInfoInfoEx2Internal info_ex2_internal
;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL)] */
605 struct lsa_TrustDomainInfoFullInfo2Internal full_info2_internal
;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL)] */
606 struct lsa_TrustDomainInfoSupportedEncTypes enc_types
;/* [case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES)] */
607 }/* [switch_type(lsa_TrustDomInfoEnum)] */;
609 struct lsa_DATA_BUF_PTR
{
610 struct lsa_DATA_BUF
*buf
;/* [unique] */
613 struct lsa_RightAttribute
{
614 const char *name
;/* [unique,charset(UTF16)] */
617 struct lsa_RightSet
{
618 uint32_t count
;/* [range(0,256)] */
619 struct lsa_StringLarge
*names
;/* [unique,size_is(count)] */
622 struct lsa_DomainListEx
{
624 struct lsa_TrustDomainInfoInfoEx
*domains
;/* [unique,size_is(count)] */
627 struct lsa_DomainInfoKerberos
{
628 uint32_t enforce_restrictions
;
629 uint64_t service_tkt_lifetime
;
630 uint64_t user_tkt_lifetime
;
631 uint64_t user_tkt_renewaltime
;
636 struct lsa_DomainInfoEfs
{
638 uint8_t *efs_blob
;/* [unique,size_is(blob_size)] */
641 enum lsa_DomainInfoEnum
642 #ifndef USE_UINT_ENUMS
644 LSA_DOMAIN_INFO_POLICY_EFS
=2,
645 LSA_DOMAIN_INFO_POLICY_KERBEROS
=3
648 { __donnot_use_enum_lsa_DomainInfoEnum
=0x7FFFFFFF}
649 #define LSA_DOMAIN_INFO_POLICY_EFS ( 2 )
650 #define LSA_DOMAIN_INFO_POLICY_KERBEROS ( 3 )
654 union lsa_DomainInformationPolicy
{
655 struct lsa_DomainInfoEfs efs_info
;/* [case(LSA_DOMAIN_INFO_POLICY_EFS)] */
656 struct lsa_DomainInfoKerberos kerberos_info
;/* [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] */
657 }/* [switch_type(uint16)] */;
659 struct lsa_TranslatedName2
{
660 enum lsa_SidType sid_type
;
661 struct lsa_String name
;
666 struct lsa_TransNameArray2
{
667 uint32_t count
;/* [range(0,1000)] */
668 struct lsa_TranslatedName2
*names
;/* [unique,size_is(count)] */
671 struct lsa_TranslatedSid2
{
672 enum lsa_SidType sid_type
;
678 struct lsa_TransSidArray2
{
679 uint32_t count
;/* [range(0,1000)] */
680 struct lsa_TranslatedSid2
*sids
;/* [unique,size_is(count)] */
683 struct lsa_TranslatedSid3
{
684 enum lsa_SidType sid_type
;
685 struct dom_sid2
*sid
;/* [unique] */
690 struct lsa_TransSidArray3
{
691 uint32_t count
;/* [range(0,1000)] */
692 struct lsa_TranslatedSid3
*sids
;/* [unique,size_is(count)] */
695 struct lsa_ForestTrustBinaryData
{
696 uint32_t length
;/* [range(0,131072)] */
697 uint8_t *data
;/* [unique,size_is(length)] */
700 struct lsa_ForestTrustDomainInfo
{
701 struct dom_sid2
*domain_sid
;/* [unique] */
702 struct lsa_StringLarge dns_domain_name
;
703 struct lsa_StringLarge netbios_domain_name
;
706 union lsa_ForestTrustData
{
707 struct lsa_String top_level_name
;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] */
708 struct lsa_StringLarge top_level_name_ex
;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] */
709 struct lsa_ForestTrustDomainInfo domain_info
;/* [case(LSA_FOREST_TRUST_DOMAIN_INFO)] */
710 struct lsa_ForestTrustBinaryData data
;/* [default] */
711 }/* [switch_type(uint32)] */;
713 enum lsa_ForestTrustRecordType
714 #ifndef USE_UINT_ENUMS
716 LSA_FOREST_TRUST_TOP_LEVEL_NAME
=0,
717 LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
=1,
718 LSA_FOREST_TRUST_DOMAIN_INFO
=2,
719 LSA_FOREST_TRUST_RECORD_TYPE_LAST
=3
722 { __donnot_use_enum_lsa_ForestTrustRecordType
=0x7FFFFFFF}
723 #define LSA_FOREST_TRUST_TOP_LEVEL_NAME ( 0 )
724 #define LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX ( 1 )
725 #define LSA_FOREST_TRUST_DOMAIN_INFO ( 2 )
726 #define LSA_FOREST_TRUST_RECORD_TYPE_LAST ( 3 )
730 struct lsa_ForestTrustRecord
{
732 enum lsa_ForestTrustRecordType level
;
734 union lsa_ForestTrustData forest_trust_data
;/* [switch_is(level)] */
737 struct lsa_ForestTrustInformation
{
738 uint32_t count
;/* [range(0,4000)] */
739 struct lsa_ForestTrustRecord
**entries
;/* [unique,size_is(count)] */
745 struct policy_handle
*handle
;/* [ref] */
749 struct policy_handle
*handle
;/* [ref] */
758 struct policy_handle
*handle
;/* [ref] */
768 struct lsa_EnumPrivs
{
770 struct policy_handle
*handle
;/* [ref] */
772 uint32_t *resume_handle
;/* [ref] */
776 struct lsa_PrivArray
*privs
;/* [ref] */
777 uint32_t *resume_handle
;/* [ref] */
784 struct lsa_QuerySecurity
{
786 struct policy_handle
*handle
;/* [ref] */
791 struct sec_desc_buf
**sdbuf
;/* [ref] */
798 struct lsa_SetSecObj
{
800 struct policy_handle
*handle
;/* [ref] */
802 struct sec_desc_buf
*sdbuf
;/* [ref] */
812 struct lsa_ChangePassword
{
820 struct lsa_OpenPolicy
{
822 uint16_t *system_name
;/* [unique] */
823 struct lsa_ObjectAttribute
*attr
;/* [ref] */
824 uint32_t access_mask
;
828 struct policy_handle
*handle
;/* [ref] */
835 struct lsa_QueryInfoPolicy
{
837 struct policy_handle
*handle
;/* [ref] */
838 enum lsa_PolicyInfo level
;
842 union lsa_PolicyInformation
**info
;/* [ref,switch_is(level)] */
849 struct lsa_SetInfoPolicy
{
851 struct policy_handle
*handle
;/* [ref] */
852 enum lsa_PolicyInfo level
;
853 union lsa_PolicyInformation
*info
;/* [ref,switch_is(level)] */
863 struct lsa_ClearAuditLog
{
871 struct lsa_CreateAccount
{
873 struct policy_handle
*handle
;/* [ref] */
874 struct dom_sid2
*sid
;/* [ref] */
875 uint32_t access_mask
;
879 struct policy_handle
*acct_handle
;/* [ref] */
886 struct lsa_EnumAccounts
{
888 struct policy_handle
*handle
;/* [ref] */
889 uint32_t num_entries
;/* [range(0,8192)] */
890 uint32_t *resume_handle
;/* [ref] */
894 struct lsa_SidArray
*sids
;/* [ref] */
895 uint32_t *resume_handle
;/* [ref] */
902 struct lsa_CreateTrustedDomain
{
904 struct policy_handle
*policy_handle
;/* [ref] */
905 struct lsa_DomainInfo
*info
;/* [ref] */
906 uint32_t access_mask
;
910 struct policy_handle
*trustdom_handle
;/* [ref] */
917 struct lsa_EnumTrustDom
{
919 struct policy_handle
*handle
;/* [ref] */
921 uint32_t *resume_handle
;/* [ref] */
925 struct lsa_DomainList
*domains
;/* [ref] */
926 uint32_t *resume_handle
;/* [ref] */
933 struct lsa_LookupNames
{
935 struct policy_handle
*handle
;/* [ref] */
936 uint32_t num_names
;/* [range(0,1000)] */
937 struct lsa_String
*names
;/* [size_is(num_names)] */
938 enum lsa_LookupNamesLevel level
;
939 struct lsa_TransSidArray
*sids
;/* [ref] */
940 uint32_t *count
;/* [ref] */
944 struct lsa_RefDomainList
**domains
;/* [ref] */
945 struct lsa_TransSidArray
*sids
;/* [ref] */
946 uint32_t *count
;/* [ref] */
953 struct lsa_LookupSids
{
955 struct policy_handle
*handle
;/* [ref] */
956 struct lsa_SidArray
*sids
;/* [ref] */
958 struct lsa_TransNameArray
*names
;/* [ref] */
959 uint32_t *count
;/* [ref] */
963 struct lsa_RefDomainList
**domains
;/* [ref] */
964 struct lsa_TransNameArray
*names
;/* [ref] */
965 uint32_t *count
;/* [ref] */
972 struct lsa_CreateSecret
{
974 struct policy_handle
*handle
;/* [ref] */
975 struct lsa_String name
;
976 uint32_t access_mask
;
980 struct policy_handle
*sec_handle
;/* [ref] */
987 struct lsa_OpenAccount
{
989 struct policy_handle
*handle
;/* [ref] */
990 struct dom_sid2
*sid
;/* [ref] */
991 uint32_t access_mask
;
995 struct policy_handle
*acct_handle
;/* [ref] */
1002 struct lsa_EnumPrivsAccount
{
1004 struct policy_handle
*handle
;/* [ref] */
1008 struct lsa_PrivilegeSet
**privs
;/* [ref] */
1015 struct lsa_AddPrivilegesToAccount
{
1017 struct policy_handle
*handle
;/* [ref] */
1018 struct lsa_PrivilegeSet
*privs
;/* [ref] */
1028 struct lsa_RemovePrivilegesFromAccount
{
1030 struct policy_handle
*handle
;/* [ref] */
1032 struct lsa_PrivilegeSet
*privs
;/* [unique] */
1042 struct lsa_GetQuotasForAccount
{
1050 struct lsa_SetQuotasForAccount
{
1058 struct lsa_GetSystemAccessAccount
{
1060 struct policy_handle
*handle
;/* [ref] */
1064 uint32_t *access_mask
;/* [ref] */
1071 struct lsa_SetSystemAccessAccount
{
1073 struct policy_handle
*handle
;/* [ref] */
1074 uint32_t access_mask
;
1084 struct lsa_OpenTrustedDomain
{
1086 struct policy_handle
*handle
;/* [ref] */
1087 struct dom_sid2
*sid
;/* [ref] */
1088 uint32_t access_mask
;
1092 struct policy_handle
*trustdom_handle
;/* [ref] */
1099 struct lsa_QueryTrustedDomainInfo
{
1101 struct policy_handle
*trustdom_handle
;/* [ref] */
1102 enum lsa_TrustDomInfoEnum level
;
1106 union lsa_TrustedDomainInfo
**info
;/* [ref,switch_is(level)] */
1113 struct lsa_SetInformationTrustedDomain
{
1115 struct policy_handle
*trustdom_handle
;/* [ref] */
1116 enum lsa_TrustDomInfoEnum level
;
1117 union lsa_TrustedDomainInfo
*info
;/* [ref,switch_is(level)] */
1127 struct lsa_OpenSecret
{
1129 struct policy_handle
*handle
;/* [ref] */
1130 struct lsa_String name
;
1131 uint32_t access_mask
;
1135 struct policy_handle
*sec_handle
;/* [ref] */
1142 struct lsa_SetSecret
{
1144 struct policy_handle
*sec_handle
;/* [ref] */
1145 struct lsa_DATA_BUF
*new_val
;/* [unique] */
1146 struct lsa_DATA_BUF
*old_val
;/* [unique] */
1156 struct lsa_QuerySecret
{
1158 struct policy_handle
*sec_handle
;/* [ref] */
1159 struct lsa_DATA_BUF_PTR
*new_val
;/* [unique] */
1160 NTTIME
*new_mtime
;/* [unique] */
1161 struct lsa_DATA_BUF_PTR
*old_val
;/* [unique] */
1162 NTTIME
*old_mtime
;/* [unique] */
1166 struct lsa_DATA_BUF_PTR
*new_val
;/* [unique] */
1167 NTTIME
*new_mtime
;/* [unique] */
1168 struct lsa_DATA_BUF_PTR
*old_val
;/* [unique] */
1169 NTTIME
*old_mtime
;/* [unique] */
1176 struct lsa_LookupPrivValue
{
1178 struct policy_handle
*handle
;/* [ref] */
1179 struct lsa_String
*name
;/* [ref] */
1183 struct lsa_LUID
*luid
;/* [ref] */
1190 struct lsa_LookupPrivName
{
1192 struct policy_handle
*handle
;/* [ref] */
1193 struct lsa_LUID
*luid
;/* [ref] */
1197 struct lsa_StringLarge
**name
;/* [ref] */
1204 struct lsa_LookupPrivDisplayName
{
1206 struct policy_handle
*handle
;/* [ref] */
1207 struct lsa_String
*name
;/* [ref] */
1208 uint16_t language_id
;
1209 uint16_t language_id_sys
;
1213 struct lsa_StringLarge
**disp_name
;/* [ref] */
1214 uint16_t *returned_language_id
;/* [ref] */
1221 struct lsa_DeleteObject
{
1223 struct policy_handle
*handle
;/* [ref] */
1227 struct policy_handle
*handle
;/* [ref] */
1234 struct lsa_EnumAccountsWithUserRight
{
1236 struct policy_handle
*handle
;/* [ref] */
1237 struct lsa_String
*name
;/* [unique] */
1241 struct lsa_SidArray
*sids
;/* [ref] */
1248 struct lsa_EnumAccountRights
{
1250 struct policy_handle
*handle
;/* [ref] */
1251 struct dom_sid2
*sid
;/* [ref] */
1255 struct lsa_RightSet
*rights
;/* [ref] */
1262 struct lsa_AddAccountRights
{
1264 struct policy_handle
*handle
;/* [ref] */
1265 struct dom_sid2
*sid
;/* [ref] */
1266 struct lsa_RightSet
*rights
;/* [ref] */
1276 struct lsa_RemoveAccountRights
{
1278 struct policy_handle
*handle
;/* [ref] */
1279 struct dom_sid2
*sid
;/* [ref] */
1281 struct lsa_RightSet
*rights
;/* [ref] */
1291 struct lsa_QueryTrustedDomainInfoBySid
{
1293 struct policy_handle
*handle
;/* [ref] */
1294 struct dom_sid2
*dom_sid
;/* [ref] */
1295 enum lsa_TrustDomInfoEnum level
;
1299 union lsa_TrustedDomainInfo
**info
;/* [ref,switch_is(level)] */
1306 struct lsa_SetTrustedDomainInfo
{
1308 struct policy_handle
*handle
;/* [ref] */
1309 struct dom_sid2
*dom_sid
;/* [ref] */
1310 enum lsa_TrustDomInfoEnum level
;
1311 union lsa_TrustedDomainInfo
*info
;/* [ref,switch_is(level)] */
1321 struct lsa_DeleteTrustedDomain
{
1323 struct policy_handle
*handle
;/* [ref] */
1324 struct dom_sid2
*dom_sid
;/* [ref] */
1334 struct lsa_StorePrivateData
{
1336 struct policy_handle
*handle
;/* [ref] */
1337 struct lsa_String
*name
;/* [ref] */
1338 struct lsa_DATA_BUF
*val
;/* [unique] */
1348 struct lsa_RetrievePrivateData
{
1350 struct policy_handle
*handle
;/* [ref] */
1351 struct lsa_String
*name
;/* [ref] */
1352 struct lsa_DATA_BUF
**val
;/* [ref] */
1356 struct lsa_DATA_BUF
**val
;/* [ref] */
1363 struct lsa_OpenPolicy2
{
1365 const char *system_name
;/* [unique,charset(UTF16)] */
1366 struct lsa_ObjectAttribute
*attr
;/* [ref] */
1367 uint32_t access_mask
;
1371 struct policy_handle
*handle
;/* [ref] */
1378 struct lsa_GetUserName
{
1380 const char *system_name
;/* [unique,charset(UTF16)] */
1381 struct lsa_String
**account_name
;/* [ref] */
1382 struct lsa_String
**authority_name
;/* [unique] */
1386 struct lsa_String
**account_name
;/* [ref] */
1387 struct lsa_String
**authority_name
;/* [unique] */
1394 struct lsa_QueryInfoPolicy2
{
1396 struct policy_handle
*handle
;/* [ref] */
1397 enum lsa_PolicyInfo level
;
1401 union lsa_PolicyInformation
**info
;/* [ref,switch_is(level)] */
1408 struct lsa_SetInfoPolicy2
{
1410 struct policy_handle
*handle
;/* [ref] */
1411 enum lsa_PolicyInfo level
;
1412 union lsa_PolicyInformation
*info
;/* [ref,switch_is(level)] */
1422 struct lsa_QueryTrustedDomainInfoByName
{
1424 struct policy_handle
*handle
;/* [ref] */
1425 struct lsa_String
*trusted_domain
;/* [ref] */
1426 enum lsa_TrustDomInfoEnum level
;
1430 union lsa_TrustedDomainInfo
**info
;/* [ref,switch_is(level)] */
1437 struct lsa_SetTrustedDomainInfoByName
{
1439 struct policy_handle
*handle
;/* [ref] */
1440 struct lsa_String trusted_domain
;
1441 enum lsa_TrustDomInfoEnum level
;
1442 union lsa_TrustedDomainInfo
*info
;/* [unique,switch_is(level)] */
1452 struct lsa_EnumTrustedDomainsEx
{
1454 struct policy_handle
*handle
;/* [ref] */
1456 uint32_t *resume_handle
;/* [ref] */
1460 struct lsa_DomainListEx
*domains
;/* [ref] */
1461 uint32_t *resume_handle
;/* [ref] */
1468 struct lsa_CreateTrustedDomainEx
{
1470 struct policy_handle
*policy_handle
;/* [ref] */
1471 struct lsa_TrustDomainInfoInfoEx
*info
;/* [ref] */
1472 struct lsa_TrustDomainInfoAuthInfoInternal
*auth_info
;/* [ref] */
1473 uint32_t access_mask
;
1477 struct policy_handle
*trustdom_handle
;/* [ref] */
1484 struct lsa_CloseTrustedDomainEx
{
1486 struct policy_handle
*handle
;/* [ref] */
1490 struct policy_handle
*handle
;/* [ref] */
1497 struct lsa_QueryDomainInformationPolicy
{
1499 struct policy_handle
*handle
;/* [ref] */
1504 union lsa_DomainInformationPolicy
**info
;/* [ref,switch_is(level)] */
1511 struct lsa_SetDomainInformationPolicy
{
1513 struct policy_handle
*handle
;/* [ref] */
1515 union lsa_DomainInformationPolicy
*info
;/* [unique,switch_is(level)] */
1525 struct lsa_OpenTrustedDomainByName
{
1527 struct policy_handle
*handle
;/* [ref] */
1528 struct lsa_String name
;
1529 uint32_t access_mask
;
1533 struct policy_handle
*trustdom_handle
;/* [ref] */
1540 struct lsa_TestCall
{
1548 struct lsa_LookupSids2
{
1550 struct policy_handle
*handle
;/* [ref] */
1551 struct lsa_SidArray
*sids
;/* [ref] */
1555 struct lsa_TransNameArray2
*names
;/* [ref] */
1556 uint32_t *count
;/* [ref] */
1560 struct lsa_RefDomainList
**domains
;/* [ref] */
1561 struct lsa_TransNameArray2
*names
;/* [ref] */
1562 uint32_t *count
;/* [ref] */
1569 struct lsa_LookupNames2
{
1571 struct policy_handle
*handle
;/* [ref] */
1572 uint32_t num_names
;/* [range(0,1000)] */
1573 struct lsa_String
*names
;/* [size_is(num_names)] */
1574 enum lsa_LookupNamesLevel level
;
1575 uint32_t lookup_options
;
1576 uint32_t client_revision
;
1577 struct lsa_TransSidArray2
*sids
;/* [ref] */
1578 uint32_t *count
;/* [ref] */
1582 struct lsa_RefDomainList
**domains
;/* [ref] */
1583 struct lsa_TransSidArray2
*sids
;/* [ref] */
1584 uint32_t *count
;/* [ref] */
1591 struct lsa_CreateTrustedDomainEx2
{
1593 struct policy_handle
*policy_handle
;/* [ref] */
1594 struct lsa_TrustDomainInfoInfoEx
*info
;/* [ref] */
1595 struct lsa_TrustDomainInfoAuthInfoInternal
*auth_info
;/* [ref] */
1596 uint32_t access_mask
;
1600 struct policy_handle
*trustdom_handle
;/* [ref] */
1607 struct lsa_CREDRWRITE
{
1615 struct lsa_CREDRREAD
{
1623 struct lsa_CREDRENUMERATE
{
1631 struct lsa_CREDRWRITEDOMAINCREDENTIALS
{
1639 struct lsa_CREDRREADDOMAINCREDENTIALS
{
1647 struct lsa_CREDRDELETE
{
1655 struct lsa_CREDRGETTARGETINFO
{
1663 struct lsa_CREDRPROFILELOADED
{
1671 struct lsa_LookupNames3
{
1673 struct policy_handle
*handle
;/* [ref] */
1674 uint32_t num_names
;/* [range(0,1000)] */
1675 struct lsa_String
*names
;/* [size_is(num_names)] */
1676 enum lsa_LookupNamesLevel level
;
1677 uint32_t lookup_options
;
1678 uint32_t client_revision
;
1679 struct lsa_TransSidArray3
*sids
;/* [ref] */
1680 uint32_t *count
;/* [ref] */
1684 struct lsa_RefDomainList
**domains
;/* [ref] */
1685 struct lsa_TransSidArray3
*sids
;/* [ref] */
1686 uint32_t *count
;/* [ref] */
1693 struct lsa_CREDRGETSESSIONTYPES
{
1701 struct lsa_LSARREGISTERAUDITEVENT
{
1709 struct lsa_LSARGENAUDITEVENT
{
1717 struct lsa_LSARUNREGISTERAUDITEVENT
{
1725 struct lsa_lsaRQueryForestTrustInformation
{
1727 struct policy_handle
*handle
;/* [ref] */
1728 struct lsa_String
*trusted_domain_name
;/* [ref] */
1733 struct lsa_ForestTrustInformation
**forest_trust_info
;/* [ref] */
1740 struct lsa_LSARSETFORESTTRUSTINFORMATION
{
1748 struct lsa_CREDRRENAME
{
1756 struct lsa_LookupSids3
{
1758 struct lsa_SidArray
*sids
;/* [ref] */
1762 struct lsa_TransNameArray2
*names
;/* [ref] */
1763 uint32_t *count
;/* [ref] */
1767 struct lsa_RefDomainList
**domains
;/* [ref] */
1768 struct lsa_TransNameArray2
*names
;/* [ref] */
1769 uint32_t *count
;/* [ref] */
1776 struct lsa_LookupNames4
{
1778 uint32_t num_names
;/* [range(0,1000)] */
1779 struct lsa_String
*names
;/* [size_is(num_names)] */
1780 enum lsa_LookupNamesLevel level
;
1781 uint32_t lookup_options
;
1782 uint32_t client_revision
;
1783 struct lsa_TransSidArray3
*sids
;/* [ref] */
1784 uint32_t *count
;/* [ref] */
1788 struct lsa_RefDomainList
**domains
;/* [ref] */
1789 struct lsa_TransSidArray3
*sids
;/* [ref] */
1790 uint32_t *count
;/* [ref] */
1797 struct lsa_LSAROPENPOLICYSCE
{
1805 struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE
{
1813 struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
{
1821 struct lsa_LSARADTREPORTSECURITYEVENT
{
1828 #endif /* _HEADER_lsarpc */