9 [ uuid(
"12345778-1234-abcd-ef00-0123456789ab"),
11 endpoint(
"ncacn_np:[\\pipe\\lsarpc]",
"ncacn_np:[\\pipe\\netlogon]",
"ncacn_np:[\\pipe\\lsass]",
"ncacn_ip_tcp:",
"ncalrpc:"),
12 pointer_default(unique),
13 helpstring(
"Local Security Authority")
16 typedef [bitmap32bit] bitmap {
17 LSA_POLICY_NOTIFICATION = 0x00001000,
18 LSA_POLICY_LOOKUP_NAMES = 0x00000800,
19 LSA_POLICY_SERVER_ADMIN = 0x00000400,
20 LSA_POLICY_AUDIT_LOG_ADMIN = 0x00000200,
21 LSA_POLICY_SET_AUDIT_REQUIREMENTS = 0x00000100,
22 LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS = 0x00000080,
23 LSA_POLICY_CREATE_PRIVILEGE = 0x00000040,
24 LSA_POLICY_CREATE_SECRET = 0x00000020,
25 LSA_POLICY_CREATE_ACCOUNT = 0x00000010,
26 LSA_POLICY_TRUST_ADMIN = 0x00000008,
27 LSA_POLICY_GET_PRIVATE_INFORMATION = 0x00000004,
28 LSA_POLICY_VIEW_AUDIT_INFORMATION = 0x00000002,
29 LSA_POLICY_VIEW_LOCAL_INFORMATION = 0x00000001
30 } lsa_PolicyAccessMask;
32 typedef [bitmap32bit] bitmap {
33 LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS = 0x00000008,
34 LSA_ACCOUNT_ADJUST_QUOTAS = 0x00000004,
35 LSA_ACCOUNT_ADJUST_PRIVILEGES = 0x00000002,
36 LSA_ACCOUNT_VIEW = 0x00000001
37 } lsa_AccountAccessMask;
39 typedef [bitmap32bit] bitmap {
40 LSA_DOMAIN_QUERY_AUTH = 0x00000040,
41 LSA_DOMAIN_SET_AUTH = 0x00000020,
42 LSA_DOMAIN_SET_POSIX = 0x00000010,
43 LSA_DOMAIN_QUERY_POSIX = 0x00000008,
44 LSA_DOMAIN_SET_CONTROLLERS = 0x00000004,
45 LSA_DOMAIN_QUERY_CONTROLLERS = 0x00000002,
46 LSA_DOMAIN_QUERY_DOMAIN_NAME = 0x00000001
47 } lsa_DomainAccessMask;
49 typedef [bitmap32bit] bitmap {
50 LSA_SECRET_QUERY_VALUE = 0x00000002,
51 LSA_SECRET_SET_VALUE = 0x00000001
52 } lsa_SecretAccessMask;
54 typedef bitmap security_secinfo security_secinfo;
56 typedef [
public]
struct {
57 [value(2*strlen_m(
string))] uint16 length;
58 [value(2*strlen_m(
string))] uint16 size;
59 [charset(UTF16),size_is(size/2),length_is(length/2)] uint16 *string;
62 typedef [
public]
struct {
63 [value(2*strlen_m(
string))] uint16 length;
64 [value(2*strlen_m_term(
string))] uint16 size;
65 [charset(UTF16),size_is(size/2),length_is(length/2)] uint16 *string;
68 typedef [
public]
struct {
70 [size_is(count)] lsa_String *names;
73 typedef [
public]
struct {
74 [value(strlen_m(
string))] uint16 length;
75 [value(strlen_m(
string))] uint16 size;
76 [charset(DOS),size_is(size),length_is(length)] uint8 *string;
79 typedef [
public]
struct {
80 [value(strlen_m(
string))] uint16 length;
81 [value(strlen_m_term(
string))] uint16 size;
82 [charset(DOS),size_is(size),length_is(length)] uint8 *string;
83 } lsa_AsciiStringLarge;
88 [in,out] policy_handle *handle
94 [
public] NTSTATUS lsa_Delete (
95 [in] policy_handle *handle
107 lsa_StringLarge name;
113 [size_is(count)] lsa_PrivEntry *privs;
116 [
public] NTSTATUS lsa_EnumPrivs (
117 [in] policy_handle *handle,
118 [in,out] uint32 *resume_handle,
119 [in] uint32 max_count,
120 [out] lsa_PrivArray *privs
126 NTSTATUS lsa_QuerySecurity (
127 [in] policy_handle *handle,
128 [in] security_secinfo sec_info,
129 [out,unique] sec_desc_buf *sdbuf
135 [todo] NTSTATUS lsa_SetSecObj ();
140 [todo] NTSTATUS lsa_ChangePassword ();
147 LSA_SECURITY_ANONYMOUS = 0,
148 LSA_SECURITY_IDENTIFICATION = 1,
149 LSA_SECURITY_IMPERSONATION = 2,
150 LSA_SECURITY_DELEGATION = 3
151 } lsa_SecurityImpersonationLevel;
155 lsa_SecurityImpersonationLevel impersonation_level;
157 uint8 effective_only;
163 [string,charset(UTF16)] uint16 *object_name;
165 security_descriptor *sec_desc;
166 lsa_QosInfo *sec_qos;
167 } lsa_ObjectAttribute;
171 [
public] NTSTATUS lsa_OpenPolicy (
172 [in,unique] uint16 *system_name,
173 [in] lsa_ObjectAttribute *attr,
174 [in] lsa_PolicyAccessMask access_mask,
175 [out] policy_handle *handle
186 NTTIME retention_time;
187 uint8 shutdown_in_progress;
188 NTTIME time_to_shutdown;
189 uint32 next_audit_record;
193 typedef [v1_enum]
enum {
194 LSA_AUDIT_POLICY_NONE=0,
195 LSA_AUDIT_POLICY_SUCCESS=1,
196 LSA_AUDIT_POLICY_FAILURE=2,
197 LSA_AUDIT_POLICY_ALL=(LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE),
198 LSA_AUDIT_POLICY_CLEAR=4
199 } lsa_PolicyAuditPolicy;
202 LSA_AUDIT_CATEGORY_SYSTEM = 0,
203 LSA_AUDIT_CATEGORY_LOGON = 1,
204 LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS = 2,
205 LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS = 3,
206 LSA_AUDIT_CATEGORY_PROCCESS_TRACKING = 4,
207 LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES = 5,
208 LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT = 6,
209 LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS = 7,
210 LSA_AUDIT_CATEGORY_ACCOUNT_LOGON = 8
211 } lsa_PolicyAuditEventType;
214 uint32 auditing_mode;
215 [size_is(count)] lsa_PolicyAuditPolicy *settings;
217 } lsa_AuditEventsInfo;
220 lsa_StringLarge name;
229 LSA_POLICY_ROLE_BACKUP = 2,
230 LSA_POLICY_ROLE_PRIMARY = 3
231 } lsa_PolicyServerRole;
234 lsa_PolicyServerRole role;
240 } lsa_ReplicaSourceInfo;
244 uint32 non_paged_pool;
249 } lsa_DefaultQuotaInfo;
253 NTTIME db_create_time;
254 } lsa_ModificationInfo;
257 uint8 shutdown_on_full;
258 } lsa_AuditFullSetInfo;
262 uint8 shutdown_on_full;
264 } lsa_AuditFullQueryInfo;
273 lsa_StringLarge name;
274 lsa_StringLarge dns_domain;
275 lsa_StringLarge dns_forest;
281 LSA_POLICY_INFO_AUDIT_LOG=1,
282 LSA_POLICY_INFO_AUDIT_EVENTS=2,
283 LSA_POLICY_INFO_DOMAIN=3,
284 LSA_POLICY_INFO_PD=4,
285 LSA_POLICY_INFO_ACCOUNT_DOMAIN=5,
286 LSA_POLICY_INFO_ROLE=6,
287 LSA_POLICY_INFO_REPLICA=7,
288 LSA_POLICY_INFO_QUOTA=8,
289 LSA_POLICY_INFO_DB=9,
290 LSA_POLICY_INFO_AUDIT_FULL_SET=10,
291 LSA_POLICY_INFO_AUDIT_FULL_QUERY=11,
292 LSA_POLICY_INFO_DNS=12,
293 LSA_POLICY_INFO_DNS_INT=13,
294 LSA_POLICY_INFO_LOCAL_ACCOUNT_DOMAIN=14
297 typedef [switch_type(uint16)]
union {
298 [
case(LSA_POLICY_INFO_AUDIT_LOG)] lsa_AuditLogInfo audit_log;
299 [
case(LSA_POLICY_INFO_AUDIT_EVENTS)] lsa_AuditEventsInfo audit_events;
300 [
case(LSA_POLICY_INFO_DOMAIN)] lsa_DomainInfo domain;
301 [
case(LSA_POLICY_INFO_PD)] lsa_PDAccountInfo pd;
302 [
case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] lsa_DomainInfo account_domain;
303 [
case(LSA_POLICY_INFO_ROLE)] lsa_ServerRole role;
304 [
case(LSA_POLICY_INFO_REPLICA)] lsa_ReplicaSourceInfo replica;
305 [
case(LSA_POLICY_INFO_QUOTA)] lsa_DefaultQuotaInfo quota;
306 [
case(LSA_POLICY_INFO_DB)] lsa_ModificationInfo db;
307 [
case(LSA_POLICY_INFO_AUDIT_FULL_SET)] lsa_AuditFullSetInfo auditfullset;
308 [
case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] lsa_AuditFullQueryInfo auditfullquery;
309 [
case(LSA_POLICY_INFO_DNS)] lsa_DnsDomainInfo dns;
310 } lsa_PolicyInformation;
312 NTSTATUS lsa_QueryInfoPolicy (
313 [in] policy_handle *handle,
314 [in] lsa_PolicyInfo level,
315 [out,unique,switch_is(level)] lsa_PolicyInformation *
info 320 NTSTATUS lsa_SetInfoPolicy (
321 [in] policy_handle *handle,
322 [in] lsa_PolicyInfo level,
323 [in,switch_is(level)] lsa_PolicyInformation *
info 328 [todo] NTSTATUS lsa_ClearAuditLog ();
332 [
public] NTSTATUS lsa_CreateAccount (
333 [in] policy_handle *handle,
335 [in] lsa_AccountAccessMask access_mask,
336 [out] policy_handle *acct_handle
348 typedef [
public]
struct {
349 [range(0,1000)] uint32 num_sids;
350 [size_is(num_sids)] lsa_SidPtr *sids;
353 [
public] NTSTATUS lsa_EnumAccounts (
354 [in] policy_handle *handle,
355 [in,out] uint32 *resume_handle,
356 [in,range(0,8192)] uint32 num_entries,
357 [out] lsa_SidArray *sids
364 [
public] NTSTATUS lsa_CreateTrustedDomain(
365 [in] policy_handle *handle,
366 [in] lsa_DomainInfo *
info,
367 [in] lsa_DomainAccessMask access_mask,
368 [out] policy_handle *trustdom_handle
376 const int LSA_ENUM_TRUST_DOMAIN_MULTIPLIER = 60;
380 [size_is(count)] lsa_DomainInfo *domains;
383 NTSTATUS lsa_EnumTrustDom (
384 [in] policy_handle *handle,
385 [in,out] uint32 *resume_handle,
386 [in] uint32 max_size,
387 [out] lsa_DomainList *domains
393 typedef [
public]
enum {
394 SID_NAME_USE_NONE = 0,
396 SID_NAME_DOM_GRP = 2,
399 SID_NAME_WKN_GRP = 5,
400 SID_NAME_DELETED = 6,
401 SID_NAME_INVALID = 7,
402 SID_NAME_UNKNOWN = 8,
403 SID_NAME_COMPUTER = 9
407 lsa_SidType sid_type;
413 [range(0,1000)] uint32 count;
414 [size_is(count)] lsa_TranslatedSid *sids;
417 const int LSA_REF_DOMAIN_LIST_MULTIPLIER = 32;
419 [range(0,1000)] uint32 count;
420 [size_is(count)] lsa_DomainInfo *domains;
433 LSA_LOOKUP_NAMES_ALL = 1,
434 LSA_LOOKUP_NAMES_DOMAINS_ONLY = 2,
435 LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY = 3,
436 LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY = 4,
437 LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY = 5,
438 LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2 = 6
439 } lsa_LookupNamesLevel;
441 [
public] NTSTATUS lsa_LookupNames (
442 [in] policy_handle *handle,
443 [in,range(0,1000)] uint32 num_names,
444 [in,size_is(num_names)] lsa_String names[],
445 [out,unique] lsa_RefDomainList *domains,
446 [in,out] lsa_TransSidArray *sids,
447 [in] lsa_LookupNamesLevel level,
448 [in,out] uint32 *count
456 lsa_SidType sid_type;
459 } lsa_TranslatedName;
462 [range(0,1000)] uint32 count;
463 [size_is(count)] lsa_TranslatedName *names;
464 } lsa_TransNameArray;
466 [
public] NTSTATUS lsa_LookupSids (
467 [in] policy_handle *handle,
468 [in] lsa_SidArray *sids,
469 [out,unique] lsa_RefDomainList *domains,
470 [in,out] lsa_TransNameArray *names,
472 [in,out] uint32 *count
477 [
public] NTSTATUS lsa_CreateSecret(
478 [in] policy_handle *handle,
479 [in] lsa_String name,
480 [in] lsa_SecretAccessMask access_mask,
481 [out] policy_handle *sec_handle
487 NTSTATUS lsa_OpenAccount (
488 [in] policy_handle *handle,
490 [in] lsa_AccountAccessMask access_mask,
491 [out] policy_handle *acct_handle
504 [range(0,1000)] uint32 count;
506 [size_is(count)] lsa_LUIDAttribute
set[*];
509 NTSTATUS lsa_EnumPrivsAccount (
510 [in] policy_handle *handle,
511 [out,unique] lsa_PrivilegeSet *privs
517 NTSTATUS lsa_AddPrivilegesToAccount(
518 [in] policy_handle *handle,
519 [in] lsa_PrivilegeSet *privs
525 NTSTATUS lsa_RemovePrivilegesFromAccount(
526 [in] policy_handle *handle,
527 [in] uint8 remove_all,
528 [in,unique] lsa_PrivilegeSet *privs
532 [todo] NTSTATUS lsa_GetQuotasForAccount();
535 [todo] NTSTATUS lsa_SetQuotasForAccount();
538 [todo] NTSTATUS lsa_GetSystemAccessAccount();
540 [todo] NTSTATUS lsa_SetSystemAccessAccount();
543 NTSTATUS lsa_OpenTrustedDomain(
544 [in] policy_handle *handle,
546 [in] lsa_DomainAccessMask access_mask,
547 [out] policy_handle *trustdom_handle
550 typedef [flag(NDR_PAHEX)]
struct {
553 [size_is(size),length_is(length)] uint8 *data;
556 typedef [flag(NDR_PAHEX)]
struct {
557 [range(0,65536)] uint32 size;
558 [size_is(size)] uint8 *data;
562 LSA_TRUSTED_DOMAIN_INFO_NAME = 1,
563 LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS_INFO = 2,
564 LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET = 3,
565 LSA_TRUSTED_DOMAIN_INFO_PASSWORD = 4,
566 LSA_TRUSTED_DOMAIN_INFO_BASIC = 5,
567 LSA_TRUSTED_DOMAIN_INFO_INFO_EX = 6,
568 LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO = 7,
569 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO = 8,
570 LSA_TRUSTED_DOMAIN_INFO_11 = 11,
571 LSA_TRUSTED_DOMAIN_INFO_INFO_ALL = 12
572 } lsa_TrustDomInfoEnum;
575 lsa_StringLarge netbios_name;
576 } lsa_TrustDomainInfoName;
580 } lsa_TrustDomainInfoPosixOffset;
583 lsa_DATA_BUF *password;
584 lsa_DATA_BUF *old_password;
585 } lsa_TrustDomainInfoPassword;
588 lsa_String netbios_name;
590 } lsa_TrustDomainInfoBasic;
593 lsa_StringLarge domain_name;
594 lsa_StringLarge netbios_name;
596 uint32 trust_direction;
598 uint32 trust_attributes;
599 } lsa_TrustDomainInfoInfoEx;
602 NTTIME_hyper last_update_time;
605 } lsa_TrustDomainInfoBuffer;
608 uint32 incoming_count;
609 lsa_TrustDomainInfoBuffer *incoming_current_auth_info;
610 lsa_TrustDomainInfoBuffer *incoming_previous_auth_info;
611 uint32 outgoing_count;
612 lsa_TrustDomainInfoBuffer *outgoing_current_auth_info;
613 lsa_TrustDomainInfoBuffer *outgoing_previous_auth_info;
614 } lsa_TrustDomainInfoAuthInfo;
617 lsa_TrustDomainInfoInfoEx info_ex;
618 lsa_TrustDomainInfoPosixOffset posix_offset;
619 lsa_TrustDomainInfoAuthInfo auth_info;
620 } lsa_TrustDomainInfoFullInfo;
623 lsa_TrustDomainInfoInfoEx info_ex;
625 } lsa_TrustDomainInfo11;
628 lsa_TrustDomainInfoInfoEx info_ex;
630 lsa_TrustDomainInfoPosixOffset posix_offset;
631 lsa_TrustDomainInfoAuthInfo auth_info;
632 } lsa_TrustDomainInfoInfoAll;
634 typedef [switch_type(lsa_TrustDomInfoEnum)]
union {
635 [
case(LSA_TRUSTED_DOMAIN_INFO_NAME)] lsa_TrustDomainInfoName name;
636 [
case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] lsa_TrustDomainInfoPosixOffset posix_offset;
637 [
case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] lsa_TrustDomainInfoPassword password;
638 [
case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] lsa_TrustDomainInfoBasic info_basic;
639 [
case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] lsa_TrustDomainInfoInfoEx info_ex;
640 [
case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] lsa_TrustDomainInfoAuthInfo auth_info;
641 [
case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] lsa_TrustDomainInfoFullInfo full_info;
642 [
case(LSA_TRUSTED_DOMAIN_INFO_11)] lsa_TrustDomainInfo11 info11;
643 [
case(LSA_TRUSTED_DOMAIN_INFO_INFO_ALL)] lsa_TrustDomainInfoInfoAll info_all;
644 } lsa_TrustedDomainInfo;
647 NTSTATUS lsa_QueryTrustedDomainInfo(
648 [in] policy_handle *trustdom_handle,
649 [in] lsa_TrustDomInfoEnum level,
650 [out,switch_is(level),unique] lsa_TrustedDomainInfo *
info 654 [todo] NTSTATUS lsa_SetInformationTrustedDomain();
657 [
public] NTSTATUS lsa_OpenSecret(
658 [in] policy_handle *handle,
659 [in] lsa_String name,
660 [in] lsa_SecretAccessMask access_mask,
661 [out] policy_handle *sec_handle
666 [
public] NTSTATUS lsa_SetSecret(
667 [in] policy_handle *sec_handle,
668 [in,unique] lsa_DATA_BUF *new_val,
669 [in,unique] lsa_DATA_BUF *old_val
677 [
public] NTSTATUS lsa_QuerySecret (
678 [in] policy_handle *sec_handle,
679 [in,out,unique] lsa_DATA_BUF_PTR *new_val,
680 [in,out,unique] NTTIME_hyper *new_mtime,
681 [in,out,unique] lsa_DATA_BUF_PTR *old_val,
682 [in,out,unique] NTTIME_hyper *old_mtime
686 NTSTATUS lsa_LookupPrivValue(
687 [in] policy_handle *handle,
688 [in] lsa_String *name,
694 NTSTATUS lsa_LookupPrivName (
695 [in] policy_handle *handle,
697 [out,unique] lsa_StringLarge *name
703 NTSTATUS lsa_LookupPrivDisplayName (
704 [in] policy_handle *handle,
705 [in] lsa_String *name,
706 [out,unique] lsa_StringLarge *disp_name,
709 [in,out] uint16 *language_id,
714 [todo] NTSTATUS lsa_DeleteObject();
719 NTSTATUS lsa_EnumAccountsWithUserRight (
720 [in] policy_handle *handle,
721 [in,unique] lsa_String *name,
722 [out] lsa_SidArray *sids
727 [string,charset(UTF16)] uint16 *name;
728 } lsa_RightAttribute;
732 [size_is(count)] lsa_StringLarge *names;
735 NTSTATUS lsa_EnumAccountRights (
736 [in] policy_handle *handle,
738 [out] lsa_RightSet *rights
744 NTSTATUS lsa_AddAccountRights (
745 [in] policy_handle *handle,
747 [in] lsa_RightSet *rights
752 NTSTATUS lsa_RemoveAccountRights (
753 [in] policy_handle *handle,
756 [in] lsa_RightSet *rights
760 NTSTATUS lsa_QueryTrustedDomainInfoBySid(
761 [in] policy_handle *handle,
762 [in] dom_sid2 *dom_sid,
763 [in] lsa_TrustDomInfoEnum level,
764 [out,switch_is(level),unique] lsa_TrustedDomainInfo *
info 768 [todo] NTSTATUS lsa_SetTrustedDomainInfo();
770 NTSTATUS lsa_DeleteTrustedDomain(
771 [in] policy_handle *handle,
772 [in] dom_sid2 *dom_sid
776 [todo] NTSTATUS lsa_StorePrivateData();
778 [todo] NTSTATUS lsa_RetrievePrivateData();
783 [
public] NTSTATUS lsa_OpenPolicy2 (
784 [in,unique] [
string,charset(UTF16)] uint16 *system_name,
785 [in] lsa_ObjectAttribute *attr,
786 [in] lsa_PolicyAccessMask access_mask,
787 [out] policy_handle *handle
796 NTSTATUS lsa_GetUserName(
797 [in,unique] [
string,charset(UTF16)] uint16 *system_name,
798 [in,out,unique] lsa_String *account_name,
799 [in,out,unique] lsa_StringPointer *authority_name
805 NTSTATUS lsa_QueryInfoPolicy2(
806 [in] policy_handle *handle,
807 [in] lsa_PolicyInfo level,
808 [out,unique,switch_is(level)] lsa_PolicyInformation *
info 812 NTSTATUS lsa_SetInfoPolicy2(
813 [in] policy_handle *handle,
814 [in] lsa_PolicyInfo level,
815 [in,switch_is(level)] lsa_PolicyInformation *
info 820 NTSTATUS lsa_QueryTrustedDomainInfoByName(
821 [in] policy_handle *handle,
822 [in] lsa_String trusted_domain,
823 [in] lsa_TrustDomInfoEnum level,
824 [out,unique,switch_is(level)] lsa_TrustedDomainInfo *
info 829 NTSTATUS lsa_SetTrustedDomainInfoByName(
830 [in] policy_handle *handle,
831 [in] lsa_String trusted_domain,
832 [in] lsa_TrustDomInfoEnum level,
833 [in,unique,switch_is(level)] lsa_TrustedDomainInfo *
info 839 const int LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER = 82;
843 [size_is(count)] lsa_TrustDomainInfoInfoEx *domains;
846 NTSTATUS lsa_EnumTrustedDomainsEx (
847 [in] policy_handle *handle,
848 [in,out] uint32 *resume_handle,
849 [out] lsa_DomainListEx *domains,
855 [todo] NTSTATUS lsa_CreateTrustedDomainEx();
858 NTSTATUS lsa_CloseTrustedDomainEx(
859 [in,out] policy_handle *handle
867 uint32 enforce_restrictions;
868 hyper service_tkt_lifetime;
869 hyper user_tkt_lifetime;
870 hyper user_tkt_renewaltime;
873 } lsa_DomainInfoKerberos;
877 [size_is(blob_size)] uint8 *efs_blob;
881 LSA_DOMAIN_INFO_POLICY_QOS=1,
882 LSA_DOMAIN_INFO_POLICY_EFS=2,
883 LSA_DOMAIN_INFO_POLICY_KERBEROS=3
884 } lsa_DomainInfoEnum;
886 typedef [switch_type(uint16)]
union {
887 [
case(LSA_DOMAIN_INFO_POLICY_EFS)] lsa_DomainInfoEfs efs_info;
888 [
case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] lsa_DomainInfoKerberos kerberos_info;
889 } lsa_DomainInformationPolicy;
891 NTSTATUS lsa_QueryDomainInformationPolicy(
892 [in] policy_handle *handle,
893 [in] lsa_DomainInfoEnum level,
894 [out,unique,switch_is(level)] lsa_DomainInformationPolicy *
info 898 NTSTATUS lsa_SetDomainInformationPolicy(
899 [in] policy_handle *handle,
900 [in] lsa_DomainInfoEnum level,
901 [in,unique,switch_is(level)] lsa_DomainInformationPolicy *
info 906 NTSTATUS lsa_OpenTrustedDomainByName(
907 [in] policy_handle *handle,
908 [in] lsa_String name,
909 [in] lsa_DomainAccessMask access_mask,
910 [out] policy_handle *trustdom_handle
914 [todo] NTSTATUS lsa_TestCall();
920 lsa_SidType sid_type;
924 } lsa_TranslatedName2;
927 [range(0,1000)] uint32 count;
928 [size_is(count)] lsa_TranslatedName2 *names;
929 } lsa_TransNameArray2;
931 [
public] NTSTATUS lsa_LookupSids2(
932 [in] policy_handle *handle,
933 [in] lsa_SidArray *sids,
934 [out,unique] lsa_RefDomainList *domains,
935 [in,out] lsa_TransNameArray2 *names,
937 [in,out] uint32 *count,
938 [in] uint32 unknown1,
946 lsa_SidType sid_type;
950 } lsa_TranslatedSid2;
953 [range(0,1000)] uint32 count;
954 [size_is(count)] lsa_TranslatedSid2 *sids;
955 } lsa_TransSidArray2;
957 [
public] NTSTATUS lsa_LookupNames2 (
958 [in] policy_handle *handle,
959 [in,range(0,1000)] uint32 num_names,
960 [in,size_is(num_names)] lsa_String names[],
961 [out,unique] lsa_RefDomainList *domains,
962 [in,out] lsa_TransSidArray2 *sids,
963 [in] lsa_LookupNamesLevel level,
964 [in,out] uint32 *count,
965 [in] uint32 unknown1,
970 [todo] NTSTATUS lsa_CreateTrustedDomainEx2();
973 [todo] NTSTATUS lsa_CREDRWRITE();
976 [todo] NTSTATUS lsa_CREDRREAD();
979 [todo] NTSTATUS lsa_CREDRENUMERATE();
982 [todo] NTSTATUS lsa_CREDRWRITEDOMAINCREDENTIALS();
985 [todo] NTSTATUS lsa_CREDRREADDOMAINCREDENTIALS();
988 [todo] NTSTATUS lsa_CREDRDELETE();
991 [todo] NTSTATUS lsa_CREDRGETTARGETINFO();
994 [todo] NTSTATUS lsa_CREDRPROFILELOADED();
999 lsa_SidType sid_type;
1003 } lsa_TranslatedSid3;
1006 [range(0,1000)] uint32 count;
1007 [size_is(count)] lsa_TranslatedSid3 *sids;
1008 } lsa_TransSidArray3;
1010 [
public] NTSTATUS lsa_LookupNames3 (
1011 [in] policy_handle *handle,
1012 [in,range(0,1000)] uint32 num_names,
1013 [in,size_is(num_names)] lsa_String names[],
1014 [out,unique] lsa_RefDomainList *domains,
1015 [in,out] lsa_TransSidArray3 *sids,
1016 [in] lsa_LookupNamesLevel level,
1017 [in,out] uint32 *count,
1018 [in] uint32 unknown1,
1019 [in] uint32 unknown2
1023 [todo] NTSTATUS lsa_CREDRGETSESSIONTYPES();
1026 [todo] NTSTATUS lsa_LSARREGISTERAUDITEVENT();
1029 [todo] NTSTATUS lsa_LSARGENAUDITEVENT();
1032 [todo] NTSTATUS lsa_LSARUNREGISTERAUDITEVENT();
1036 [range(0,131072)] uint32 length;
1037 [size_is(length)] uint8 *data;
1038 } lsa_ForestTrustBinaryData;
1041 dom_sid2 *domain_sid;
1042 lsa_StringLarge dns_domain_name;
1043 lsa_StringLarge netbios_domain_name;
1044 } lsa_ForestTrustDomainInfo;
1046 typedef [switch_type(uint32)]
union {
1047 [
case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] lsa_String top_level_name;
1048 [
case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] lsa_StringLarge top_level_name_ex;
1049 [
case(LSA_FOREST_TRUST_DOMAIN_INFO)] lsa_ForestTrustDomainInfo domain_info;
1050 [
default] lsa_ForestTrustBinaryData data;
1051 } lsa_ForestTrustData;
1053 typedef [v1_enum]
enum {
1054 LSA_FOREST_TRUST_TOP_LEVEL_NAME = 0,
1055 LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX = 1,
1056 LSA_FOREST_TRUST_DOMAIN_INFO = 2,
1057 LSA_FOREST_TRUST_RECORD_TYPE_LAST = 3
1058 } lsa_ForestTrustRecordType;
1062 lsa_ForestTrustRecordType level;
1064 [switch_is(level)] lsa_ForestTrustData forest_trust_data;
1065 } lsa_ForestTrustRecord;
1067 typedef [
public]
struct {
1068 [range(0,4000)] uint32 count;
1069 [size_is(count)] lsa_ForestTrustRecord **entries;
1070 } lsa_ForestTrustInformation;
1072 NTSTATUS lsa_lsaRQueryForestTrustInformation(
1073 [in] policy_handle *handle,
1074 [in,ref] lsa_String *trusted_domain_name,
1075 [in] uint16 unknown,
1076 [out,ref] lsa_ForestTrustInformation **forest_trust_info
1080 [todo] NTSTATUS lsa_LSARSETFORESTTRUSTINFORMATION();
1083 [todo] NTSTATUS lsa_CREDRRENAME();
1088 [
public] NTSTATUS lsa_LookupSids3(
1089 [in] lsa_SidArray *sids,
1090 [out,unique] lsa_RefDomainList *domains,
1091 [in,out] lsa_TransNameArray2 *names,
1093 [in,out] uint32 *count,
1094 [in] uint32 unknown1,
1095 [in] uint32 unknown2
1099 NTSTATUS lsa_LookupNames4(
1100 [in,range(0,1000)] uint32 num_names,
1101 [in,size_is(num_names)] lsa_String names[],
1102 [out,unique] lsa_RefDomainList *domains,
1103 [in,out] lsa_TransSidArray3 *sids,
1104 [in] lsa_LookupNamesLevel level,
1105 [in,out] uint32 *count,
1106 [in] uint32 unknown1,
1107 [in] uint32 unknown2
1111 [todo] NTSTATUS lsa_LSAROPENPOLICYSCE();
1114 [todo] NTSTATUS lsa_LSARADTREGISTERSECURITYEVENTSOURCE();
1117 [todo] NTSTATUS lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE();
1120 [todo] NTSTATUS lsa_LSARADTREPORTSECURITYEVENT();
Definition: file-pcapng.c:177
Definition: conversation.c:27