LsaRegisterLogonProcess 函式 (ntsecapi.h)

LsaRegisterLogonProcess 函式會建立與 LSA 伺服器的連線,並確認呼叫端是登入應用程式。

語法

NTSTATUS LsaRegisterLogonProcess(
  [in]  PLSA_STRING           LogonProcessName,
  [out] PHANDLE               LsaHandle,
  [out] PLSA_OPERATIONAL_MODE SecurityMode
);

參數

[in] LogonProcessName

識別登入應用程式的 LSA_STRING 結構的指標。 這應該是適合顯示給系統管理員的可列印名稱。 例如,Windows 登入應用程式可能會使用名稱 「User32LogonProcess」。。 此名稱會在稽核期間由 LSA 使用。 LsaRegisterLogonProcess 不會檢查名稱是否已經在使用中。

此字串不能超過127個字節。

[out] LsaHandle

接收未來驗證函式呼叫中使用的句柄的指標。

[out] SecurityMode

傳回的值沒有意義,而且應該忽略。

傳回值

如果函式成功,傳回值會STATUS_SUCCESS。

如果函式失敗,傳回值為NTSTATUS程式碼。 以下是可能的錯誤碼。

傳回碼 Description
STATUS_PORT_CONNECTION_REFUSED
呼叫端沒有 SeTcbPrivilege 許可權,這是呼叫此函式所需的許可權。

您可以呼叫 LsaAddAccountRights 來設定此許可權。

STATUS_NAME_TOO_LONG
指定的登入進程名稱超過127個字節。
 

如需詳細資訊,請參閱 LSA 原則函式傳回值

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

備註

必須先呼叫此函式,登入程式才能使用 LSA 所提供的任何其他登入驗證函式。

LsaRegisterLogonProcess 函式會確認進行函式呼叫的應用程式是否為登入進程,方法是檢查它是否具有 SeTcbPrivilege 許可權集。 它也會在預期未來的 LSA 驗證呼叫中開啟應用程式PROCESS_DUP_HANDLE存取的程式。 如需詳細資訊,請參閱 DuplicateHandle

當您完成使用 LSA 伺服器的連線時,請刪除呼叫端的登入應用程式內容,並藉由呼叫 LsaDeregisterLogonProcess 函式來關閉連線。

規格需求

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

另請參閱

LsaAddAccountRights

LsaConnectUntrusted

LsaDeregisterLogonProcess