File Annotation

Not logged in
4e2933c620 2015-04-21        kinaba: /***********************************************************************\
4e2933c620 2015-04-21        kinaba: *                              ntsecapi.d                               *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Windows API header module                       *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                 Translated from MinGW Windows headers                 *
4e2933c620 2015-04-21        kinaba: *                           by Stewart Gordon                           *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Placed into public domain                       *
4e2933c620 2015-04-21        kinaba: \***********************************************************************/
4e2933c620 2015-04-21        kinaba: module win32.ntsecapi;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: private import
4e2933c620 2015-04-21        kinaba:   win32.basetyps, win32.ntdef, win32.windef, win32.winnt, win32.w32api;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // FIXME: check types and grouping of constants
4e2933c620 2015-04-21        kinaba: // FIXME: check Windows version support
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const KERB_WRAP_NO_ENCRYPT        = 0x80000001;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const LOGON_GUEST                 = 0x00000001;
4e2933c620 2015-04-21        kinaba: const LOGON_NOENCRYPTION          = 0x00000002;
4e2933c620 2015-04-21        kinaba: const LOGON_CACHED_ACCOUNT        = 0x00000004;
4e2933c620 2015-04-21        kinaba: const LOGON_USED_LM_PASSWORD      = 0x00000008;
4e2933c620 2015-04-21        kinaba: const LOGON_EXTRA_SIDS            = 0x00000020;
4e2933c620 2015-04-21        kinaba: const LOGON_SUBAUTH_SESSION_KEY   = 0x00000040;
4e2933c620 2015-04-21        kinaba: const LOGON_SERVER_TRUST_ACCOUNT  = 0x00000080;
4e2933c620 2015-04-21        kinaba: const LOGON_NTLMV2_ENABLED        = 0x00000100;
4e2933c620 2015-04-21        kinaba: const LOGON_RESOURCE_GROUPS       = 0x00000200;
4e2933c620 2015-04-21        kinaba: const LOGON_PROFILE_PATH_RETURNED = 0x00000400;
4e2933c620 2015-04-21        kinaba: const LOGON_GRACE_LOGON           = 0x01000000;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	LSA_MODE_PASSWORD_PROTECTED = 1,
4e2933c620 2015-04-21        kinaba: 	LSA_MODE_INDIVIDUAL_ACCOUNTS,
4e2933c620 2015-04-21        kinaba: 	LSA_MODE_MANDATORY_ACCESS,
4e2933c620 2015-04-21        kinaba: 	LSA_MODE_LOG_FULL
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: bool LSA_SUCCESS(int x) { return x >= 0; }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: /*	TOTHINKABOUT: These constants don't have ANSI/Unicode versioned
4e2933c620 2015-04-21        kinaba:  *	aliases.  Should we merge them anyway?
4e2933c620 2015-04-21        kinaba:  */
4e2933c620 2015-04-21        kinaba: const char[]  MICROSOFT_KERBEROS_NAME_A = "Kerberos";
4e2933c620 2015-04-21        kinaba: const wchar[] MICROSOFT_KERBEROS_NAME_W = "Kerberos";
4e2933c620 2015-04-21        kinaba: const char[]  MSV1_0_PACKAGE_NAME  = "MICROSOFT_AUTHENTICATION_PACKAGE_V1_0";
4e2933c620 2015-04-21        kinaba: const wchar[] MSV1_0_PACKAGE_NAMEW = "MICROSOFT_AUTHENTICATION_PACKAGE_V1_0";
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT      =       32;
4e2933c620 2015-04-21        kinaba: const MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT =     2048;
4e2933c620 2015-04-21        kinaba: const MSV1_0_CLEARTEXT_PASSWORD_ALLOWED      =        2;
4e2933c620 2015-04-21        kinaba: const MSV1_0_CRED_LM_PRESENT                 =        1;
4e2933c620 2015-04-21        kinaba: const MSV1_0_CRED_NT_PRESENT                 =        2;
4e2933c620 2015-04-21        kinaba: const MSV1_0_CRED_VERSION                    =        0;
4e2933c620 2015-04-21        kinaba: const MSV1_0_DONT_TRY_GUEST_ACCOUNT          =       16;
4e2933c620 2015-04-21        kinaba: const MSV1_0_MAX_NTLM3_LIFE                  =     1800;
4e2933c620 2015-04-21        kinaba: const MSV1_0_MAX_AVL_SIZE                    =    64000;
4e2933c620 2015-04-21        kinaba: const MSV1_0_MNS_LOGON                       = 16777216;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const size_t
4e2933c620 2015-04-21        kinaba: 	MSV1_0_CHALLENGE_LENGTH          = 8,
4e2933c620 2015-04-21        kinaba: 	MSV1_0_LANMAN_SESSION_KEY_LENGTH = 8,
4e2933c620 2015-04-21        kinaba: 	MSV1_0_NTLM3_RESPONSE_LENGTH     = 16,
4e2933c620 2015-04-21        kinaba: 	MSV1_0_NTLM3_OWF_LENGTH          = 16,
4e2933c620 2015-04-21        kinaba: 	MSV1_0_NTLM3_INPUT_LENGTH        = MSV1_0_NTLM3_RESPONSE.sizeof
4e2933c620 2015-04-21        kinaba: 	                                   - MSV1_0_NTLM3_RESPONSE_LENGTH,
4e2933c620 2015-04-21        kinaba: 	MSV1_0_OWF_PASSWORD_LENGTH       = 16,
4e2933c620 2015-04-21        kinaba: 	MSV1_0_PACKAGE_NAMEW_LENGTH      = MSV1_0_PACKAGE_NAMEW.sizeof
4e2933c620 2015-04-21        kinaba: 	                                   - WCHAR.sizeof;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const MSV1_0_RETURN_USER_PARAMETERS      =          8;
4e2933c620 2015-04-21        kinaba: const MSV1_0_RETURN_PASSWORD_EXPIRY      =         64;
4e2933c620 2015-04-21        kinaba: const MSV1_0_RETURN_PROFILE_PATH         =        512;
4e2933c620 2015-04-21        kinaba: const MSV1_0_SUBAUTHENTICATION_DLL_EX    =    1048576;
4e2933c620 2015-04-21        kinaba: const MSV1_0_SUBAUTHENTICATION_DLL       = 0xff000000;
4e2933c620 2015-04-21        kinaba: const MSV1_0_SUBAUTHENTICATION_DLL_SHIFT =         24;
4e2933c620 2015-04-21        kinaba: const MSV1_0_SUBAUTHENTICATION_DLL_RAS   =          2;
4e2933c620 2015-04-21        kinaba: const MSV1_0_SUBAUTHENTICATION_DLL_IIS   =        132;
4e2933c620 2015-04-21        kinaba: const MSV1_0_SUBAUTHENTICATION_FLAGS     = 0xff000000;
4e2933c620 2015-04-21        kinaba: const MSV1_0_TRY_GUEST_ACCOUNT_ONLY      =        256;
4e2933c620 2015-04-21        kinaba: const MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY   =       1024;
4e2933c620 2015-04-21        kinaba: const MSV1_0_UPDATE_LOGON_STATISTICS     =          4;
4e2933c620 2015-04-21        kinaba: const MSV1_0_USE_CLIENT_CHALLENGE        =        128;
4e2933c620 2015-04-21        kinaba: const MSV1_0_USER_SESSION_KEY_LENGTH     =         16;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const char[]
4e2933c620 2015-04-21        kinaba: 	MSV1_0_SUBAUTHENTICATION_KEY
4e2933c620 2015-04-21        kinaba: 	  = `System\CurrentControlSet\Control\Lsa\MSV1_0`,
4e2933c620 2015-04-21        kinaba: 	MSV1_0_SUBAUTHENTICATION_VALUE = "Auth";
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const ACCESS_MASK
4e2933c620 2015-04-21        kinaba: 	POLICY_VIEW_LOCAL_INFORMATION   = 0x0001,
4e2933c620 2015-04-21        kinaba: 	POLICY_VIEW_AUDIT_INFORMATION   = 0x0002,
4e2933c620 2015-04-21        kinaba: 	POLICY_GET_PRIVATE_INFORMATION  = 0x0004,
4e2933c620 2015-04-21        kinaba: 	POLICY_TRUST_ADMIN              = 0x0008,
4e2933c620 2015-04-21        kinaba: 	POLICY_CREATE_ACCOUNT           = 0x0010,
4e2933c620 2015-04-21        kinaba: 	POLICY_CREATE_SECRET            = 0x0020,
4e2933c620 2015-04-21        kinaba: 	POLICY_CREATE_PRIVILEGE         = 0x0040,
4e2933c620 2015-04-21        kinaba: 	POLICY_SET_DEFAULT_QUOTA_LIMITS = 0x0080,
4e2933c620 2015-04-21        kinaba: 	POLICY_SET_AUDIT_REQUIREMENTS   = 0x0100,
4e2933c620 2015-04-21        kinaba: 	POLICY_AUDIT_LOG_ADMIN          = 0x0200,
4e2933c620 2015-04-21        kinaba: 	POLICY_SERVER_ADMIN             = 0x0400,
4e2933c620 2015-04-21        kinaba: 	POLICY_LOOKUP_NAMES             = 0x0800,
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	POLICY_READ                     = STANDARD_RIGHTS_READ     | 0x0006,
4e2933c620 2015-04-21        kinaba: 	POLICY_WRITE                    = STANDARD_RIGHTS_WRITE    | 0x07F8,
4e2933c620 2015-04-21        kinaba: 	POLICY_EXECUTE                  = STANDARD_RIGHTS_EXECUTE  | 0x0801,
4e2933c620 2015-04-21        kinaba: 	POLICY_ALL_ACCESS               = STANDARD_RIGHTS_REQUIRED | 0x0FFF;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const POLICY_AUDIT_EVENT_UNCHANGED = 0;
4e2933c620 2015-04-21        kinaba: const POLICY_AUDIT_EVENT_SUCCESS   = 1;
4e2933c620 2015-04-21        kinaba: const POLICY_AUDIT_EVENT_FAILURE   = 2;
4e2933c620 2015-04-21        kinaba: const POLICY_AUDIT_EVENT_NONE      = 4;
4e2933c620 2015-04-21        kinaba: const POLICY_AUDIT_EVENT_MASK      = 7;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	POLICY_LOCATION_LOCAL = 1,
4e2933c620 2015-04-21        kinaba: 	POLICY_LOCATION_DS
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : uint {
4e2933c620 2015-04-21        kinaba: 	POLICY_MACHINE_POLICY_LOCAL     =          0,
4e2933c620 2015-04-21        kinaba: 	POLICY_MACHINE_POLICY_DEFAULTED,
4e2933c620 2015-04-21        kinaba: 	POLICY_MACHINE_POLICY_EXPLICIT,
4e2933c620 2015-04-21        kinaba: 	POLICY_MACHINE_POLICY_UNKNOWN   = 0xFFFFFFFF
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const POLICY_QOS_SCHANEL_REQUIRED            = 0x0001;
4e2933c620 2015-04-21        kinaba: const POLICY_QOS_OUTBOUND_INTEGRITY          = 0x0002;
4e2933c620 2015-04-21        kinaba: const POLICY_QOS_OUTBOUND_CONFIDENTIALITY    = 0x0004;
4e2933c620 2015-04-21        kinaba: const POLICY_QOS_INBOUND_INTEGREITY          = 0x0008;
4e2933c620 2015-04-21        kinaba: const POLICY_QOS_INBOUND_CONFIDENTIALITY     = 0x0010;
4e2933c620 2015-04-21        kinaba: const POLICY_QOS_ALLOW_LOCAL_ROOT_CERT_STORE = 0x0020;
4e2933c620 2015-04-21        kinaba: const POLICY_QOS_RAS_SERVER_ALLOWED          = 0x0040;
4e2933c620 2015-04-21        kinaba: const POLICY_QOS_DHCP_SERVER_ALLOWD          = 0x0080;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const POLICY_KERBEROS_FORWARDABLE  = 1;
4e2933c620 2015-04-21        kinaba: const POLICY_KERBEROS_PROXYABLE    = 2;
4e2933c620 2015-04-21        kinaba: const POLICY_KERBEROS_RENEWABLE    = 4;
4e2933c620 2015-04-21        kinaba: const POLICY_KERBEROS_POSTDATEABLE = 8;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const char[]
4e2933c620 2015-04-21        kinaba: 	SAM_PASSWORD_CHANGE_NOTIFY_ROUTINE = "PasswordChangeNotify",
4e2933c620 2015-04-21        kinaba: 	SAM_INIT_NOTIFICATION_ROUTINE      = "InitializeChangeNotify",
4e2933c620 2015-04-21        kinaba: 	SAM_PASSWORD_FILTER_ROUTINE        = "PasswordFilter";
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const TCHAR[]
4e2933c620 2015-04-21        kinaba: 	SE_INTERACTIVE_LOGON_NAME          = "SeInteractiveLogonRight",
4e2933c620 2015-04-21        kinaba: 	SE_NETWORK_LOGON_NAME              = "SeNetworkLogonRight",
4e2933c620 2015-04-21        kinaba: 	SE_BATCH_LOGON_NAME                = "SeBatchLogonRight",
4e2933c620 2015-04-21        kinaba: 	SE_SERVICE_LOGON_NAME              = "SeServiceLogonRight";
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	TRUST_ATTRIBUTE_NON_TRANSITIVE =         1,
4e2933c620 2015-04-21        kinaba: 	TRUST_ATTRIBUTE_UPLEVEL_ONLY   =         2,
4e2933c620 2015-04-21        kinaba: 	TRUST_ATTRIBUTE_TREE_PARENT    =   4194304,
4e2933c620 2015-04-21        kinaba: 	TRUST_ATTRIBUTES_VALID         = -16580609
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	TRUST_AUTH_TYPE_NONE,
4e2933c620 2015-04-21        kinaba: 	TRUST_AUTH_TYPE_NT4OWF,
4e2933c620 2015-04-21        kinaba: 	TRUST_AUTH_TYPE_CLEAR
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	TRUST_DIRECTION_DISABLED,
4e2933c620 2015-04-21        kinaba: 	TRUST_DIRECTION_INBOUND,
4e2933c620 2015-04-21        kinaba: 	TRUST_DIRECTION_OUTBOUND,
4e2933c620 2015-04-21        kinaba: 	TRUST_DIRECTION_BIDIRECTIONAL
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	TRUST_TYPE_DOWNLEVEL = 1,
4e2933c620 2015-04-21        kinaba: 	TRUST_TYPE_UPLEVEL,
4e2933c620 2015-04-21        kinaba: 	TRUST_TYPE_MIT,
4e2933c620 2015-04-21        kinaba: 	TRUST_TYPE_DCE
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias UNICODE_STRING LSA_UNICODE_STRING;
4e2933c620 2015-04-21        kinaba: alias UNICODE_STRING* PLSA_UNICODE_STRING;
4e2933c620 2015-04-21        kinaba: alias STRING LSA_STRING;
4e2933c620 2015-04-21        kinaba: alias STRING* PLSA_STRING;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum MSV1_0_LOGON_SUBMIT_TYPE {
4e2933c620 2015-04-21        kinaba: 	MsV1_0InteractiveLogon       = 2,
4e2933c620 2015-04-21        kinaba: 	MsV1_0Lm20Logon,
4e2933c620 2015-04-21        kinaba: 	MsV1_0NetworkLogon,
4e2933c620 2015-04-21        kinaba: 	MsV1_0SubAuthLogon,
4e2933c620 2015-04-21        kinaba: 	MsV1_0WorkstationUnlockLogon = 7
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MSV1_0_LOGON_SUBMIT_TYPE* PMSV1_0_LOGON_SUBMIT_TYPE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum MSV1_0_PROFILE_BUFFER_TYPE {
4e2933c620 2015-04-21        kinaba: 	MsV1_0InteractiveProfile = 2,
4e2933c620 2015-04-21        kinaba: 	MsV1_0Lm20LogonProfile,
4e2933c620 2015-04-21        kinaba: 	MsV1_0SmartCardProfile
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MSV1_0_PROFILE_BUFFER_TYPE* PMSV1_0_PROFILE_BUFFER_TYPE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum MSV1_0_AVID {
4e2933c620 2015-04-21        kinaba: 	MsvAvEOL,
4e2933c620 2015-04-21        kinaba: 	MsvAvNbComputerName,
4e2933c620 2015-04-21        kinaba: 	MsvAvNbDomainName,
4e2933c620 2015-04-21        kinaba: 	MsvAvDnsComputerName,
4e2933c620 2015-04-21        kinaba: 	MsvAvDnsDomainName
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum MSV1_0_PROTOCOL_MESSAGE_TYPE {
4e2933c620 2015-04-21        kinaba: 	MsV1_0Lm20ChallengeRequest = 0,
4e2933c620 2015-04-21        kinaba: 	MsV1_0Lm20GetChallengeResponse,
4e2933c620 2015-04-21        kinaba: 	MsV1_0EnumerateUsers,
4e2933c620 2015-04-21        kinaba: 	MsV1_0GetUserInfo,
4e2933c620 2015-04-21        kinaba: 	MsV1_0ReLogonUsers,
4e2933c620 2015-04-21        kinaba: 	MsV1_0ChangePassword,
4e2933c620 2015-04-21        kinaba: 	MsV1_0ChangeCachedPassword,
4e2933c620 2015-04-21        kinaba: 	MsV1_0GenericPassthrough,
4e2933c620 2015-04-21        kinaba: 	MsV1_0CacheLogon,
4e2933c620 2015-04-21        kinaba: 	MsV1_0SubAuth,
4e2933c620 2015-04-21        kinaba: 	MsV1_0DeriveCredential,
4e2933c620 2015-04-21        kinaba: 	MsV1_0CacheLookup
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MSV1_0_PROTOCOL_MESSAGE_TYPE* PMSV1_0_PROTOCOL_MESSAGE_TYPE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum POLICY_LSA_SERVER_ROLE {
4e2933c620 2015-04-21        kinaba: 	PolicyServerRoleBackup = 2,
4e2933c620 2015-04-21        kinaba: 	PolicyServerRolePrimary
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_LSA_SERVER_ROLE* PPOLICY_LSA_SERVER_ROLE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum POLICY_SERVER_ENABLE_STATE {
4e2933c620 2015-04-21        kinaba: 	PolicyServerEnabled = 2,
4e2933c620 2015-04-21        kinaba: 	PolicyServerDisabled
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_SERVER_ENABLE_STATE* PPOLICY_SERVER_ENABLE_STATE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum POLICY_INFORMATION_CLASS {
4e2933c620 2015-04-21        kinaba: 	PolicyAuditLogInformation = 1,
4e2933c620 2015-04-21        kinaba: 	PolicyAuditEventsInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyPrimaryDomainInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyPdAccountInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyAccountDomainInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyLsaServerRoleInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyReplicaSourceInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyDefaultQuotaInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyModificationInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyAuditFullSetInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyAuditFullQueryInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyDnsDomainInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyEfsInformation
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_INFORMATION_CLASS* PPOLICY_INFORMATION_CLASS;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum POLICY_AUDIT_EVENT_TYPE {
4e2933c620 2015-04-21        kinaba: 	AuditCategorySystem,
4e2933c620 2015-04-21        kinaba: 	AuditCategoryLogon,
4e2933c620 2015-04-21        kinaba: 	AuditCategoryObjectAccess,
4e2933c620 2015-04-21        kinaba: 	AuditCategoryPrivilegeUse,
4e2933c620 2015-04-21        kinaba: 	AuditCategoryDetailedTracking,
4e2933c620 2015-04-21        kinaba: 	AuditCategoryPolicyChange,
4e2933c620 2015-04-21        kinaba: 	AuditCategoryAccountManagement,
4e2933c620 2015-04-21        kinaba: 	AuditCategoryDirectoryServiceAccess,
4e2933c620 2015-04-21        kinaba: 	AuditCategoryAccountLogon
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_AUDIT_EVENT_TYPE* PPOLICY_AUDIT_EVENT_TYPE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum POLICY_LOCAL_INFORMATION_CLASS {
4e2933c620 2015-04-21        kinaba: 	PolicyLocalAuditEventsInformation = 1,
4e2933c620 2015-04-21        kinaba: 	PolicyLocalPdAccountInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyLocalAccountDomainInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyLocalLsaServerRoleInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyLocalReplicaSourceInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyLocalModificationInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyLocalAuditFullSetInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyLocalAuditFullQueryInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyLocalDnsDomainInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyLocalIPSecReferenceInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyLocalMachinePasswordInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyLocalQualityOfServiceInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyLocalPolicyLocationInformation
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_LOCAL_INFORMATION_CLASS* PPOLICY_LOCAL_INFORMATION_CLASS;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum POLICY_DOMAIN_INFORMATION_CLASS {
4e2933c620 2015-04-21        kinaba: 	PolicyDomainIPSecReferenceInformation = 1,
4e2933c620 2015-04-21        kinaba: 	PolicyDomainQualityOfServiceInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyDomainEfsInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyDomainPublicKeyInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyDomainPasswordPolicyInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyDomainLockoutInformation,
4e2933c620 2015-04-21        kinaba: 	PolicyDomainKerberosTicketInformation
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_DOMAIN_INFORMATION_CLASS* PPOLICY_DOMAIN_INFORMATION_CLASS;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum SECURITY_LOGON_TYPE {
4e2933c620 2015-04-21        kinaba: 	Interactive = 2,
4e2933c620 2015-04-21        kinaba: 	Network,
4e2933c620 2015-04-21        kinaba: 	Batch,
4e2933c620 2015-04-21        kinaba: 	Service,
4e2933c620 2015-04-21        kinaba: 	Proxy,
4e2933c620 2015-04-21        kinaba: 	Unlock
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias SECURITY_LOGON_TYPE* PSECURITY_LOGON_TYPE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum TRUSTED_INFORMATION_CLASS {
4e2933c620 2015-04-21        kinaba: 	TrustedDomainNameInformation = 1,
4e2933c620 2015-04-21        kinaba: 	TrustedControllersInformation,
4e2933c620 2015-04-21        kinaba: 	TrustedPosixOffsetInformation,
4e2933c620 2015-04-21        kinaba: 	TrustedPasswordInformation,
4e2933c620 2015-04-21        kinaba: 	TrustedDomainInformationBasic,
4e2933c620 2015-04-21        kinaba: 	TrustedDomainInformationEx,
4e2933c620 2015-04-21        kinaba: 	TrustedDomainAuthInformation,
4e2933c620 2015-04-21        kinaba: 	TrustedDomainFullInformation
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias TRUSTED_INFORMATION_CLASS* PTRUSTED_INFORMATION_CLASS;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct DOMAIN_PASSWORD_INFORMATION {
4e2933c620 2015-04-21        kinaba: 	USHORT        MinPasswordLength;
4e2933c620 2015-04-21        kinaba: 	USHORT        PasswordHistoryLength;
4e2933c620 2015-04-21        kinaba: 	ULONG         PasswordProperties;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER MaxPasswordAge;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER MinPasswordAge;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias DOMAIN_PASSWORD_INFORMATION* PDOMAIN_PASSWORD_INFORMATION;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct LSA_ENUMERATION_INFORMATION {
4e2933c620 2015-04-21        kinaba: 	PSID Sid;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias LSA_ENUMERATION_INFORMATION* PLSA_ENUMERATION_INFORMATION;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias OBJECT_ATTRIBUTES LSA_OBJECT_ATTRIBUTES;
4e2933c620 2015-04-21        kinaba: alias OBJECT_ATTRIBUTES* PLSA_OBJECT_ATTRIBUTES;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct LSA_TRUST_INFORMATION {
4e2933c620 2015-04-21        kinaba: 	LSA_UNICODE_STRING Name;
4e2933c620 2015-04-21        kinaba: 	PSID               Sid;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias LSA_TRUST_INFORMATION TRUSTED_DOMAIN_INFORMATION_BASIC;
4e2933c620 2015-04-21        kinaba: alias LSA_TRUST_INFORMATION* PLSA_TRUST_INFORMATION;
4e2933c620 2015-04-21        kinaba: /*	in MinGW (further down the code):
4e2933c620 2015-04-21        kinaba:  *		typedef PLSA_TRUST_INFORMATION *PTRUSTED_DOMAIN_INFORMATION_BASIC;
4e2933c620 2015-04-21        kinaba:  *	but it doesn't look right....
4e2933c620 2015-04-21        kinaba:  */
4e2933c620 2015-04-21        kinaba: alias LSA_TRUST_INFORMATION** PTRUSTED_DOMAIN_INFORMATION_BASIC;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct LSA_REFERENCED_DOMAIN_LIST {
4e2933c620 2015-04-21        kinaba: 	ULONG                  Entries;
4e2933c620 2015-04-21        kinaba: 	PLSA_TRUST_INFORMATION Domains;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias LSA_REFERENCED_DOMAIN_LIST* PLSA_REFERENCED_DOMAIN_LIST;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct LSA_TRANSLATED_SID {
4e2933c620 2015-04-21        kinaba: 	SID_NAME_USE Use;
4e2933c620 2015-04-21        kinaba: 	ULONG        RelativeId;
4e2933c620 2015-04-21        kinaba: 	LONG         DomainIndex;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias LSA_TRANSLATED_SID* PLSA_TRANSLATED_SID;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct LSA_TRANSLATED_NAME {
4e2933c620 2015-04-21        kinaba: 	SID_NAME_USE       Use;
4e2933c620 2015-04-21        kinaba: 	LSA_UNICODE_STRING Name;
4e2933c620 2015-04-21        kinaba: 	LONG               DomainIndex;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias LSA_TRANSLATED_NAME* PLSA_TRANSLATED_NAME;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct MSV1_0_INTERACTIVE_LOGON {
4e2933c620 2015-04-21        kinaba: 	MSV1_0_LOGON_SUBMIT_TYPE MessageType;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING           LogonDomainName;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING           UserName;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING           Password;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MSV1_0_INTERACTIVE_LOGON* PMSV1_0_INTERACTIVE_LOGON;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct MSV1_0_INTERACTIVE_PROFILE {
4e2933c620 2015-04-21        kinaba: 	MSV1_0_PROFILE_BUFFER_TYPE MessageType;
4e2933c620 2015-04-21        kinaba: 	USHORT                     LogonCount;
4e2933c620 2015-04-21        kinaba: 	USHORT                     BadPasswordCount;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER              LogonTime;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER              LogoffTime;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER              KickOffTime;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER              PasswordLastSet;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER              PasswordCanChange;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER              PasswordMustChange;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING             LogonScript;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING             HomeDirectory;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING             FullName;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING             ProfilePath;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING             HomeDirectoryDrive;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING             LogonServer;
4e2933c620 2015-04-21        kinaba: 	ULONG                      UserFlags;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MSV1_0_INTERACTIVE_PROFILE* PMSV1_0_INTERACTIVE_PROFILE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct MSV1_0_LM20_LOGON {
4e2933c620 2015-04-21        kinaba: 	MSV1_0_LOGON_SUBMIT_TYPE       MessageType;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING                 LogonDomainName;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING                 UserName;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING                 Workstation;
4e2933c620 2015-04-21        kinaba: 	UCHAR[MSV1_0_CHALLENGE_LENGTH] ChallengeToClient;
4e2933c620 2015-04-21        kinaba: 	STRING                         CaseSensitiveChallengeResponse;
4e2933c620 2015-04-21        kinaba: 	STRING                         CaseInsensitiveChallengeResponse;
4e2933c620 2015-04-21        kinaba: 	ULONG                          ParameterControl;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MSV1_0_LM20_LOGON* PMSV1_0_LM20_LOGON;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 	struct MSV1_0_SUBAUTH_LOGON {
4e2933c620 2015-04-21        kinaba: 		MSV1_0_LOGON_SUBMIT_TYPE       MessageType;
4e2933c620 2015-04-21        kinaba: 		UNICODE_STRING                 LogonDomainName;
4e2933c620 2015-04-21        kinaba: 		UNICODE_STRING                 UserName;
4e2933c620 2015-04-21        kinaba: 		UNICODE_STRING                 Workstation;
4e2933c620 2015-04-21        kinaba: 		UCHAR[MSV1_0_CHALLENGE_LENGTH] ChallengeToClient;
4e2933c620 2015-04-21        kinaba: 		STRING                         AuthenticationInfo1;
4e2933c620 2015-04-21        kinaba: 		STRING                         AuthenticationInfo2;
4e2933c620 2015-04-21        kinaba: 		ULONG                          ParameterControl;
4e2933c620 2015-04-21        kinaba: 		ULONG                          SubAuthPackageId;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	alias MSV1_0_SUBAUTH_LOGON* PMSV1_0_SUBAUTH_LOGON;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct MSV1_0_LM20_LOGON_PROFILE {
4e2933c620 2015-04-21        kinaba: 	MSV1_0_PROFILE_BUFFER_TYPE              MessageType;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER                           KickOffTime;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER                           LogoffTime;
4e2933c620 2015-04-21        kinaba: 	ULONG                                   UserFlags;
4e2933c620 2015-04-21        kinaba: 	UCHAR[MSV1_0_USER_SESSION_KEY_LENGTH]   UserSessionKey;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING                          LogonDomainName;
4e2933c620 2015-04-21        kinaba: 	UCHAR[MSV1_0_LANMAN_SESSION_KEY_LENGTH] LanmanSessionKey;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING                          LogonServer;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING                          UserParameters;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MSV1_0_LM20_LOGON_PROFILE* PMSV1_0_LM20_LOGON_PROFILE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct MSV1_0_SUPPLEMENTAL_CREDENTIAL {
4e2933c620 2015-04-21        kinaba: 	ULONG Version;
4e2933c620 2015-04-21        kinaba: 	ULONG Flags;
4e2933c620 2015-04-21        kinaba: 	UCHAR[MSV1_0_OWF_PASSWORD_LENGTH] LmPassword;
4e2933c620 2015-04-21        kinaba: 	UCHAR[MSV1_0_OWF_PASSWORD_LENGTH] NtPassword;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MSV1_0_SUPPLEMENTAL_CREDENTIAL* PMSV1_0_SUPPLEMENTAL_CREDENTIAL;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct MSV1_0_NTLM3_RESPONSE {
4e2933c620 2015-04-21        kinaba: 	UCHAR[MSV1_0_NTLM3_RESPONSE_LENGTH] Response;
4e2933c620 2015-04-21        kinaba: 	UCHAR     RespType;
4e2933c620 2015-04-21        kinaba: 	UCHAR     HiRespType;
4e2933c620 2015-04-21        kinaba: 	USHORT    Flags;
4e2933c620 2015-04-21        kinaba: 	ULONG     MsgWord;
4e2933c620 2015-04-21        kinaba: 	ULONGLONG TimeStamp;
4e2933c620 2015-04-21        kinaba: 	UCHAR[MSV1_0_CHALLENGE_LENGTH]      ChallengeFromClient;
4e2933c620 2015-04-21        kinaba: 	ULONG     AvPairsOff;
4e2933c620 2015-04-21        kinaba: 	UCHAR     _Buffer;
4e2933c620 2015-04-21        kinaba: 	UCHAR*    Buffer() { return &_Buffer; }
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MSV1_0_NTLM3_RESPONSE* PMSV1_0_NTLM3_RESPONSE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct  MSV1_0_AV_PAIR {
4e2933c620 2015-04-21        kinaba: 	USHORT AvId;
4e2933c620 2015-04-21        kinaba: 	USHORT AvLen;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MSV1_0_AV_PAIR* PMSV1_0_AV_PAIR;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct MSV1_0_CHANGEPASSWORD_REQUEST {
4e2933c620 2015-04-21        kinaba: 	MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING DomainName;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING AccountName;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING OldPassword;
4e2933c620 2015-04-21        kinaba: 	UNICODE_STRING NewPassword;
4e2933c620 2015-04-21        kinaba: 	BOOLEAN        Impersonating;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MSV1_0_CHANGEPASSWORD_REQUEST* PMSV1_0_CHANGEPASSWORD_REQUEST;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct MSV1_0_CHANGEPASSWORD_RESPONSE {
4e2933c620 2015-04-21        kinaba: 	MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
4e2933c620 2015-04-21        kinaba: 	BOOLEAN                      PasswordInfoValid;
4e2933c620 2015-04-21        kinaba: 	DOMAIN_PASSWORD_INFORMATION  DomainPasswordInfo;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MSV1_0_CHANGEPASSWORD_RESPONSE* PMSV1_0_CHANGEPASSWORD_RESPONSE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct MSV1_0_SUBAUTH_REQUEST {
4e2933c620 2015-04-21        kinaba: 	MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
4e2933c620 2015-04-21        kinaba: 	ULONG  SubAuthPackageId;
4e2933c620 2015-04-21        kinaba: 	ULONG  SubAuthInfoLength;
4e2933c620 2015-04-21        kinaba: 	PUCHAR SubAuthSubmitBuffer;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MSV1_0_SUBAUTH_REQUEST* PMSV1_0_SUBAUTH_REQUEST;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct MSV1_0_SUBAUTH_RESPONSE {
4e2933c620 2015-04-21        kinaba: 	MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
4e2933c620 2015-04-21        kinaba: 	ULONG  SubAuthInfoLength;
4e2933c620 2015-04-21        kinaba: 	PUCHAR SubAuthReturnBuffer;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MSV1_0_SUBAUTH_RESPONSE* PMSV1_0_SUBAUTH_RESPONSE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const MSV1_0_DERIVECRED_TYPE_SHA1 = 0;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct MSV1_0_DERIVECRED_REQUEST {
4e2933c620 2015-04-21        kinaba: 	MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
4e2933c620 2015-04-21        kinaba: 	LUID   LogonId;
4e2933c620 2015-04-21        kinaba: 	ULONG  DeriveCredType;
4e2933c620 2015-04-21        kinaba: 	ULONG  DeriveCredInfoLength;
4e2933c620 2015-04-21        kinaba: 	UCHAR  _DeriveCredSubmitBuffer;
4e2933c620 2015-04-21        kinaba: 	UCHAR* DeriveCredSubmitBuffer() { return &_DeriveCredSubmitBuffer; }
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MSV1_0_DERIVECRED_REQUEST* PMSV1_0_DERIVECRED_REQUEST;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct MSV1_0_DERIVECRED_RESPONSE {
4e2933c620 2015-04-21        kinaba: 	MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
4e2933c620 2015-04-21        kinaba: 	ULONG  DeriveCredInfoLength;
4e2933c620 2015-04-21        kinaba: 	UCHAR  _DeriveCredReturnBuffer;
4e2933c620 2015-04-21        kinaba: 	UCHAR* DeriveCredReturnBuffer() { return &_DeriveCredReturnBuffer; }
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MSV1_0_DERIVECRED_RESPONSE* PMSV1_0_DERIVECRED_RESPONSE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias uint LSA_ENUMERATION_HANDLE, LSA_OPERATIONAL_MODE,
4e2933c620 2015-04-21        kinaba:   POLICY_AUDIT_EVENT_OPTIONS;
4e2933c620 2015-04-21        kinaba: alias uint* PLSA_ENUMERATION_HANDLE, PLSA_OPERATIONAL_MODE,
4e2933c620 2015-04-21        kinaba:   PPOLICY_AUDIT_EVENT_OPTIONS;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_PRIVILEGE_DEFINITION {
4e2933c620 2015-04-21        kinaba: 	LSA_UNICODE_STRING Name;
4e2933c620 2015-04-21        kinaba: 	LUID LocalValue;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_PRIVILEGE_DEFINITION* PPOLICY_PRIVILEGE_DEFINITION;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_AUDIT_LOG_INFO {
4e2933c620 2015-04-21        kinaba: 	ULONG         AuditLogPercentFull;
4e2933c620 2015-04-21        kinaba: 	ULONG         MaximumLogSize;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER AuditRetentionPeriod;
4e2933c620 2015-04-21        kinaba: 	BOOLEAN       AuditLogFullShutdownInProgress;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER TimeToShutdown;
4e2933c620 2015-04-21        kinaba: 	ULONG         NextAuditRecordId;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_AUDIT_LOG_INFO* PPOLICY_AUDIT_LOG_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_AUDIT_EVENTS_INFO {
4e2933c620 2015-04-21        kinaba: 	BOOLEAN                     AuditingMode;
4e2933c620 2015-04-21        kinaba: 	PPOLICY_AUDIT_EVENT_OPTIONS EventAuditingOptions;
4e2933c620 2015-04-21        kinaba: 	ULONG                       MaximumAuditEventCount;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_AUDIT_EVENTS_INFO* PPOLICY_AUDIT_EVENTS_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_ACCOUNT_DOMAIN_INFO {
4e2933c620 2015-04-21        kinaba: 	LSA_UNICODE_STRING DomainName;
4e2933c620 2015-04-21        kinaba: 	PSID               DomainSid;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_ACCOUNT_DOMAIN_INFO* PPOLICY_ACCOUNT_DOMAIN_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_PRIMARY_DOMAIN_INFO {
4e2933c620 2015-04-21        kinaba: 	LSA_UNICODE_STRING Name;
4e2933c620 2015-04-21        kinaba: 	PSID               Sid;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_PRIMARY_DOMAIN_INFO* PPOLICY_PRIMARY_DOMAIN_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_DNS_DOMAIN_INFO {
4e2933c620 2015-04-21        kinaba: 	LSA_UNICODE_STRING Name;
4e2933c620 2015-04-21        kinaba: 	LSA_UNICODE_STRING DnsDomainName;
4e2933c620 2015-04-21        kinaba: 	LSA_UNICODE_STRING DnsTreeName;
4e2933c620 2015-04-21        kinaba: 	GUID               DomainGuid;
4e2933c620 2015-04-21        kinaba: 	PSID               Sid;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_DNS_DOMAIN_INFO* PPOLICY_DNS_DOMAIN_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_PD_ACCOUNT_INFO {
4e2933c620 2015-04-21        kinaba: 	LSA_UNICODE_STRING Name;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_PD_ACCOUNT_INFO* PPOLICY_PD_ACCOUNT_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_LSA_SERVER_ROLE_INFO {
4e2933c620 2015-04-21        kinaba: 	POLICY_LSA_SERVER_ROLE LsaServerRole;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_LSA_SERVER_ROLE_INFO* PPOLICY_LSA_SERVER_ROLE_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_REPLICA_SOURCE_INFO {
4e2933c620 2015-04-21        kinaba: 	LSA_UNICODE_STRING ReplicaSource;
4e2933c620 2015-04-21        kinaba: 	LSA_UNICODE_STRING ReplicaAccountName;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_REPLICA_SOURCE_INFO* PPOLICY_REPLICA_SOURCE_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_DEFAULT_QUOTA_INFO {
4e2933c620 2015-04-21        kinaba: 	QUOTA_LIMITS QuotaLimits;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_DEFAULT_QUOTA_INFO* PPOLICY_DEFAULT_QUOTA_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_MODIFICATION_INFO {
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER ModifiedId;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER DatabaseCreationTime;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_MODIFICATION_INFO* PPOLICY_MODIFICATION_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_AUDIT_FULL_SET_INFO {
4e2933c620 2015-04-21        kinaba: 	BOOLEAN ShutDownOnFull;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_AUDIT_FULL_SET_INFO* PPOLICY_AUDIT_FULL_SET_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_AUDIT_FULL_QUERY_INFO {
4e2933c620 2015-04-21        kinaba: 	BOOLEAN ShutDownOnFull;
4e2933c620 2015-04-21        kinaba: 	BOOLEAN LogIsFull;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_AUDIT_FULL_QUERY_INFO* PPOLICY_AUDIT_FULL_QUERY_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_EFS_INFO {
4e2933c620 2015-04-21        kinaba: 	ULONG InfoLength;
4e2933c620 2015-04-21        kinaba: 	PUCHAR EfsBlob;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_EFS_INFO* PPOLICY_EFS_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_LOCAL_IPSEC_REFERENCE_INFO {
4e2933c620 2015-04-21        kinaba: 	LSA_UNICODE_STRING ObjectPath;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_LOCAL_IPSEC_REFERENCE_INFO* PPOLICY_LOCAL_IPSEC_REFERENCE_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_LOCAL_MACHINE_PASSWORD_INFO {
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER PasswordChangeInterval;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_LOCAL_MACHINE_PASSWORD_INFO* PPOLICY_LOCAL_MACHINE_PASSWORD_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_LOCAL_POLICY_LOCATION_INFO {
4e2933c620 2015-04-21        kinaba: 	ULONG PolicyLocation;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_LOCAL_POLICY_LOCATION_INFO* PPOLICY_LOCAL_POLICY_LOCATION_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_LOCAL_QUALITY_OF_SERVICE_INFO{
4e2933c620 2015-04-21        kinaba: 	ULONG QualityOfService;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_LOCAL_QUALITY_OF_SERVICE_INFO
4e2933c620 2015-04-21        kinaba:   POLICY_DOMAIN_QUALITY_OF_SERVICE_INFO;
4e2933c620 2015-04-21        kinaba: alias POLICY_LOCAL_QUALITY_OF_SERVICE_INFO*
4e2933c620 2015-04-21        kinaba:   PPOLICY_LOCAL_QUALITY_OF_SERVICE_INFO,
4e2933c620 2015-04-21        kinaba:   PPOLICY_DOMAIN_QUALITY_OF_SERVICE_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_DOMAIN_PUBLIC_KEY_INFO {
4e2933c620 2015-04-21        kinaba: 	ULONG  InfoLength;
4e2933c620 2015-04-21        kinaba: 	PUCHAR PublicKeyInfo;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_DOMAIN_PUBLIC_KEY_INFO* PPOLICY_DOMAIN_PUBLIC_KEY_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_DOMAIN_LOCKOUT_INFO {
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER LockoutDuration;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER LockoutObservationWindow;
4e2933c620 2015-04-21        kinaba: 	USHORT        LockoutThreshold;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_DOMAIN_LOCKOUT_INFO* PPOLICY_DOMAIN_LOCKOUT_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_DOMAIN_PASSWORD_INFO {
4e2933c620 2015-04-21        kinaba: 	USHORT        MinPasswordLength;
4e2933c620 2015-04-21        kinaba: 	USHORT        PasswordHistoryLength;
4e2933c620 2015-04-21        kinaba: 	ULONG         PasswordProperties;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER MaxPasswordAge;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER MinPasswordAge;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_DOMAIN_PASSWORD_INFO* PPOLICY_DOMAIN_PASSWORD_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct POLICY_DOMAIN_KERBEROS_TICKET_INFO {
4e2933c620 2015-04-21        kinaba: 	ULONG         AuthenticationOptions;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER MinTicketAge;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER MaxTicketAge;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER MaxRenewAge;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER ProxyLifetime;
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER ForceLogoff;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias POLICY_DOMAIN_KERBEROS_TICKET_INFO* PPOLICY_DOMAIN_KERBEROS_TICKET_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias HANDLE LSA_HANDLE;
4e2933c620 2015-04-21        kinaba: alias HANDLE* PLSA_HANDLE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct TRUSTED_DOMAIN_NAME_INFO {
4e2933c620 2015-04-21        kinaba: 	LSA_UNICODE_STRING Name;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias TRUSTED_DOMAIN_NAME_INFO* PTRUSTED_DOMAIN_NAME_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct TRUSTED_CONTROLLERS_INFO {
4e2933c620 2015-04-21        kinaba: 	ULONG               Entries;
4e2933c620 2015-04-21        kinaba: 	PLSA_UNICODE_STRING Names;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias TRUSTED_CONTROLLERS_INFO* PTRUSTED_CONTROLLERS_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct TRUSTED_POSIX_OFFSET_INFO {
4e2933c620 2015-04-21        kinaba: 	ULONG Offset;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias TRUSTED_POSIX_OFFSET_INFO* PTRUSTED_POSIX_OFFSET_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct TRUSTED_PASSWORD_INFO {
4e2933c620 2015-04-21        kinaba: 	LSA_UNICODE_STRING Password;
4e2933c620 2015-04-21        kinaba: 	LSA_UNICODE_STRING OldPassword;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias TRUSTED_PASSWORD_INFO* PTRUSTED_PASSWORD_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct TRUSTED_DOMAIN_INFORMATION_EX {
4e2933c620 2015-04-21        kinaba: 	LSA_UNICODE_STRING Name;
4e2933c620 2015-04-21        kinaba: 	LSA_UNICODE_STRING FlatName;
4e2933c620 2015-04-21        kinaba: 	PSID               Sid;
4e2933c620 2015-04-21        kinaba: 	ULONG              TrustDirection;
4e2933c620 2015-04-21        kinaba: 	ULONG              TrustType;
4e2933c620 2015-04-21        kinaba: 	ULONG              TrustAttributes;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias TRUSTED_DOMAIN_INFORMATION_EX* PTRUSTED_DOMAIN_INFORMATION_EX;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct LSA_AUTH_INFORMATION {
4e2933c620 2015-04-21        kinaba: 	LARGE_INTEGER LastUpdateTime;
4e2933c620 2015-04-21        kinaba: 	ULONG         AuthType;
4e2933c620 2015-04-21        kinaba: 	ULONG         AuthInfoLength;
4e2933c620 2015-04-21        kinaba: 	PUCHAR        AuthInfo;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias LSA_AUTH_INFORMATION* PLSA_AUTH_INFORMATION;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct TRUSTED_DOMAIN_AUTH_INFORMATION {
4e2933c620 2015-04-21        kinaba: 	ULONG                 IncomingAuthInfos;
4e2933c620 2015-04-21        kinaba: 	PLSA_AUTH_INFORMATION IncomingAuthenticationInformation;
4e2933c620 2015-04-21        kinaba: 	PLSA_AUTH_INFORMATION IncomingPreviousAuthenticationInformation;
4e2933c620 2015-04-21        kinaba: 	ULONG                 OutgoingAuthInfos;
4e2933c620 2015-04-21        kinaba: 	PLSA_AUTH_INFORMATION OutgoingAuthenticationInformation;
4e2933c620 2015-04-21        kinaba: 	PLSA_AUTH_INFORMATION OutgoingPreviousAuthenticationInformation;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias TRUSTED_DOMAIN_AUTH_INFORMATION* PTRUSTED_DOMAIN_AUTH_INFORMATION;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct TRUSTED_DOMAIN_FULL_INFORMATION {
4e2933c620 2015-04-21        kinaba: 	TRUSTED_DOMAIN_INFORMATION_EX   Information;
4e2933c620 2015-04-21        kinaba: 	TRUSTED_POSIX_OFFSET_INFO       PosixOffset;
4e2933c620 2015-04-21        kinaba: 	TRUSTED_DOMAIN_AUTH_INFORMATION AuthInformation;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias TRUSTED_DOMAIN_FULL_INFORMATION* PTRUSTED_DOMAIN_FULL_INFORMATION;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: extern (Windows) {
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaAddAccountRights(LSA_HANDLE, PSID, PLSA_UNICODE_STRING,
4e2933c620 2015-04-21        kinaba: 	  ULONG);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaCallAuthenticationPackage(HANDLE, ULONG, PVOID, ULONG,
4e2933c620 2015-04-21        kinaba: 	  PVOID*, PULONG, PNTSTATUS);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaClose(LSA_HANDLE);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaConnectUntrusted(PHANDLE);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaCreateTrustedDomainEx(LSA_HANDLE,
4e2933c620 2015-04-21        kinaba: 	  PTRUSTED_DOMAIN_INFORMATION_EX, PTRUSTED_DOMAIN_AUTH_INFORMATION,
4e2933c620 2015-04-21        kinaba: 	  ACCESS_MASK, PLSA_HANDLE);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaDeleteTrustedDomain(LSA_HANDLE, PSID);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaDeregisterLogonProcess(HANDLE);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaEnumerateAccountRights(LSA_HANDLE, PSID, PLSA_UNICODE_STRING*,
4e2933c620 2015-04-21        kinaba: 	  PULONG);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaEnumerateAccountsWithUserRight(LSA_HANDLE,
4e2933c620 2015-04-21        kinaba: 	  PLSA_UNICODE_STRING, PVOID*, PULONG);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaEnumerateTrustedDomains(LSA_HANDLE, PLSA_ENUMERATION_HANDLE,
4e2933c620 2015-04-21        kinaba: 	  PVOID*, ULONG, PULONG);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaEnumerateTrustedDomainsEx(LSA_HANDLE, PLSA_ENUMERATION_HANDLE,
4e2933c620 2015-04-21        kinaba: 	  TRUSTED_INFORMATION_CLASS, PVOID*, ULONG, PULONG);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaFreeMemory(PVOID);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaFreeReturnBuffer(PVOID);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaLogonUser(HANDLE, PLSA_STRING, SECURITY_LOGON_TYPE, ULONG,
4e2933c620 2015-04-21        kinaba: 	  PVOID, ULONG, PTOKEN_GROUPS, PTOKEN_SOURCE, PVOID*, PULONG, PLUID,
4e2933c620 2015-04-21        kinaba: 	  PHANDLE, PQUOTA_LIMITS, PNTSTATUS);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaLookupAuthenticationPackage(HANDLE, PLSA_STRING, PULONG);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaLookupNames(LSA_HANDLE, ULONG, PLSA_UNICODE_STRING,
4e2933c620 2015-04-21        kinaba: 	  PLSA_REFERENCED_DOMAIN_LIST*, PLSA_TRANSLATED_SID*);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaLookupSids(LSA_HANDLE, ULONG, PSID*,
4e2933c620 2015-04-21        kinaba: 	  PLSA_REFERENCED_DOMAIN_LIST*, PLSA_TRANSLATED_NAME*);
4e2933c620 2015-04-21        kinaba: 	ULONG LsaNtStatusToWinError(NTSTATUS);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaOpenPolicy(PLSA_UNICODE_STRING, PLSA_OBJECT_ATTRIBUTES,
4e2933c620 2015-04-21        kinaba: 	  ACCESS_MASK, PLSA_HANDLE);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaQueryDomainInformationPolicy(LSA_HANDLE,
4e2933c620 2015-04-21        kinaba: 	  POLICY_DOMAIN_INFORMATION_CLASS, PVOID*);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaQueryInformationPolicy(LSA_HANDLE, POLICY_INFORMATION_CLASS,
4e2933c620 2015-04-21        kinaba: 	  PVOID*);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaQueryLocalInformationPolicy(LSA_HANDLE,
4e2933c620 2015-04-21        kinaba: 	  POLICY_LOCAL_INFORMATION_CLASS, PVOID*);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaQueryTrustedDomainInfo(LSA_HANDLE, PSID,
4e2933c620 2015-04-21        kinaba: 	  TRUSTED_INFORMATION_CLASS, PVOID*);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaQueryTrustedDomainInfoByName(LSA_HANDLE, PLSA_UNICODE_STRING,
4e2933c620 2015-04-21        kinaba: 	  TRUSTED_INFORMATION_CLASS, PVOID*);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaRegisterLogonProcess(PLSA_STRING, PHANDLE,
4e2933c620 2015-04-21        kinaba: 	  PLSA_OPERATIONAL_MODE);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaRemoveAccountRights(LSA_HANDLE, PSID, BOOLEAN,
4e2933c620 2015-04-21        kinaba: 	  PLSA_UNICODE_STRING, ULONG);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaRetrievePrivateData(LSA_HANDLE, PLSA_UNICODE_STRING,
4e2933c620 2015-04-21        kinaba: 	  PLSA_UNICODE_STRING*);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaSetDomainInformationPolicy(LSA_HANDLE,
4e2933c620 2015-04-21        kinaba: 	  POLICY_DOMAIN_INFORMATION_CLASS, PVOID);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaSetInformationPolicy(LSA_HANDLE, POLICY_INFORMATION_CLASS,
4e2933c620 2015-04-21        kinaba: 	  PVOID);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaSetLocalInformationPolicy(LSA_HANDLE,
4e2933c620 2015-04-21        kinaba: 	  POLICY_LOCAL_INFORMATION_CLASS, PVOID);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaSetTrustedDomainInformation(LSA_HANDLE, PSID,
4e2933c620 2015-04-21        kinaba: 	  TRUSTED_INFORMATION_CLASS, PVOID);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaSetTrustedDomainInfoByName(LSA_HANDLE, PLSA_UNICODE_STRING,
4e2933c620 2015-04-21        kinaba: 	  TRUSTED_INFORMATION_CLASS, PVOID);
4e2933c620 2015-04-21        kinaba: 	NTSTATUS LsaStorePrivateData(LSA_HANDLE, PLSA_UNICODE_STRING,
4e2933c620 2015-04-21        kinaba: 	  PLSA_UNICODE_STRING);
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias NTSTATUS function(PUNICODE_STRING, ULONG, PUNICODE_STRING)
4e2933c620 2015-04-21        kinaba:   PSAM_PASSWORD_NOTIFICATION_ROUTINE;
4e2933c620 2015-04-21        kinaba: alias BOOLEAN function() PSAM_INIT_NOTIFICATION_ROUTINE;
4e2933c620 2015-04-21        kinaba: alias BOOLEAN function(PUNICODE_STRING, PUNICODE_STRING,
4e2933c620 2015-04-21        kinaba:   PUNICODE_STRING, BOOLEAN) PSAM_PASSWORD_FILTER_ROUTINE;