1 // Copyright © 2015, skdltmxn 2 // Licensed under the MIT License <LICENSE.md> 3 //! LSA Policy Lookup API 4 STRUCT!{struct LSA_UNICODE_STRING { 5 Length: ::USHORT, 6 MaximumLength: ::USHORT, 7 Buffer: ::PWSTR, 8 }} 9 pub type PLSA_UNICODE_STRING = *mut LSA_UNICODE_STRING; 10 STRUCT!{struct LSA_STRING { 11 Length: ::USHORT, 12 MaximumLength: ::USHORT, 13 Buffer: ::PCHAR, 14 }} 15 pub type PLSA_STRING = *mut LSA_STRING; 16 STRUCT!{struct LSA_OBJECT_ATTRIBUTES { 17 Length: ::ULONG, 18 RootDirectory: ::HANDLE, 19 ObjectName: PLSA_UNICODE_STRING, 20 Attributes: ::ULONG, 21 SecurityDescriptor: ::PVOID, 22 SecurityQualityOfService: ::PVOID, 23 }} 24 pub type PLSA_OBJECT_ATTRIBUTES = *mut LSA_OBJECT_ATTRIBUTES; 25 STRUCT!{struct LSA_TRUST_INFORMATION { 26 Name: LSA_UNICODE_STRING, 27 Sid: ::PSID, 28 }} 29 pub type PLSA_TRUST_INFORMATION = *mut LSA_TRUST_INFORMATION; 30 STRUCT!{struct LSA_REFERENCED_DOMAIN_LIST { 31 Entries: ::ULONG, 32 Domains: PLSA_TRUST_INFORMATION, 33 }} 34 pub type PLSA_REFERENCED_DOMAIN_LIST = *mut LSA_REFERENCED_DOMAIN_LIST; 35 STRUCT!{struct LSA_TRANSLATED_SID2 { 36 Use: ::SID_NAME_USE, 37 Sid: ::PSID, 38 DomainIndex: ::LONG, 39 Flags: ::ULONG, 40 }} 41 pub type PLSA_TRANSLATED_SID2 = *mut LSA_TRANSLATED_SID2; 42 STRUCT!{struct LSA_TRANSLATED_NAME { 43 Use: ::SID_NAME_USE, 44 Name: LSA_UNICODE_STRING, 45 DomainIndex: ::LONG, 46 }} 47 pub type PLSA_TRANSLATED_NAME = *mut LSA_TRANSLATED_NAME; 48 STRUCT!{struct POLICY_ACCOUNT_DOMAIN_INFO { 49 DomainName: LSA_UNICODE_STRING, 50 DomainSid: ::PSID, 51 }} 52 pub type PPOLICY_ACCOUNT_DOMAIN_INFO = *mut POLICY_ACCOUNT_DOMAIN_INFO; 53 STRUCT!{struct POLICY_DNS_DOMAIN_INFO { 54 Name: LSA_UNICODE_STRING, 55 DnsDomainName: LSA_UNICODE_STRING, 56 DnsForestName: LSA_UNICODE_STRING, 57 DomainGuid: ::GUID, 58 Sid: ::PSID, 59 }} 60 pub type PPOLICY_DNS_DOMAIN_INFO = *mut POLICY_DNS_DOMAIN_INFO; 61 pub const LOOKUP_VIEW_LOCAL_INFORMATION: ::ACCESS_MASK = 0x00000001; 62 pub const LOOKUP_TRANSLATE_NAMES: ::ACCESS_MASK = 0x00000800; 63 ENUM!{enum LSA_LOOKUP_DOMAIN_INFO_CLASS { 64 AccountDomainInformation = 5, 65 DnsDomainInformation = 12, 66 }} 67 pub type PLSA_LOOKUP_DOMAIN_INFO_CLASS = *mut LSA_LOOKUP_DOMAIN_INFO_CLASS; 68 pub type LSA_LOOKUP_HANDLE = ::PVOID; 69 pub type PLSA_LOOKUP_HANDLE = *mut ::PVOID; 70