CreateWindowStation函数创建一个窗口站对象。它返回一个可用于访问窗口站的句柄。窗口站是包含一组全局原子,剪贴板和一组桌面对象的安全对象。
HWINSTA CreateWindowStation(
LPTSTR 【lpwinstafy】, | //新窗口的名称 |
DWORD【//保留,必须设置为零】, | //保留;必须为NULL |
DWORD 【dwDesiredAccess】, | //指定返回句柄的访问 |
LPSECURITY_ATTRIBUTES 【LPSA】 | //指定窗口站的安全属性 |
); |
参数
【lpwinstafy】
指向指定要创建的窗口站的名称的以null结尾的字符串。窗口站名称不区分大小写,不能包含反斜杠字符(\\)。只允许管理员组的成员指定名称。如果【lpwinstafy】为NULL,则系统使用调用进程的登录会话标识符来形成窗口站名称。要获取此名称,请调用GetUserObjectInformation功能。
【//保留,必须设置为零】
Reserved; must be NULL.
【dwDesiredAccess】
指定对窗口站的访问类型。此参数可以是以下值中的一个或多个:
值 | 描述 |
WINSTA_ACCESSCLIPBOARD | 需要使用剪贴板。 |
WINSTA_ACCESSGLOBALATOMS | 需要操纵全局原子。 |
WINSTA_CREATEDESKTOP | 需要在窗口台上创建新的桌面对象。 |
WINSTA_ENUMDESKTOPS | 需要枚举现有的桌面对象。 |
WINSTA_ENUMERATE | 需要列举窗口站。 |
WINSTA_EXITWINDOWS | 必须成功调用ExitWindows或ExitWindowsEx功能。 |
WINSTA_READATTRIBUTES | 需要读取窗口站对象的属性。 |
WINSTA_READSCREEN | 需要访问屏幕内容。 |
WINSTA_WRITEATTRIBUTES | 需要修改窗口站对象的属性。 |
【LPSA】
指向SECURITY_ATTRIBUTES结构的指针,用于确定返回的句柄是否可以由子进程继承。如果【LPSA】为NULL,则无法继承该句柄。
Windows NT:结构的lpSecurityDescriptor成员指定新窗口站的安全描述符。如果【LPSA】为NULL,则窗口工作站(以及在窗口内创建的任何桌面)获取一个安全描述符,可以向所有用户授予GENERIC_ALL访问权限。
Windows 95:结构的lpSecurityDescriptor成员将被忽略。
返回值
如果函数成功,则返回值是新创建的窗口站的句柄。
如果函数失败,返回值为NULL。要获取扩展错误信息,请调用GetLastError.
也可以看看