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
20 CloseWindowStation(HWINSTA hWinSta)
22 return(NtUserCloseWindowStation(hWinSta));
30 CreateWindowStationA(LPSTR lpwinsta,
32 ACCESS_MASK dwDesiredAccess,
33 LPSECURITY_ATTRIBUTES lpsa)
35 ANSI_STRING WindowStationNameA;
36 UNICODE_STRING WindowStationNameU;
41 RtlInitAnsiString(&WindowStationNameA, lpwinsta);
42 RtlAnsiStringToUnicodeString(&WindowStationNameU, &WindowStationNameA,
47 RtlInitUnicodeString(&WindowStationNameU, NULL);
50 hWinSta = CreateWindowStationW(WindowStationNameU.Buffer,
55 RtlFreeUnicodeString(&WindowStationNameU);
65 CreateWindowStationW(LPWSTR lpwinsta,
67 ACCESS_MASK dwDesiredAccess,
68 LPSECURITY_ATTRIBUTES lpsa)
70 UNICODE_STRING WindowStationName;
72 RtlInitUnicodeString(&WindowStationName, lpwinsta);
74 return NtUserCreateWindowStation(&WindowStationName,
84 EnumWindowStationsA(ENUMWINDOWSTATIONPROCA lpEnumFunc,
96 EnumWindowStationsW(ENUMWINDOWSTATIONPROCW lpEnumFunc,
108 GetProcessWindowStation(VOID)
110 return NtUserGetProcessWindowStation();
118 OpenWindowStationA(LPSTR lpszWinSta,
120 ACCESS_MASK dwDesiredAccess)
122 ANSI_STRING WindowStationNameA;
123 UNICODE_STRING WindowStationNameU;
126 if (lpszWinSta != NULL)
128 RtlInitAnsiString(&WindowStationNameA, lpszWinSta);
129 RtlAnsiStringToUnicodeString(&WindowStationNameU, &WindowStationNameA,
134 RtlInitUnicodeString(&WindowStationNameU, NULL);
137 hWinSta = OpenWindowStationW(WindowStationNameU.Buffer,
141 RtlFreeUnicodeString(&WindowStationNameU);
151 OpenWindowStationW(LPWSTR lpszWinSta,
153 ACCESS_MASK dwDesiredAccess)
155 UNICODE_STRING WindowStationName;
157 RtlInitUnicodeString(&WindowStationName, lpszWinSta);
159 return NtUserOpenWindowStation(&WindowStationName, dwDesiredAccess);
167 SetProcessWindowStation(HWINSTA hWinSta)
169 return NtUserSetProcessWindowStation(hWinSta);