AcquireCredentialsHandleA 函式 (sspi.h)
語法
SECURITY_STATUS SEC_ENTRY AcquireCredentialsHandleA(
[in, optional] LPSTR pszPrincipal,
[in] LPSTR pszPackage,
[in] unsigned long fCredentialUse,
[in, optional] void *pvLogonId,
[in, optional] void *pAuthData,
[in, optional] SEC_GET_KEY_FN pGetKeyFn,
[in, optional] void *pvGetKeyArgument,
[out] PCredHandle phCredential,
[out, optional] PTimeStamp ptsExpiry
);
參數
[in, optional] pszPrincipal
Null 終止字串的指標,指定句柄所參考之認證之主體的名稱。
[in] pszPackage
Null 終止字串的指標,指定將使用這些認證
[in] fCredentialUse
旗標,指出如何使用這些認證。 此參數可以是下列其中一個值。
價值 | 意義 |
---|---|
|
驗證傳入的伺服器認證。 呼叫 InitializeSecurityContext (CredSSP) 或 AcceptSecurityContext (CredSSP) 時,可能會使用驗證授權單位來驗證輸入認證。 如果無法使用這類授權單位,函式將會失敗並傳回 SEC_E_NO_AUTHENTICATING_AUTHORITY。 驗證是套件專屬的。 |
|
允許本機客戶端認證準備傳出令牌。 |
[in, optional] pvLogonId
識別使用者的本機唯一標識碼 (LUID)
[in, optional] pAuthData
CREDSSP_CRED 結構的指標,指定 Schannel 和 Negotiate 套件的驗證數據。
[in, optional] pGetKeyFn
保留。 不使用此參數,而且應該設定為 NULL。
[in, optional] pvGetKeyArgument
保留。 這個參數必須設定為 NULL。
[out] phCredential
CredHandle 結構的指標,將接收認證句柄。
[out, optional] ptsExpiry
TimeStamp 結構的指標,會接收傳回認證到期的時間。 收到的結構值取決於安全性套件,此套件必須在當地時間指定值。
傳回值
如果函式成功,則會傳回 SEC_E_OK。
如果函式失敗,它會傳回下列其中一個錯誤碼。
傳回碼 | 描述 |
---|---|
|
記憶體不足,無法完成要求的動作。 |
|
未對應至 SSPI 錯誤碼的錯誤發生。 |
|
安全性套件中沒有可用的認證。 |
|
函式的呼叫端沒有必要的認證。 |
|
要求的安全性套件不存在。 |
|
無法辨識提供給封裝的認證。 |
言論
AcquireCredentialsHandle (CredSSP) 函式會傳回主體認證句柄,例如使用者或用戶端,如特定 安全性套件所使用的。 函式可以將句柄傳回至預先存在的認證或新建立的認證,並傳回它。 此句柄可用於後續呼叫 AcceptSecurityContext (CredSSP) 和 InitializeSecurityContext (CredSSP) 函式。
一般而言,AcquireCredentialsHandle (CredSSP) 不提供其他使用者登入同一部計算機的認證。 不過,具有SE_TCB_NAME 权限的呼叫端可以指定該工作階段 登入標識碼 (LUID) 來取得現有登入會話的 認證。 這通常是由必須代表登入使用者的內核模式模組使用。
封裝可能會在 rpc 執行時間傳輸所提供的 pGetKeyFn
針對核心模式呼叫端,必須注意下列差異:
- 這兩個字串參數必須 Unicode 字串。
- 緩衝區值必須配置於進程虛擬記憶體中,而不是從集區配置。
注意
sspi.h 標頭會根據 UNICODE 預處理器常數的定義,將 AcquireCredentialsHandle 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | sspi.h (include Security.h) |
連結庫 | Secur32.lib |
DLL | Secur32.dll |
另請參閱
AcceptSecurityContext (CredSSP)