1 /* $Id: winsta.c,v 1.3 2002/06/11 22:09:01 dwelch Exp $
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
);