3 pub struct IAppBroadcastingMonitor(::windows
::core
::IUnknown
);
4 unsafe impl ::windows
::core
::Interface
for IAppBroadcastingMonitor
{
5 type Vtable
= IAppBroadcastingMonitor_Vtbl
;
7 impl ::core
::clone
::Clone
for IAppBroadcastingMonitor
{
8 fn clone(&self) -> Self {
12 unsafe impl ::windows
::core
::ComInterface
for IAppBroadcastingMonitor
{
13 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x00f95a68_8907_48a0_b8ef_24d208137542);
17 pub struct IAppBroadcastingMonitor_Vtbl
{
18 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
19 pub IsCurrentAppBroadcasting
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
20 #[cfg(feature = "Foundation")]
21 pub IsCurrentAppBroadcastingChanged
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, handler
: *mut ::core
::ffi
::c_void
, result__
: *mut super::super::Foundation
::EventRegistrationToken
) -> ::windows
::core
::HRESULT
,
22 #[cfg(not(feature = "Foundation"))]
23 IsCurrentAppBroadcastingChanged
: usize,
24 #[cfg(feature = "Foundation")]
25 pub RemoveIsCurrentAppBroadcastingChanged
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, token
: super::super::Foundation
::EventRegistrationToken
) -> ::windows
::core
::HRESULT
,
26 #[cfg(not(feature = "Foundation"))]
27 RemoveIsCurrentAppBroadcastingChanged
: usize,
31 pub struct IAppBroadcastingStatus(::windows
::core
::IUnknown
);
32 unsafe impl ::windows
::core
::Interface
for IAppBroadcastingStatus
{
33 type Vtable
= IAppBroadcastingStatus_Vtbl
;
35 impl ::core
::clone
::Clone
for IAppBroadcastingStatus
{
36 fn clone(&self) -> Self {
40 unsafe impl ::windows
::core
::ComInterface
for IAppBroadcastingStatus
{
41 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x1225e4df_03a1_42f8_8b80_c9228cd9cf2e);
45 pub struct IAppBroadcastingStatus_Vtbl
{
46 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
47 pub CanStartBroadcast
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
48 pub Details
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
52 pub struct IAppBroadcastingStatusDetails(::windows
::core
::IUnknown
);
53 unsafe impl ::windows
::core
::Interface
for IAppBroadcastingStatusDetails
{
54 type Vtable
= IAppBroadcastingStatusDetails_Vtbl
;
56 impl ::core
::clone
::Clone
for IAppBroadcastingStatusDetails
{
57 fn clone(&self) -> Self {
61 unsafe impl ::windows
::core
::ComInterface
for IAppBroadcastingStatusDetails
{
62 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x069dada4_b573_4e3c_8e19_1bafacd09713);
66 pub struct IAppBroadcastingStatusDetails_Vtbl
{
67 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
68 pub IsAnyAppBroadcasting
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
69 pub IsCaptureResourceUnavailable
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
70 pub IsGameStreamInProgress
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
71 pub IsGpuConstrained
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
72 pub IsAppInactive
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
73 pub IsBlockedForApp
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
74 pub IsDisabledByUser
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
75 pub IsDisabledBySystem
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
79 pub struct IAppBroadcastingUI(::windows
::core
::IUnknown
);
80 unsafe impl ::windows
::core
::Interface
for IAppBroadcastingUI
{
81 type Vtable
= IAppBroadcastingUI_Vtbl
;
83 impl ::core
::clone
::Clone
for IAppBroadcastingUI
{
84 fn clone(&self) -> Self {
88 unsafe impl ::windows
::core
::ComInterface
for IAppBroadcastingUI
{
89 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xe56f9f8f_ee99_4dca_a3c3_70af3db44f5f);
93 pub struct IAppBroadcastingUI_Vtbl
{
94 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
95 pub GetStatus
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
96 pub ShowBroadcastUI
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
100 pub struct IAppBroadcastingUIStatics(::windows
::core
::IUnknown
);
101 unsafe impl ::windows
::core
::Interface
for IAppBroadcastingUIStatics
{
102 type Vtable
= IAppBroadcastingUIStatics_Vtbl
;
104 impl ::core
::clone
::Clone
for IAppBroadcastingUIStatics
{
105 fn clone(&self) -> Self {
109 unsafe impl ::windows
::core
::ComInterface
for IAppBroadcastingUIStatics
{
110 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x55a8a79d_23cb_4579_9c34_886fe02c045a);
114 pub struct IAppBroadcastingUIStatics_Vtbl
{
115 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
116 pub GetDefault
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
117 #[cfg(feature = "System")]
118 pub GetForUser
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, user
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
119 #[cfg(not(feature = "System"))]
122 #[doc = "*Required features: `\"Media_AppBroadcasting\"`*"]
124 pub struct AppBroadcastingMonitor(::windows
::core
::IUnknown
);
125 impl AppBroadcastingMonitor
{
126 pub fn new() -> ::windows
::core
::Result
<Self> {
127 Self::IActivationFactory(|f
| f
.ActivateInstance
::<Self>())
129 fn IActivationFactory
<R
, F
: FnOnce(&::windows
::imp
::IGenericFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
130 static SHARED
: ::windows
::imp
::FactoryCache
<AppBroadcastingMonitor
, ::windows
::imp
::IGenericFactory
> = ::windows
::imp
::FactoryCache
::new();
131 SHARED
.call(callback
)
133 pub fn IsCurrentAppBroadcasting(&self) -> ::windows
::core
::Result
<bool
> {
136 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
137 (::windows
::core
::Interface
::vtable(this
).IsCurrentAppBroadcasting
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
140 #[doc = "*Required features: `\"Foundation\"`*"]
141 #[cfg(feature = "Foundation")]
142 pub fn IsCurrentAppBroadcastingChanged(&self, handler
: &super::super::Foundation
::TypedEventHandler
<AppBroadcastingMonitor
, ::windows
::core
::IInspectable
>) -> ::windows
::core
::Result
<super::super::Foundation
::EventRegistrationToken
> {
145 let mut result__
= ::windows
::core
::zeroed
::<super::super::Foundation
::EventRegistrationToken
>();
146 (::windows
::core
::Interface
::vtable(this
).IsCurrentAppBroadcastingChanged
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(handler
), &mut result__
).from_abi(result__
)
149 #[doc = "*Required features: `\"Foundation\"`*"]
150 #[cfg(feature = "Foundation")]
151 pub fn RemoveIsCurrentAppBroadcastingChanged(&self, token
: super::super::Foundation
::EventRegistrationToken
) -> ::windows
::core
::Result
<()> {
153 unsafe { (::windows::core::Interface::vtable(this).RemoveIsCurrentAppBroadcastingChanged)(::windows::core::Interface::as_raw(this), token).ok() }
156 impl ::core
::cmp
::PartialEq
for AppBroadcastingMonitor
{
157 fn eq(&self, other
: &Self) -> bool
{
161 impl ::core
::cmp
::Eq
for AppBroadcastingMonitor {}
162 impl ::core
::fmt
::Debug
for AppBroadcastingMonitor
{
163 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
164 f
.debug_tuple("AppBroadcastingMonitor").field(&self.0).finish()
167 impl ::windows
::core
::RuntimeType
for AppBroadcastingMonitor
{
168 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.Media.AppBroadcasting.AppBroadcastingMonitor;{00f95a68-8907-48a0-b8ef-24d208137542})");
170 impl ::core
::clone
::Clone
for AppBroadcastingMonitor
{
171 fn clone(&self) -> Self {
175 unsafe impl ::windows
::core
::Interface
for AppBroadcastingMonitor
{
176 type Vtable
= IAppBroadcastingMonitor_Vtbl
;
178 unsafe impl ::windows
::core
::ComInterface
for AppBroadcastingMonitor
{
179 const IID
: ::windows
::core
::GUID
= <IAppBroadcastingMonitor
as ::windows
::core
::ComInterface
>::IID
;
181 impl ::windows
::core
::RuntimeName
for AppBroadcastingMonitor
{
182 const NAME
: &'
static str = "Windows.Media.AppBroadcasting.AppBroadcastingMonitor";
184 ::windows
::imp
::interface_hierarchy
!(AppBroadcastingMonitor
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
185 unsafe impl ::core
::marker
::Send
for AppBroadcastingMonitor {}
186 unsafe impl ::core
::marker
::Sync
for AppBroadcastingMonitor {}
187 #[doc = "*Required features: `\"Media_AppBroadcasting\"`*"]
189 pub struct AppBroadcastingStatus(::windows
::core
::IUnknown
);
190 impl AppBroadcastingStatus
{
191 pub fn CanStartBroadcast(&self) -> ::windows
::core
::Result
<bool
> {
194 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
195 (::windows
::core
::Interface
::vtable(this
).CanStartBroadcast
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
198 pub fn Details(&self) -> ::windows
::core
::Result
<AppBroadcastingStatusDetails
> {
201 let mut result__
= ::windows
::core
::zeroed
::<AppBroadcastingStatusDetails
>();
202 (::windows
::core
::Interface
::vtable(this
).Details
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
206 impl ::core
::cmp
::PartialEq
for AppBroadcastingStatus
{
207 fn eq(&self, other
: &Self) -> bool
{
211 impl ::core
::cmp
::Eq
for AppBroadcastingStatus {}
212 impl ::core
::fmt
::Debug
for AppBroadcastingStatus
{
213 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
214 f
.debug_tuple("AppBroadcastingStatus").field(&self.0).finish()
217 impl ::windows
::core
::RuntimeType
for AppBroadcastingStatus
{
218 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.Media.AppBroadcasting.AppBroadcastingStatus;{1225e4df-03a1-42f8-8b80-c9228cd9cf2e})");
220 impl ::core
::clone
::Clone
for AppBroadcastingStatus
{
221 fn clone(&self) -> Self {
225 unsafe impl ::windows
::core
::Interface
for AppBroadcastingStatus
{
226 type Vtable
= IAppBroadcastingStatus_Vtbl
;
228 unsafe impl ::windows
::core
::ComInterface
for AppBroadcastingStatus
{
229 const IID
: ::windows
::core
::GUID
= <IAppBroadcastingStatus
as ::windows
::core
::ComInterface
>::IID
;
231 impl ::windows
::core
::RuntimeName
for AppBroadcastingStatus
{
232 const NAME
: &'
static str = "Windows.Media.AppBroadcasting.AppBroadcastingStatus";
234 ::windows
::imp
::interface_hierarchy
!(AppBroadcastingStatus
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
235 unsafe impl ::core
::marker
::Send
for AppBroadcastingStatus {}
236 unsafe impl ::core
::marker
::Sync
for AppBroadcastingStatus {}
237 #[doc = "*Required features: `\"Media_AppBroadcasting\"`*"]
239 pub struct AppBroadcastingStatusDetails(::windows
::core
::IUnknown
);
240 impl AppBroadcastingStatusDetails
{
241 pub fn IsAnyAppBroadcasting(&self) -> ::windows
::core
::Result
<bool
> {
244 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
245 (::windows
::core
::Interface
::vtable(this
).IsAnyAppBroadcasting
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
248 pub fn IsCaptureResourceUnavailable(&self) -> ::windows
::core
::Result
<bool
> {
251 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
252 (::windows
::core
::Interface
::vtable(this
).IsCaptureResourceUnavailable
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
255 pub fn IsGameStreamInProgress(&self) -> ::windows
::core
::Result
<bool
> {
258 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
259 (::windows
::core
::Interface
::vtable(this
).IsGameStreamInProgress
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
262 pub fn IsGpuConstrained(&self) -> ::windows
::core
::Result
<bool
> {
265 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
266 (::windows
::core
::Interface
::vtable(this
).IsGpuConstrained
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
269 pub fn IsAppInactive(&self) -> ::windows
::core
::Result
<bool
> {
272 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
273 (::windows
::core
::Interface
::vtable(this
).IsAppInactive
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
276 pub fn IsBlockedForApp(&self) -> ::windows
::core
::Result
<bool
> {
279 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
280 (::windows
::core
::Interface
::vtable(this
).IsBlockedForApp
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
283 pub fn IsDisabledByUser(&self) -> ::windows
::core
::Result
<bool
> {
286 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
287 (::windows
::core
::Interface
::vtable(this
).IsDisabledByUser
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
290 pub fn IsDisabledBySystem(&self) -> ::windows
::core
::Result
<bool
> {
293 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
294 (::windows
::core
::Interface
::vtable(this
).IsDisabledBySystem
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
298 impl ::core
::cmp
::PartialEq
for AppBroadcastingStatusDetails
{
299 fn eq(&self, other
: &Self) -> bool
{
303 impl ::core
::cmp
::Eq
for AppBroadcastingStatusDetails {}
304 impl ::core
::fmt
::Debug
for AppBroadcastingStatusDetails
{
305 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
306 f
.debug_tuple("AppBroadcastingStatusDetails").field(&self.0).finish()
309 impl ::windows
::core
::RuntimeType
for AppBroadcastingStatusDetails
{
310 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.Media.AppBroadcasting.AppBroadcastingStatusDetails;{069dada4-b573-4e3c-8e19-1bafacd09713})");
312 impl ::core
::clone
::Clone
for AppBroadcastingStatusDetails
{
313 fn clone(&self) -> Self {
317 unsafe impl ::windows
::core
::Interface
for AppBroadcastingStatusDetails
{
318 type Vtable
= IAppBroadcastingStatusDetails_Vtbl
;
320 unsafe impl ::windows
::core
::ComInterface
for AppBroadcastingStatusDetails
{
321 const IID
: ::windows
::core
::GUID
= <IAppBroadcastingStatusDetails
as ::windows
::core
::ComInterface
>::IID
;
323 impl ::windows
::core
::RuntimeName
for AppBroadcastingStatusDetails
{
324 const NAME
: &'
static str = "Windows.Media.AppBroadcasting.AppBroadcastingStatusDetails";
326 ::windows
::imp
::interface_hierarchy
!(AppBroadcastingStatusDetails
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
327 unsafe impl ::core
::marker
::Send
for AppBroadcastingStatusDetails {}
328 unsafe impl ::core
::marker
::Sync
for AppBroadcastingStatusDetails {}
329 #[doc = "*Required features: `\"Media_AppBroadcasting\"`*"]
331 pub struct AppBroadcastingUI(::windows
::core
::IUnknown
);
332 impl AppBroadcastingUI
{
333 pub fn GetStatus(&self) -> ::windows
::core
::Result
<AppBroadcastingStatus
> {
336 let mut result__
= ::windows
::core
::zeroed
::<AppBroadcastingStatus
>();
337 (::windows
::core
::Interface
::vtable(this
).GetStatus
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
340 pub fn ShowBroadcastUI(&self) -> ::windows
::core
::Result
<()> {
342 unsafe { (::windows::core::Interface::vtable(this).ShowBroadcastUI)(::windows::core::Interface::as_raw(this)).ok() }
344 pub fn GetDefault() -> ::windows
::core
::Result
<AppBroadcastingUI
> {
345 Self::IAppBroadcastingUIStatics(|this
| unsafe {
346 let mut result__
= ::windows
::core
::zeroed
::<AppBroadcastingUI
>();
347 (::windows
::core
::Interface
::vtable(this
).GetDefault
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
350 #[doc = "*Required features: `\"System\"`*"]
351 #[cfg(feature = "System")]
352 pub fn GetForUser(user
: &super::super::System
::User
) -> ::windows
::core
::Result
<AppBroadcastingUI
> {
353 Self::IAppBroadcastingUIStatics(|this
| unsafe {
354 let mut result__
= ::windows
::core
::zeroed
::<AppBroadcastingUI
>();
355 (::windows
::core
::Interface
::vtable(this
).GetForUser
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(user
), &mut result__
).from_abi(result__
)
359 pub fn IAppBroadcastingUIStatics
<R
, F
: FnOnce(&IAppBroadcastingUIStatics
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
360 static SHARED
: ::windows
::imp
::FactoryCache
<AppBroadcastingUI
, IAppBroadcastingUIStatics
> = ::windows
::imp
::FactoryCache
::new();
361 SHARED
.call(callback
)
364 impl ::core
::cmp
::PartialEq
for AppBroadcastingUI
{
365 fn eq(&self, other
: &Self) -> bool
{
369 impl ::core
::cmp
::Eq
for AppBroadcastingUI {}
370 impl ::core
::fmt
::Debug
for AppBroadcastingUI
{
371 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
372 f
.debug_tuple("AppBroadcastingUI").field(&self.0).finish()
375 impl ::windows
::core
::RuntimeType
for AppBroadcastingUI
{
376 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.Media.AppBroadcasting.AppBroadcastingUI;{e56f9f8f-ee99-4dca-a3c3-70af3db44f5f})");
378 impl ::core
::clone
::Clone
for AppBroadcastingUI
{
379 fn clone(&self) -> Self {
383 unsafe impl ::windows
::core
::Interface
for AppBroadcastingUI
{
384 type Vtable
= IAppBroadcastingUI_Vtbl
;
386 unsafe impl ::windows
::core
::ComInterface
for AppBroadcastingUI
{
387 const IID
: ::windows
::core
::GUID
= <IAppBroadcastingUI
as ::windows
::core
::ComInterface
>::IID
;
389 impl ::windows
::core
::RuntimeName
for AppBroadcastingUI
{
390 const NAME
: &'
static str = "Windows.Media.AppBroadcasting.AppBroadcastingUI";
392 ::windows
::imp
::interface_hierarchy
!(AppBroadcastingUI
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
393 unsafe impl ::core
::marker
::Send
for AppBroadcastingUI {}
394 unsafe impl ::core
::marker
::Sync
for AppBroadcastingUI {}
395 #[cfg(feature = "implement")]
396 ::core
::include
!("impl.rs");