Поделиться через


Функция 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, и сочетание прав доступа для конкретной станции окна. Дополнительные сведения см. в "Безопасность и доступ к станции окон".

[in, optional] lpsa

Указатель на структуру SECURITY_ATTRIBUTES, которая определяет, может ли возвращаемый дескриптор наследоваться дочерними процессами. Если lpsaNULL, то дескриптор нельзя наследовать.

Элемент lpSecurityDescriptor в структуре задает дескриптор безопасности для новой станции окон. Если lpsaNULL, станция окон (и все рабочие столы, созданные в окне), получает дескриптор безопасности, предоставляющий GENERIC_ALL доступ ко всем пользователям.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение является дескриптором созданной станции окон. Если указанная станция окон уже существует, функция завершается успешно и возвращает дескриптор существующей станции окон.

Если функция завершается ошибкой, возвращаемое значение равно NULL. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.

Замечания

После завершения работы с дескриптором необходимо вызвать CloseWindowStation, чтобы освободить дескриптор.

Заметка

Заголовок winuser.h определяет CreateWindowStation как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winuser.h (включая Windows.h)
библиотеки User32.lib
DLL User32.dll
набор API ext-ms-win-ntuser-windowstation-l1-1-0 (представлено в Windows 8)

См. также

CloseWindowStation

GetUserObjectInformation

OpenWindowStation

станции окон оконных станций и рабочих столов

оконных станций