LSA_ADD_CREDENTIAL回呼函式 (ntsecpkg.h)
[AddCredential 可用於需求一節中指定的作業系統。 它在後續版本中可能會變更或無法使用。 應用程式應該使用 LsaCallAuthenticationPackage 函式搭配 KerbAddExtraCredentialsMessage 指定為訊息類型。 KerbAddExtraCredentialsMessage 是 KERB_PROTOCOL_MESSAGE_TYPE 列舉值。]
將認證新增至登入會話。 這些認證稍後可以透過對 GetCredentials 函 式的呼叫來參考。
語法
LSA_ADD_CREDENTIAL LsaAddCredential;
NTSTATUS LsaAddCredential(
[in] PLUID LogonId,
[in] ULONG AuthenticationPackage,
[in] PLSA_STRING PrimaryKeyValue,
[in] PLSA_STRING Credentials
)
{...}
參數
[in] LogonId
LUID 的指標,其中包含要加入認證之登入會話的會話標識碼。
[in] AuthenticationPackage
呼叫驗證套件的驗證套件標識碼。 這個值會在 DLL 初始化期間於 LsaApInitializePackage 呼叫中接收。
[in] PrimaryKeyValue
字串,其中包含驗證套件稍後需要參考作為認證數據之主鍵的值。 例如,這可用來保留與認證相關的網域或伺服器名稱。 此字串的格式和意義是驗證套件特有的。 請注意,字串值不一定是唯一的,即使是指定的登入會話也一定。 例如,相同網域可以有兩個密碼,每個密碼都儲存為認證,以及儲存為主鍵的域名。
[in] Credentials
表示使用者認證的字串。 此字串的格式和意義是驗證套件特有的。
傳回值
如果函式成功,函式會傳回STATUS_SUCCESS。
如果函式失敗,它會傳回 NTSTATUS 程式碼,可以是下列值或其中一個 LSA原則函式傳回值。
傳回碼 | Description |
---|---|
|
找不到指定的登入工作階段。 |
LsaNtStatusToWinError 函式會將NTSTATUS程式碼轉換成 Windows 錯誤碼。
備註
認證字串的主體必須是自我相對的;也就是說,它不得包含認證外部記憶體的指標。 系統會複製認證,而且認證本身以外的任何指標將不再在複本中有效。 特別是,認證中所參考的字串應該同時將UNICODE_STRING標頭和本文放在認證緩衝區中。 認證主體中字串的指標應該變更為位移。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | ntsecpkg.h |