LSA_SECPKG_FUNCTION_TABLE structure (ntsecpkg.h)

The LSA_SECPKG_FUNCTION_TABLE structure contains pointers to the LSA functions that a security package can call. The Local Security Authority (LSA) passes this structure to a security package when it calls the package's SpInitialize function.

Syntax

typedef struct _LSA_SECPKG_FUNCTION_TABLE {
  PLSA_CREATE_LOGON_SESSION          CreateLogonSession;
  PLSA_DELETE_LOGON_SESSION          DeleteLogonSession;
  PLSA_ADD_CREDENTIAL                AddCredential;
  PLSA_GET_CREDENTIALS               GetCredentials;
  PLSA_DELETE_CREDENTIAL             DeleteCredential;
  PLSA_ALLOCATE_LSA_HEAP             AllocateLsaHeap;
  PLSA_FREE_LSA_HEAP                 FreeLsaHeap;
  PLSA_ALLOCATE_CLIENT_BUFFER        AllocateClientBuffer;
  PLSA_FREE_CLIENT_BUFFER            FreeClientBuffer;
  PLSA_COPY_TO_CLIENT_BUFFER         CopyToClientBuffer;
  PLSA_COPY_FROM_CLIENT_BUFFER       CopyFromClientBuffer;
  PLSA_IMPERSONATE_CLIENT            ImpersonateClient;
  PLSA_UNLOAD_PACKAGE                UnloadPackage;
  PLSA_DUPLICATE_HANDLE              DuplicateHandle;
  PLSA_SAVE_SUPPLEMENTAL_CREDENTIALS SaveSupplementalCredentials;
  PLSA_CREATE_THREAD                 CreateThread;
  PLSA_GET_CLIENT_INFO               GetClientInfo;
  PLSA_REGISTER_NOTIFICATION         RegisterNotification;
  PLSA_CANCEL_NOTIFICATION           CancelNotification;
  PLSA_MAP_BUFFER                    MapBuffer;
  PLSA_CREATE_TOKEN                  CreateToken;
  PLSA_AUDIT_LOGON                   AuditLogon;
  PLSA_CALL_PACKAGE                  CallPackage;
  PLSA_FREE_LSA_HEAP                 FreeReturnBuffer;
  PLSA_GET_CALL_INFO                 GetCallInfo;
  PLSA_CALL_PACKAGEEX                CallPackageEx;
  PLSA_CREATE_SHARED_MEMORY          CreateSharedMemory;
  PLSA_ALLOCATE_SHARED_MEMORY        AllocateSharedMemory;
  PLSA_FREE_SHARED_MEMORY            FreeSharedMemory;
  PLSA_DELETE_SHARED_MEMORY          DeleteSharedMemory;
  PLSA_OPEN_SAM_USER                 OpenSamUser;
  PLSA_GET_USER_CREDENTIALS          GetUserCredentials;
  PLSA_GET_USER_AUTH_DATA            GetUserAuthData;
  PLSA_CLOSE_SAM_USER                CloseSamUser;
  PLSA_CONVERT_AUTH_DATA_TO_TOKEN    ConvertAuthDataToToken;
  PLSA_CLIENT_CALLBACK               ClientCallback;
  PLSA_UPDATE_PRIMARY_CREDENTIALS    UpdateCredentials;
  PLSA_GET_AUTH_DATA_FOR_USER        GetAuthDataForUser;
  PLSA_CRACK_SINGLE_NAME             CrackSingleName;
  PLSA_AUDIT_ACCOUNT_LOGON           AuditAccountLogon;
  PLSA_CALL_PACKAGE_PASSTHROUGH      CallPackagePassthrough;
  CredReadFn                         *CrediRead;
  CredReadDomainCredentialsFn        *CrediReadDomainCredentials;
  CredFreeCredentialsFn              *CrediFreeCredentials;
  PLSA_PROTECT_MEMORY                DummyFunction1;
  PLSA_PROTECT_MEMORY                DummyFunction2;
  PLSA_PROTECT_MEMORY                DummyFunction3;
  PLSA_PROTECT_MEMORY                LsaProtectMemory;
  PLSA_PROTECT_MEMORY                LsaUnprotectMemory;
  PLSA_OPEN_TOKEN_BY_LOGON_ID        OpenTokenByLogonId;
  PLSA_EXPAND_AUTH_DATA_FOR_DOMAIN   ExpandAuthDataForDomain;
  PLSA_ALLOCATE_PRIVATE_HEAP         AllocatePrivateHeap;
  PLSA_FREE_PRIVATE_HEAP             FreePrivateHeap;
  PLSA_CREATE_TOKEN_EX               CreateTokenEx;
  CredWriteFn                        *CrediWrite;
  CrediUnmarshalandDecodeStringFn    *CrediUnmarshalandDecodeString;
  PLSA_PROTECT_MEMORY                DummyFunction4;
  PLSA_PROTECT_MEMORY                DummyFunction5;
  PLSA_PROTECT_MEMORY                DummyFunction6;
  PLSA_GET_EXTENDED_CALL_FLAGS       GetExtendedCallFlags;
  PLSA_DUPLICATE_HANDLE              DuplicateTokenHandle;
  PLSA_GET_SERVICE_ACCOUNT_PASSWORD  GetServiceAccountPassword;
  PLSA_PROTECT_MEMORY                DummyFunction7;
  PLSA_AUDIT_LOGON_EX                AuditLogonEx;
  PLSA_CHECK_PROTECTED_USER_BY_TOKEN CheckProtectedUserByToken;
  PLSA_QUERY_CLIENT_REQUEST          QueryClientRequest;
  PLSA_GET_APP_MODE_INFO             GetAppModeInfo;
  PLSA_SET_APP_MODE_INFO             SetAppModeInfo;
  PLSA_GET_CLIENT_INFO_EX            GetClientInfoEx;
} LSA_SECPKG_FUNCTION_TABLE, *PLSA_SECPKG_FUNCTION_TABLE;

Members

CreateLogonSession

Pointer to the CreateLogonSession function.

DeleteLogonSession

Pointer to the DeleteLogonSession function.

AddCredential

Pointer to the AddCredential function.

GetCredentials

Pointer to the GetCredentials function.

DeleteCredential

Pointer to the DeleteCredential function.

AllocateLsaHeap

Pointer to the AllocateLsaHeap function.

FreeLsaHeap

Pointer to the FreeLsaHeap function.

AllocateClientBuffer

Pointer to the AllocateClientBuffer function.

FreeClientBuffer

Pointer to the FreeClientBuffer function.

CopyToClientBuffer

Pointer to the CopyToClientBuffer function.

CopyFromClientBuffer

Pointer to the CopyFromClientBuffer function.

ImpersonateClient

Pointer to the ImpersonateClient function.

UnloadPackage

Pointer to the UnloadPackage function.

DuplicateHandle

Pointer to the DuplicateHandle function.

SaveSupplementalCredentials

Pointer to the SaveSupplementalCredentials function.

CreateThread

Pointer to the CreateThread function.

GetClientInfo

Pointer to the GetClientInfo function.

RegisterNotification

Pointer to the RegisterNotification function.

CancelNotification

Pointer to the CancelNotification function.

MapBuffer

Pointer to the MapBuffer function.

CreateToken

Pointer to the CreateToken function.

AuditLogon

Pointer to the AuditLogon function.

CallPackage

Pointer to the CallPackage function.

FreeReturnBuffer

Pointer to the FreeReturnBuffer function.

GetCallInfo

Pointer to the GetCallInfo function.

CallPackageEx

Pointer to the CallPackageEx function.

CreateSharedMemory

Pointer to the CreateSharedMemory function.

AllocateSharedMemory

Pointer to the AllocateSharedMemory function.

FreeSharedMemory

Pointer to the FreeSharedMemory function.

DeleteSharedMemory

Pointer to the DeleteSharedMemory function.

OpenSamUser

Pointer to the OpenSamUser function.

GetUserCredentials

Pointer to the GetUserCredentials function.

GetUserAuthData

Pointer to the GetUserAuthData function.

CloseSamUser

Pointer to the CloseSamUser function.

ConvertAuthDataToToken

Pointer to the ConvertAuthDataToToken function.

ClientCallback

Pointer to the ClientCallback function.

UpdateCredentials

Pointer to the UpdateCredentials function.

GetAuthDataForUser

Pointer to the GetAuthDataForUser function.

CrackSingleName

Pointer to the CrackSingleName function.

AuditAccountLogon

Pointer to the AuditAccountLogon function.

CallPackagePassthrough

Pointer to the CallPackagePassthrough function.

CrediRead

Pointer to the CrediRead function.

CrediReadDomainCredentials

Pointer to the CrediReadDomainCredentials function.

CrediFreeCredentials

Pointer to the CrediFreeCredentials function.

DummyFunction1

DummyFunction2

DummyFunction3

LsaProtectMemory

Pointer to the LsaProtectMemory function.

LsaUnprotectMemory

Pointer to the LsaUnprotectMemory function.

OpenTokenByLogonId

Pointer to the OpenTokenByLogonId function.

ExpandAuthDataForDomain

Pointer to the ExpandAuthDataForDomain function.

AllocatePrivateHeap

Pointer to the AllocatePrivateHeap function.

FreePrivateHeap

Pointer to the FreePrivateHeap function.

CreateTokenEx

Pointer to the CreateTokenEx function.

CrediWrite

Pointer to the CrediWrite function.

CrediUnmarshalandDecodeString

Pointer to the CrediUnmarshalandDecodeString function.

Windows Server 2003 and Windows XP:  This function is not implemented.

DummyFunction4

DummyFunction5

DummyFunction6

Introduced in Windows 8 and above for internal Microsoft use only.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP:  This function is not implemented.

GetExtendedCallFlags

Pointer to the GetExtendedCallFlags function.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP:  This function is not implemented.

DuplicateTokenHandle

Pointer to the DuplicateTokenHandle function.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP:  This function is not implemented.

GetServiceAccountPassword

Pointer to the GetServiceAccountPassword function.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP:  This function is not implemented.

DummyFunction7

Introduced in Windows 8 and above for internal Microsoft use only.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP:  This function is not implemented.

AuditLogonEx

Pointer to the AuditLogonEx function.

CheckProtectedUserByToken

Pointer to the CheckProtectedUserByToken function.

QueryClientRequest

Pointer to the QueryClientRequest function.

GetAppModeInfo

Pointer to the GetAppModeInfo function.

SetAppModeInfo

Pointer to the SetAppModeInfo function.

GetClientInfoEx

Requirements

Requirement Value
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Header ntsecpkg.h