1 #[cfg_attr(windows, link(name = "windows"))]
3 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
4 #[cfg(feature = "Win32_Foundation")]
5 pub fn BroadcastSystemMessageA(flags
: u32, lpinfo
: *mut u32, msg
: u32, wparam
: super::super::Foundation
::WPARAM
, lparam
: super::super::Foundation
::LPARAM
) -> i32;
6 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
7 #[cfg(feature = "Win32_Foundation")]
8 pub fn BroadcastSystemMessageExA(flags
: BROADCAST_SYSTEM_MESSAGE_FLAGS
, lpinfo
: *mut BROADCAST_SYSTEM_MESSAGE_INFO
, msg
: u32, wparam
: super::super::Foundation
::WPARAM
, lparam
: super::super::Foundation
::LPARAM
, pbsminfo
: *mut BSMINFO
) -> i32;
9 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
10 #[cfg(feature = "Win32_Foundation")]
11 pub fn BroadcastSystemMessageExW(flags
: BROADCAST_SYSTEM_MESSAGE_FLAGS
, lpinfo
: *mut BROADCAST_SYSTEM_MESSAGE_INFO
, msg
: u32, wparam
: super::super::Foundation
::WPARAM
, lparam
: super::super::Foundation
::LPARAM
, pbsminfo
: *mut BSMINFO
) -> i32;
12 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
13 #[cfg(feature = "Win32_Foundation")]
14 pub fn BroadcastSystemMessageW(flags
: BROADCAST_SYSTEM_MESSAGE_FLAGS
, lpinfo
: *mut BROADCAST_SYSTEM_MESSAGE_INFO
, msg
: u32, wparam
: super::super::Foundation
::WPARAM
, lparam
: super::super::Foundation
::LPARAM
) -> i32;
15 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
16 #[cfg(feature = "Win32_Foundation")]
17 pub fn CloseDesktop(hdesktop
: HDESK
) -> super::super::Foundation
::BOOL
;
18 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
19 #[cfg(feature = "Win32_Foundation")]
20 pub fn CloseWindowStation(hwinsta
: HWINSTA
) -> super::super::Foundation
::BOOL
;
21 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_Security\"`*"]
22 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security"))]
23 pub fn CreateDesktopA(lpszdesktop
: ::windows_sys
::core
::PCSTR
, lpszdevice
: ::windows_sys
::core
::PCSTR
, pdevmode
: *mut super::super::Graphics
::Gdi
::DEVMODEA
, dwflags
: DESKTOP_CONTROL_FLAGS
, dwdesiredaccess
: u32, lpsa
: *const super::super::Security
::SECURITY_ATTRIBUTES
) -> HDESK
;
24 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_Security\"`*"]
25 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security"))]
26 pub fn CreateDesktopExA(lpszdesktop
: ::windows_sys
::core
::PCSTR
, lpszdevice
: ::windows_sys
::core
::PCSTR
, pdevmode
: *mut super::super::Graphics
::Gdi
::DEVMODEA
, dwflags
: DESKTOP_CONTROL_FLAGS
, dwdesiredaccess
: u32, lpsa
: *const super::super::Security
::SECURITY_ATTRIBUTES
, ulheapsize
: u32, pvoid
: *mut ::core
::ffi
::c_void
) -> HDESK
;
27 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_Security\"`*"]
28 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security"))]
29 pub fn CreateDesktopExW(lpszdesktop
: ::windows_sys
::core
::PCWSTR
, lpszdevice
: ::windows_sys
::core
::PCWSTR
, pdevmode
: *mut super::super::Graphics
::Gdi
::DEVMODEW
, dwflags
: DESKTOP_CONTROL_FLAGS
, dwdesiredaccess
: u32, lpsa
: *const super::super::Security
::SECURITY_ATTRIBUTES
, ulheapsize
: u32, pvoid
: *mut ::core
::ffi
::c_void
) -> HDESK
;
30 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_Security\"`*"]
31 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security"))]
32 pub fn CreateDesktopW(lpszdesktop
: ::windows_sys
::core
::PCWSTR
, lpszdevice
: ::windows_sys
::core
::PCWSTR
, pdevmode
: *mut super::super::Graphics
::Gdi
::DEVMODEW
, dwflags
: DESKTOP_CONTROL_FLAGS
, dwdesiredaccess
: u32, lpsa
: *const super::super::Security
::SECURITY_ATTRIBUTES
) -> HDESK
;
33 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`, `\"Win32_Security\"`*"]
34 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
35 pub fn CreateWindowStationA(lpwinsta
: ::windows_sys
::core
::PCSTR
, dwflags
: u32, dwdesiredaccess
: u32, lpsa
: *const super::super::Security
::SECURITY_ATTRIBUTES
) -> HWINSTA
;
36 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`, `\"Win32_Security\"`*"]
37 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
38 pub fn CreateWindowStationW(lpwinsta
: ::windows_sys
::core
::PCWSTR
, dwflags
: u32, dwdesiredaccess
: u32, lpsa
: *const super::super::Security
::SECURITY_ATTRIBUTES
) -> HWINSTA
;
39 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
40 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
41 pub fn EnumDesktopWindows(hdesktop
: HDESK
, lpfn
: super::super::UI
::WindowsAndMessaging
::WNDENUMPROC
, lparam
: super::super::Foundation
::LPARAM
) -> super::super::Foundation
::BOOL
;
42 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
43 #[cfg(feature = "Win32_Foundation")]
44 pub fn EnumDesktopsA(hwinsta
: HWINSTA
, lpenumfunc
: DESKTOPENUMPROCA
, lparam
: super::super::Foundation
::LPARAM
) -> super::super::Foundation
::BOOL
;
45 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
46 #[cfg(feature = "Win32_Foundation")]
47 pub fn EnumDesktopsW(hwinsta
: HWINSTA
, lpenumfunc
: DESKTOPENUMPROCW
, lparam
: super::super::Foundation
::LPARAM
) -> super::super::Foundation
::BOOL
;
48 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
49 #[cfg(feature = "Win32_Foundation")]
50 pub fn EnumWindowStationsA(lpenumfunc
: WINSTAENUMPROCA
, lparam
: super::super::Foundation
::LPARAM
) -> super::super::Foundation
::BOOL
;
51 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
52 #[cfg(feature = "Win32_Foundation")]
53 pub fn EnumWindowStationsW(lpenumfunc
: WINSTAENUMPROCW
, lparam
: super::super::Foundation
::LPARAM
) -> super::super::Foundation
::BOOL
;
54 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
55 pub fn GetProcessWindowStation() -> HWINSTA
;
56 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
57 pub fn GetThreadDesktop(dwthreadid
: u32) -> HDESK
;
58 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
59 #[cfg(feature = "Win32_Foundation")]
60 pub fn GetUserObjectInformationA(hobj
: super::super::Foundation
::HANDLE
, nindex
: USER_OBJECT_INFORMATION_INDEX
, pvinfo
: *mut ::core
::ffi
::c_void
, nlength
: u32, lpnlengthneeded
: *mut u32) -> super::super::Foundation
::BOOL
;
61 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
62 #[cfg(feature = "Win32_Foundation")]
63 pub fn GetUserObjectInformationW(hobj
: super::super::Foundation
::HANDLE
, nindex
: USER_OBJECT_INFORMATION_INDEX
, pvinfo
: *mut ::core
::ffi
::c_void
, nlength
: u32, lpnlengthneeded
: *mut u32) -> super::super::Foundation
::BOOL
;
64 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
65 #[cfg(feature = "Win32_Foundation")]
66 pub fn OpenDesktopA(lpszdesktop
: ::windows_sys
::core
::PCSTR
, dwflags
: DESKTOP_CONTROL_FLAGS
, finherit
: super::super::Foundation
::BOOL
, dwdesiredaccess
: u32) -> HDESK
;
67 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
68 #[cfg(feature = "Win32_Foundation")]
69 pub fn OpenDesktopW(lpszdesktop
: ::windows_sys
::core
::PCWSTR
, dwflags
: DESKTOP_CONTROL_FLAGS
, finherit
: super::super::Foundation
::BOOL
, dwdesiredaccess
: u32) -> HDESK
;
70 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
71 #[cfg(feature = "Win32_Foundation")]
72 pub fn OpenInputDesktop(dwflags
: DESKTOP_CONTROL_FLAGS
, finherit
: super::super::Foundation
::BOOL
, dwdesiredaccess
: u32) -> HDESK
;
73 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
74 #[cfg(feature = "Win32_Foundation")]
75 pub fn OpenWindowStationA(lpszwinsta
: ::windows_sys
::core
::PCSTR
, finherit
: super::super::Foundation
::BOOL
, dwdesiredaccess
: u32) -> HWINSTA
;
76 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
77 #[cfg(feature = "Win32_Foundation")]
78 pub fn OpenWindowStationW(lpszwinsta
: ::windows_sys
::core
::PCWSTR
, finherit
: super::super::Foundation
::BOOL
, dwdesiredaccess
: u32) -> HWINSTA
;
79 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
80 #[cfg(feature = "Win32_Foundation")]
81 pub fn SetProcessWindowStation(hwinsta
: HWINSTA
) -> super::super::Foundation
::BOOL
;
82 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
83 #[cfg(feature = "Win32_Foundation")]
84 pub fn SetThreadDesktop(hdesktop
: HDESK
) -> super::super::Foundation
::BOOL
;
85 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
86 #[cfg(feature = "Win32_Foundation")]
87 pub fn SetUserObjectInformationA(hobj
: super::super::Foundation
::HANDLE
, nindex
: i32, pvinfo
: *const ::core
::ffi
::c_void
, nlength
: u32) -> super::super::Foundation
::BOOL
;
88 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
89 #[cfg(feature = "Win32_Foundation")]
90 pub fn SetUserObjectInformationW(hobj
: super::super::Foundation
::HANDLE
, nindex
: i32, pvinfo
: *const ::core
::ffi
::c_void
, nlength
: u32) -> super::super::Foundation
::BOOL
;
91 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
92 #[cfg(feature = "Win32_Foundation")]
93 pub fn SwitchDesktop(hdesktop
: HDESK
) -> super::super::Foundation
::BOOL
;
95 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
96 pub type BROADCAST_SYSTEM_MESSAGE_FLAGS
= u32;
97 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
98 pub const BSF_ALLOWSFW
: BROADCAST_SYSTEM_MESSAGE_FLAGS
= 128u32;
99 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
100 pub const BSF_FLUSHDISK
: BROADCAST_SYSTEM_MESSAGE_FLAGS
= 4u32;
101 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
102 pub const BSF_FORCEIFHUNG
: BROADCAST_SYSTEM_MESSAGE_FLAGS
= 32u32;
103 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
104 pub const BSF_IGNORECURRENTTASK
: BROADCAST_SYSTEM_MESSAGE_FLAGS
= 2u32;
105 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
106 pub const BSF_NOHANG
: BROADCAST_SYSTEM_MESSAGE_FLAGS
= 8u32;
107 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
108 pub const BSF_NOTIMEOUTIFNOTHUNG
: BROADCAST_SYSTEM_MESSAGE_FLAGS
= 64u32;
109 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
110 pub const BSF_POSTMESSAGE
: BROADCAST_SYSTEM_MESSAGE_FLAGS
= 16u32;
111 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
112 pub const BSF_QUERY
: BROADCAST_SYSTEM_MESSAGE_FLAGS
= 1u32;
113 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
114 pub const BSF_SENDNOTIFYMESSAGE
: BROADCAST_SYSTEM_MESSAGE_FLAGS
= 256u32;
115 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
116 pub const BSF_LUID
: BROADCAST_SYSTEM_MESSAGE_FLAGS
= 1024u32;
117 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
118 pub const BSF_RETURNHDESK
: BROADCAST_SYSTEM_MESSAGE_FLAGS
= 512u32;
119 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
120 pub type BROADCAST_SYSTEM_MESSAGE_INFO
= u32;
121 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
122 pub const BSM_ALLCOMPONENTS
: BROADCAST_SYSTEM_MESSAGE_INFO
= 0u32;
123 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
124 pub const BSM_ALLDESKTOPS
: BROADCAST_SYSTEM_MESSAGE_INFO
= 16u32;
125 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
126 pub const BSM_APPLICATIONS
: BROADCAST_SYSTEM_MESSAGE_INFO
= 8u32;
127 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
128 pub type DESKTOP_CONTROL_FLAGS
= u32;
129 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
130 pub const DF_ALLOWOTHERACCOUNTHOOK
: DESKTOP_CONTROL_FLAGS
= 1u32;
131 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
132 pub type USER_OBJECT_INFORMATION_INDEX
= u32;
133 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
134 pub const UOI_FLAGS
: USER_OBJECT_INFORMATION_INDEX
= 1u32;
135 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
136 pub const UOI_HEAPSIZE
: USER_OBJECT_INFORMATION_INDEX
= 5u32;
137 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
138 pub const UOI_IO
: USER_OBJECT_INFORMATION_INDEX
= 6u32;
139 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
140 pub const UOI_NAME
: USER_OBJECT_INFORMATION_INDEX
= 2u32;
141 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
142 pub const UOI_TYPE
: USER_OBJECT_INFORMATION_INDEX
= 3u32;
143 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`*"]
144 pub const UOI_USER_SID
: USER_OBJECT_INFORMATION_INDEX
= 4u32;
146 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
147 #[cfg(feature = "Win32_Foundation")]
151 pub hwnd
: super::super::Foundation
::HWND
,
152 pub luid
: super::super::Foundation
::LUID
,
154 #[cfg(feature = "Win32_Foundation")]
155 impl ::core
::marker
::Copy
for BSMINFO {}
156 #[cfg(feature = "Win32_Foundation")]
157 impl ::core
::clone
::Clone
for BSMINFO
{
158 fn clone(&self) -> Self {
162 pub type HDESK
= isize;
163 pub type HWINSTA
= isize;
165 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
166 #[cfg(feature = "Win32_Foundation")]
167 pub struct USEROBJECTFLAGS
{
168 pub fInherit
: super::super::Foundation
::BOOL
,
169 pub fReserved
: super::super::Foundation
::BOOL
,
172 #[cfg(feature = "Win32_Foundation")]
173 impl ::core
::marker
::Copy
for USEROBJECTFLAGS {}
174 #[cfg(feature = "Win32_Foundation")]
175 impl ::core
::clone
::Clone
for USEROBJECTFLAGS
{
176 fn clone(&self) -> Self {
180 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
181 #[cfg(feature = "Win32_Foundation")]
182 pub type DESKTOPENUMPROCA
= ::core
::option
::Option
<unsafe extern "system" fn(param0
: ::windows_sys
::core
::PCSTR
, param1
: super::super::Foundation
::LPARAM
) -> super::super::Foundation
::BOOL
>;
183 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
184 #[cfg(feature = "Win32_Foundation")]
185 pub type DESKTOPENUMPROCW
= ::core
::option
::Option
<unsafe extern "system" fn(param0
: ::windows_sys
::core
::PCWSTR
, param1
: super::super::Foundation
::LPARAM
) -> super::super::Foundation
::BOOL
>;
186 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
187 #[cfg(feature = "Win32_Foundation")]
188 pub type WINSTAENUMPROCA
= ::core
::option
::Option
<unsafe extern "system" fn(param0
: ::windows_sys
::core
::PCSTR
, param1
: super::super::Foundation
::LPARAM
) -> super::super::Foundation
::BOOL
>;
189 #[doc = "*Required features: `\"Win32_System_StationsAndDesktops\"`, `\"Win32_Foundation\"`*"]
190 #[cfg(feature = "Win32_Foundation")]
191 pub type WINSTAENUMPROCW
= ::core
::option
::Option
<unsafe extern "system" fn(param0
: ::windows_sys
::core
::PCWSTR
, param1
: super::super::Foundation
::LPARAM
) -> super::super::Foundation
::BOOL
>;