Функция CreateWindowStationA (winuser.h)
Создает объект оконной станции, связывает его с вызывающим процессом и назначает его текущему сеансу.
Синтаксис
HWINSTA CreateWindowStationA(
[in, optional] LPCSTR lpwinsta,
DWORD dwFlags,
[in] ACCESS_MASK dwDesiredAccess,
[in, optional] LPSECURITY_ATTRIBUTES lpsa
);
Параметры
[in, optional] lpwinsta
Имя создаваемой оконной станции. Имена оконных станций не учитывают регистр и не могут содержать символы обратной косой черты (\). Только члены группы "Администраторы" могут указывать имя. Если lpwinsta имеет значение NULL или пустую строку, система формирует имя станции окна, используя идентификатор сеанса входа для вызывающего процесса. Чтобы получить это имя, вызовите функцию GetUserObjectInformation .
dwFlags
Если этот параметр CWF_CREATE_ONLY и оконная станция уже существует, вызов завершается ошибкой. Если этот флаг не указан и оконная станция уже существует, функция выполняется успешно и возвращает новый дескриптор существующей оконной станции.
Windows XP/2000: Этот параметр зарезервирован и должен иметь нулевое значение.
[in] dwDesiredAccess
Тип доступа возвращенного дескриптора к оконной станции. Кроме того, можно указать любое из стандартных прав доступа, например READ_CONTROL или WRITE_DAC, а также сочетание прав доступа для конкретной оконной станции. Дополнительные сведения см. в разделе Права на доступ и безопасность станции Windows.
[in, optional] lpsa
Указатель на структуру SECURITY_ATTRIBUTES , которая определяет, может ли возвращаемый дескриптор наследоваться дочерними процессами. Если lpsa имеет значение NULL, дескриптор не может быть унаследован.
Элемент lpSecurityDescriptor структуры задает дескриптор безопасности для новой станции окна. Если lpsa имеет значение NULL, оконная станция (и все рабочие столы, созданные в окне) получает дескриптор безопасности, который предоставляет доступ GENERIC_ALL всем пользователям.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет дескриптором созданной оконной станции. Если указанная оконная станция уже существует, функция выполняется успешно и возвращает дескриптор существующей оконной станции.
Если функция завершается сбоем, возвращается значение NULL. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
После завершения работы с дескриптором необходимо вызвать CloseWindowStation , чтобы освободить дескриптор.
Примечание
Заголовок winuser.h определяет CreateWindowStation в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |
Набор API | ext-ms-win-ntuser-windowstation-l1-1-0 (появилось в Windows 8) |