LSA_DELETE_LOGON_SESSION回呼函式 (ntsecpkg.h)
清除在判斷使用者驗證資訊是否合法時所建立的任何登入會話。
如果驗證失敗,驗證套件應該刪除所有相關的登入工作階段。
語法
LSA_DELETE_LOGON_SESSION LsaDeleteLogonSession;
NTSTATUS LsaDeleteLogonSession(
[in] PLUID LogonId
)
{...}
參數
[in] LogonId
LUID 結構的指標,其中包含要刪除之登入會話的會話標識碼。
傳回值
如果函式成功,傳回值會STATUS_SUCCESS。
如果函式失敗,傳回值為NTSTATUS程式碼,可以是下列其中一個值或其中一個 LSA原則函數傳回值。
傳回碼 | Description |
---|---|
|
指定的登入會話具有參考計數值,可防止刪除它。 這是嚴重的問題,因為操作系統和驗證套件對登入會話具有授權。 |
|
找不到指定的登入工作階段。 |
LsaNtStatusToWinError 函式會將NTSTATUS程式碼轉換為 Windows 錯誤碼。
備註
由於登入會話會使用核心中的記憶體,因此應該刪除任何未使用或捨棄的登入會話。 不過,在會話的登入標識符傳回 LSA 之後,不應該刪除登入會話。 例如,由於 LsaApLogonUser 呼叫 () ,LSA 會假設 LSA 負責登入會話,並在操作系統不再需要時將其刪除。 此時,LSA 會呼叫 LsaApLogonTerminated 來通知驗證套件會話已刪除。
相反地,使用 DeleteLogonSession 刪除登入工作階段時,不會通知驗證套件。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | ntsecpkg.h |