共用方式為


LSA_ADD_CREDENTIAL回呼函式 (ntsecpkg.h)

[AddCredential 可用於需求一節中指定的作業系統。 它在後續版本中可能會變更或無法使用。 應用程式應該使用 LsaCallAuthenticationPackage 函式搭配 KerbAddExtraCredentialsMessage 指定為訊息類型。 KerbAddExtraCredentialsMessageKERB_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
STATUS_NO_SUCH_LOGON_SESSION
找不到指定的登入工作階段。
 

LsaNtStatusToWinError 函式會將NTSTATUS程式碼轉換成 Windows 錯誤碼。

備註

認證字串的主體必須是自我相對的;也就是說,它不得包含認證外部記憶體的指標。 系統會複製認證,而且認證本身以外的任何指標將不再在複本中有效。 特別是,認證中所參考的字串應該同時將UNICODE_STRING標頭和本文放在認證緩衝區中。 認證主體中字串的指標應該變更為位移。

規格需求

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

另請參閱

GetCredentials

LSA_DISPATCH_TABLE

LSA_SECPKG_FUNCTION_TABLE