Функция WlxLoggedOutSAS (winwlx.h)
[Функция WlxLoggedOutSAS больше не доступна для использования с Windows Server 2008 и Windows Vista.]
Функция WlxLoggedOutSAS должна быть реализована с помощью замены библиотеки DLL GINA . 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, связанный с этой станцией окна. GINA возвращает это значение контекста, когда Winlogon вызывает WlxInitialize для этой станции.
[in] dwSasType
Указывает тип возникного SAS. Значения от нуля до WLX_SAS_TYPE_MAX_MSFT_VALUE зарезервированы для определения стандартных типов SAS Майкрософт. Разработчики GINA могут определять дополнительные типы SAS, используя значения, превышающие WLX_SAS_TYPE_MAX_MSFT_VALUE.
Следующие типы SAS предопределяются.
Значение | Значение |
---|---|
|
Указывает, что пользователь ввел стандартный SAS CTRL+ALT+DEL. |
|
Указывает, что смарт-карта была вставлена в совместимое устройство. |
|
Указывает, что смарт-карта удалена с совместимого устройства. |
|
Указывает, что в течение указанного периода ожидания пользователь не получал никаких входных данных. |
[out] pAuthenticationId
Указывает идентификатор проверки подлинности, связанный с текущим сеансом входа. Это значение можно получить, вызвав Метод GetTokenInformation , чтобы получить структуру TOKEN_STATISTICS для маркера, возвращаемого функцией LogonUser .
[in, out] pLogonSid
При входных данных этот параметр указывает на идентификатор безопасности (SID), уникальный для текущего сеанса входа. Winlogon использует этот идентификатор безопасности для изменения защиты на оконной станции и рабочем столе приложения, чтобы новый пользователь, выполнивший вход, смог получить к ним доступ.
В выходных данных Winlogon предоставляет идентификатор безопасности. Вы также можете получить идентификатор безопасности с помощью функции GetTokenInformation , чтобы получить структуру TOKEN_GROUPS для маркера, возвращаемого функцией LogonUser . Для этого выполните поиск в массиве, возвращенном в структуре TOKEN_GROUPS для группы, с помощью атрибута SE_GROUP_LOGON_ID.
[out] pdwOptions
Указатель на DWORD , содержащий набор параметров входа. Определен следующий параметр.
[out] phToken
Указатель на переменную дескриптора. После успешного выполнения операции входа задайте для этого дескриптора маркер, представляющий вошедшего в систему пользователя. Используйте функцию LogonUser , чтобы получить этот маркер, а затем при выходе пользователя Winlogon закрывает этот дескриптор и вызывает функцию WlxLogoff .
Если вам нужен этот дескриптор после вызова функции WlxLogoff , создайте дубликат дескриптора, прежде чем возвращать его в Winlogon.
[out] pNprNotifyInfo
Указатель на структуру WLX_MPR_NOTIFY_INFO , содержащую сведения о домене, имени пользователя и пароле для пользователя. Winlogon будет использовать эти сведения для предоставления сетевым поставщикам сведений об идентификации и проверке подлинности.
GINA не требуется для возврата сведений о пароле. Все поля NULL в структуре будут игнорироваться Winlogon. Используйте 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 |
Header | winwlx.h |