3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS user32.dll
5 * FILE: lib/user32/misc/winsta.c
6 * PURPOSE: Window stations
7 * PROGRAMMER: Casper S. Hornstrup (chorns@users.sourceforge.net)
9 * 04-06-2001 CSH Created
17 CloseWindowStation(HWINSTA hWinSta)
19 return(NtUserCloseWindowStation(hWinSta));
23 CreateWindowStationA(LPSTR lpwinsta,
25 ACCESS_MASK dwDesiredAccess,
26 LPSECURITY_ATTRIBUTES lpsa)
28 ANSI_STRING WindowStationNameA;
29 UNICODE_STRING WindowStationNameU;
34 RtlInitAnsiString(&WindowStationNameA, lpwinsta);
35 RtlAnsiStringToUnicodeString(&WindowStationNameU, &WindowStationNameA,
40 RtlInitUnicodeString(&WindowStationNameU, NULL);
43 hWinSta = CreateWindowStationW(WindowStationNameU.Buffer,
48 RtlFreeUnicodeString(&WindowStationNameU);
54 CreateWindowStationW(LPWSTR lpwinsta,
56 ACCESS_MASK dwDesiredAccess,
57 LPSECURITY_ATTRIBUTES lpsa)
59 UNICODE_STRING WindowStationName;
61 RtlInitUnicodeString(&WindowStationName, lpwinsta);
63 return NtUserCreateWindowStation(&WindowStationName,
69 EnumWindowStationsA(ENUMWINDOWSTATIONPROC lpEnumFunc,
76 EnumWindowStationsW(ENUMWINDOWSTATIONPROC lpEnumFunc,
83 GetProcessWindowStation(VOID)
85 return NtUserGetProcessWindowStation();
89 OpenWindowStationA(LPSTR lpszWinSta,
91 ACCESS_MASK dwDesiredAccess)
93 ANSI_STRING WindowStationNameA;
94 UNICODE_STRING WindowStationNameU;
97 if (lpszWinSta != NULL)
99 RtlInitAnsiString(&WindowStationNameA, lpszWinSta);
100 RtlAnsiStringToUnicodeString(&WindowStationNameU, &WindowStationNameA,
105 RtlInitUnicodeString(&WindowStationNameU, NULL);
108 hWinSta = OpenWindowStationW(WindowStationNameU.Buffer,
112 RtlFreeUnicodeString(&WindowStationNameU);
118 OpenWindowStationW(LPWSTR lpszWinSta,
120 ACCESS_MASK dwDesiredAccess)
122 UNICODE_STRING WindowStationName;
124 RtlInitUnicodeString(&WindowStationName, lpszWinSta);
126 return NtUserOpenWindowStation(&WindowStationName, dwDesiredAccess);
130 SetProcessWindowStation(HWINSTA hWinSta)
132 return NtUserSetProcessWindowStation(hWinSta);