|
|
//+-----------------------------------------------------------------------
//
// 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__
|