CreateWindowStation  2NG0LVB 

The CreateWindowStation function creates a window station object. It returns a handle that can be used to access the window station. A window station is a secure object that contains a set of global atoms, a clipboard, and a set of desktop objects.

HWINSTA CreateWindowStation(

    LPTSTR lpwinsta,

// name of the new window station

    DWORD dwReserved,

// reserved; must be NULL

    DWORD dwDesiredAccess,

// specifies access of returned handle

    LPSECURITY_ATTRIBUTES lpsa

// specifies security attributes of the window station

   );

 

 

Parameters

lpwinsta

Optionally points to a null-terminated string specifying the name of the window station to be created. Window station names are case-insensitive and cannot contain backslash characters (\). Only members of the Administrators group are allowed to specify a name. If lpwinsta is NULL, the system forms a window station name using the logon session identifier for the calling process. To get this name, call the GetUserObjectInformation7E6EYS function.

dwReserved

Reserved; must be NULL.

dwDesiredAccess

Specifies the type of access to the window station. This parameter can be one or more of the following values:

Value

Description

WINSTA_ACCESSCLIPBOARD

Required to use the clipboard.

WINSTA_ACCESSGLOBALATOMS

Required to manipulate global atoms.

WINSTA_CREATEDESKTOP

Required to create new desktop objects on the window station.

WINSTA_ENUMDESKTOPS

Required to enumerate existing desktop objects.

WINSTA_ENUMERATE

Required for the window station to be enumerated.

WINSTA_EXITWINDOWS

Required to successfully call the ExitWindowsHXSW5W or ExitWindowsExMA6LRQ functions.

WINSTA_READATTRIBUTES

Required to read the attributes of a window station object.

WINSTA_READSCREEN

Required to access screen contents.

WINSTA_WRITEATTRIBUTES

Required to modify the attributes of a window station object.

 

lpsa

Pointer to a SECURITY_ATTRIBUTESBE53KG structure that determines whether the returned handle can be inherited by child processes. If lpsa is NULL, the handle cannot be inherited.

Windows NT: The lpSecurityDescriptor member of the structure specifies a security descriptor for the new window station. If lpsa is NULL, the window station (and any desktops created within the window) gets a security descriptor that grants GENERIC_ALL access to all users.

Windows 95: The lpSecurityDescriptor member of the structure is ignored.

 

Return Values

If the function succeeds, the return value is the handle to the newly created window station.

If the function fails, the return value is NULL. To get extended error information, call GetLastError11C2VS7.

See Also

GetUserObjectInformation, OpenWindowStation