156 lines
3.4 KiB
C
156 lines
3.4 KiB
C
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1995.
|
|
//
|
|
// File: mapsam.h
|
|
//
|
|
// Contents:
|
|
//
|
|
// Classes:
|
|
//
|
|
// Functions:
|
|
//
|
|
// History: 10-17-96 RichardW Created
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#ifndef __MAPSAM_H__
|
|
#define __MAPSAM_H__
|
|
|
|
|
|
BOOL
|
|
SslInitSam(
|
|
VOID
|
|
);
|
|
|
|
|
|
NTSTATUS
|
|
SslGetPacForUser(
|
|
IN PUNICODE_STRING AlternateName,
|
|
IN BOOL AllowGuest,
|
|
OUT PUCHAR * pPacData,
|
|
OUT PULONG pPacDataSize
|
|
);
|
|
|
|
NTSTATUS
|
|
SslCreateTokenFromPac(
|
|
IN PUCHAR MarshalledPac,
|
|
IN ULONG MarshalledPacSize,
|
|
IN PUNICODE_STRING AccountDomain,
|
|
OUT PLUID NewLogonId,
|
|
OUT PHANDLE Token
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
typedef
|
|
NTSTATUS (NTAPI * SAMICONNECT) (
|
|
IN PSAMPR_SERVER_NAME ServerName,
|
|
OUT SAMPR_HANDLE *ServerHandle,
|
|
IN ACCESS_MASK DesiredAccess,
|
|
IN BOOLEAN TrustedClient
|
|
);
|
|
|
|
typedef
|
|
NTSTATUS (NTAPI * SAMRCLOSEHANDLE)(
|
|
IN SAMPR_HANDLE * Handle);
|
|
|
|
typedef
|
|
NTSTATUS (NTAPI * SAMRQUERYINFORMATIONUSER)(
|
|
IN SAMPR_HANDLE Handle,
|
|
IN USER_INFORMATION_CLASS Class,
|
|
OUT PSAMPR_USER_INFO_BUFFER * Buffer);
|
|
|
|
typedef
|
|
NTSTATUS (NTAPI * SAMRGETGROUPSFORUSER)(
|
|
IN SAMPR_HANDLE Handle,
|
|
OUT PSAMPR_GET_GROUPS_BUFFER * Groups);
|
|
|
|
|
|
typedef
|
|
NTSTATUS
|
|
(NTAPI * SAMROPENUSER)(
|
|
IN SAMPR_HANDLE Handle,
|
|
IN ACCESS_MASK DesiredAccess,
|
|
IN ULONG Rid,
|
|
OUT SAMPR_HANDLE * UserHandle);
|
|
|
|
typedef
|
|
NTSTATUS (NTAPI * SAMROPENDOMAIN)(
|
|
IN SAMPR_HANDLE Handle,
|
|
IN ACCESS_MASK DesiredAccess,
|
|
IN PRPC_SID DomainId,
|
|
OUT SAMPR_HANDLE * DomainHandle );
|
|
|
|
NTSTATUS
|
|
SamIOpenUserByAlternateId(
|
|
IN SAMPR_HANDLE DomainHandle,
|
|
IN ACCESS_MASK DesiredAccess,
|
|
IN PUNICODE_STRING AlternateId,
|
|
OUT SAMPR_HANDLE * UserHandle );
|
|
|
|
typedef
|
|
NTSTATUS (NTAPI * SAMIOPENUSERBYALTERNATEID)(
|
|
IN SAMPR_HANDLE DomainHandle,
|
|
IN ACCESS_MASK DesiredAccess,
|
|
IN PUNICODE_STRING AlternateId,
|
|
OUT SAMPR_HANDLE * UserHandle );
|
|
|
|
typedef
|
|
VOID (NTAPI * SAMIFREE_SAMPR_GET_GROUPS_BUFFER)(
|
|
PSAMPR_GET_GROUPS_BUFFER Source
|
|
);
|
|
|
|
typedef
|
|
VOID (NTAPI * SAMIFREE_SAMPR_USER_INFO_BUFFER)(
|
|
PSAMPR_USER_INFO_BUFFER Source,
|
|
USER_INFORMATION_CLASS Branch
|
|
);
|
|
|
|
|
|
//
|
|
// LSA
|
|
//
|
|
|
|
typedef
|
|
NTSTATUS (NTAPI * LSAIOPENPOLICYTRUSTED)(
|
|
OUT PLSAPR_HANDLE PolicyHandle);
|
|
|
|
typedef
|
|
NTSTATUS (NTAPI * LSARQUERYINFORMATIONPOLICY)(
|
|
LSAPR_HANDLE Handle,
|
|
POLICY_INFORMATION_CLASS Class,
|
|
PLSAPR_POLICY_INFORMATION * Info);
|
|
|
|
typedef
|
|
NTSTATUS (NTAPI * LSARCLOSE)(
|
|
LSAPR_HANDLE * Handle);
|
|
|
|
typedef
|
|
VOID (NTAPI * LSAIFREE_LSAPR_POLICY_INFORMATION)(
|
|
POLICY_INFORMATION_CLASS Class,
|
|
PLSAPR_POLICY_INFORMATION Info);
|
|
|
|
|
|
extern SAMICONNECT pSamIConnect ;
|
|
extern SAMROPENDOMAIN pSamrOpenDomain ;
|
|
extern SAMRCLOSEHANDLE pSamrCloseHandle ;
|
|
extern SAMRQUERYINFORMATIONUSER pSamrQueryInformationUser ;
|
|
extern SAMRGETGROUPSFORUSER pSamrGetGroupsForUser ;
|
|
extern SAMROPENUSER pSamrOpenUser ;
|
|
extern SAMIOPENUSERBYALTERNATEID pSamrOpenUserByAlternateId ;
|
|
extern SAMIFREE_SAMPR_GET_GROUPS_BUFFER pSamIFree_SAMPR_GET_GROUPS_BUFFER ;
|
|
extern SAMIFREE_SAMPR_USER_INFO_BUFFER pSamIFree_SAMPR_USER_INFO_BUFFER ;
|
|
|
|
extern LSAIOPENPOLICYTRUSTED pLsaIOpenPolicyTrusted ;
|
|
extern LSARQUERYINFORMATIONPOLICY pLsarQueryInformationPolicy ;
|
|
extern LSARCLOSE pLsarClose ;
|
|
extern LSAIFREE_LSAPR_POLICY_INFORMATION pLsaIFree_LSAPR_POLICY_INFORMATION ;
|
|
|
|
|
|
|
|
#endif // __MAPSAM_H__
|