📄 ntsecapi.h
字号:
#ifndef _NTSECAPI_H#define _NTSECAPI_H#if __GNUC__ >=3#pragma GCC system_header#endif#ifdef __cplusplusextern "C" {#endif#define KERB_WRAP_NO_ENCRYPT 0x80000001#define LOGON_GUEST 1#define LOGON_NOENCRYPTION 2#define LOGON_CACHED_ACCOUNT 4#define LOGON_USED_LM_PASSWORD 8#define LOGON_EXTRA_SIDS 32#define LOGON_SUBAUTH_SESSION_KEY 64#define LOGON_SERVER_TRUST_ACCOUNT 128#define LOGON_NTLMV2_ENABLED 256#define LOGON_RESOURCE_GROUPS 512#define LOGON_PROFILE_PATH_RETURNED 1024#define LOGON_GRACE_LOGON 16777216#define LSA_MODE_PASSWORD_PROTECTED 1#define LSA_MODE_INDIVIDUAL_ACCOUNTS 2#define LSA_MODE_MANDATORY_ACCESS 3#define LSA_MODE_LOG_FULL 4#define LSA_SUCCESS(x) ((LONG)(x)>=0)#define MICROSOFT_KERBEROS_NAME_A "Kerberos"#define MICROSOFT_KERBEROS_NAME_W L"Kerberos"#define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT 32#define MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT 2048#define MSV1_0_CHALLENGE_LENGTH 8#define MSV1_0_CLEARTEXT_PASSWORD_ALLOWED 2#define MSV1_0_CRED_LM_PRESENT 1#define MSV1_0_CRED_NT_PRESENT 2#define MSV1_0_CRED_VERSION 0#define MSV1_0_DONT_TRY_GUEST_ACCOUNT 16#define MSV1_0_LANMAN_SESSION_KEY_LENGTH 8#define MSV1_0_MAX_NTLM3_LIFE 1800#define MSV1_0_MAX_AVL_SIZE 64000#define MSV1_0_MNS_LOGON 16777216#define MSV1_0_NTLM3_RESPONSE_LENGTH 16#define MSV1_0_NTLM3_OWF_LENGTH 16#define MSV1_0_NTLM3_INPUT_LENGTH (sizeof(MSV1_0_NTLM3_RESPONSE)-MSV1_0_NTLM3_RESPONSE_LENGTH)#define MSV1_0_OWF_PASSWORD_LENGTH 16#define MSV1_0_PACKAGE_NAME "MICROSOFT_AUTHENTICATION_PACKAGE_V1_0"#define MSV1_0_PACKAGE_NAMEW L"MICROSOFT_AUTHENTICATION_PACKAGE_V1_0"#define MSV1_0_PACKAGE_NAMEW_LENGTH sizeof(MSV1_0_PACKAGE_NAMEW)-sizeof(WCHAR)#define MSV1_0_RETURN_USER_PARAMETERS 8#define MSV1_0_RETURN_PASSWORD_EXPIRY 64#define MSV1_0_RETURN_PROFILE_PATH 512#define MSV1_0_SUBAUTHENTICATION_DLL_EX 1048576#define MSV1_0_SUBAUTHENTICATION_DLL 0xff000000#define MSV1_0_SUBAUTHENTICATION_DLL_SHIFT 24#define MSV1_0_SUBAUTHENTICATION_DLL_RAS 2#define MSV1_0_SUBAUTHENTICATION_DLL_IIS 132#define MSV1_0_SUBAUTHENTICATION_FLAGS 0xff000000#define MSV1_0_SUBAUTHENTICATION_KEY "System\\CurrentControlSet\\Control\\Lsa\\MSV1_0"#define MSV1_0_SUBAUTHENTICATION_VALUE "Auth"#define MSV1_0_TRY_GUEST_ACCOUNT_ONLY 256#define MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY 1024#define MSV1_0_UPDATE_LOGON_STATISTICS 4#define MSV1_0_USE_CLIENT_CHALLENGE 128#define MSV1_0_USER_SESSION_KEY_LENGTH 16#define POLICY_VIEW_LOCAL_INFORMATION 1#define POLICY_VIEW_AUDIT_INFORMATION 2#define POLICY_GET_PRIVATE_INFORMATION 4#define POLICY_TRUST_ADMIN 8#define POLICY_CREATE_ACCOUNT 16#define POLICY_CREATE_SECRET 32#define POLICY_CREATE_PRIVILEGE 64#define POLICY_SET_DEFAULT_QUOTA_LIMITS 128#define POLICY_SET_AUDIT_REQUIREMENTS 256#define POLICY_AUDIT_LOG_ADMIN 512#define POLICY_SERVER_ADMIN 1024#define POLICY_LOOKUP_NAMES 2048#define POLICY_READ (STANDARD_RIGHTS_READ|6)#define POLICY_WRITE (STANDARD_RIGHTS_WRITE|2040)#define POLICY_EXECUTE (STANDARD_RIGHTS_EXECUTE|2049)#define POLICY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|4095)#define POLICY_AUDIT_EVENT_UNCHANGED 0#define POLICY_AUDIT_EVENT_SUCCESS 1#define POLICY_AUDIT_EVENT_FAILURE 2#define POLICY_AUDIT_EVENT_NONE 4#define POLICY_AUDIT_EVENT_MASK 7#define POLICY_LOCATION_LOCAL 1#define POLICY_LOCATION_DS 2#define POLICY_MACHINE_POLICY_LOCAL 0#define POLICY_MACHINE_POLICY_DEFAULTED 1#define POLICY_MACHINE_POLICY_EXPLICIT 2#define POLICY_MACHINE_POLICY_UNKNOWN 0xFFFFFFFF#define POLICY_QOS_SCHANEL_REQUIRED 1#define POLICY_QOS_OUTBOUND_INTEGRITY 2#define POLICY_QOS_OUTBOUND_CONFIDENTIALITY 4#define POLICY_QOS_INBOUND_INTEGREITY 8#define POLICY_QOS_INBOUND_CONFIDENTIALITY 16#define POLICY_QOS_ALLOW_LOCAL_ROOT_CERT_STORE 32#define POLICY_QOS_RAS_SERVER_ALLOWED 64#define POLICY_QOS_DHCP_SERVER_ALLOWD 128#define POLICY_KERBEROS_FORWARDABLE 1#define POLICY_KERBEROS_PROXYABLE 2#define POLICY_KERBEROS_RENEWABLE 4#define POLICY_KERBEROS_POSTDATEABLE 8#define SAM_PASSWORD_CHANGE_NOTIFY_ROUTINE "PasswordChangeNotify"#define SAM_INIT_NOTIFICATION_ROUTINE "InitializeChangeNotify"#define SAM_PASSWORD_FILTER_ROUTINE "PasswordFilter"#define SE_INTERACTIVE_LOGON_NAME TEXT("SeInteractiveLogonRight")#define SE_NETWORK_LOGON_NAME TEXT("SeNetworkLogonRight")#define SE_BATCH_LOGON_NAME TEXT("SeBatchLogonRight")#define SE_SERVICE_LOGON_NAME TEXT("SeServiceLogonRight")#define TRUST_ATTRIBUTE_NON_TRANSITIVE 1#define TRUST_ATTRIBUTE_UPLEVEL_ONLY 2#define TRUST_ATTRIBUTE_TREE_PARENT 4194304#define TRUST_ATTRIBUTES_VALID -16580609#define TRUST_AUTH_TYPE_NONE 0#define TRUST_AUTH_TYPE_NT4OWF 1#define TRUST_AUTH_TYPE_CLEAR 2#define TRUST_DIRECTION_DISABLED 0#define TRUST_DIRECTION_INBOUND 1#define TRUST_DIRECTION_OUTBOUND 2#define TRUST_DIRECTION_BIDIRECTIONAL 3#define TRUST_TYPE_DOWNLEVEL 1#define TRUST_TYPE_UPLEVEL 2#define TRUST_TYPE_MIT 3#define TRUST_TYPE_DCE 4#if !defined(_NTDEF_H) && !defined(_SUBAUTH_H)typedef LONG NTSTATUS, *PNTSTATUS;typedef struct _UNICODE_STRING { USHORT Length; USHORT MaximumLength; PWSTR Buffer;} UNICODE_STRING, *PUNICODE_STRING;typedef const UNICODE_STRING* PCUNICODE_STRING;typedef struct _STRING { USHORT Length; USHORT MaximumLength; PCHAR Buffer;} STRING, *PSTRING;#endiftypedef UNICODE_STRING LSA_UNICODE_STRING, *PLSA_UNICODE_STRING;typedef STRING LSA_STRING, *PLSA_STRING;typedef enum _MSV1_0_LOGON_SUBMIT_TYPE { MsV1_0InteractiveLogon = 2, MsV1_0Lm20Logon, MsV1_0NetworkLogon, MsV1_0SubAuthLogon, MsV1_0WorkstationUnlockLogon = 7} MSV1_0_LOGON_SUBMIT_TYPE, *PMSV1_0_LOGON_SUBMIT_TYPE;typedef enum _MSV1_0_PROFILE_BUFFER_TYPE { MsV1_0InteractiveProfile = 2, MsV1_0Lm20LogonProfile, MsV1_0SmartCardProfile} MSV1_0_PROFILE_BUFFER_TYPE, *PMSV1_0_PROFILE_BUFFER_TYPE;typedef enum { MsvAvEOL, MsvAvNbComputerName, MsvAvNbDomainName, MsvAvDnsComputerName, MsvAvDnsDomainName} MSV1_0_AVID;typedef enum _MSV1_0_PROTOCOL_MESSAGE_TYPE { MsV1_0Lm20ChallengeRequest = 0, MsV1_0Lm20GetChallengeResponse, MsV1_0EnumerateUsers, MsV1_0GetUserInfo, MsV1_0ReLogonUsers, MsV1_0ChangePassword, MsV1_0ChangeCachedPassword, MsV1_0GenericPassthrough, MsV1_0CacheLogon, MsV1_0SubAuth, MsV1_0DeriveCredential, MsV1_0CacheLookup} MSV1_0_PROTOCOL_MESSAGE_TYPE, *PMSV1_0_PROTOCOL_MESSAGE_TYPE;typedef enum _POLICY_LSA_SERVER_ROLE { PolicyServerRoleBackup = 2, PolicyServerRolePrimary} POLICY_LSA_SERVER_ROLE, *PPOLICY_LSA_SERVER_ROLE;typedef enum _POLICY_SERVER_ENABLE_STATE { PolicyServerEnabled = 2, PolicyServerDisabled} POLICY_SERVER_ENABLE_STATE, *PPOLICY_SERVER_ENABLE_STATE;typedef enum _POLICY_INFORMATION_CLASS { PolicyAuditLogInformation = 1, PolicyAuditEventsInformation, PolicyPrimaryDomainInformation, PolicyPdAccountInformation, PolicyAccountDomainInformation, PolicyLsaServerRoleInformation, PolicyReplicaSourceInformation, PolicyDefaultQuotaInformation, PolicyModificationInformation, PolicyAuditFullSetInformation, PolicyAuditFullQueryInformation, PolicyDnsDomainInformation, PolicyEfsInformation} POLICY_INFORMATION_CLASS, *PPOLICY_INFORMATION_CLASS;typedef enum _POLICY_AUDIT_EVENT_TYPE { AuditCategorySystem, AuditCategoryLogon, AuditCategoryObjectAccess, AuditCategoryPrivilegeUse, AuditCategoryDetailedTracking, AuditCategoryPolicyChange, AuditCategoryAccountManagement, AuditCategoryDirectoryServiceAccess, AuditCategoryAccountLogon} POLICY_AUDIT_EVENT_TYPE, *PPOLICY_AUDIT_EVENT_TYPE;typedef enum _POLICY_LOCAL_INFORMATION_CLASS { PolicyLocalAuditEventsInformation = 1, PolicyLocalPdAccountInformation, PolicyLocalAccountDomainInformation, PolicyLocalLsaServerRoleInformation, PolicyLocalReplicaSourceInformation, PolicyLocalModificationInformation, PolicyLocalAuditFullSetInformation, PolicyLocalAuditFullQueryInformation, PolicyLocalDnsDomainInformation, PolicyLocalIPSecReferenceInformation, PolicyLocalMachinePasswordInformation, PolicyLocalQualityOfServiceInformation, PolicyLocalPolicyLocationInformation} POLICY_LOCAL_INFORMATION_CLASS, *PPOLICY_LOCAL_INFORMATION_CLASS;typedef enum _POLICY_DOMAIN_INFORMATION_CLASS { PolicyDomainIPSecReferenceInformation = 1, PolicyDomainQualityOfServiceInformation, PolicyDomainEfsInformation, PolicyDomainPublicKeyInformation, PolicyDomainPasswordPolicyInformation, PolicyDomainLockoutInformation, PolicyDomainKerberosTicketInformation} POLICY_DOMAIN_INFORMATION_CLASS, *PPOLICY_DOMAIN_INFORMATION_CLASS;typedef enum _SECURITY_LOGON_TYPE { Interactive = 2, Network, Batch, Service, Proxy, Unlock} SECURITY_LOGON_TYPE, *PSECURITY_LOGON_TYPE;typedef enum _TRUSTED_INFORMATION_CLASS { TrustedDomainNameInformation = 1, TrustedControllersInformation, TrustedPosixOffsetInformation, TrustedPasswordInformation, TrustedDomainInformationBasic, TrustedDomainInformationEx, TrustedDomainAuthInformation, TrustedDomainFullInformation} TRUSTED_INFORMATION_CLASS, *PTRUSTED_INFORMATION_CLASS;typedef struct _DOMAIN_PASSWORD_INFORMATION { USHORT MinPasswordLength; USHORT PasswordHistoryLength; ULONG PasswordProperties; LARGE_INTEGER MaxPasswordAge; LARGE_INTEGER MinPasswordAge;} DOMAIN_PASSWORD_INFORMATION, *PDOMAIN_PASSWORD_INFORMATION;typedef ULONG LSA_ENUMERATION_HANDLE, *PLSA_ENUMERATION_HANDLE;typedef struct _LSA_ENUMERATION_INFORMATION { PSID Sid;} LSA_ENUMERATION_INFORMATION, *PLSA_ENUMERATION_INFORMATION;typedef ULONG LSA_OPERATIONAL_MODE, *PLSA_OPERATIONAL_MODE;#if !defined(_NTDEF_H)typedef struct _LSA_OBJECT_ATTRIBUTES { ULONG Length; HANDLE RootDirectory; PLSA_UNICODE_STRING ObjectName; ULONG Attributes; PVOID SecurityDescriptor; PVOID SecurityQualityOfService;} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;#endiftypedef OBJECT_ATTRIBUTES LSA_OBJECT_ATTRIBUTES, *PLSA_OBJECT_ATTRIBUTES;typedef struct _LSA_TRUST_INFORMATION { LSA_UNICODE_STRING Name; PSID Sid;} LSA_TRUST_INFORMATION, *PLSA_TRUST_INFORMATION;typedef struct _LSA_REFERENCED_DOMAIN_LIST { ULONG Entries; PLSA_TRUST_INFORMATION Domains;} LSA_REFERENCED_DOMAIN_LIST, *PLSA_REFERENCED_DOMAIN_LIST;typedef struct _LSA_TRANSLATED_SID { SID_NAME_USE Use; ULONG RelativeId; LONG DomainIndex;} LSA_TRANSLATED_SID, *PLSA_TRANSLATED_SID;typedef struct _LSA_TRANSLATED_NAME { SID_NAME_USE Use; LSA_UNICODE_STRING Name; LONG DomainIndex;} LSA_TRANSLATED_NAME, *PLSA_TRANSLATED_NAME;typedef struct _MSV1_0_INTERACTIVE_LOGON { MSV1_0_LOGON_SUBMIT_TYPE MessageType; UNICODE_STRING LogonDomainName; UNICODE_STRING UserName; UNICODE_STRING Password;} MSV1_0_INTERACTIVE_LOGON, *PMSV1_0_INTERACTIVE_LOGON;typedef struct _MSV1_0_INTERACTIVE_PROFILE { MSV1_0_PROFILE_BUFFER_TYPE MessageType; USHORT LogonCount; USHORT BadPasswordCount; LARGE_INTEGER LogonTime; LARGE_INTEGER LogoffTime; LARGE_INTEGER KickOffTime; LARGE_INTEGER PasswordLastSet; LARGE_INTEGER PasswordCanChange; LARGE_INTEGER PasswordMustChange; UNICODE_STRING LogonScript;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -