LSA_DELETE_LOGON_SESSION回呼函式 (ntsecpkg.h)

清除在判斷使用者驗證資訊是否合法時所建立的任何登入會話。

如果驗證失敗,驗證套件應該刪除所有相關的登入工作階段。

語法

LSA_DELETE_LOGON_SESSION LsaDeleteLogonSession;

NTSTATUS LsaDeleteLogonSession(
  [in] PLUID LogonId
)
{...}

參數

[in] LogonId

LUID 結構的指標,其中包含要刪除之登入會話的會話標識碼。

傳回值

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

如果函式失敗,傳回值為NTSTATUS程式碼,可以是下列其中一個值或其中一個 LSA原則函數傳回值。

傳回碼 Description
STATUS_BAD_LOGON_SESSION_STATE
指定的登入會話具有參考計數值,可防止刪除它。 這是嚴重的問題,因為操作系統和驗證套件對登入會話具有授權。
STATUS_NO_SUCH_LOGON_SESSION
找不到指定的登入工作階段。
 

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

備註

由於登入會話會使用核心中的記憶體,因此應該刪除任何未使用或捨棄的登入會話。 不過,在會話的登入標識符傳回 LSA 之後,不應該刪除登入會話。 例如,由於 LsaApLogonUser 呼叫 () ,LSA 會假設 LSA 負責登入會話,並在操作系統不再需要時將其刪除。 此時,LSA 會呼叫 LsaApLogonTerminated 來通知驗證套件會話已刪除。

相反地,使用 DeleteLogonSession 刪除登入工作階段時,不會通知驗證套件。

規格需求

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

另請參閱

CreateLogonSession

LSA_DISPATCH_TABLE

LSA_SECPKG_FUNCTION_TABLE