WlxLoggedOutSAS 函式 (winwlx.h)

[WlxLoggedOutSAS 函式已不再可供 Windows Server 2008 和 Windows Vista 使用。]

WlxLoggedOutSAS函式必須由取代GINA DLL 實作。 Winlogon 會在沒有使用者登入時收到 安全注意序列 (SAS) 事件時呼叫此函式。

注意 Windows Vista 中會忽略 GINA DLL。
 

語法

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 類型。

意義
WLX_SAS_TYPE_CTRL_ALT_DEL
表示使用者已輸入標準 CTRL+ALT+DEL SAS。
WLX_SAS_TYPE_SC_INSERT
表示 智慧卡 已插入相容的裝置。
WLX_SAS_TYPE_SC_REMOVE
指出智慧卡已從相容的裝置中移除。
WLX_SAS_TYPE_TIMEOUT
表示在指定的逾時期間內未收到任何使用者輸入。

[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 指標。 已定義下列選項。

意義
WLX_LOGON_OPT_NO_PROFILE
表示 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_0WLX_PROFILE_V2_0 結構。 結構中的第一個 DWORD 會指出它所在的結構。 Winlogon 會使用此結構來載入已登入使用者的設定檔,並在不再需要該結構時釋放與結構相關聯的記憶體。

傳回值

如果函式失敗,函式會傳回零。

如果函式成功,它會傳回下列其中一個值。

傳回碼 描述
WLX_SAS_ACTION_LOGON
表示使用者已登入。
WLX_SAS_ACTION_NONE
指出記錄的嘗試失敗或取消。
WLX_SAS_ACTION_SHUTDOWN
指出使用者要求關閉系統。

備註

在呼叫 WlxLoggedOutSAS之前,Winlogon 會設定桌面狀態,讓目前的桌面是 Winlogon 桌面,並設定工作站狀態,讓桌面鎖定。

請勿在 WlxLoggedOutSAS中啟用使用者殼層程式。 使用者殼層程式應該一律會在 WlxActivateUserShell中啟用。

規格需求

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

另請參閱

WlxActivateUserShell

WlxInitialize