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.
309 lines
7.5 KiB
309 lines
7.5 KiB
//+-----------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
//
|
|
// Copyright (c) Microsoft Corporation 1992 - 1997
|
|
//
|
|
// File: lsaitf.h
|
|
//
|
|
// Contents: Prototypes for auth packages to call into LSA & SAM
|
|
//
|
|
//
|
|
// History: 21-February-1997 Created MikeSw
|
|
//
|
|
//------------------------------------------------------------------------
|
|
|
|
#ifndef __LSAITF_H__
|
|
#define __LSAITF_H__
|
|
|
|
#include <samrpc.h>
|
|
#include <lsarpc.h>
|
|
#include <samisrv.h>
|
|
#include <lsaisrv.h>
|
|
|
|
NTSTATUS
|
|
I_SamrSetInformationUser(
|
|
IN SAMPR_HANDLE UserHandle,
|
|
IN USER_INFORMATION_CLASS UserInformationClass,
|
|
IN PSAMPR_USER_INFO_BUFFER Buffer
|
|
);
|
|
|
|
NTSTATUS
|
|
I_SamrCloseHandle(
|
|
IN OUT SAMPR_HANDLE * SamHandle
|
|
);
|
|
|
|
NTSTATUS
|
|
I_SamrOpenDomain(
|
|
IN SAMPR_HANDLE ServerHandle,
|
|
IN ACCESS_MASK DesiredAccess,
|
|
IN PRPC_SID DomainId,
|
|
OUT SAMPR_HANDLE * DomainHandle
|
|
);
|
|
|
|
NTSTATUS
|
|
I_SamrQueryInformationDomain(
|
|
IN SAMPR_HANDLE DomainHandle,
|
|
IN DOMAIN_INFORMATION_CLASS DomainInformationClass,
|
|
OUT PSAMPR_DOMAIN_INFO_BUFFER *Buffer
|
|
);
|
|
|
|
NTSTATUS
|
|
I_SamIConnect(
|
|
IN PSAMPR_SERVER_NAME ServerName,
|
|
OUT SAMPR_HANDLE *ServerHandle,
|
|
IN ACCESS_MASK DesiredAccess,
|
|
IN BOOLEAN TrustedClient
|
|
);
|
|
|
|
NTSTATUS
|
|
I_SamIAccountRestrictions(
|
|
IN SAM_HANDLE UserHandle,
|
|
IN PUNICODE_STRING LogonWorkstation,
|
|
IN PUNICODE_STRING Workstations,
|
|
IN PLOGON_HOURS LogonHours,
|
|
OUT PLARGE_INTEGER LogoffTime,
|
|
OUT PLARGE_INTEGER KickoffTime
|
|
);
|
|
|
|
NTSTATUS
|
|
I_SamIGetUserLogonInformation(
|
|
IN SAMPR_HANDLE DomainHandle,
|
|
IN ULONG Flags,
|
|
IN PUNICODE_STRING AccountName,
|
|
OUT PSAMPR_USER_INFO_BUFFER * Buffer,
|
|
OUT PSID_AND_ATTRIBUTES_LIST ReverseMembership,
|
|
OUT OPTIONAL SAMPR_HANDLE * UserHandle
|
|
);
|
|
|
|
NTSTATUS
|
|
I_SamIGetUserLogonInformationEx(
|
|
IN SAMPR_HANDLE DomainHandle,
|
|
IN ULONG Flags,
|
|
IN PUNICODE_STRING AccountName,
|
|
IN ULONG WhichFields,
|
|
OUT PSAMPR_USER_INFO_BUFFER * Buffer,
|
|
OUT PSID_AND_ATTRIBUTES_LIST ReverseMembership,
|
|
OUT OPTIONAL SAMPR_HANDLE * UserHandle
|
|
);
|
|
|
|
VOID
|
|
I_SamIFree_SAMPR_USER_INFO_BUFFER (
|
|
PSAMPR_USER_INFO_BUFFER Source,
|
|
USER_INFORMATION_CLASS Branch
|
|
);
|
|
|
|
VOID
|
|
I_SamIFree_SAMPR_ULONG_ARRAY (
|
|
PSAMPR_ULONG_ARRAY Source
|
|
);
|
|
|
|
VOID
|
|
I_SamIFree_SAMPR_RETURNED_USTRING_ARRAY (
|
|
PSAMPR_RETURNED_USTRING_ARRAY Source
|
|
);
|
|
|
|
VOID
|
|
I_SamIFreeSidAndAttributesList(
|
|
IN PSID_AND_ATTRIBUTES_LIST List
|
|
);
|
|
|
|
VOID
|
|
I_SamIIncrementPerformanceCounter(
|
|
IN SAM_PERF_COUNTER_TYPE CounterType
|
|
);
|
|
|
|
VOID
|
|
I_SamIFreeVoid(
|
|
IN PVOID ptr
|
|
);
|
|
|
|
NTSTATUS
|
|
I_SamIUpdateLogonStatistics(
|
|
IN SAMPR_HANDLE DomainHandle,
|
|
IN PSAM_LOGON_STATISTICS LogonStats
|
|
);
|
|
|
|
NTSTATUS
|
|
I_SamIUPNFromUserHandle(
|
|
IN SAMPR_HANDLE UserHandle,
|
|
OUT BOOLEAN *UPNDefaulted,
|
|
OUT PUNICODE_STRING UPN
|
|
);
|
|
|
|
NTSTATUS
|
|
I_LsaIOpenPolicyTrusted(
|
|
OUT PLSAPR_HANDLE PolicyHandle
|
|
);
|
|
|
|
NTSTATUS
|
|
I_LsarClose(
|
|
IN OUT LSAPR_HANDLE *ObjectHandle
|
|
);
|
|
|
|
NTSTATUS
|
|
I_LsaIQueryInformationPolicyTrusted(
|
|
IN POLICY_INFORMATION_CLASS InformationClass,
|
|
OUT PLSAPR_POLICY_INFORMATION *Buffer
|
|
);
|
|
|
|
VOID
|
|
I_LsaIFree_LSAPR_POLICY_INFORMATION (
|
|
IN POLICY_INFORMATION_CLASS InformationClass,
|
|
IN PLSAPR_POLICY_INFORMATION PolicyInformation
|
|
);
|
|
|
|
NTSTATUS
|
|
I_LsarQueryInformationPolicy(
|
|
IN LSAPR_HANDLE PolicyHandle,
|
|
IN POLICY_INFORMATION_CLASS InformationClass,
|
|
OUT PLSAPR_POLICY_INFORMATION *PolicyInformation
|
|
);
|
|
|
|
NTSTATUS
|
|
I_LsarCreateSecret(
|
|
IN LSAPR_HANDLE PolicyHandle,
|
|
IN PLSAPR_UNICODE_STRING SecretName,
|
|
IN ACCESS_MASK DesiredAccess,
|
|
OUT LSAPR_HANDLE *SecretHandle
|
|
);
|
|
|
|
NTSTATUS
|
|
I_LsarOpenSecret(
|
|
IN LSAPR_HANDLE PolicyHandle,
|
|
IN PLSAPR_UNICODE_STRING SecretName,
|
|
IN ACCESS_MASK DesiredAccess,
|
|
OUT LSAPR_HANDLE *SecretHandle
|
|
);
|
|
|
|
NTSTATUS
|
|
I_LsarSetSecret(
|
|
IN LSAPR_HANDLE SecretHandle,
|
|
IN PLSAPR_CR_CIPHER_VALUE EncryptedCurrentValue,
|
|
IN PLSAPR_CR_CIPHER_VALUE EncryptedOldValue
|
|
);
|
|
|
|
NTSTATUS
|
|
I_LsarQuerySecret(
|
|
IN LSAPR_HANDLE SecretHandle,
|
|
IN OUT OPTIONAL PLSAPR_CR_CIPHER_VALUE *EncryptedCurrentValue,
|
|
IN OUT OPTIONAL PLARGE_INTEGER CurrentValueSetTime,
|
|
IN OUT OPTIONAL PLSAPR_CR_CIPHER_VALUE *EncryptedOldValue,
|
|
IN OUT OPTIONAL PLARGE_INTEGER OldValueSetTime
|
|
);
|
|
|
|
NTSTATUS
|
|
I_LsarDelete(
|
|
IN OUT LSAPR_HANDLE ObjectHandle
|
|
);
|
|
|
|
VOID
|
|
I_LsaIFree_LSAPR_CR_CIPHER_VALUE (
|
|
IN PLSAPR_CR_CIPHER_VALUE CipherValue
|
|
);
|
|
|
|
NTSTATUS NTAPI
|
|
I_LsaIRegisterPolicyChangeNotificationCallback(
|
|
IN pfLsaPolicyChangeNotificationCallback Callback,
|
|
IN POLICY_NOTIFICATION_INFORMATION_CLASS MonitorInfoClass
|
|
);
|
|
|
|
NTSTATUS NTAPI
|
|
I_LsaIUnregisterPolicyChangeNotificationCallback(
|
|
IN pfLsaPolicyChangeNotificationCallback Callback,
|
|
IN POLICY_NOTIFICATION_INFORMATION_CLASS MonitorInfoClass
|
|
);
|
|
|
|
NTSTATUS
|
|
I_LsaIAuditAccountLogonEx(
|
|
IN ULONG AuditId,
|
|
IN BOOLEAN Successful,
|
|
IN PUNICODE_STRING Source,
|
|
IN PUNICODE_STRING ClientName,
|
|
IN PUNICODE_STRING MappedName,
|
|
IN NTSTATUS LogonStatus, OPTIONAL
|
|
IN PSID ClientSid
|
|
);
|
|
|
|
NTSTATUS
|
|
I_LsaIGetLogonGuid(
|
|
IN PUNICODE_STRING pUserName,
|
|
IN PUNICODE_STRING pUserDomain,
|
|
IN PBYTE pBuffer,
|
|
IN UINT BufferSize,
|
|
OUT LPGUID pLogonGuid
|
|
);
|
|
|
|
NTSTATUS
|
|
I_LsaISetLogonGuidInLogonSession(
|
|
IN PLUID pLogonId,
|
|
IN LPGUID pLogonGuid
|
|
);
|
|
|
|
VOID
|
|
I_LsaIAuditKerberosLogon(
|
|
IN NTSTATUS LogonStatus,
|
|
IN NTSTATUS LogonSubStatus,
|
|
IN PUNICODE_STRING AccountName,
|
|
IN PUNICODE_STRING AuthenticatingAuthority,
|
|
IN PUNICODE_STRING WorkstationName,
|
|
IN PSID UserSid, OPTIONAL
|
|
IN SECURITY_LOGON_TYPE LogonType,
|
|
IN PTOKEN_SOURCE TokenSource,
|
|
IN PLUID LogonId,
|
|
IN LPGUID LogonGuid,
|
|
IN PLSA_ADT_STRING_LIST TransittedServices
|
|
);
|
|
|
|
NTSTATUS
|
|
I_LsaIAuditLogonUsingExplicitCreds(
|
|
IN USHORT AuditEventType,
|
|
IN PLUID pUser1LogonId,
|
|
IN LPGUID pUser1LogonGuid,
|
|
IN HANDLE User1ProcessId,
|
|
IN PUNICODE_STRING pUser2Name,
|
|
IN PUNICODE_STRING pUser2Domain,
|
|
IN LPGUID pUser2LogonGuid,
|
|
IN PUNICODE_STRING pTargetName,
|
|
IN PUNICODE_STRING pTargetInfo
|
|
);
|
|
|
|
|
|
NTSTATUS
|
|
I_LsaICallPackage(
|
|
IN PUNICODE_STRING AuthenticationPackage,
|
|
IN PVOID ProtocolSubmitBuffer,
|
|
IN ULONG SubmitBufferLength,
|
|
OUT PVOID *ProtocolReturnBuffer,
|
|
OUT PULONG ReturnBufferLength,
|
|
OUT PNTSTATUS ProtocolStatus
|
|
);
|
|
|
|
NTSTATUS NTAPI
|
|
I_LsaIAddNameToLogonSession(
|
|
IN PLUID LogonId,
|
|
IN ULONG NameFormat,
|
|
IN PUNICODE_STRING Name
|
|
);
|
|
|
|
NTSTATUS
|
|
I_LsaIGetNameFromLuid(
|
|
IN PLUID LogonId,
|
|
IN ULONG NameFormat,
|
|
IN BOOLEAN LocalOnly,
|
|
OUT PUNICODE_STRING Name
|
|
);
|
|
|
|
//
|
|
// Internal package-specific flags for the logon session
|
|
//
|
|
|
|
#define LOGONSES_FLAG_NTLM_DOWNLEVEL 0x00000001
|
|
|
|
NTSTATUS NTAPI
|
|
I_LsaISetPackageAttrInLogonSession(
|
|
IN PLUID LogonId,
|
|
IN ULONG PackageAttr
|
|
);
|
|
|
|
#endif // __LSAITF_H__
|