mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
150 lines
3.3 KiB
150 lines
3.3 KiB
/*++
|
|
|
|
lsathunk.h
|
|
|
|
Header file for the thunk layer for accessing the LSA through the
|
|
published NTLSAPI when SAM runs in user mode. User mode SAM is acomplished
|
|
by building with USER_MODE_SAM enabled. This causes all the SAM calls to
|
|
the LSA be remoted through the published NTLSAPI.
|
|
|
|
Author: Murlis 4/30/96
|
|
|
|
Revision History
|
|
Murlis 4/30/96
|
|
Created
|
|
|
|
--*/
|
|
|
|
#ifndef _LSATHUNK_
|
|
#define _LSATHUNK_
|
|
|
|
#ifdef USER_MODE_SAM
|
|
|
|
|
|
#define LSAPR_HANDLE LSA_HANDLE
|
|
#define PLSAPR_HANDLE PLSA_HANDLE
|
|
#define PLSAPR_POLICY_INFORMATION PVOID
|
|
|
|
//++ Function prototypes for the Thunk Layer.
|
|
|
|
NTSTATUS LsaThunkIAuditSamEvent(
|
|
IN NTSTATUS PassedStatus,
|
|
IN ULONG AuditId,
|
|
IN PSID DomainSid,
|
|
IN PULONG MemberRid OPTIONAL,
|
|
IN PSID MemberSid OPTIONAL,
|
|
IN PUNICODE_STRING AccountName OPTIONAL,
|
|
IN PUNICODE_STRING DomainName,
|
|
IN PULONG AccountRid OPTIONAL,
|
|
IN PPRIVILEGE_SET Privileges OPTIONAL
|
|
);
|
|
|
|
NTSTATUS LsaThunkIOpenPolicyTrusted(
|
|
OUT PLSAPR_HANDLE PolicyHandle
|
|
);
|
|
|
|
|
|
NTSTATUS LsaThunkIFree_LSAPR_POLICY_INFORMATION(
|
|
POLICY_INFORMATION_CLASS InformationClass,
|
|
PLSAPR_POLICY_INFORMATION PolicyInformation
|
|
);
|
|
|
|
|
|
NTSTATUS LsaThunkIAuditNotifyPackageLoad(
|
|
PUNICODE_STRING PackageFileName
|
|
);
|
|
|
|
|
|
NTSTATUS LsaThunkrQueryInformationPolicy(
|
|
IN LSAPR_HANDLE PolicyHandle,
|
|
IN POLICY_INFORMATION_CLASS InformationClass,
|
|
OUT PLSAPR_POLICY_INFORMATION *Buffer
|
|
);
|
|
|
|
NTSTATUS LsaThunkrClose(
|
|
IN OUT LSAPR_HANDLE *ObjectHandle
|
|
);
|
|
|
|
NTSTATUS LsaThunkIQueryInformationPolicyTrusted(
|
|
IN POLICY_INFORMATION_CLASS InformationClass,
|
|
OUT PLSAPR_POLICY_INFORMATION *Buffer
|
|
);
|
|
|
|
NTSTATUS LsaThunkIHealthCheck(
|
|
IN ULONG CallerId
|
|
);
|
|
|
|
// Redifine the SAM functions that call LSA to go through
|
|
// the thunk layer.
|
|
|
|
|
|
#define LsaIAuditSamEvent(\
|
|
PassedStatus,\
|
|
AuditId,\
|
|
DomainSid,\
|
|
MemberRid,\
|
|
MemberSid,\
|
|
AccountName,\
|
|
Domain,\
|
|
AccountRid,\
|
|
Privileges)\
|
|
LsaThunkIAuditSamEvent(\
|
|
PassedStatus,\
|
|
AuditId,\
|
|
DomainSid,\
|
|
MemberRid,\
|
|
MemberSid,\
|
|
AccountName,\
|
|
Domain,\
|
|
AccountRid,\
|
|
Privileges)
|
|
|
|
#define LsaIOpenPolicyTrusted(\
|
|
PolicyHandle)\
|
|
LsaThunkIOpenPolicyTrusted(\
|
|
PolicyHandle)
|
|
|
|
|
|
#define LsaIFree_LSAPR_POLICY_INFORMATION(\
|
|
InformationClass,\
|
|
PolicyInformation)\
|
|
LsaThunkIFree_LSAPR_POLICY_INFORMATION(\
|
|
InformationClass,\
|
|
PolicyInformation)
|
|
|
|
|
|
#define LsaIAuditNotifyPackageLoad(\
|
|
PackageFileName)\
|
|
LsaThunkIAuditNotifyPackageLoad(\
|
|
PackageFileName)
|
|
|
|
|
|
#define LsarQueryInformationPolicy(\
|
|
PolicyHandle,\
|
|
InformationClass,\
|
|
Buffer)\
|
|
LsaThunkrQueryInformationPolicy(\
|
|
PolicyHandle,\
|
|
InformationClass,\
|
|
Buffer)
|
|
|
|
|
|
|
|
#define LsarClose(\
|
|
ObjectHandle)\
|
|
LsaThunkrClose(\
|
|
ObjectHandle)
|
|
|
|
#define LsaIQueryInformationPolicyTrusted(\
|
|
InformationClass,\
|
|
Buffer)\
|
|
LsaThunkIQueryInformationPolicyTrusted(\
|
|
InformationClass,\
|
|
Buffer)
|
|
#define LsaIHealthCheck(\
|
|
CallerId)\
|
|
LsaThunkIHealthCheck(\
|
|
CallerId)
|
|
|
|
#endif
|
|
#endif
|