SpAcquireCredentialsHandleFn 回呼函式 (ntsecpkg.h)

呼叫 以取得 主體認證的句柄。 如果呼叫端沒有存取認證的許可權, 安全性套件 可以拒絕對呼叫端的存取。

如果認證句柄傳回給呼叫端,封裝也應該指定句柄的到期時間。

語法

SpAcquireCredentialsHandleFn Spacquirecredentialshandlefn;

NTSTATUS Spacquirecredentialshandlefn(
  [in]  PUNICODE_STRING PrincipalName,
  [in]  ULONG CredentialUseFlags,
  [in]  PLUID LogonId,
  [in]  PVOID AuthorizationData,
        PVOID GetKeyFunciton,
  [in]  PVOID GetKeyArgument,
  [out] PLSA_SEC_HANDLE CredentialHandle,
  [out] PTimeStamp ExpirationTime
)
{...}

參數

[in] PrincipalName

選擇性。 UNICODE_STRING結構的指標,其中包含要求其認證的安全性主體名稱。 如果此值為 NULL,呼叫端會要求使用者執行 其安全性內容 之使用者的認證句柄。

[in] CredentialUseFlags

指出如何使用認證的旗標。 下列值有效。

意義
SECPKG_CRED_INBOUND
認證將會與 AcceptSecurityContext (General) 函式搭配使用。
SECPKG_CRED_OUTBOUND
認證將會與 InitializeSecurityContext (General) 函式搭配使用。

[in] LogonId

選擇性。 LUID 的指標,其中包含安全性主體的登入標識符

[in] AuthorizationData

選擇性。 補充驗證數據的指標。

GetKeyFunciton

[in] GetKeyArgument

搭配 GetKeyFunction 函式使用的自變數指標。

[out] CredentialHandle

接收認證的 LSA_SEC_HANDLE 指標。 當您完成使用認證時,請呼叫 SpFreeCredentialsHandle 函式來釋放句柄。

[out] ExpirationTime

TimeStamp 的指標,接收認證句柄到期的時間。

傳回值

如果函式成功,請傳回STATUS_SUCCESS。

如果函式失敗,則傳回 NTSTATUS 程式代碼,指出失敗的原因。 下表列出失敗的常見原因,以及應該傳回的錯誤碼。

傳回碼 Description
SEC_E_NOT_OWNER
呼叫端遭到拒絕存取。
SEC_E_NO_CREDENTIALS
指定的主體沒有可用的認證。

備註

此套件可以使用 本機安全性授權 單位 (LSA) 支援函式來判斷呼叫端是否應獲得要求的認證存取權。

SpAcquireCredentialsHandle 取得的認證會藉由呼叫 SpFreeCredentialsHandle 函式來釋出。

SSP/AP 必須實作 SpAcquireCredentialsHandle 函式;不過,提供給實作的實際名稱是由開發人員決定。

SpAcquireCredentialsHandle 函式的指標可在從 SpLsaModeInitialize 函式收到的SECPKG_FUNCTION_TABLE結構中使用。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 ntsecpkg.h

另請參閱

SECPKG_FUNCTION_TABLE

SpFreeCredentialsHandle

SpLsaModeInitialize