The following are the window-station access rights and their meanings.
Constant | 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 ExitWindows or ExitWindowsEx function. Window stations can be shared by users and this access type can prevent other users of a window station from logging off the window station owner. |
WINSTA_READATTRIBUTES | Required to read the attributes of a window-station object. This attribute includes color settings and other global window station properties. |
WINSTA_READSCREEN | Required to access screen contents. |
WINSTA_WRITEATTRIBUTES | Required to modify the attributes of a window-station object. The attributes include color settings and other global window-station properties. |
The following are the generic mappings for the interactive window-station object, which is the window station assigned to the logon session of the interactive user.
Value | Maps to |
GENERIC_READ | STANDARD_RIGHTS_READ, WINSTA_ENUMDESKTOPS, WINSTA_ENUMERATE, WINSTA_READATTRIBUTES, and WINSTA_READSCREEN |
GENERIC_WRITE | STANDARD_RIGHTS_WRITE, WINSTA_ACCESSCLIPBOARD, WINSTA_CREATEDESKTOP, and WINSTA_WRITEATTRIBUTES |
GENERIC_EXECUTE | STANDARD_RIGHTS_EXECUTE, WINSTA_ACCESSGLOBALATOMS, and WINSTA_EXITWINDOWS |
GENERIC_ALL | STANDARD_RIGHTS_REQUIRED, WINSTA_ACCESSCLIPBOARD, WINSTA_ACCESSGLOBALATOMS, WINSTA_CREATEDESKTOP, WINSTA_ENUMDESKTOPS, WINSTA_ENUMERATE, WINSTA_EXITWINDOWS, WINSTA_READATTRIBUTES, WINSTA_READSCREEN, and WINSTA_WRITEATTRIBUTES |
The following are the generic mappings for a noninteractive window-station object. The system assigns noninteractive window stations to all logon sessions other than that of the interactive user.
Value | Maps to |
GENERIC_READ | STANDARD_RIGHTS_READ, WINSTA_ENUMDESKTOPS, WINSTA_ENUMERATE, and WINSTA_READATTRIBUTES |
GENERIC_WRITE | STANDARD_RIGHTS_WRITE, WINSTA_ACCESSCLIPBOARD, and WINSTA_CREATEDESKTOP |
GENERIC_EXECUTE | STANDARD_RIGHTS_EXECUTE, WINSTA_ACCESSGLOBALATOMS, and WINSTA_EXITWINDOWS |
GENERIC_ALL | STANDARD_RIGHTS_REQUIRED, WINSTA_ACCESSCLIPBOARD, WINSTA_ACCESSGLOBALATOMS, WINSTA_CREATEDESKTOP, WINSTA_ENUMDESKTOPS, WINSTA_ENUMERATE, WINSTA_EXITWINDOWS, and WINSTA_READATTRIBUTES |
An application can call the GetProcessWindowStation function to retrieve a handle of its assigned window station. The security attributes of the window station can be retrieved and set by using this handle in calls to the GetUserObjectSecurity and SetUserObjectSecurity functions. An application can use the GetUserObjectInformation and SetUserObjectInformation functions to get and set information about a window-station object. For more information on window-station objects, see Window Stations and Desktops.