다음을 통해 공유


LSA_SECPKG_FUNCTION_TABLE 구조체(ntsecpkg.h)

LSA_SECPKG_FUNCTION_TABLE 구조에는 보안 패키지에서 호출할 수 있는 LSA 함수에 대한 포인터가 포함되어 있습니다. LSA( 로컬 보안 기관 )는 패키지의 SpInitialize 함수를 호출할 때 이 구조를 보안 패키지에 전달합니다.

구문

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;

멤버

CreateLogonSession

CreateLogonSession 함수에 대한 포인터입니다.

DeleteLogonSession

DeleteLogonSession 함수에 대한 포인터입니다.

AddCredential

AddCredential 함수에 대한 포인터입니다.

GetCredentials

GetCredentials 함수에 대한 포인터입니다.

DeleteCredential

DeleteCredential 함수에 대한 포인터입니다.

AllocateLsaHeap

AllocateLsaHeap 함수에 대한 포인터입니다.

FreeLsaHeap

FreeLsaHeap 함수에 대한 포인터입니다.

AllocateClientBuffer

AllocateClientBuffer 함수에 대한 포인터입니다.

FreeClientBuffer

FreeClientBuffer 함수에 대한 포인터입니다.

CopyToClientBuffer

CopyToClientBuffer 함수에 대한 포인터입니다.

CopyFromClientBuffer

CopyFromClientBuffer 함수에 대한 포인터입니다.

ImpersonateClient

ImpersonateClient 함수에 대한 포인터입니다.

UnloadPackage

UnloadPackage 함수에 대한 포인터입니다.

DuplicateHandle

DuplicateHandle 함수에 대한 포인터입니다.

SaveSupplementalCredentials

SaveSupplementalCredentials 함수에 대한 포인터입니다.

CreateThread

CreateThread 함수에 대한 포인터입니다.

GetClientInfo

GetClientInfo 함수에 대한 포인터입니다.

RegisterNotification

RegisterNotification 함수에 대한 포인터입니다.

CancelNotification

CancelNotification 함수에 대한 포인터입니다.

MapBuffer

MapBuffer 함수에 대한 포인터입니다.

CreateToken

CreateToken 함수에 대한 포인터입니다.

AuditLogon

AuditLogon 함수에 대한 포인터입니다.

CallPackage

CallPackage 함수에 대한 포인터입니다.

FreeReturnBuffer

FreeReturnBuffer 함수에 대한 포인터입니다.

GetCallInfo

GetCallInfo 함수에 대한 포인터입니다.

CallPackageEx

CallPackageEx 함수에 대한 포인터입니다.

CreateSharedMemory

CreateSharedMemory 함수에 대한 포인터입니다.

AllocateSharedMemory

AllocateSharedMemory 함수에 대한 포인터입니다.

FreeSharedMemory

FreeSharedMemory 함수에 대한 포인터입니다.

DeleteSharedMemory

DeleteSharedMemory 함수에 대한 포인터입니다.

OpenSamUser

OpenSamUser 함수에 대한 포인터입니다.

GetUserCredentials

GetUserCredentials 함수에 대한 포인터입니다.

GetUserAuthData

GetUserAuthData 함수에 대한 포인터입니다.

CloseSamUser

CloseSamUser 함수에 대한 포인터입니다.

ConvertAuthDataToToken

ConvertAuthDataToToken 함수에 대한 포인터입니다.

ClientCallback

ClientCallback 함수에 대한 포인터입니다.

UpdateCredentials

UpdateCredentials 함수에 대한 포인터입니다.

GetAuthDataForUser

GetAuthDataForUser 함수에 대한 포인터입니다.

CrackSingleName

CrackSingleName 함수에 대한 포인터입니다.

AuditAccountLogon

AuditAccountLogon 함수에 대한 포인터입니다.

CallPackagePassthrough

CallPackagePassthrough 함수에 대한 포인터입니다.

CrediRead

CrediRead 함수에 대한 포인터입니다.

CrediReadDomainCredentials

CrediReadDomainCredentials 함수에 대한 포인터입니다.

CrediFreeCredentials

CrediFreeCredentials 함수에 대한 포인터입니다.

DummyFunction1

DummyFunction2

DummyFunction3

LsaProtectMemory

LsaProtectMemory 함수에 대한 포인터입니다.

LsaUnprotectMemory

LsaUnprotectMemory 함수에 대한 포인터입니다.

OpenTokenByLogonId

OpenTokenByLogonId 함수에 대한 포인터입니다.

ExpandAuthDataForDomain

ExpandAuthDataForDomain 함수에 대한 포인터입니다.

AllocatePrivateHeap

AllocatePrivateHeap 함수에 대한 포인터입니다.

FreePrivateHeap

FreePrivateHeap 함수에 대한 포인터입니다.

CreateTokenEx

CreateTokenEx 함수에 대한 포인터입니다.

CrediWrite

CrediWrite 함수에 대한 포인터입니다.

CrediUnmarshalandDecodeString

CrediUnmarshalandDecodeString 함수에 대한 포인터입니다.

Windows Server 2003 및 Windows XP: 이 함수는 구현되지 않습니다.

DummyFunction4

DummyFunction5

DummyFunction6

내부 Microsoft용으로만 Windows 8 이상에 도입되었습니다.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 함수는 구현되지 않습니다.

GetExtendedCallFlags

GetExtendedCallFlags 함수에 대한 포인터입니다.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 함수는 구현되지 않습니다.

DuplicateTokenHandle

DuplicateTokenHandle 함수에 대한 포인터입니다.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 함수는 구현되지 않습니다.

GetServiceAccountPassword

GetServiceAccountPassword 함수에 대한 포인터입니다.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 함수는 구현되지 않습니다.

DummyFunction7

내부 Microsoft용으로만 Windows 8 이상에 도입되었습니다.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 함수는 구현되지 않습니다.

AuditLogonEx

AuditLogonEx 함수에 대한 포인터입니다.

CheckProtectedUserByToken

CheckProtectedUserByToken 함수에 대한 포인터입니다.

QueryClientRequest

QueryClientRequest 함수에 대한 포인터입니다.

GetAppModeInfo

GetAppModeInfo 함수에 대한 포인터입니다.

SetAppModeInfo

SetAppModeInfo 함수에 대한 포인터입니다.

GetClientInfoEx

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 ntsecpkg.h