* include/ntsecapi.h: New file.
* include/subauth.h: Ditto. * include/ipexport.h: Fix global header define not to contain trailing underscore. Change layout according to standard. * include/iphlpapi.h: Ditto. * include/ipifcons.h: Ditto. * include/iptypes.h: Ditto. * include/ntdef.h: Ditto. Define conditional datatypes dependent of inclusion of ntdecapi.h and subauth.h. * lib/secur32.def: New stub for secur32.dll.
This commit is contained in:
parent
57bf29e825
commit
65bb926f51
|
@ -1,3 +1,16 @@
|
|||
Sun Oct 8 18:26:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* include/ntsecapi.h: New file.
|
||||
* include/subauth.h: Ditto.
|
||||
* include/ipexport.h: Fix global header define not to contain
|
||||
trailing underscore. Change layout according to standard.
|
||||
* include/iphlpapi.h: Ditto.
|
||||
* include/ipifcons.h: Ditto.
|
||||
* include/iptypes.h: Ditto.
|
||||
* include/ntdef.h: Ditto. Define conditional datatypes dependent
|
||||
of inclusion of ntdecapi.h and subauth.h.
|
||||
* lib/secur32.def: New stub for secur32.dll.
|
||||
|
||||
Mon Oct 2 11:15:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* include/ras.h: New file.
|
||||
|
|
|
@ -1,30 +1,22 @@
|
|||
#ifndef _IPEXPORT_H_
|
||||
#define _IPEXPORT_H_
|
||||
|
||||
#ifndef _IPEXPORT_H
|
||||
#define _IPEXPORT_H
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef ANY_SIZE
|
||||
#define ANY_SIZE 1
|
||||
#endif
|
||||
|
||||
#define MAX_ADAPTER_NAME 128
|
||||
|
||||
typedef unsigned long IPAddr, IPMask, IP_STATUS;
|
||||
|
||||
typedef struct {
|
||||
ULONG Index;
|
||||
WCHAR Name[MAX_ADAPTER_NAME];
|
||||
} IP_ADAPTER_INDEX_MAP, *PIP_ADAPTER_INDEX_MAP;
|
||||
|
||||
typedef struct {
|
||||
LONG NumAdapters;
|
||||
IP_ADAPTER_INDEX_MAP Adapter[ANY_SIZE];
|
||||
} IP_INTERFACE_INFO, *PIP_INTERFACE_INFO;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _IPEXPORT_H_ */
|
||||
#endif /* _IPEXPORT_H */
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
#ifndef _IPHLPAPI_H_
|
||||
#define _IPHLPAPI_H_
|
||||
|
||||
#ifndef _IPHLPAPI_H
|
||||
#define _IPHLPAPI_H
|
||||
#include <iprtrmib.h>
|
||||
#include <ipexport.h>
|
||||
#include <iptypes.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
DWORD WINAPI CreateIpForwardEntry(PMIB_IPFORWARDROW);
|
||||
DWORD WINAPI CreateIpNetEntry(PMIB_IPNETROW);
|
||||
DWORD WINAPI DeleteIpForwardEntry(PMIB_IPFORWARDROW);
|
||||
|
@ -40,9 +37,7 @@ DWORD WINAPI SetIpNetEntry(PMIB_IPNETROW);
|
|||
DWORD WINAPI SetIpStatistics(PMIB_IPSTATS);
|
||||
DWORD WINAPI SetIpTTL(UINT);
|
||||
DWORD WINAPI SetTcpEntry(PMIB_TCPROW);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _IPHLPAPI_H_ */
|
||||
#endif /* _IPHLPAPI_H */
|
||||
|
|
|
@ -1,17 +1,14 @@
|
|||
#ifndef _IPIFCONS_H_
|
||||
#define _IPIFCONS_H_
|
||||
|
||||
#ifndef _IPIFCONS_H
|
||||
#define _IPIFCONS_H
|
||||
#define MIB_IF_ADMIN_STATUS_UP 1
|
||||
#define MIB_IF_ADMIN_STATUS_DOWN 2
|
||||
#define MIB_IF_ADMIN_STATUS_TESTING 3
|
||||
|
||||
#define MIB_IF_OPER_STATUS_NON_OPERATIONAL 0
|
||||
#define MIB_IF_OPER_STATUS_UNREACHABLE 1
|
||||
#define MIB_IF_OPER_STATUS_DISCONNECTED 2
|
||||
#define MIB_IF_OPER_STATUS_CONNECTING 3
|
||||
#define MIB_IF_OPER_STATUS_CONNECTED 4
|
||||
#define MIB_IF_OPER_STATUS_OPERATIONAL 5
|
||||
|
||||
#define MIB_IF_TYPE_OTHER 1
|
||||
#define MIB_IF_TYPE_ETHERNET 6
|
||||
#define MIB_IF_TYPE_TOKENRING 9
|
||||
|
@ -19,5 +16,4 @@
|
|||
#define MIB_IF_TYPE_PPP 23
|
||||
#define MIB_IF_TYPE_LOOPBACK 24
|
||||
#define MIB_IF_TYPE_SLIP 28
|
||||
|
||||
#endif /* _IPIFCONS_H_ */
|
||||
#endif /* _IPIFCONS_H */
|
||||
|
|
|
@ -1,33 +1,25 @@
|
|||
#ifndef _IPRTRMIB_H_
|
||||
#define _IPRTRMIB_H_
|
||||
|
||||
#ifndef _IPRTRMIB_H
|
||||
#define _IPRTRMIB_H
|
||||
#include <ipifcons.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef ANY_SIZE
|
||||
#define ANY_SIZE 1
|
||||
#endif
|
||||
|
||||
#define MAXLEN_PHYSADDR 8
|
||||
#define MAXLEN_IFDESCR 256
|
||||
|
||||
#ifndef MAX_INTERFACE_NAME_LEN
|
||||
#define MAX_INTERFACE_NAME_LEN 256
|
||||
#endif
|
||||
|
||||
#define MIB_IPNET_TYPE_OTHER 1
|
||||
#define MIB_IPNET_TYPE_INVALID 2
|
||||
#define MIB_IPNET_TYPE_DYNAMIC 3
|
||||
#define MIB_IPNET_TYPE_STATIC 4
|
||||
|
||||
#define MIB_TCP_RTO_OTHER 1
|
||||
#define MIB_TCP_RTO_CONSTANT 2
|
||||
#define MIB_TCP_RTO_RSRE 3
|
||||
#define MIB_TCP_RTO_VANJ 4
|
||||
|
||||
#define MIB_TCP_STATE_CLOSED 1
|
||||
#define MIB_TCP_STATE_LISTEN 2
|
||||
#define MIB_TCP_STATE_SYN_SENT 3
|
||||
|
@ -40,11 +32,9 @@ extern "C" {
|
|||
#define MIB_TCP_STATE_LAST_ACK 10
|
||||
#define MIB_TCP_STATE_TIME_WAIT 11
|
||||
#define MIB_TCP_STATE_DELETE_TCB 12
|
||||
|
||||
#define MIB_USE_CURRENT_TTL ((DWORD) -1)
|
||||
#define MIB_USE_CURRENT_FORWARDING ((DWORD) -1)
|
||||
#define MIB_TCP_MAXCONN_DYNAMIC ((DWORD) -1)
|
||||
|
||||
typedef struct {
|
||||
DWORD dwAddr;
|
||||
DWORD dwIndex;
|
||||
|
@ -54,12 +44,10 @@ typedef struct {
|
|||
unsigned short unused1;
|
||||
unsigned short unused2;
|
||||
} MIB_IPADDRROW, *PMIB_IPADDRROW;
|
||||
|
||||
typedef struct {
|
||||
DWORD dwNumEntries;
|
||||
MIB_IPADDRROW table[ANY_SIZE];
|
||||
} MIB_IPADDRTABLE, *PMIB_IPADDRTABLE;
|
||||
|
||||
typedef struct {
|
||||
DWORD dwForwardDest;
|
||||
DWORD dwForwardMask;
|
||||
|
@ -76,12 +64,10 @@ typedef struct {
|
|||
DWORD dwForwardMetric4;
|
||||
DWORD dwForwardMetric5;
|
||||
} MIB_IPFORWARDROW, *PMIB_IPFORWARDROW;
|
||||
|
||||
typedef struct {
|
||||
DWORD dwNumEntries;
|
||||
MIB_IPFORWARDROW table[ANY_SIZE];
|
||||
} MIB_IPFORWARDTABLE, *PMIB_IPFORWARDTABLE;
|
||||
|
||||
typedef struct {
|
||||
DWORD dwIndex;
|
||||
DWORD dwPhysAddrLen;
|
||||
|
@ -89,12 +75,10 @@ typedef struct {
|
|||
DWORD dwAddr;
|
||||
DWORD dwType;
|
||||
} MIB_IPNETROW, *PMIB_IPNETROW;
|
||||
|
||||
typedef struct {
|
||||
DWORD dwNumEntries;
|
||||
MIB_IPNETROW table[ANY_SIZE];
|
||||
} MIB_IPNETTABLE, *PMIB_IPNETTABLE;
|
||||
|
||||
typedef struct {
|
||||
DWORD dwMsgs;
|
||||
DWORD dwErrors;
|
||||
|
@ -110,16 +94,13 @@ typedef struct {
|
|||
DWORD dwAddrMasks;
|
||||
DWORD dwAddrMaskReps;
|
||||
} MIBICMPSTATS, *PMIBICMPSTATS;
|
||||
|
||||
typedef struct {
|
||||
MIBICMPSTATS icmpInStats;
|
||||
MIBICMPSTATS icmpOutStats;
|
||||
} MIBICMPINFO, *PMIBICMPINFO;
|
||||
|
||||
typedef struct {
|
||||
MIBICMPINFO stats;
|
||||
} MIB_ICMP, *PMIB_ICMP;
|
||||
|
||||
typedef struct {
|
||||
WCHAR wszName[MAX_INTERFACE_NAME_LEN];
|
||||
DWORD dwIndex;
|
||||
|
@ -146,12 +127,10 @@ typedef struct {
|
|||
DWORD dwDescrLen;
|
||||
BYTE bDescr[MAXLEN_IFDESCR];
|
||||
} MIB_IFROW, *PMIB_IFROW;
|
||||
|
||||
typedef struct {
|
||||
DWORD dwNumEntries;
|
||||
MIB_IFROW table[ANY_SIZE];
|
||||
} MIB_IFTABLE, *PMIB_IFTABLE;
|
||||
|
||||
typedef struct {
|
||||
DWORD dwForwarding;
|
||||
DWORD dwDefaultTTL;
|
||||
|
@ -177,7 +156,6 @@ typedef struct {
|
|||
DWORD dwNumAddr;
|
||||
DWORD dwNumRoutes;
|
||||
} MIB_IPSTATS, *PMIB_IPSTATS;
|
||||
|
||||
typedef struct {
|
||||
DWORD dwRtoAlgorithm;
|
||||
DWORD dwRtoMin;
|
||||
|
@ -195,7 +173,6 @@ typedef struct {
|
|||
DWORD dwOutRsts;
|
||||
DWORD dwNumConns;
|
||||
} MIB_TCPSTATS, *PMIB_TCPSTATS;
|
||||
|
||||
typedef struct {
|
||||
DWORD dwState;
|
||||
DWORD dwLocalAddr;
|
||||
|
@ -203,12 +180,10 @@ typedef struct {
|
|||
DWORD dwRemoteAddr;
|
||||
DWORD dwRemotePort;
|
||||
} MIB_TCPROW, *PMIB_TCPROW;
|
||||
|
||||
typedef struct {
|
||||
DWORD dwNumEntries;
|
||||
MIB_TCPROW table[ANY_SIZE];
|
||||
} MIB_TCPTABLE, *PMIB_TCPTABLE;
|
||||
|
||||
typedef struct {
|
||||
DWORD dwInDatagrams;
|
||||
DWORD dwNoPorts;
|
||||
|
@ -216,19 +191,15 @@ typedef struct {
|
|||
DWORD dwOutDatagrams;
|
||||
DWORD dwNumAddrs;
|
||||
} MIB_UDPSTATS, *PMIB_UDPSTATS;
|
||||
|
||||
typedef struct {
|
||||
DWORD dwLocalAddr;
|
||||
DWORD dwLocalPort;
|
||||
} MIB_UDPROW, *PMIB_UDPROW;
|
||||
|
||||
typedef struct {
|
||||
DWORD dwNumEntries;
|
||||
MIB_UDPROW table[ANY_SIZE];
|
||||
} MIB_UDPTABLE, *PMIB_UDPTABLE;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _IPRTRMIB_H_ */
|
||||
#endif /* _IPRTRMIB_H */
|
||||
|
|
|
@ -1,43 +1,34 @@
|
|||
#ifndef _IPTYPES_H_
|
||||
#define _IPTYPES_H_
|
||||
|
||||
#ifndef _IPTYPES_H
|
||||
#define _IPTYPES_H
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define DEFAULT_MINIMUM_ENTITIES 32
|
||||
|
||||
#define MAX_ADAPTER_ADDRESS_LENGTH 8
|
||||
#define MAX_ADAPTER_DESCRIPTION_LENGTH 128
|
||||
#define MAX_ADAPTER_NAME_LENGTH 256
|
||||
#define MAX_DOMAIN_NAME_LEN 128
|
||||
#define MAX_HOSTNAME_LEN 128
|
||||
#define MAX_SCOPE_ID_LEN 256
|
||||
|
||||
#define BROADCAST_NODETYPE 1
|
||||
#define PEER_TO_PEER_NODETYPE 2
|
||||
#define MIXED_NODETYPE 4
|
||||
#define HYBRID_NODETYPE 8
|
||||
|
||||
#define IF_OTHER_ADAPTERTYPE 0
|
||||
#define IF_ETHERNET_ADAPTERTYPE 1
|
||||
#define IF_TOKEN_RING_ADAPTERTYPE 2
|
||||
#define IF_FDDI_ADAPTERTYPE 3
|
||||
#define IF_PPP_ADAPTERTYPE 4
|
||||
#define IF_LOOPBACK_ADAPTERTYPE 5
|
||||
|
||||
typedef struct {
|
||||
char String[4 * 4];
|
||||
} IP_ADDRESS_STRING, *PIP_ADDRESS_STRING,
|
||||
IP_MASK_STRING, *PIP_MASK_STRING;
|
||||
|
||||
} IP_ADDRESS_STRING, *PIP_ADDRESS_STRING, IP_MASK_STRING, *PIP_MASK_STRING;
|
||||
typedef struct __IP_ADDR_STRING {
|
||||
struct __IP_ADDR_STRING* Next;
|
||||
IP_ADDRESS_STRING IpAddress;
|
||||
IP_MASK_STRING IpMask;
|
||||
DWORD Context;
|
||||
} IP_ADDR_STRING, *PIP_ADDR_STRING;
|
||||
|
||||
typedef struct __IP_ADAPTER_INFO {
|
||||
struct __IP_ADAPTER_INFO* Next;
|
||||
DWORD ComboIndex;
|
||||
|
@ -58,7 +49,6 @@ typedef struct __IP_ADAPTER_INFO {
|
|||
time_t LeaseObtained;
|
||||
time_t LeaseExpires;
|
||||
} IP_ADAPTER_INFO, *PIP_ADAPTER_INFO;
|
||||
|
||||
typedef struct {
|
||||
char HostName[MAX_HOSTNAME_LEN + 4] ;
|
||||
char DomainName[MAX_DOMAIN_NAME_LEN + 4];
|
||||
|
@ -70,9 +60,7 @@ typedef struct {
|
|||
UINT EnableProxy;
|
||||
UINT EnableDns;
|
||||
} FIXED_INFO, *PFIXED_INFO;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _IPTYPES_H_ */
|
||||
#endif /* _IPTYPES_H */
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#ifndef _NTDEF_H_
|
||||
#define _NTDEF_H_
|
||||
|
||||
#ifndef _NTDEF_H
|
||||
#define _NTDEF_H
|
||||
#define NTAPI __stdcall
|
||||
|
||||
#define OBJ_INHERIT 2L
|
||||
#define OBJ_PERMANENT 16L
|
||||
#define OBJ_EXCLUSIVE 32L
|
||||
|
@ -10,7 +8,6 @@
|
|||
#define OBJ_OPENIF 128L
|
||||
#define OBJ_OPENLINK 256L
|
||||
#define OBJ_VALID_ATTRIBUTES 498L
|
||||
|
||||
#define InitializeObjectAttributes(p,n,a,r,s) { \
|
||||
(p)->Length = sizeof( OBJECT_ATTRIBUTES ); \
|
||||
(p)->RootDirectory = r; \
|
||||
|
@ -19,17 +16,22 @@
|
|||
(p)->SecurityDescriptor = s; \
|
||||
(p)->SecurityQualityOfService = NULL; \
|
||||
}
|
||||
|
||||
#define STATUS_SUCCESS ((NTSTATUS)0)
|
||||
#define NT_SUCCESS(x) ((x)>=0)
|
||||
|
||||
#if !defined(_NTSECAPI_H) && !defined(_SUBAUTH_H)
|
||||
typedef LONG NTSTATUS, *PNTSTATUS;
|
||||
typedef LARGE_INTEGER PHYSICAL_ADDRESS, *PPHYSICAL_ADDRESS;
|
||||
typedef struct _UNICODE_STRING {
|
||||
USHORT Length;
|
||||
USHORT MaximumLength;
|
||||
PWSTR Buffer;
|
||||
} UNICODE_STRING, *PUNICODE_STRING;
|
||||
typedef struct __STRING {
|
||||
USHORT Length;
|
||||
USHORT MaximumLength;
|
||||
PCHAR Buffer;
|
||||
} STRING, *PSTRING;
|
||||
#endif
|
||||
typedef LARGE_INTEGER PHYSICAL_ADDRESS, *PPHYSICAL_ADDRESS;
|
||||
typedef enum _SECTION_INHERIT {
|
||||
ViewShare = 1,
|
||||
ViewUnmap = 2
|
||||
|
@ -42,5 +44,4 @@ typedef struct _OBJECT_ATTRIBUTES {
|
|||
PVOID SecurityDescriptor;
|
||||
PVOID SecurityQualityOfService;
|
||||
} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
|
||||
|
||||
#endif /* _NTDEF_H_ */
|
||||
#endif /* _NTDEF_H */
|
||||
|
|
|
@ -0,0 +1,602 @@
|
|||
#ifndef _NTSECAPI_H
|
||||
#define _NTSECAPI_H
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#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(Error) ((LONG)(Error) >= 0)
|
||||
#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 struct _STRING {
|
||||
USHORT Length;
|
||||
USHORT MaximumLength;
|
||||
PCHAR Buffer;
|
||||
} STRING, *PSTRING;
|
||||
#endif
|
||||
typedef UNICODE_STRING LSA_UNICODE_STRING, *PLSAUNICODE_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;
|
||||
typedef struct _LSA_OBJECT_ATTRIBUTES {
|
||||
ULONG Length;
|
||||
HANDLE RootDirectory;
|
||||
PLSA_UNICODE_STRING ObjectName;
|
||||
ULONG Attributes;
|
||||
PVOID SecurityDescriptor;
|
||||
PVOID SecurityQualityOfService;
|
||||
} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
|
||||
typedef 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;
|
||||
UNICODE_STRING HomeDirectory;
|
||||
UNICODE_STRING FullName;
|
||||
UNICODE_STRING ProfilePath;
|
||||
UNICODE_STRING HomeDirectoryDrive;
|
||||
UNICODE_STRING LogonServer;
|
||||
ULONG UserFlags;
|
||||
} MSV1_0_INTERACTIVE_PROFILE, *PMSV1_0_INTERACTIVE_PROFILE;
|
||||
typedef struct _MSV1_0_LM20_LOGON {
|
||||
MSV1_0_LOGON_SUBMIT_TYPE MessageType;
|
||||
UNICODE_STRING LogonDomainName;
|
||||
UNICODE_STRING UserName;
|
||||
UNICODE_STRING Workstation;
|
||||
UCHAR ChallengeToClient[MSV1_0_CHALLENGE_LENGTH];
|
||||
STRING CaseSensitiveChallengeResponse;
|
||||
STRING CaseInsensitiveChallengeResponse;
|
||||
ULONG ParameterControl;
|
||||
} MSV1_0_LM20_LOGON, * PMSV1_0_LM20_LOGON;
|
||||
typedef struct _MSV1_0_SUBAUTH_LOGON{ /* W2K only */
|
||||
MSV1_0_LOGON_SUBMIT_TYPE MessageType;
|
||||
UNICODE_STRING LogonDomainName;
|
||||
UNICODE_STRING UserName;
|
||||
UNICODE_STRING Workstation;
|
||||
UCHAR ChallengeToClient[MSV1_0_CHALLENGE_LENGTH];
|
||||
STRING AuthenticationInfo1;
|
||||
STRING AuthenticationInfo2;
|
||||
ULONG ParameterControl;
|
||||
ULONG SubAuthPackageId;
|
||||
} MSV1_0_SUBAUTH_LOGON, * PMSV1_0_SUBAUTH_LOGON;
|
||||
typedef struct _MSV1_0_LM20_LOGON_PROFILE {
|
||||
MSV1_0_PROFILE_BUFFER_TYPE MessageType;
|
||||
LARGE_INTEGER KickOffTime;
|
||||
LARGE_INTEGER LogoffTime;
|
||||
ULONG UserFlags;
|
||||
UCHAR UserSessionKey[MSV1_0_USER_SESSION_KEY_LENGTH];
|
||||
UNICODE_STRING LogonDomainName;
|
||||
UCHAR LanmanSessionKey[MSV1_0_LANMAN_SESSION_KEY_LENGTH];
|
||||
UNICODE_STRING LogonServer;
|
||||
UNICODE_STRING UserParameters;
|
||||
} MSV1_0_LM20_LOGON_PROFILE, * PMSV1_0_LM20_LOGON_PROFILE;
|
||||
typedef struct _MSV1_0_SUPPLEMENTAL_CREDENTIAL {
|
||||
ULONG Version;
|
||||
ULONG Flags;
|
||||
UCHAR LmPassword[MSV1_0_OWF_PASSWORD_LENGTH];
|
||||
UCHAR NtPassword[MSV1_0_OWF_PASSWORD_LENGTH];
|
||||
} MSV1_0_SUPPLEMENTAL_CREDENTIAL, *PMSV1_0_SUPPLEMENTAL_CREDENTIAL;
|
||||
typedef struct _MSV1_0_NTLM3_RESPONSE {
|
||||
UCHAR Response[MSV1_0_NTLM3_RESPONSE_LENGTH];
|
||||
UCHAR RespType;
|
||||
UCHAR HiRespType;
|
||||
USHORT Flags;
|
||||
ULONG MsgWord;
|
||||
ULONGLONG TimeStamp;
|
||||
UCHAR ChallengeFromClient[MSV1_0_CHALLENGE_LENGTH];
|
||||
ULONG AvPairsOff;
|
||||
UCHAR Buffer[1];
|
||||
} MSV1_0_NTLM3_RESPONSE, *PMSV1_0_NTLM3_RESPONSE;
|
||||
typedef struct _MSV1_0_AV_PAIR {
|
||||
USHORT AvId;
|
||||
USHORT AvLen;
|
||||
} MSV1_0_AV_PAIR, *PMSV1_0_AV_PAIR;
|
||||
typedef struct _MSV1_0_CHANGEPASSWORD_REQUEST {
|
||||
MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
|
||||
UNICODE_STRING DomainName;
|
||||
UNICODE_STRING AccountName;
|
||||
UNICODE_STRING OldPassword;
|
||||
UNICODE_STRING NewPassword;
|
||||
BOOLEAN Impersonating;
|
||||
} MSV1_0_CHANGEPASSWORD_REQUEST, *PMSV1_0_CHANGEPASSWORD_REQUEST;
|
||||
typedef struct _MSV1_0_CHANGEPASSWORD_RESPONSE {
|
||||
MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
|
||||
BOOLEAN PasswordInfoValid;
|
||||
DOMAIN_PASSWORD_INFORMATION DomainPasswordInfo;
|
||||
} MSV1_0_CHANGEPASSWORD_RESPONSE, *PMSV1_0_CHANGEPASSWORD_RESPONSE;
|
||||
typedef struct _MSV1_0_SUBAUTH_REQUEST{
|
||||
MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
|
||||
ULONG SubAuthPackageId;
|
||||
ULONG SubAuthInfoLength;
|
||||
PUCHAR SubAuthSubmitBuffer;
|
||||
} MSV1_0_SUBAUTH_REQUEST, *PMSV1_0_SUBAUTH_REQUEST;
|
||||
typedef struct _MSV1_0_SUBAUTH_RESPONSE{
|
||||
MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
|
||||
ULONG SubAuthInfoLength;
|
||||
PUCHAR SubAuthReturnBuffer;
|
||||
} MSV1_0_SUBAUTH_RESPONSE, *PMSV1_0_SUBAUTH_RESPONSE;
|
||||
#define MSV1_0_DERIVECRED_TYPE_SHA1 0
|
||||
typedef struct _MSV1_0_DERIVECRED_REQUEST {
|
||||
MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
|
||||
LUID LogonId;
|
||||
ULONG DeriveCredType;
|
||||
ULONG DeriveCredInfoLength;
|
||||
UCHAR DeriveCredSubmitBuffer[1];
|
||||
} MSV1_0_DERIVECRED_REQUEST, *PMSV1_0_DERIVECRED_REQUEST;
|
||||
typedef struct _MSV1_0_DERIVECRED_RESPONSE {
|
||||
MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
|
||||
ULONG DeriveCredInfoLength;
|
||||
UCHAR DeriveCredReturnBuffer[1];
|
||||
} MSV1_0_DERIVECRED_RESPONSE, *PMSV1_0_DERIVECRED_RESPONSE;
|
||||
typedef ULONG POLICY_AUDIT_EVENT_OPTIONS, *PPOLICY_AUDIT_EVENT_OPTIONS;
|
||||
typedef struct _POLICY_PRIVILEGE_DEFINITION {
|
||||
LSA_UNICODE_STRING Name;
|
||||
LUID LocalValue;
|
||||
} POLICY_PRIVILEGE_DEFINITION, *PPOLICY_PRIVILEGE_DEFINITION;
|
||||
typedef struct _POLICY_AUDIT_LOG_INFO {
|
||||
ULONG AuditLogPercentFull;
|
||||
ULONG MaximumLogSize;
|
||||
LARGE_INTEGER AuditRetentionPeriod;
|
||||
BOOLEAN AuditLogFullShutdownInProgress;
|
||||
LARGE_INTEGER TimeToShutdown;
|
||||
ULONG NextAuditRecordId;
|
||||
} POLICY_AUDIT_LOG_INFO, *PPOLICY_AUDIT_LOG_INFO;
|
||||
typedef struct _POLICY_AUDIT_EVENTS_INFO {
|
||||
BOOLEAN AuditingMode;
|
||||
PPOLICY_AUDIT_EVENT_OPTIONS EventAuditingOptions;
|
||||
ULONG MaximumAuditEventCount;
|
||||
} POLICY_AUDIT_EVENTS_INFO, *PPOLICY_AUDIT_EVENTS_INFO;
|
||||
typedef struct _POLICY_ACCOUNT_DOMAIN_INFO {
|
||||
LSA_UNICODE_STRING DomainName;
|
||||
PSID DomainSid;
|
||||
} POLICY_ACCOUNT_DOMAIN_INFO, *PPOLICY_ACCOUNT_DOMAIN_INFO;
|
||||
typedef struct _POLICY_PRIMARY_DOMAIN_INFO {
|
||||
LSA_UNICODE_STRING Name;
|
||||
PSID Sid;
|
||||
} POLICY_PRIMARY_DOMAIN_INFO, *PPOLICY_PRIMARY_DOMAIN_INFO;
|
||||
typedef struct _POLICY_DNS_DOMAIN_INFO {
|
||||
LSA_UNICODE_STRING Name;
|
||||
LSA_UNICODE_STRING DnsDomainName;
|
||||
LSA_UNICODE_STRING DnsTreeName;
|
||||
GUID DomainGuid;
|
||||
PSID Sid;
|
||||
} POLICY_DNS_DOMAIN_INFO, *PPOLICY_DNS_DOMAIN_INFO;
|
||||
typedef struct _POLICY_PD_ACCOUNT_INFO {
|
||||
LSA_UNICODE_STRING Name;
|
||||
} POLICY_PD_ACCOUNT_INFO, *PPOLICY_PD_ACCOUNT_INFO;
|
||||
typedef struct _POLICY_LSA_SERVER_ROLE_INFO {
|
||||
POLICY_LSA_SERVER_ROLE LsaServerRole;
|
||||
} POLICY_LSA_SERVER_ROLE_INFO, *PPOLICY_LSA_SERVER_ROLE_INFO;
|
||||
typedef struct _POLICY_REPLICA_SOURCE_INFO {
|
||||
LSA_UNICODE_STRING ReplicaSource;
|
||||
LSA_UNICODE_STRING ReplicaAccountName;
|
||||
} POLICY_REPLICA_SOURCE_INFO, *PPOLICY_REPLICA_SOURCE_INFO;
|
||||
typedef struct _POLICY_DEFAULT_QUOTA_INFO {
|
||||
QUOTA_LIMITS QuotaLimits;
|
||||
} POLICY_DEFAULT_QUOTA_INFO, *PPOLICY_DEFAULT_QUOTA_INFO;
|
||||
typedef struct _POLICY_MODIFICATION_INFO {
|
||||
LARGE_INTEGER ModifiedId;
|
||||
LARGE_INTEGER DatabaseCreationTime;
|
||||
} POLICY_MODIFICATION_INFO, *PPOLICY_MODIFICATION_INFO;
|
||||
typedef struct _POLICY_AUDIT_FULL_SET_INFO {
|
||||
BOOLEAN ShutDownOnFull;
|
||||
} POLICY_AUDIT_FULL_SET_INFO, *PPOLICY_AUDIT_FULL_SET_INFO;
|
||||
typedef struct _POLICY_AUDIT_FULL_QUERY_INFO {
|
||||
BOOLEAN ShutDownOnFull;
|
||||
BOOLEAN LogIsFull;
|
||||
} POLICY_AUDIT_FULL_QUERY_INFO, *PPOLICY_AUDIT_FULL_QUERY_INFO;
|
||||
typedef struct _POLICY_EFS_INFO {
|
||||
ULONG InfoLength;
|
||||
PUCHAR EfsBlob;
|
||||
} POLICY_EFS_INFO, *PPOLICY_EFS_INFO;
|
||||
typedef struct _POLICY_LOCAL_IPSEC_REFERENCE_INFO {
|
||||
LSA_UNICODE_STRING ObjectPath;
|
||||
} POLICY_LOCAL_IPSEC_REFERENCE_INFO, *PPOLICY_LOCAL_IPSEC_REFERENCE_INFO;
|
||||
typedef struct _POLICY_LOCAL_MACHINE_PASSWORD_INFO {
|
||||
LARGE_INTEGER PasswordChangeInterval;
|
||||
} POLICY_LOCAL_MACHINE_PASSWORD_INFO, *PPOLICY_LOCAL_MACHINE_PASSWORD_INFO;
|
||||
typedef struct _POLICY_LOCAL_POLICY_LOCATION_INFO {
|
||||
ULONG PolicyLocation;
|
||||
} POLICY_LOCAL_POLICY_LOCATION_INFO, *PPOLICY_LOCAL_POLICY_LOCATION_INFO;
|
||||
typedef struct _POLICY_LOCAL_QUALITY_OF_SERVICE_INFO {
|
||||
ULONG QualityOfService;
|
||||
} POLICY_LOCAL_QUALITY_OF_SERVICE_INFO, *PPOLICY_LOCAL_QUALITY_OF_SERVICE_INFO;
|
||||
typedef struct _POLICY_LOCAL_QUALITY_OF_SERVICE_INFO POLICY_DOMAIN_QUALITY_OF_SERVICE_INFO;
|
||||
typedef struct _POLICY_LOCAL_QUALITY_OF_SERVICE_INFO *PPOLICY_DOMAIN_QUALITY_OF_SERVICE_INFO;
|
||||
typedef struct _POLICY_DOMAIN_PUBLIC_KEY_INFO {
|
||||
ULONG InfoLength;
|
||||
PUCHAR PublicKeyInfo;
|
||||
} POLICY_DOMAIN_PUBLIC_KEY_INFO, *PPOLICY_DOMAIN_PUBLIC_KEY_INFO;
|
||||
typedef struct _POLICY_DOMAIN_LOCKOUT_INFO {
|
||||
LARGE_INTEGER LockoutDuration;
|
||||
LARGE_INTEGER LockoutObservationWindow;
|
||||
USHORT LockoutThreshold;
|
||||
} POLICY_DOMAIN_LOCKOUT_INFO, *PPOLICY_DOMAIN_LOCKOUT_INFO;
|
||||
typedef struct _POLICY_DOMAIN_PASSWORD_INFO {
|
||||
USHORT MinPasswordLength;
|
||||
USHORT PasswordHistoryLength;
|
||||
ULONG PasswordProperties;
|
||||
LARGE_INTEGER MaxPasswordAge;
|
||||
LARGE_INTEGER MinPasswordAge;
|
||||
} POLICY_DOMAIN_PASSWORD_INFO, *PPOLICY_DOMAIN_PASSWORD_INFO;
|
||||
typedef struct _POLICY_DOMAIN_KERBEROS_TICKET_INFO {
|
||||
ULONG AuthenticationOptions;
|
||||
LARGE_INTEGER MinTicketAge;
|
||||
LARGE_INTEGER MaxTicketAge;
|
||||
LARGE_INTEGER MaxRenewAge;
|
||||
LARGE_INTEGER ProxyLifetime;
|
||||
LARGE_INTEGER ForceLogoff;
|
||||
} POLICY_DOMAIN_KERBEROS_TICKET_INFO, *PPOLICY_DOMAIN_KERBEROS_TICKET_INFO;
|
||||
typedef PVOID LSA_HANDLE, *PLSA_HANDLE;
|
||||
typedef struct _TRUSTED_DOMAIN_NAME_INFO {
|
||||
LSA_UNICODE_STRING Name;
|
||||
} TRUSTED_DOMAIN_NAME_INFO, *PTRUSTED_DOMAIN_NAME_INFO;
|
||||
typedef struct _TRUSTED_CONTROLLERS_INFO {
|
||||
ULONG Entries;
|
||||
PLSA_UNICODE_STRING Names;
|
||||
} TRUSTED_CONTROLLERS_INFO, *PTRUSTED_CONTROLLERS_INFO;
|
||||
typedef struct _TRUSTED_POSIX_OFFSET_INFO {
|
||||
ULONG Offset;
|
||||
} TRUSTED_POSIX_OFFSET_INFO, *PTRUSTED_POSIX_OFFSET_INFO;
|
||||
typedef struct _TRUSTED_PASSWORD_INFO {
|
||||
LSA_UNICODE_STRING Password;
|
||||
LSA_UNICODE_STRING OldPassword;
|
||||
} TRUSTED_PASSWORD_INFO, *PTRUSTED_PASSWORD_INFO;
|
||||
typedef LSA_TRUST_INFORMATION TRUSTED_DOMAIN_INFORMATION_BASIC;
|
||||
typedef PLSA_TRUST_INFORMATION *PTRUSTED_DOMAIN_INFORMATION_BASIC;
|
||||
typedef struct _TRUSTED_DOMAIN_INFORMATION_EX {
|
||||
LSA_UNICODE_STRING Name;
|
||||
LSA_UNICODE_STRING FlatName;
|
||||
PSID Sid;
|
||||
ULONG TrustDirection;
|
||||
ULONG TrustType;
|
||||
ULONG TrustAttributes;
|
||||
} TRUSTED_DOMAIN_INFORMATION_EX, *PTRUSTED_DOMAIN_INFORMATION_EX;
|
||||
typedef struct _LSA_AUTH_INFORMATION {
|
||||
LARGE_INTEGER LastUpdateTime;
|
||||
ULONG AuthType;
|
||||
ULONG AuthInfoLength;
|
||||
PUCHAR AuthInfo;
|
||||
} LSA_AUTH_INFORMATION, *PLSA_AUTH_INFORMATION;
|
||||
typedef struct _TRUSTED_DOMAIN_AUTH_INFORMATION {
|
||||
ULONG IncomingAuthInfos;
|
||||
PLSA_AUTH_INFORMATION IncomingAuthenticationInformation;
|
||||
PLSA_AUTH_INFORMATION IncomingPreviousAuthenticationInformation;
|
||||
ULONG OutgoingAuthInfos;
|
||||
PLSA_AUTH_INFORMATION OutgoingAuthenticationInformation;
|
||||
PLSA_AUTH_INFORMATION OutgoingPreviousAuthenticationInformation;
|
||||
} TRUSTED_DOMAIN_AUTH_INFORMATION, *PTRUSTED_DOMAIN_AUTH_INFORMATION;
|
||||
typedef struct _TRUSTED_DOMAIN_FULL_INFORMATION {
|
||||
TRUSTED_DOMAIN_INFORMATION_EX Information;
|
||||
TRUSTED_POSIX_OFFSET_INFO PosixOffset;
|
||||
TRUSTED_DOMAIN_AUTH_INFORMATION AuthInformation;
|
||||
} TRUSTED_DOMAIN_FULL_INFORMATION, *PTRUSTED_DOMAIN_FULL_INFORMATION;
|
||||
NTSTATUS NTAPI LsaAddAccountRights(LSA_HANDLE,PSID,PLSA_UNICODE_STRING,ULONG);
|
||||
NTSTATUS NTAPI LsaCallAuthenticationPackage(HANDLE,ULONG,PVOID,ULONG,PVOID*,
|
||||
PULONG,PNTSTATUS);
|
||||
NTSTATUS NTAPI LsaClose(LSA_HANDLE);
|
||||
NTSTATUS NTAPI LsaConnectUntrusted(PHANDLE);
|
||||
NTSTATUS NTAPI LsaCreateTrustedDomainEx(LSA_HANDLE,
|
||||
PTRUSTED_DOMAIN_INFORMATION_EX,
|
||||
PTRUSTED_DOMAIN_AUTH_INFORMATION,ACCESS_MASK,
|
||||
PLSA_HANDLE);
|
||||
NTSTATUS NTAPI LsaDeleteTrustedDomain(LSA_HANDLE,PSID);
|
||||
NTSTATUS NTAPI LsaDeregisterLogonProcess(HANDLE);
|
||||
NTSTATUS NTAPI LsaEnumerateAccountRights(LSA_HANDLE,PSID,PLSA_UNICODE_STRING*,PULONG);
|
||||
NTSTATUS NTAPI LsaEnumerateAccountsWithUserRight(LSA_HANDLE,PLSA_UNICODE_STRING,
|
||||
PVOID*,PULONG);
|
||||
NTSTATUS NTAPI LsaEnumerateTrustedDomains(LSA_HANDLE,PLSA_ENUMERATION_HANDLE,
|
||||
PVOID*,ULONG,PULONG);
|
||||
NTSTATUS NTAPI LsaEnumerateTrustedDomainsEx(LSA_HANDLE,PLSA_ENUMERATION_HANDLE,
|
||||
TRUSTED_INFORMATION_CLASS,PVOID*,ULONG,PULONG);
|
||||
NTSTATUS NTAPI LsaFreeMemory(PVOID);
|
||||
NTSTATUS NTAPI LsaFreeReturnBuffer(PVOID);
|
||||
NTSTATUS NTAPI LsaLogonUser(HANDLE,PLSA_STRING,SECURITY_LOGON_TYPE,ULONG,PVOID,
|
||||
ULONG,PTOKEN_GROUPS,PTOKEN_SOURCE,PVOID*,PULONG,
|
||||
PLUID,PHANDLE,PQUOTA_LIMITS,PNTSTATUS);
|
||||
NTSTATUS NTAPI LsaLookupAuthenticationPackage(HANDLE,PLSA_STRING,PULONG);
|
||||
NTSTATUS NTAPI LsaLookupNames(LSA_HANDLE,ULONG,PLSA_UNICODE_STRING,
|
||||
PLSA_REFERENCED_DOMAIN_LIST*,PLSA_TRANSLATED_SID*);
|
||||
NTSTATUS NTAPI LsaLookupSids(LSA_HANDLE,ULONG,PSID*,
|
||||
PLSA_REFERENCED_DOMAIN_LIST*,PLSA_TRANSLATED_NAME*);
|
||||
ULONG NTAPI LsaNtStatusToWinError(NTSTATUS);
|
||||
NTSTATUS NTAPI LsaOpenPolicy(PLSA_UNICODE_STRING,PLSA_OBJECT_ATTRIBUTES,
|
||||
ACCESS_MASK,PLSA_HANDLE);
|
||||
NTSTATUS NTAPI LsaQueryDomainInformationPolicy(LSA_HANDLE,
|
||||
POLICY_DOMAIN_INFORMATION_CLASS,PVOID*);
|
||||
NTSTATUS NTAPI LsaQueryInformationPolicy(LSA_HANDLE,POLICY_INFORMATION_CLASS,PVOID*);
|
||||
NTSTATUS NTAPI LsaQueryLocalInformationPolicy(LSA_HANDLE,
|
||||
POLICY_LOCAL_INFORMATION_CLASS,PVOID*);
|
||||
NTSTATUS NTAPI LsaQueryTrustedDomainInfo(LSA_HANDLE,PSID,
|
||||
TRUSTED_INFORMATION_CLASS,PVOID*);
|
||||
NTSTATUS NTAPI LsaQueryTrustedDomainInfoByName(LSA_HANDLE,PLSA_UNICODE_STRING,
|
||||
TRUSTED_INFORMATION_CLASS,PVOID*);
|
||||
NTSTATUS NTAPI LsaRegisterLogonProcess(PLSA_STRING,PHANDLE,PLSA_OPERATIONAL_MODE);
|
||||
NTSTATUS NTAPI LsaRemoveAccountRights(LSA_HANDLE,PSID,BOOLEAN,
|
||||
PLSA_UNICODE_STRING,ULONG);
|
||||
NTSTATUS NTAPI LsaRetrievePrivateData(LSA_HANDLE,PLSA_UNICODE_STRING,
|
||||
PLSA_UNICODE_STRING*);
|
||||
NTSTATUS NTAPI LsaSetDomainInformationPolicy(LSA_HANDLE,
|
||||
POLICY_DOMAIN_INFORMATION_CLASS,PVOID);
|
||||
NTSTATUS NTAPI LsaSetInformationPolicy(LSA_HANDLE,POLICY_INFORMATION_CLASS, PVOID);
|
||||
NTSTATUS NTAPI LsaSetLocalInformationPolicy(LSA_HANDLE,
|
||||
POLICY_LOCAL_INFORMATION_CLASS,PVOID);
|
||||
NTSTATUS NTAPI LsaSetTrustedDomainInformation(LSA_HANDLE,PSID,
|
||||
TRUSTED_INFORMATION_CLASS,PVOID);
|
||||
NTSTATUS NTAPI LsaSetTrustedDomainInfoByName(LSA_HANDLE,PLSA_UNICODE_STRING,
|
||||
TRUSTED_INFORMATION_CLASS,PVOID);
|
||||
NTSTATUS NTAPI LsaStorePrivateData(LSA_HANDLE,PLSA_UNICODE_STRING,
|
||||
PLSA_UNICODE_STRING);
|
||||
typedef NTSTATUS (*PSAM_PASSWORD_NOTIFICATION_ROUTINE)(PUNICODE_STRING,
|
||||
ULONG,PUNICODE_STRING);
|
||||
typedef BOOLEAN (*PSAM_INIT_NOTIFICATION_ROUTINE)();
|
||||
typedef BOOLEAN (*PSAM_PASSWORD_FILTER_ROUTINE)(PUNICODE_STRING,PUNICODE_STRING,
|
||||
PUNICODE_STRING,BOOLEAN);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _NTSECAPI_H */
|
|
@ -0,0 +1,207 @@
|
|||
#ifndef _SUBAUTH_H
|
||||
#define _SUBAUTH_H
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#ifndef NT_SUCCESS
|
||||
#define NT_SUCCESS(Status) ((Status) >= 0)
|
||||
#endif
|
||||
#define CYPHER_BLOCK_LENGTH 8
|
||||
#define USER_SESSION_KEY_LENGTH (CYPHER_BLOCK_LENGTH*2)
|
||||
#define CLEAR_BLOCK_LENGTH 8
|
||||
#define MSV1_0_PASSTHRU 1
|
||||
#define MSV1_0_GUEST_LOGON 2
|
||||
#define MSV1_0_VALIDATION_LOGOFF_TIME 1
|
||||
#define MSV1_0_VALIDATION_KICKOFF_TIME 2
|
||||
#define MSV1_0_VALIDATION_LOGON_SERVER 4
|
||||
#define MSV1_0_VALIDATION_LOGON_DOMAIN 8
|
||||
#define MSV1_0_VALIDATION_SESSION_KEY 16
|
||||
#define MSV1_0_VALIDATION_USER_FLAGS 32
|
||||
#define MSV1_0_VALIDATION_USER_ID 64
|
||||
#define MSV1_0_SUBAUTH_ACCOUNT_DISABLED 1
|
||||
#define MSV1_0_SUBAUTH_PASSWORD 2
|
||||
#define MSV1_0_SUBAUTH_WORKSTATIONS 4
|
||||
#define MSV1_0_SUBAUTH_LOGON_HOURS 8
|
||||
#define MSV1_0_SUBAUTH_ACCOUNT_EXPIRY 16
|
||||
#define MSV1_0_SUBAUTH_PASSWORD_EXPIRY 32
|
||||
#define MSV1_0_SUBAUTH_ACCOUNT_TYPE 64
|
||||
#define MSV1_0_SUBAUTH_LOCKOUT 128
|
||||
#define NEXT_FREE_ACCOUNT_CONTROL_BIT 131072
|
||||
#define SAM_DAYS_PER_WEEK 7
|
||||
#define SAM_HOURS_PER_WEEK 168
|
||||
#define SAM_MINUTES_PER_WEEK 10080
|
||||
#define STATUS_SUCCESS 0
|
||||
#define STATUS_INVALID_INFO_CLASS 0xC0000003L
|
||||
#define STATUS_NO_SUCH_USER 0xC0000064L
|
||||
#define STATUS_WRONG_PASSWORD 0xC000006AL
|
||||
#define STATUS_PASSWORD_RESTRICTION 0xC000006CL
|
||||
#define STATUS_LOGON_FAILURE 0xC000006DL
|
||||
#define STATUS_ACCOUNT_RESTRICTION 0xC000006EL
|
||||
#define STATUS_INVALID_LOGON_HOURS 0xC000006FL
|
||||
#define STATUS_INVALID_WORKSTATION 0xC0000070L
|
||||
#define STATUS_PASSWORD_EXPIRED 0xC0000071L
|
||||
#define STATUS_ACCOUNT_DISABLED 0xC0000072L
|
||||
#define STATUS_INSUFFICIENT_RESOURCES 0xC000009AL
|
||||
#define STATUS_ACCOUNT_EXPIRED 0xC0000193L
|
||||
#define STATUS_PASSWORD_MUST_CHANGE 0xC0000224L
|
||||
#define STATUS_ACCOUNT_LOCKED_OUT 0xC0000234L
|
||||
#define USER_ACCOUNT_DISABLED 1
|
||||
#define USER_HOME_DIRECTORY_REQUIRED 2
|
||||
#define USER_PASSWORD_NOT_REQUIRED 4
|
||||
#define USER_TEMP_DUPLICATE_ACCOUNT 8
|
||||
#define USER_NORMAL_ACCOUNT 16
|
||||
#define USER_MNS_LOGON_ACCOUNT 32
|
||||
#define USER_INTERDOMAIN_TRUST_ACCOUNT 64
|
||||
#define USER_WORKSTATION_TRUST_ACCOUNT 128
|
||||
#define USER_SERVER_TRUST_ACCOUNT 256
|
||||
#define USER_DONT_EXPIRE_PASSWORD 512
|
||||
#define USER_ACCOUNT_AUTO_LOCKED 1024
|
||||
#define USER_ENCRYPTED_TEXT_PASSWORD_ALLOWED 2048
|
||||
#define USER_SMARTCARD_REQUIRED 4096
|
||||
#define USER_TRUSTED_FOR_DELEGATION 8192
|
||||
#define USER_NOT_DELEGATED 16384
|
||||
#define USER_USE_DES_KEY_ONLY 32768
|
||||
#define USER_DONT_REQUIRE_PREAUTH 65536
|
||||
#define USER_MACHINE_ACCOUNT_MASK 448
|
||||
#define USER_ACCOUNT_TYPE_MASK 472
|
||||
#define USER_ALL_PARAMETERS 2097152
|
||||
#if !defined(_NTDEF_H) && !defined(_NTSECAPI_H)
|
||||
typedef LONG NTSTATUS, *PNTSTATUS;
|
||||
#endif
|
||||
typedef PVOID SAM_HANDLE, *PSAM_HANDLE;
|
||||
#ifndef _NTSECAPI_H
|
||||
typedef struct _UNICODE_STRING {
|
||||
USHORT Length;
|
||||
USHORT MaximumLength;
|
||||
PWSTR Buffer;
|
||||
} UNICODE_STRING, *PUNICODE_STRING;
|
||||
typedef struct _STRING {
|
||||
USHORT Length;
|
||||
USHORT MaximumLength;
|
||||
PCHAR Buffer;
|
||||
} STRING, *PSTRING;
|
||||
#endif
|
||||
typedef struct _OLD_LARGE_INTEGER {
|
||||
ULONG LowPart;
|
||||
LONG HighPart;
|
||||
} OLD_LARGE_INTEGER, *POLD_LARGE_INTEGER;
|
||||
typedef enum _NETLOGON_LOGON_INFO_CLASS {
|
||||
NetlogonInteractiveInformation = 1,NetlogonNetworkInformation,
|
||||
NetlogonServiceInformation,NetlogonGenericInformation,
|
||||
NetlogonInteractiveTransitiveInformation,NetlogonNetworkTransitiveInformation,
|
||||
NetlogonServiceTransitiveInformation
|
||||
} NETLOGON_LOGON_INFO_CLASS;
|
||||
typedef struct _CYPHER_BLOCK {
|
||||
CHAR data[CYPHER_BLOCK_LENGTH];
|
||||
} CYPHER_BLOCK, *PCYPHER_BLOCK;
|
||||
typedef struct _CLEAR_BLOCK {
|
||||
CHAR data[CLEAR_BLOCK_LENGTH];
|
||||
} CLEAR_BLOCK, *PCLEAR_BLOCK;
|
||||
typedef struct _LM_OWF_PASSWORD {
|
||||
CYPHER_BLOCK data[2];
|
||||
} LM_OWF_PASSWORD, *PLM_OWF_PASSWORD;
|
||||
typedef struct _USER_SESSION_KEY {
|
||||
CYPHER_BLOCK data[2];
|
||||
} USER_SESSION_KEY, *PUSER_SESSION_KEY;
|
||||
typedef CLEAR_BLOCK LM_CHALLENGE, *PLM_CHALLENGE;
|
||||
typedef LM_OWF_PASSWORD NT_OWF_PASSWORD, *PNT_OWF_PASSWORD;
|
||||
typedef LM_CHALLENGE NT_CHALLENGE, *PNT_CHALLENGE;
|
||||
typedef struct _LOGON_HOURS {
|
||||
USHORT UnitsPerWeek;
|
||||
PUCHAR LogonHours;
|
||||
} LOGON_HOURS, *PLOGON_HOURS;
|
||||
typedef struct _SR_SECURITY_DESCRIPTOR {
|
||||
ULONG Length;
|
||||
PUCHAR SecurityDescriptor;
|
||||
} SR_SECURITY_DESCRIPTOR, *PSR_SECURITY_DESCRIPTOR;
|
||||
#pragma pack(push,4)
|
||||
typedef struct _USER_ALL_INFORMATION {
|
||||
LARGE_INTEGER LastLogon;
|
||||
LARGE_INTEGER LastLogoff;
|
||||
LARGE_INTEGER PasswordLastSet;
|
||||
LARGE_INTEGER AccountExpires;
|
||||
LARGE_INTEGER PasswordCanChange;
|
||||
LARGE_INTEGER PasswordMustChange;
|
||||
UNICODE_STRING UserName;
|
||||
UNICODE_STRING FullName;
|
||||
UNICODE_STRING HomeDirectory;
|
||||
UNICODE_STRING HomeDirectoryDrive;
|
||||
UNICODE_STRING ScriptPath;
|
||||
UNICODE_STRING ProfilePath;
|
||||
UNICODE_STRING AdminComment;
|
||||
UNICODE_STRING WorkStations;
|
||||
UNICODE_STRING UserComment;
|
||||
UNICODE_STRING Parameters;
|
||||
UNICODE_STRING LmPassword;
|
||||
UNICODE_STRING NtPassword;
|
||||
UNICODE_STRING PrivateData;
|
||||
SR_SECURITY_DESCRIPTOR SecurityDescriptor;
|
||||
ULONG UserId;
|
||||
ULONG PrimaryGroupId;
|
||||
ULONG UserAccountControl;
|
||||
ULONG WhichFields;
|
||||
LOGON_HOURS LogonHours;
|
||||
USHORT BadPasswordCount;
|
||||
USHORT LogonCount;
|
||||
USHORT CountryCode;
|
||||
USHORT CodePage;
|
||||
BOOLEAN LmPasswordPresent;
|
||||
BOOLEAN NtPasswordPresent;
|
||||
BOOLEAN PasswordExpired;
|
||||
BOOLEAN PrivateDataSensitive;
|
||||
} USER_ALL_INFORMATION, *PUSER_ALL_INFORMATION;
|
||||
#pragma pack(pop)
|
||||
typedef struct _MSV1_0_VALIDATION_INFO {
|
||||
LARGE_INTEGER LogoffTime;
|
||||
LARGE_INTEGER KickoffTime;
|
||||
UNICODE_STRING LogonServer;
|
||||
UNICODE_STRING LogonDomainName;
|
||||
USER_SESSION_KEY SessionKey;
|
||||
BOOLEAN Authoritative;
|
||||
ULONG UserFlags;
|
||||
ULONG WhichFields;
|
||||
ULONG UserId;
|
||||
} MSV1_0_VALIDATION_INFO, *PMSV1_0_VALIDATION_INFO;
|
||||
typedef struct _NETLOGON_LOGON_IDENTITY_INFO {
|
||||
UNICODE_STRING LogonDomainName;
|
||||
ULONG ParameterControl;
|
||||
OLD_LARGE_INTEGER LogonId;
|
||||
UNICODE_STRING UserName;
|
||||
UNICODE_STRING Workstation;
|
||||
} NETLOGON_LOGON_IDENTITY_INFO, *PNETLOGON_LOGON_IDENTITY_INFO;
|
||||
typedef struct _NETLOGON_INTERACTIVE_INFO {
|
||||
NETLOGON_LOGON_IDENTITY_INFO Identity;
|
||||
LM_OWF_PASSWORD LmOwfPassword;
|
||||
NT_OWF_PASSWORD NtOwfPassword;
|
||||
} NETLOGON_INTERACTIVE_INFO, *PNETLOGON_INTERACTIVE_INFO;
|
||||
typedef struct _NETLOGON_GENERIC_INFO {
|
||||
NETLOGON_LOGON_IDENTITY_INFO Identity;
|
||||
UNICODE_STRING PackageName;
|
||||
ULONG DataLength;
|
||||
PUCHAR LogonData;
|
||||
} NETLOGON_GENERIC_INFO, *PNETLOGON_GENERIC_INFO;
|
||||
typedef struct _NETLOGON_NETWORK_INFO {
|
||||
NETLOGON_LOGON_IDENTITY_INFO Identity;
|
||||
LM_CHALLENGE LmChallenge;
|
||||
STRING NtChallengeResponse;
|
||||
STRING LmChallengeResponse;
|
||||
} NETLOGON_NETWORK_INFO, *PNETLOGON_NETWORK_INFO;
|
||||
typedef struct _NETLOGON_SERVICE_INFO {
|
||||
NETLOGON_LOGON_IDENTITY_INFO Identity;
|
||||
LM_OWF_PASSWORD LmOwfPassword;
|
||||
NT_OWF_PASSWORD NtOwfPassword;
|
||||
} NETLOGON_SERVICE_INFO, *PNETLOGON_SERVICE_INFO;
|
||||
NTSTATUS NTAPI Msv1_0SubAuthenticationRoutine(NETLOGON_LOGON_INFO_CLASS,PVOID,
|
||||
ULONG,PUSER_ALL_INFORMATION,PULONG,PULONG,
|
||||
PBOOLEAN,PLARGE_INTEGER,PLARGE_INTEGER);
|
||||
NTSTATUS NTAPI Msv1_0SubAuthenticationFilter(NETLOGON_LOGON_INFO_CLASS,PVOID,
|
||||
ULONG,PUSER_ALL_INFORMATION,PULONG,PULONG,
|
||||
PBOOLEAN,PLARGE_INTEGER,PLARGE_INTEGER);
|
||||
NTSTATUS NTAPI Msv1_0SubAuthenticationRoutineGeneric(PVOID,ULONG,PULONG,PVOID*);
|
||||
NTSTATUS NTAPI Msv1_0SubAuthenticationRoutineEx(NETLOGON_LOGON_INFO_CLASS,PVOID,
|
||||
ULONG,PUSER_ALL_INFORMATION,SAM_HANDLE,
|
||||
PMSV1_0_VALIDATION_INFO,PULONG);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _SUBAUTH_H */
|
|
@ -0,0 +1,8 @@
|
|||
LIBRARY SECUR32.dll
|
||||
EXPORTS
|
||||
LsaCallAuthenticationPackage@28
|
||||
LsaDeregisterLogonProcess@4
|
||||
LsaFreeReturnBuffer@4
|
||||
LsaLogonUser@56
|
||||
LsaLookupAuthenticationPackage@12
|
||||
LsaRegisterLogonProcess@12
|
Loading…
Reference in New Issue