Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Функция 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 |