WlxLoggedOutSAS 函式 (winwlx.h)
[WlxLoggedOutSAS 函式已不再可供 Windows Server 2008 和 Windows Vista 使用。]
WlxLoggedOutSAS函式必須由取代GINA DLL 實作。 Winlogon 會在沒有使用者登入時收到 安全注意序列 (SAS) 事件時呼叫此函式。
語法
int WlxLoggedOutSAS(
[in] PVOID pWlxContext,
[in] DWORD dwSasType,
[out] PLUID pAuthenticationId,
[in, out] PSID pLogonSid,
[out] PDWORD pdwOptions,
[out] PHANDLE phToken,
[out] PWLX_MPR_NOTIFY_INFO pNprNotifyInfo,
[out] PVOID *pProfile
);
參數
[in] pWlxContext
與此視窗月臺相關聯的 GINA 內容指標。 當 Winlogon 為此月臺呼叫 WlxInitialize 時,GINA 會傳回此內容值。
[in] dwSasType
指定發生的 SAS 類型。 從零到WLX_SAS_TYPE_MAX_MSFT_VALUE的值會保留來定義標準 Microsoft SAS 類型。 GINA 開發人員可以使用大於WLX_SAS_TYPE_MAX_MSFT_VALUE的值來定義其他 SAS 類型。
預先定義下列 SAS 類型。
值 | 意義 |
---|---|
|
表示使用者已輸入標準 CTRL+ALT+DEL SAS。 |
|
表示 智慧卡 已插入相容的裝置。 |
|
指出智慧卡已從相容的裝置中移除。 |
|
表示在指定的逾時期間內未收到任何使用者輸入。 |
[out] pAuthenticationId
指定與目前 登入會話相關聯的驗證識別碼。 您可以呼叫GetTokenInformation來取得LogonUser函式所傳回之權杖的TOKEN_STATISTICS結構,以取得此值。
[in, out] pLogonSid
在輸入時,此參數指向目前登入會話唯一 的安全性識別碼 (SID) 。 Winlogon 會使用此 SID 來變更視窗月臺和應用程式桌面上的保護,讓新的登入使用者能夠存取它們。
在輸出上,Winlogon 會提供 SID。 您也可以使用GetTokenInformation函式來擷取LogonUser函式所傳回之權杖的TOKEN_GROUPS結構。 若要這樣做,請使用 SE_GROUP_LOGON_ID 屬性搜尋群組TOKEN_GROUPS結構中所傳回的陣列。
[out] pdwOptions
包含登入選項組的 DWORD 指標。 已定義下列選項。
值 | 意義 |
---|---|
|
表示 Winlogon 不得載入登入使用者的設定檔。 GINA DLL 會負責此活動,或使用者不需要設定檔。 |
[out] phToken
控制碼變數的指標。 登入作業成功時,將此控制碼設定為代表登入使用者的權杖。 使用 LogonUser 函式取得此權杖,然後當使用者登出時,Winlogon 會關閉此控制碼並呼叫 WlxLogoff 函式。
如果您在呼叫 WlxLogoff 函式之後需要此控制碼,請在將它傳回 Winlogon 之前,先複製控制碼。
[out] pNprNotifyInfo
包含使用者網域、使用者名稱和密碼資訊的 WLX_MPR_NOTIFY_INFO 結構的指標。 Winlogon 會使用此資訊,將識別和驗證資訊提供給網路提供者。
不需要 GINA 才能傳回密碼資訊。 Winlogon 將會忽略結構中的任何 Null 欄位。 使用 LocalAlloc 配置每個字串;Winlogon 會在不再需要時釋出它們。
GINA 應該提供完整會話目錄功能的網域、使用者和密碼值。 如果未提供密碼,會話目錄會在使用者連線到伺服器之前,要求使用者輸入密碼兩次。
如需保護密碼的相關資訊,請參閱 處理密碼。
[out] pProfile
從成功的驗證傳回時, pProfile 參數會指向 WLX_PROFILE_V1_0 或 WLX_PROFILE_V2_0 結構。 結構中的第一個 DWORD 會指出它所在的結構。 Winlogon 會使用此結構來載入已登入使用者的設定檔,並在不再需要該結構時釋放與結構相關聯的記憶體。
傳回值
如果函式失敗,函式會傳回零。
如果函式成功,它會傳回下列其中一個值。
傳回碼 | 描述 |
---|---|
|
表示使用者已登入。 |
|
指出記錄的嘗試失敗或取消。 |
|
指出使用者要求關閉系統。 |
備註
在呼叫 WlxLoggedOutSAS之前,Winlogon 會設定桌面狀態,讓目前的桌面是 Winlogon 桌面,並設定工作站狀態,讓桌面鎖定。
請勿在 WlxLoggedOutSAS中啟用使用者殼層程式。 使用者殼層程式應該一律會在 WlxActivateUserShell中啟用。
規格需求
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winwlx.h |