Функция WlxActivateUserShell (winwlx.h)
[Функция WlxActivateUserShell больше не доступна для использования с Windows Server 2008 и Windows Vista.]
Активирует программу пользовательской оболочки.
Функция WlxActivateUserShell должна быть реализована с помощью библиотеки DLL GINA . Winlogon вызывает эту функцию после успешного входа в систему, чтобы запросить активацию GINA программы оболочки пользователя.
Синтаксис
BOOL WlxActivateUserShell(
[in] PVOID pWlxContext,
[in] PWSTR pszDesktopName,
[in] PWSTR pszMprLogonScript,
[in] PVOID pEnvironment
);
Параметры
[in] pWlxContext
Указатель на контекст GINA, связанный с этой станцией окон. Это контекстное значение, которое GINA возвращает, когда Winlogon вызывает WlxInitialize для этой станции.
[in] pszDesktopName
Указатель на строку расширенных символов, завершающуюся null, которая указывает имя рабочего стола, на котором будет запущена оболочка. Передайте эту строку в функцию CreateProcess или CreateProcessAsUser через член lpDesktop структуры STARTUPINFO .
[in] pszMprLogonScript
Указатель на строку расширенных символов, завершающуюся null, которая указывает все имена скриптов, возвращаемые из библиотек DLL поставщика сети. Библиотеки DLL поставщика сетей могут возвращать скрипты для выполнения во время входа в систему; однако GINA может игнорировать их.
[in] pEnvironment
Указывает начальные переменные среды для процесса. Winlogon создает копию среды и передает ее GINA. GINA может изменить эту среду, прежде чем использовать ее для инициализации пользовательской оболочки. GINA должен вызвать функцию VirtualFree, чтобы освободить память, выделенную для pEnvironment.
Возвращаемое значение
Если функция успешно запускает процесс оболочки, функция возвращает значение TRUE.
Если функция завершается сбоем, она возвращает значение FALSE. Если возвращается значение FALSE , Winlogon отменяет вход в систему.
Комментарии
Перед вызовом WlxActivateUserShell Winlogon устанавливает состояние рабочего стола таким образом, чтобы текущий рабочий стол был рабочим столом Winlogon, а состояние рабочей станции — так, чтобы рабочий стол был заблокирован.
Всегда активируйте программу пользовательской оболочки в WlxActivateUserShell , а не в WlxLoggedOutSAS. Это дает Winlogon возможность обновить свое состояние, включая настройку защиты рабочей станции и рабочего стола, до того, как будут разрешены любые вошедший в систему процесс пользователя.
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | winwlx.h |