blob: 5676b60a3ddab3a5ad2273daa60be9761792467f [file] [log] [blame]
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayAdapter(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayAdapter {
type Vtable = IDisplayAdapter_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayAdapter {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xa56f5287_f000_5f2e_b5ac_3783a2b69af5);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayAdapter_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Graphics")]
pub Id: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Graphics::DisplayAdapterId) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Graphics"))]
Id: usize,
pub DeviceInterfacePath: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>) -> ::windows_core::HRESULT,
pub SourceCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows_core::HRESULT,
pub PciVendorId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows_core::HRESULT,
pub PciDeviceId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows_core::HRESULT,
pub PciSubSystemId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows_core::HRESULT,
pub PciRevision: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub Properties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
Properties: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayAdapterStatics(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayAdapterStatics {
type Vtable = IDisplayAdapterStatics_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayAdapterStatics {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x1dac3cda_481f_5469_8470_82c4ba680a28);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayAdapterStatics_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Graphics")]
pub FromId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, id: super::super::super::Graphics::DisplayAdapterId, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Graphics"))]
FromId: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayDevice(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayDevice {
type Vtable = IDisplayDevice_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayDevice {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xa4c9b62c_335f_5731_8cb4_c1ccd4731070);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayDevice_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub CreateScanoutSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub CreatePrimary: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void, desc: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub CreateTaskPool: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation")]
pub CreatePeriodicFence: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void, offsetfromvblank: super::super::super::Foundation::TimeSpan, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
CreatePeriodicFence: usize,
pub WaitForVBlank: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, source: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub CreateSimpleScanout: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psource: *mut ::core::ffi::c_void, psurface: *mut ::core::ffi::c_void, subresourceindex: u32, syncinterval: u32, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub IsCapabilitySupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, capability: DisplayDeviceCapability, result__: *mut bool) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayDevice2(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayDevice2 {
type Vtable = IDisplayDevice2_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayDevice2 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x3fefe50c_0940_54bd_a02f_f9c7a536ad60);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayDevice2_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(all(feature = "Foundation_Collections", feature = "Graphics"))]
pub CreateSimpleScanoutWithDirtyRectsAndOptions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, source: *mut ::core::ffi::c_void, surface: *mut ::core::ffi::c_void, subresourceindex: u32, syncinterval: u32, dirtyrects: *mut ::core::ffi::c_void, options: DisplayScanoutOptions, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation_Collections", feature = "Graphics")))]
CreateSimpleScanoutWithDirtyRectsAndOptions: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayFence(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayFence {
type Vtable = IDisplayFence_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayFence {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x04dcf9ef_3406_5700_8fec_77eba4c5a74b);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayFence_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayManager(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayManager {
type Vtable = IDisplayManager_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayManager {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x4ed9245b_15ec_56e2_9072_7fe5084a31a7);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayManager_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Collections")]
pub GetCurrentTargets: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
GetCurrentTargets: usize,
#[cfg(feature = "Foundation_Collections")]
pub GetCurrentAdapters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
GetCurrentAdapters: usize,
pub TryAcquireTarget: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void, result__: *mut DisplayManagerResult) -> ::windows_core::HRESULT,
pub ReleaseTarget: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub TryReadCurrentStateForAllTargets: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub TryAcquireTargetsAndReadCurrentState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, targets: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
TryAcquireTargetsAndReadCurrentState: usize,
#[cfg(feature = "Foundation_Collections")]
pub TryAcquireTargetsAndCreateEmptyState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, targets: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
TryAcquireTargetsAndCreateEmptyState: usize,
#[cfg(feature = "Foundation_Collections")]
pub TryAcquireTargetsAndCreateSubstate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, existingstate: *mut ::core::ffi::c_void, targets: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
TryAcquireTargetsAndCreateSubstate: usize,
pub CreateDisplayDevice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, adapter: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation")]
pub Enabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Enabled: usize,
#[cfg(feature = "Foundation")]
pub RemoveEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveEnabled: usize,
#[cfg(feature = "Foundation")]
pub Disabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Disabled: usize,
#[cfg(feature = "Foundation")]
pub RemoveDisabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveDisabled: usize,
#[cfg(feature = "Foundation")]
pub Changed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
Changed: usize,
#[cfg(feature = "Foundation")]
pub RemoveChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveChanged: usize,
#[cfg(feature = "Foundation")]
pub PathsFailedOrInvalidated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
PathsFailedOrInvalidated: usize,
#[cfg(feature = "Foundation")]
pub RemovePathsFailedOrInvalidated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemovePathsFailedOrInvalidated: usize,
pub Start: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub Stop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayManagerChangedEventArgs(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayManagerChangedEventArgs {
type Vtable = IDisplayManagerChangedEventArgs_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayManagerChangedEventArgs {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x6abfa285_6cca_5731_bcdc_42e5d2f5c50f);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayManagerChangedEventArgs_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Handled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetHandled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation")]
pub GetDeferral: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
GetDeferral: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayManagerDisabledEventArgs(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayManagerDisabledEventArgs {
type Vtable = IDisplayManagerDisabledEventArgs_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayManagerDisabledEventArgs {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x8726dde4_6793_5973_a11f_5ffbc93fdb90);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayManagerDisabledEventArgs_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Handled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetHandled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation")]
pub GetDeferral: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
GetDeferral: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayManagerEnabledEventArgs(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayManagerEnabledEventArgs {
type Vtable = IDisplayManagerEnabledEventArgs_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayManagerEnabledEventArgs {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xf0cf3f6f_42fa_59a2_b297_26e1713de848);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayManagerEnabledEventArgs_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Handled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetHandled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation")]
pub GetDeferral: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
GetDeferral: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayManagerPathsFailedOrInvalidatedEventArgs(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayManagerPathsFailedOrInvalidatedEventArgs {
type Vtable = IDisplayManagerPathsFailedOrInvalidatedEventArgs_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayManagerPathsFailedOrInvalidatedEventArgs {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x03a65659_1dec_5c15_b2a2_8fe9129869fe);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayManagerPathsFailedOrInvalidatedEventArgs_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Handled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetHandled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation")]
pub GetDeferral: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
GetDeferral: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayManagerResultWithState(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayManagerResultWithState {
type Vtable = IDisplayManagerResultWithState_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayManagerResultWithState {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x8e656aa6_6614_54be_bfef_4994547f7be1);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayManagerResultWithState_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub ErrorCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut DisplayManagerResult) -> ::windows_core::HRESULT,
pub ExtendedErrorCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::windows_core::HRESULT) -> ::windows_core::HRESULT,
pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayManagerStatics(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayManagerStatics {
type Vtable = IDisplayManagerStatics_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayManagerStatics {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x2b6b9446_b999_5535_9d69_53f092c780a1);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayManagerStatics_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Create: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, options: DisplayManagerOptions, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayModeInfo(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayModeInfo {
type Vtable = IDisplayModeInfo_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayModeInfo {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x48d513a0_f79b_5a74_a05e_da821f470868);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayModeInfo_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Graphics")]
pub SourceResolution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Graphics::SizeInt32) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Graphics"))]
SourceResolution: usize,
pub IsStereo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
#[cfg(feature = "Graphics_DirectX")]
pub SourcePixelFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Graphics::DirectX::DirectXPixelFormat) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Graphics_DirectX"))]
SourcePixelFormat: usize,
#[cfg(feature = "Graphics")]
pub TargetResolution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Graphics::SizeInt32) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Graphics"))]
TargetResolution: usize,
#[cfg(feature = "Foundation_Numerics")]
pub PresentationRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut DisplayPresentationRate) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
PresentationRate: usize,
pub IsInterlaced: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub GetWireFormatSupportedBitsPerChannel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, encoding: DisplayWireFormatPixelEncoding, result__: *mut DisplayBitsPerChannel) -> ::windows_core::HRESULT,
pub IsWireFormatSupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, wireformat: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub Properties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
Properties: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayModeInfo2(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayModeInfo2 {
type Vtable = IDisplayModeInfo2_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayModeInfo2 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xc86fa386_0ddb_5473_bfb0_4b7807b5f909);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayModeInfo2_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub PhysicalPresentationRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut DisplayPresentationRate) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
PhysicalPresentationRate: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayPath(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayPath {
type Vtable = IDisplayPath_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayPath {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xb3dfd64a_7460_5cde_811b_d5ae9f3d9f84);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayPath_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub View: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub Target: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub Status: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut DisplayPathStatus) -> ::windows_core::HRESULT,
#[cfg(all(feature = "Foundation", feature = "Graphics"))]
pub SourceResolution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "Graphics")))]
SourceResolution: usize,
#[cfg(all(feature = "Foundation", feature = "Graphics"))]
pub SetSourceResolution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "Graphics")))]
SetSourceResolution: usize,
#[cfg(feature = "Graphics_DirectX")]
pub SourcePixelFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Graphics::DirectX::DirectXPixelFormat) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Graphics_DirectX"))]
SourcePixelFormat: usize,
#[cfg(feature = "Graphics_DirectX")]
pub SetSourcePixelFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::super::Graphics::DirectX::DirectXPixelFormat) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Graphics_DirectX"))]
SetSourcePixelFormat: usize,
pub IsStereo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub SetIsStereo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT,
#[cfg(all(feature = "Foundation", feature = "Graphics"))]
pub TargetResolution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "Graphics")))]
TargetResolution: usize,
#[cfg(all(feature = "Foundation", feature = "Graphics"))]
pub SetTargetResolution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "Graphics")))]
SetTargetResolution: usize,
#[cfg(feature = "Foundation_Numerics")]
pub PresentationRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
PresentationRate: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetPresentationRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetPresentationRate: usize,
#[cfg(feature = "Foundation")]
pub IsInterlaced: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
IsInterlaced: usize,
#[cfg(feature = "Foundation")]
pub SetIsInterlaced: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
SetIsInterlaced: usize,
pub WireFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub SetWireFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub Rotation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut DisplayRotation) -> ::windows_core::HRESULT,
pub SetRotation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: DisplayRotation) -> ::windows_core::HRESULT,
pub Scaling: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut DisplayPathScaling) -> ::windows_core::HRESULT,
pub SetScaling: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: DisplayPathScaling) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub FindModes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, flags: DisplayModeQueryOptions, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
FindModes: usize,
pub ApplyPropertiesFromMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, moderesult: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub Properties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
Properties: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayPath2(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayPath2 {
type Vtable = IDisplayPath2_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayPath2 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xf32459c5_e994_570b_9ec8_ef42c35a8547);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayPath2_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Numerics")]
pub PhysicalPresentationRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
PhysicalPresentationRate: usize,
#[cfg(feature = "Foundation_Numerics")]
pub SetPhysicalPresentationRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Numerics"))]
SetPhysicalPresentationRate: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayPrimaryDescription(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayPrimaryDescription {
type Vtable = IDisplayPrimaryDescription_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayPrimaryDescription {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x872591d2_d533_50ff_a85e_06696194b77c);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayPrimaryDescription_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Width: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows_core::HRESULT,
pub Height: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows_core::HRESULT,
#[cfg(feature = "Graphics_DirectX")]
pub Format: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Graphics::DirectX::DirectXPixelFormat) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Graphics_DirectX"))]
Format: usize,
#[cfg(feature = "Graphics_DirectX")]
pub ColorSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Graphics::DirectX::DirectXColorSpace) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Graphics_DirectX"))]
ColorSpace: usize,
pub IsStereo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
#[cfg(feature = "Graphics_DirectX_Direct3D11")]
pub MultisampleDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Graphics::DirectX::Direct3D11::Direct3DMultisampleDescription) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Graphics_DirectX_Direct3D11"))]
MultisampleDescription: usize,
#[cfg(feature = "Foundation_Collections")]
pub Properties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
Properties: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayPrimaryDescriptionFactory(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayPrimaryDescriptionFactory {
type Vtable = IDisplayPrimaryDescriptionFactory_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayPrimaryDescriptionFactory {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x1a6aff7b_3637_5c46_b479_76d576216e65);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayPrimaryDescriptionFactory_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Graphics_DirectX_Direct3D11")]
pub CreateInstance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, width: u32, height: u32, pixelformat: super::super::super::Graphics::DirectX::DirectXPixelFormat, colorspace: super::super::super::Graphics::DirectX::DirectXColorSpace, isstereo: bool, multisampledescription: super::super::super::Graphics::DirectX::Direct3D11::Direct3DMultisampleDescription, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Graphics_DirectX_Direct3D11"))]
CreateInstance: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayPrimaryDescriptionStatics(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayPrimaryDescriptionStatics {
type Vtable = IDisplayPrimaryDescriptionStatics_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayPrimaryDescriptionStatics {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xe60e4cfb_36c9_56dd_8fa1_6ff8c4e0ff07);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayPrimaryDescriptionStatics_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(all(feature = "Foundation_Collections", feature = "Graphics_DirectX_Direct3D11"))]
pub CreateWithProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, extraproperties: *mut ::core::ffi::c_void, width: u32, height: u32, pixelformat: super::super::super::Graphics::DirectX::DirectXPixelFormat, colorspace: super::super::super::Graphics::DirectX::DirectXColorSpace, isstereo: bool, multisampledescription: super::super::super::Graphics::DirectX::Direct3D11::Direct3DMultisampleDescription, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation_Collections", feature = "Graphics_DirectX_Direct3D11")))]
CreateWithProperties: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayScanout(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayScanout {
type Vtable = IDisplayScanout_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayScanout {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xe3051828_1ba5_50e7_8a39_bb1fd2f4f8b9);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayScanout_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplaySource(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplaySource {
type Vtable = IDisplaySource_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplaySource {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xecd15fc1_eadc_51bc_971d_3bc628db2dd4);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplaySource_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Graphics")]
pub AdapterId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Graphics::DisplayAdapterId) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Graphics"))]
AdapterId: usize,
pub SourceId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows_core::HRESULT,
#[cfg(feature = "Storage_Streams")]
pub GetMetadata: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, key: ::windows_core::GUID, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Storage_Streams"))]
GetMetadata: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplaySource2(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplaySource2 {
type Vtable = IDisplaySource2_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplaySource2 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x71e18952_b321_5af4_bfe8_03fbea31e40d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplaySource2_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Status: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut DisplaySourceStatus) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation")]
pub StatusChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
StatusChanged: usize,
#[cfg(feature = "Foundation")]
pub RemoveStatusChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation"))]
RemoveStatusChanged: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayState(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayState {
type Vtable = IDisplayState_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayState {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x08129321_11b5_5cb2_99f8_e90b479a8a1d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayState_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub IsReadOnly: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub IsStale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub Targets: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
Targets: usize,
#[cfg(feature = "Foundation_Collections")]
pub Views: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
Views: usize,
#[cfg(feature = "Foundation_Collections")]
pub Properties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
Properties: usize,
pub ConnectTarget: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub ConnectTargetToView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void, view: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub CanConnectTargetToView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void, view: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub GetViewForTarget: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub GetPathForTarget: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub DisconnectTarget: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub TryFunctionalize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, options: DisplayStateFunctionalizeOptions, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub TryApply: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, options: DisplayStateApplyOptions, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayStateOperationResult(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayStateOperationResult {
type Vtable = IDisplayStateOperationResult_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayStateOperationResult {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xfcadbfdf_dc27_5638_b7f2_ebdfa4f7ea93);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayStateOperationResult_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Status: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut DisplayStateOperationStatus) -> ::windows_core::HRESULT,
pub ExtendedErrorCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::windows_core::HRESULT) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplaySurface(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplaySurface {
type Vtable = IDisplaySurface_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplaySurface {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x594f6cc6_139a_56d6_a4b1_15fe2cb76adb);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplaySurface_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayTarget(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayTarget {
type Vtable = IDisplayTarget_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayTarget {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xaec57c6f_47b4_546b_987c_e73fa791fe3a);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayTarget_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub Adapter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub DeviceInterfacePath: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>) -> ::windows_core::HRESULT,
pub AdapterRelativeId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows_core::HRESULT,
pub IsConnected: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub IsVirtualModeEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub IsVirtualTopologyEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub UsageKind: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::DisplayMonitorUsageKind) -> ::windows_core::HRESULT,
pub MonitorPersistence: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut DisplayTargetPersistence) -> ::windows_core::HRESULT,
pub StableMonitorId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>) -> ::windows_core::HRESULT,
pub TryGetMonitor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub Properties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
Properties: usize,
pub IsStale: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub IsSame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, othertarget: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
pub IsEqual: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, othertarget: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayTask(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayTask {
type Vtable = IDisplayTask_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayTask {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x5e087448_135b_5bb0_bf63_637f84227c7a);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayTask_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub SetScanout: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, scanout: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
pub SetWait: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, readyfence: *mut ::core::ffi::c_void, readyfencevalue: u64) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayTask2(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayTask2 {
type Vtable = IDisplayTask2_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayTask2 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x0957ea19_bd55_55de_9267_c97b61e71c37);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayTask2_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub SetSignal: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, signalkind: DisplayTaskSignalKind, fence: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayTaskPool(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayTaskPool {
type Vtable = IDisplayTaskPool_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayTaskPool {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xc676253d_237d_5548_aafa_3e517fefef1c);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayTaskPool_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub CreateTask: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(feature = "deprecated")]
pub ExecuteTask: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, task: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "deprecated"))]
ExecuteTask: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayTaskPool2(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayTaskPool2 {
type Vtable = IDisplayTaskPool2_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayTaskPool2 {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x46b879b6_5d17_5955_a872_eb38003db586);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayTaskPool2_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub TryExecuteTask: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, task: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayTaskResult(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayTaskResult {
type Vtable = IDisplayTaskResult_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayTaskResult {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x6fbc7d67_f9b1_55e0_9d88_d3a5197a3f59);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayTaskResult_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub PresentStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut DisplayPresentStatus) -> ::windows_core::HRESULT,
pub PresentId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u64) -> ::windows_core::HRESULT,
pub SourceStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut DisplaySourceStatus) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayView(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayView {
type Vtable = IDisplayView_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayView {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xb0c98ca1_b759_5b59_b1ad_f0786aa9e53d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayView_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Collections")]
pub Paths: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
Paths: usize,
#[cfg(all(feature = "Foundation", feature = "Graphics"))]
pub ContentResolution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "Graphics")))]
ContentResolution: usize,
#[cfg(all(feature = "Foundation", feature = "Graphics"))]
pub SetContentResolution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(all(feature = "Foundation", feature = "Graphics")))]
SetContentResolution: usize,
pub SetPrimaryPath: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, path: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub Properties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
Properties: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayWireFormat(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayWireFormat {
type Vtable = IDisplayWireFormat_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayWireFormat {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x1acc967d_872c_5a38_bbb9_1d4872b76255);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayWireFormat_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub PixelEncoding: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut DisplayWireFormatPixelEncoding) -> ::windows_core::HRESULT,
pub BitsPerChannel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut i32) -> ::windows_core::HRESULT,
pub ColorSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut DisplayWireFormatColorSpace) -> ::windows_core::HRESULT,
pub Eotf: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut DisplayWireFormatEotf) -> ::windows_core::HRESULT,
pub HdrMetadata: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut DisplayWireFormatHdrMetadata) -> ::windows_core::HRESULT,
#[cfg(feature = "Foundation_Collections")]
pub Properties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
Properties: usize,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayWireFormatFactory(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayWireFormatFactory {
type Vtable = IDisplayWireFormatFactory_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayWireFormatFactory {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xb2efc8d5_09d6_55e6_ad22_9014b3d25229);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayWireFormatFactory_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pixelencoding: DisplayWireFormatPixelEncoding, bitsperchannel: i32, colorspace: DisplayWireFormatColorSpace, eotf: DisplayWireFormatEotf, hdrmetadata: DisplayWireFormatHdrMetadata, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
}
#[doc(hidden)]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct IDisplayWireFormatStatics(::windows_core::IUnknown);
unsafe impl ::windows_core::Interface for IDisplayWireFormatStatics {
type Vtable = IDisplayWireFormatStatics_Vtbl;
}
unsafe impl ::windows_core::ComInterface for IDisplayWireFormatStatics {
const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xc575a22d_c3e6_5f7a_bdfb_87c6ab8661d5);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDisplayWireFormatStatics_Vtbl {
pub base__: ::windows_core::IInspectable_Vtbl,
#[cfg(feature = "Foundation_Collections")]
pub CreateWithProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, extraproperties: *mut ::core::ffi::c_void, pixelencoding: DisplayWireFormatPixelEncoding, bitsperchannel: i32, colorspace: DisplayWireFormatColorSpace, eotf: DisplayWireFormatEotf, hdrmetadata: DisplayWireFormatHdrMetadata, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
#[cfg(not(feature = "Foundation_Collections"))]
CreateWithProperties: usize,
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayAdapter(::windows_core::IUnknown);
impl DisplayAdapter {
#[doc = "Required features: `\"Graphics\"`"]
#[cfg(feature = "Graphics")]
pub fn Id(&self) -> ::windows_core::Result<super::super::super::Graphics::DisplayAdapterId> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Id)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn DeviceInterfacePath(&self) -> ::windows_core::Result<::windows_core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).DeviceInterfacePath)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SourceCount(&self) -> ::windows_core::Result<u32> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).SourceCount)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn PciVendorId(&self) -> ::windows_core::Result<u32> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PciVendorId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn PciDeviceId(&self) -> ::windows_core::Result<u32> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PciDeviceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn PciSubSystemId(&self) -> ::windows_core::Result<u32> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PciSubSystemId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn PciRevision(&self) -> ::windows_core::Result<u32> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PciRevision)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn Properties(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IMapView<::windows_core::GUID, ::windows_core::IInspectable>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Graphics\"`"]
#[cfg(feature = "Graphics")]
pub fn FromId(id: super::super::super::Graphics::DisplayAdapterId) -> ::windows_core::Result<DisplayAdapter> {
Self::IDisplayAdapterStatics(|this| unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).FromId)(::windows_core::Interface::as_raw(this), id, &mut result__).from_abi(result__)
})
}
#[doc(hidden)]
pub fn IDisplayAdapterStatics<R, F: FnOnce(&IDisplayAdapterStatics) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> {
static SHARED: ::windows_core::imp::FactoryCache<DisplayAdapter, IDisplayAdapterStatics> = ::windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::windows_core::RuntimeType for DisplayAdapter {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayAdapter;{a56f5287-f000-5f2e-b5ac-3783a2b69af5})");
}
unsafe impl ::windows_core::Interface for DisplayAdapter {
type Vtable = IDisplayAdapter_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayAdapter {
const IID: ::windows_core::GUID = <IDisplayAdapter as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayAdapter {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayAdapter";
}
::windows_core::imp::interface_hierarchy!(DisplayAdapter, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayAdapter {}
unsafe impl ::core::marker::Sync for DisplayAdapter {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayDevice(::windows_core::IUnknown);
impl DisplayDevice {
pub fn CreateScanoutSource<P0>(&self, target: P0) -> ::windows_core::Result<DisplaySource>
where
P0: ::windows_core::IntoParam<DisplayTarget>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreateScanoutSource)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).from_abi(result__)
}
}
pub fn CreatePrimary<P0, P1>(&self, target: P0, desc: P1) -> ::windows_core::Result<DisplaySurface>
where
P0: ::windows_core::IntoParam<DisplayTarget>,
P1: ::windows_core::IntoParam<DisplayPrimaryDescription>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreatePrimary)(::windows_core::Interface::as_raw(this), target.into_param().abi(), desc.into_param().abi(), &mut result__).from_abi(result__)
}
}
pub fn CreateTaskPool(&self) -> ::windows_core::Result<DisplayTaskPool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreateTaskPool)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn CreatePeriodicFence<P0>(&self, target: P0, offsetfromvblank: super::super::super::Foundation::TimeSpan) -> ::windows_core::Result<DisplayFence>
where
P0: ::windows_core::IntoParam<DisplayTarget>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreatePeriodicFence)(::windows_core::Interface::as_raw(this), target.into_param().abi(), offsetfromvblank, &mut result__).from_abi(result__)
}
}
pub fn WaitForVBlank<P0>(&self, source: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<DisplaySource>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).WaitForVBlank)(::windows_core::Interface::as_raw(this), source.into_param().abi()).ok() }
}
pub fn CreateSimpleScanout<P0, P1>(&self, psource: P0, psurface: P1, subresourceindex: u32, syncinterval: u32) -> ::windows_core::Result<DisplayScanout>
where
P0: ::windows_core::IntoParam<DisplaySource>,
P1: ::windows_core::IntoParam<DisplaySurface>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreateSimpleScanout)(::windows_core::Interface::as_raw(this), psource.into_param().abi(), psurface.into_param().abi(), subresourceindex, syncinterval, &mut result__).from_abi(result__)
}
}
pub fn IsCapabilitySupported(&self, capability: DisplayDeviceCapability) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsCapabilitySupported)(::windows_core::Interface::as_raw(this), capability, &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`, `\"Graphics\"`"]
#[cfg(all(feature = "Foundation_Collections", feature = "Graphics"))]
pub fn CreateSimpleScanoutWithDirtyRectsAndOptions<P0, P1, P2>(&self, source: P0, surface: P1, subresourceindex: u32, syncinterval: u32, dirtyrects: P2, options: DisplayScanoutOptions) -> ::windows_core::Result<DisplayScanout>
where
P0: ::windows_core::IntoParam<DisplaySource>,
P1: ::windows_core::IntoParam<DisplaySurface>,
P2: ::windows_core::TryIntoParam<super::super::super::Foundation::Collections::IIterable<super::super::super::Graphics::RectInt32>>,
{
let this = &::windows_core::ComInterface::cast::<IDisplayDevice2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreateSimpleScanoutWithDirtyRectsAndOptions)(::windows_core::Interface::as_raw(this), source.into_param().abi(), surface.into_param().abi(), subresourceindex, syncinterval, dirtyrects.try_into_param()?.abi(), options, &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for DisplayDevice {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayDevice;{a4c9b62c-335f-5731-8cb4-c1ccd4731070})");
}
unsafe impl ::windows_core::Interface for DisplayDevice {
type Vtable = IDisplayDevice_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayDevice {
const IID: ::windows_core::GUID = <IDisplayDevice as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayDevice {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayDevice";
}
::windows_core::imp::interface_hierarchy!(DisplayDevice, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayDevice {}
unsafe impl ::core::marker::Sync for DisplayDevice {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayFence(::windows_core::IUnknown);
impl DisplayFence {}
impl ::windows_core::RuntimeType for DisplayFence {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayFence;{04dcf9ef-3406-5700-8fec-77eba4c5a74b})");
}
unsafe impl ::windows_core::Interface for DisplayFence {
type Vtable = IDisplayFence_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayFence {
const IID: ::windows_core::GUID = <IDisplayFence as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayFence {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayFence";
}
::windows_core::imp::interface_hierarchy!(DisplayFence, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayFence {}
unsafe impl ::core::marker::Sync for DisplayFence {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayManager(::windows_core::IUnknown);
impl DisplayManager {
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn Close(&self) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<super::super::super::Foundation::IClosable>(self)?;
unsafe { (::windows_core::Interface::vtable(this).Close)(::windows_core::Interface::as_raw(this)).ok() }
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetCurrentTargets(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<DisplayTarget>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetCurrentTargets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn GetCurrentAdapters(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<DisplayAdapter>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetCurrentAdapters)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryAcquireTarget<P0>(&self, target: P0) -> ::windows_core::Result<DisplayManagerResult>
where
P0: ::windows_core::IntoParam<DisplayTarget>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).TryAcquireTarget)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).from_abi(result__)
}
}
pub fn ReleaseTarget<P0>(&self, target: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<DisplayTarget>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).ReleaseTarget)(::windows_core::Interface::as_raw(this), target.into_param().abi()).ok() }
}
pub fn TryReadCurrentStateForAllTargets(&self) -> ::windows_core::Result<DisplayManagerResultWithState> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).TryReadCurrentStateForAllTargets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn TryAcquireTargetsAndReadCurrentState<P0>(&self, targets: P0) -> ::windows_core::Result<DisplayManagerResultWithState>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::Collections::IIterable<DisplayTarget>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).TryAcquireTargetsAndReadCurrentState)(::windows_core::Interface::as_raw(this), targets.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn TryAcquireTargetsAndCreateEmptyState<P0>(&self, targets: P0) -> ::windows_core::Result<DisplayManagerResultWithState>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::Collections::IIterable<DisplayTarget>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).TryAcquireTargetsAndCreateEmptyState)(::windows_core::Interface::as_raw(this), targets.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn TryAcquireTargetsAndCreateSubstate<P0, P1>(&self, existingstate: P0, targets: P1) -> ::windows_core::Result<DisplayManagerResultWithState>
where
P0: ::windows_core::IntoParam<DisplayState>,
P1: ::windows_core::TryIntoParam<super::super::super::Foundation::Collections::IIterable<DisplayTarget>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).TryAcquireTargetsAndCreateSubstate)(::windows_core::Interface::as_raw(this), existingstate.into_param().abi(), targets.try_into_param()?.abi(), &mut result__).from_abi(result__)
}
}
pub fn CreateDisplayDevice<P0>(&self, adapter: P0) -> ::windows_core::Result<DisplayDevice>
where
P0: ::windows_core::IntoParam<DisplayAdapter>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreateDisplayDevice)(::windows_core::Interface::as_raw(this), adapter.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn Enabled<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::windows_core::IntoParam<super::super::super::Foundation::TypedEventHandler<DisplayManager, DisplayManagerEnabledEventArgs>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Enabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn RemoveEnabled(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).RemoveEnabled)(::windows_core::Interface::as_raw(this), token).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn Disabled<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::windows_core::IntoParam<super::super::super::Foundation::TypedEventHandler<DisplayManager, DisplayManagerDisabledEventArgs>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Disabled)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn RemoveDisabled(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).RemoveDisabled)(::windows_core::Interface::as_raw(this), token).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn Changed<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::windows_core::IntoParam<super::super::super::Foundation::TypedEventHandler<DisplayManager, DisplayManagerChangedEventArgs>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Changed)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn RemoveChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).RemoveChanged)(::windows_core::Interface::as_raw(this), token).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn PathsFailedOrInvalidated<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::windows_core::IntoParam<super::super::super::Foundation::TypedEventHandler<DisplayManager, DisplayManagerPathsFailedOrInvalidatedEventArgs>>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PathsFailedOrInvalidated)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn RemovePathsFailedOrInvalidated(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).RemovePathsFailedOrInvalidated)(::windows_core::Interface::as_raw(this), token).ok() }
}
pub fn Start(&self) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).Start)(::windows_core::Interface::as_raw(this)).ok() }
}
pub fn Stop(&self) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).Stop)(::windows_core::Interface::as_raw(this)).ok() }
}
pub fn Create(options: DisplayManagerOptions) -> ::windows_core::Result<DisplayManager> {
Self::IDisplayManagerStatics(|this| unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), options, &mut result__).from_abi(result__)
})
}
#[doc(hidden)]
pub fn IDisplayManagerStatics<R, F: FnOnce(&IDisplayManagerStatics) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> {
static SHARED: ::windows_core::imp::FactoryCache<DisplayManager, IDisplayManagerStatics> = ::windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::windows_core::RuntimeType for DisplayManager {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayManager;{4ed9245b-15ec-56e2-9072-7fe5084a31a7})");
}
unsafe impl ::windows_core::Interface for DisplayManager {
type Vtable = IDisplayManager_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayManager {
const IID: ::windows_core::GUID = <IDisplayManager as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayManager {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayManager";
}
::windows_core::imp::interface_hierarchy!(DisplayManager, ::windows_core::IUnknown, ::windows_core::IInspectable);
#[cfg(feature = "Foundation")]
impl ::windows_core::CanTryInto<super::super::super::Foundation::IClosable> for DisplayManager {}
unsafe impl ::core::marker::Send for DisplayManager {}
unsafe impl ::core::marker::Sync for DisplayManager {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayManagerChangedEventArgs(::windows_core::IUnknown);
impl DisplayManagerChangedEventArgs {
pub fn Handled(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetHandled)(::windows_core::Interface::as_raw(this), value).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn GetDeferral(&self) -> ::windows_core::Result<super::super::super::Foundation::Deferral> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for DisplayManagerChangedEventArgs {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayManagerChangedEventArgs;{6abfa285-6cca-5731-bcdc-42e5d2f5c50f})");
}
unsafe impl ::windows_core::Interface for DisplayManagerChangedEventArgs {
type Vtable = IDisplayManagerChangedEventArgs_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayManagerChangedEventArgs {
const IID: ::windows_core::GUID = <IDisplayManagerChangedEventArgs as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayManagerChangedEventArgs {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayManagerChangedEventArgs";
}
::windows_core::imp::interface_hierarchy!(DisplayManagerChangedEventArgs, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayManagerChangedEventArgs {}
unsafe impl ::core::marker::Sync for DisplayManagerChangedEventArgs {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayManagerDisabledEventArgs(::windows_core::IUnknown);
impl DisplayManagerDisabledEventArgs {
pub fn Handled(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetHandled)(::windows_core::Interface::as_raw(this), value).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn GetDeferral(&self) -> ::windows_core::Result<super::super::super::Foundation::Deferral> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for DisplayManagerDisabledEventArgs {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayManagerDisabledEventArgs;{8726dde4-6793-5973-a11f-5ffbc93fdb90})");
}
unsafe impl ::windows_core::Interface for DisplayManagerDisabledEventArgs {
type Vtable = IDisplayManagerDisabledEventArgs_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayManagerDisabledEventArgs {
const IID: ::windows_core::GUID = <IDisplayManagerDisabledEventArgs as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayManagerDisabledEventArgs {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayManagerDisabledEventArgs";
}
::windows_core::imp::interface_hierarchy!(DisplayManagerDisabledEventArgs, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayManagerDisabledEventArgs {}
unsafe impl ::core::marker::Sync for DisplayManagerDisabledEventArgs {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayManagerEnabledEventArgs(::windows_core::IUnknown);
impl DisplayManagerEnabledEventArgs {
pub fn Handled(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetHandled)(::windows_core::Interface::as_raw(this), value).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn GetDeferral(&self) -> ::windows_core::Result<super::super::super::Foundation::Deferral> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for DisplayManagerEnabledEventArgs {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayManagerEnabledEventArgs;{f0cf3f6f-42fa-59a2-b297-26e1713de848})");
}
unsafe impl ::windows_core::Interface for DisplayManagerEnabledEventArgs {
type Vtable = IDisplayManagerEnabledEventArgs_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayManagerEnabledEventArgs {
const IID: ::windows_core::GUID = <IDisplayManagerEnabledEventArgs as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayManagerEnabledEventArgs {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayManagerEnabledEventArgs";
}
::windows_core::imp::interface_hierarchy!(DisplayManagerEnabledEventArgs, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayManagerEnabledEventArgs {}
unsafe impl ::core::marker::Sync for DisplayManagerEnabledEventArgs {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayManagerPathsFailedOrInvalidatedEventArgs(::windows_core::IUnknown);
impl DisplayManagerPathsFailedOrInvalidatedEventArgs {
pub fn Handled(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Handled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetHandled(&self, value: bool) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetHandled)(::windows_core::Interface::as_raw(this), value).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn GetDeferral(&self) -> ::windows_core::Result<super::super::super::Foundation::Deferral> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetDeferral)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for DisplayManagerPathsFailedOrInvalidatedEventArgs {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayManagerPathsFailedOrInvalidatedEventArgs;{03a65659-1dec-5c15-b2a2-8fe9129869fe})");
}
unsafe impl ::windows_core::Interface for DisplayManagerPathsFailedOrInvalidatedEventArgs {
type Vtable = IDisplayManagerPathsFailedOrInvalidatedEventArgs_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayManagerPathsFailedOrInvalidatedEventArgs {
const IID: ::windows_core::GUID = <IDisplayManagerPathsFailedOrInvalidatedEventArgs as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayManagerPathsFailedOrInvalidatedEventArgs {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayManagerPathsFailedOrInvalidatedEventArgs";
}
::windows_core::imp::interface_hierarchy!(DisplayManagerPathsFailedOrInvalidatedEventArgs, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayManagerPathsFailedOrInvalidatedEventArgs {}
unsafe impl ::core::marker::Sync for DisplayManagerPathsFailedOrInvalidatedEventArgs {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayManagerResultWithState(::windows_core::IUnknown);
impl DisplayManagerResultWithState {
pub fn ErrorCode(&self) -> ::windows_core::Result<DisplayManagerResult> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).ErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn ExtendedErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).ExtendedErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn State(&self) -> ::windows_core::Result<DisplayState> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).State)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for DisplayManagerResultWithState {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayManagerResultWithState;{8e656aa6-6614-54be-bfef-4994547f7be1})");
}
unsafe impl ::windows_core::Interface for DisplayManagerResultWithState {
type Vtable = IDisplayManagerResultWithState_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayManagerResultWithState {
const IID: ::windows_core::GUID = <IDisplayManagerResultWithState as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayManagerResultWithState {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayManagerResultWithState";
}
::windows_core::imp::interface_hierarchy!(DisplayManagerResultWithState, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayManagerResultWithState {}
unsafe impl ::core::marker::Sync for DisplayManagerResultWithState {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayModeInfo(::windows_core::IUnknown);
impl DisplayModeInfo {
#[doc = "Required features: `\"Graphics\"`"]
#[cfg(feature = "Graphics")]
pub fn SourceResolution(&self) -> ::windows_core::Result<super::super::super::Graphics::SizeInt32> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).SourceResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsStereo(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsStereo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Graphics_DirectX\"`"]
#[cfg(feature = "Graphics_DirectX")]
pub fn SourcePixelFormat(&self) -> ::windows_core::Result<super::super::super::Graphics::DirectX::DirectXPixelFormat> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).SourcePixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Graphics\"`"]
#[cfg(feature = "Graphics")]
pub fn TargetResolution(&self) -> ::windows_core::Result<super::super::super::Graphics::SizeInt32> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).TargetResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Numerics\"`"]
#[cfg(feature = "Foundation_Numerics")]
pub fn PresentationRate(&self) -> ::windows_core::Result<DisplayPresentationRate> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PresentationRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsInterlaced(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsInterlaced)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn GetWireFormatSupportedBitsPerChannel(&self, encoding: DisplayWireFormatPixelEncoding) -> ::windows_core::Result<DisplayBitsPerChannel> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetWireFormatSupportedBitsPerChannel)(::windows_core::Interface::as_raw(this), encoding, &mut result__).from_abi(result__)
}
}
pub fn IsWireFormatSupported<P0>(&self, wireformat: P0) -> ::windows_core::Result<bool>
where
P0: ::windows_core::IntoParam<DisplayWireFormat>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsWireFormatSupported)(::windows_core::Interface::as_raw(this), wireformat.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn Properties(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IMapView<::windows_core::GUID, ::windows_core::IInspectable>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Numerics\"`"]
#[cfg(feature = "Foundation_Numerics")]
pub fn PhysicalPresentationRate(&self) -> ::windows_core::Result<DisplayPresentationRate> {
let this = &::windows_core::ComInterface::cast::<IDisplayModeInfo2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PhysicalPresentationRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for DisplayModeInfo {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayModeInfo;{48d513a0-f79b-5a74-a05e-da821f470868})");
}
unsafe impl ::windows_core::Interface for DisplayModeInfo {
type Vtable = IDisplayModeInfo_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayModeInfo {
const IID: ::windows_core::GUID = <IDisplayModeInfo as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayModeInfo {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayModeInfo";
}
::windows_core::imp::interface_hierarchy!(DisplayModeInfo, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayModeInfo {}
unsafe impl ::core::marker::Sync for DisplayModeInfo {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayPath(::windows_core::IUnknown);
impl DisplayPath {
pub fn View(&self) -> ::windows_core::Result<DisplayView> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).View)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Target(&self) -> ::windows_core::Result<DisplayTarget> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Target)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Status(&self) -> ::windows_core::Result<DisplayPathStatus> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`, `\"Graphics\"`"]
#[cfg(all(feature = "Foundation", feature = "Graphics"))]
pub fn SourceResolution(&self) -> ::windows_core::Result<super::super::super::Foundation::IReference<super::super::super::Graphics::SizeInt32>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).SourceResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`, `\"Graphics\"`"]
#[cfg(all(feature = "Foundation", feature = "Graphics"))]
pub fn SetSourceResolution<P0>(&self, value: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::IReference<super::super::super::Graphics::SizeInt32>>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetSourceResolution)(::windows_core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "Required features: `\"Graphics_DirectX\"`"]
#[cfg(feature = "Graphics_DirectX")]
pub fn SourcePixelFormat(&self) -> ::windows_core::Result<super::super::super::Graphics::DirectX::DirectXPixelFormat> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).SourcePixelFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Graphics_DirectX\"`"]
#[cfg(feature = "Graphics_DirectX")]
pub fn SetSourcePixelFormat(&self, value: super::super::super::Graphics::DirectX::DirectXPixelFormat) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetSourcePixelFormat)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn IsStereo(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsStereo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetIsStereo(&self, value: bool) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetIsStereo)(::windows_core::Interface::as_raw(this), value).ok() }
}
#[doc = "Required features: `\"Foundation\"`, `\"Graphics\"`"]
#[cfg(all(feature = "Foundation", feature = "Graphics"))]
pub fn TargetResolution(&self) -> ::windows_core::Result<super::super::super::Foundation::IReference<super::super::super::Graphics::SizeInt32>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).TargetResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`, `\"Graphics\"`"]
#[cfg(all(feature = "Foundation", feature = "Graphics"))]
pub fn SetTargetResolution<P0>(&self, value: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::IReference<super::super::super::Graphics::SizeInt32>>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetTargetResolution)(::windows_core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "Required features: `\"Foundation_Numerics\"`"]
#[cfg(feature = "Foundation_Numerics")]
pub fn PresentationRate(&self) -> ::windows_core::Result<super::super::super::Foundation::IReference<DisplayPresentationRate>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PresentationRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Numerics\"`"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetPresentationRate<P0>(&self, value: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::IReference<DisplayPresentationRate>>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetPresentationRate)(::windows_core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn IsInterlaced(&self) -> ::windows_core::Result<super::super::super::Foundation::IReference<bool>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsInterlaced)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn SetIsInterlaced<P0>(&self, value: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::IReference<bool>>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetIsInterlaced)(::windows_core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn WireFormat(&self) -> ::windows_core::Result<DisplayWireFormat> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).WireFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetWireFormat<P0>(&self, value: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<DisplayWireFormat>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetWireFormat)(::windows_core::Interface::as_raw(this), value.into_param().abi()).ok() }
}
pub fn Rotation(&self) -> ::windows_core::Result<DisplayRotation> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Rotation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetRotation(&self, value: DisplayRotation) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetRotation)(::windows_core::Interface::as_raw(this), value).ok() }
}
pub fn Scaling(&self) -> ::windows_core::Result<DisplayPathScaling> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Scaling)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SetScaling(&self, value: DisplayPathScaling) -> ::windows_core::Result<()> {
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetScaling)(::windows_core::Interface::as_raw(this), value).ok() }
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn FindModes(&self, flags: DisplayModeQueryOptions) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<DisplayModeInfo>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).FindModes)(::windows_core::Interface::as_raw(this), flags, &mut result__).from_abi(result__)
}
}
pub fn ApplyPropertiesFromMode<P0>(&self, moderesult: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<DisplayModeInfo>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).ApplyPropertiesFromMode)(::windows_core::Interface::as_raw(this), moderesult.into_param().abi()).ok() }
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn Properties(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IMap<::windows_core::GUID, ::windows_core::IInspectable>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Numerics\"`"]
#[cfg(feature = "Foundation_Numerics")]
pub fn PhysicalPresentationRate(&self) -> ::windows_core::Result<super::super::super::Foundation::IReference<DisplayPresentationRate>> {
let this = &::windows_core::ComInterface::cast::<IDisplayPath2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PhysicalPresentationRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Numerics\"`"]
#[cfg(feature = "Foundation_Numerics")]
pub fn SetPhysicalPresentationRate<P0>(&self, value: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::IReference<DisplayPresentationRate>>,
{
let this = &::windows_core::ComInterface::cast::<IDisplayPath2>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetPhysicalPresentationRate)(::windows_core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
}
impl ::windows_core::RuntimeType for DisplayPath {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayPath;{b3dfd64a-7460-5cde-811b-d5ae9f3d9f84})");
}
unsafe impl ::windows_core::Interface for DisplayPath {
type Vtable = IDisplayPath_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayPath {
const IID: ::windows_core::GUID = <IDisplayPath as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayPath {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayPath";
}
::windows_core::imp::interface_hierarchy!(DisplayPath, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayPath {}
unsafe impl ::core::marker::Sync for DisplayPath {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayPrimaryDescription(::windows_core::IUnknown);
impl DisplayPrimaryDescription {
pub fn Width(&self) -> ::windows_core::Result<u32> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Width)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Height(&self) -> ::windows_core::Result<u32> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Height)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Graphics_DirectX\"`"]
#[cfg(feature = "Graphics_DirectX")]
pub fn Format(&self) -> ::windows_core::Result<super::super::super::Graphics::DirectX::DirectXPixelFormat> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Format)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Graphics_DirectX\"`"]
#[cfg(feature = "Graphics_DirectX")]
pub fn ColorSpace(&self) -> ::windows_core::Result<super::super::super::Graphics::DirectX::DirectXColorSpace> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).ColorSpace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsStereo(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsStereo)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Graphics_DirectX_Direct3D11\"`"]
#[cfg(feature = "Graphics_DirectX_Direct3D11")]
pub fn MultisampleDescription(&self) -> ::windows_core::Result<super::super::super::Graphics::DirectX::Direct3D11::Direct3DMultisampleDescription> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).MultisampleDescription)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn Properties(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IMapView<::windows_core::GUID, ::windows_core::IInspectable>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Graphics_DirectX_Direct3D11\"`"]
#[cfg(feature = "Graphics_DirectX_Direct3D11")]
pub fn CreateInstance(width: u32, height: u32, pixelformat: super::super::super::Graphics::DirectX::DirectXPixelFormat, colorspace: super::super::super::Graphics::DirectX::DirectXColorSpace, isstereo: bool, multisampledescription: super::super::super::Graphics::DirectX::Direct3D11::Direct3DMultisampleDescription) -> ::windows_core::Result<DisplayPrimaryDescription> {
Self::IDisplayPrimaryDescriptionFactory(|this| unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), width, height, pixelformat, colorspace, isstereo, multisampledescription, &mut result__).from_abi(result__)
})
}
#[doc = "Required features: `\"Foundation_Collections\"`, `\"Graphics_DirectX_Direct3D11\"`"]
#[cfg(all(feature = "Foundation_Collections", feature = "Graphics_DirectX_Direct3D11"))]
pub fn CreateWithProperties<P0>(extraproperties: P0, width: u32, height: u32, pixelformat: super::super::super::Graphics::DirectX::DirectXPixelFormat, colorspace: super::super::super::Graphics::DirectX::DirectXColorSpace, isstereo: bool, multisampledescription: super::super::super::Graphics::DirectX::Direct3D11::Direct3DMultisampleDescription) -> ::windows_core::Result<DisplayPrimaryDescription>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::Collections::IIterable<super::super::super::Foundation::Collections::IKeyValuePair<::windows_core::GUID, ::windows_core::IInspectable>>>,
{
Self::IDisplayPrimaryDescriptionStatics(|this| unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreateWithProperties)(::windows_core::Interface::as_raw(this), extraproperties.try_into_param()?.abi(), width, height, pixelformat, colorspace, isstereo, multisampledescription, &mut result__).from_abi(result__)
})
}
#[doc(hidden)]
pub fn IDisplayPrimaryDescriptionFactory<R, F: FnOnce(&IDisplayPrimaryDescriptionFactory) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> {
static SHARED: ::windows_core::imp::FactoryCache<DisplayPrimaryDescription, IDisplayPrimaryDescriptionFactory> = ::windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
#[doc(hidden)]
pub fn IDisplayPrimaryDescriptionStatics<R, F: FnOnce(&IDisplayPrimaryDescriptionStatics) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> {
static SHARED: ::windows_core::imp::FactoryCache<DisplayPrimaryDescription, IDisplayPrimaryDescriptionStatics> = ::windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::windows_core::RuntimeType for DisplayPrimaryDescription {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayPrimaryDescription;{872591d2-d533-50ff-a85e-06696194b77c})");
}
unsafe impl ::windows_core::Interface for DisplayPrimaryDescription {
type Vtable = IDisplayPrimaryDescription_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayPrimaryDescription {
const IID: ::windows_core::GUID = <IDisplayPrimaryDescription as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayPrimaryDescription {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayPrimaryDescription";
}
::windows_core::imp::interface_hierarchy!(DisplayPrimaryDescription, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayPrimaryDescription {}
unsafe impl ::core::marker::Sync for DisplayPrimaryDescription {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayScanout(::windows_core::IUnknown);
impl DisplayScanout {}
impl ::windows_core::RuntimeType for DisplayScanout {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayScanout;{e3051828-1ba5-50e7-8a39-bb1fd2f4f8b9})");
}
unsafe impl ::windows_core::Interface for DisplayScanout {
type Vtable = IDisplayScanout_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayScanout {
const IID: ::windows_core::GUID = <IDisplayScanout as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayScanout {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayScanout";
}
::windows_core::imp::interface_hierarchy!(DisplayScanout, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayScanout {}
unsafe impl ::core::marker::Sync for DisplayScanout {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplaySource(::windows_core::IUnknown);
impl DisplaySource {
#[doc = "Required features: `\"Graphics\"`"]
#[cfg(feature = "Graphics")]
pub fn AdapterId(&self) -> ::windows_core::Result<super::super::super::Graphics::DisplayAdapterId> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).AdapterId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SourceId(&self) -> ::windows_core::Result<u32> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).SourceId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Storage_Streams\"`"]
#[cfg(feature = "Storage_Streams")]
pub fn GetMetadata(&self, key: ::windows_core::GUID) -> ::windows_core::Result<super::super::super::Storage::Streams::IBuffer> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetMetadata)(::windows_core::Interface::as_raw(this), key, &mut result__).from_abi(result__)
}
}
pub fn Status(&self) -> ::windows_core::Result<DisplaySourceStatus> {
let this = &::windows_core::ComInterface::cast::<IDisplaySource2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn StatusChanged<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::super::Foundation::EventRegistrationToken>
where
P0: ::windows_core::IntoParam<super::super::super::Foundation::TypedEventHandler<DisplaySource, ::windows_core::IInspectable>>,
{
let this = &::windows_core::ComInterface::cast::<IDisplaySource2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).StatusChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`"]
#[cfg(feature = "Foundation")]
pub fn RemoveStatusChanged(&self, token: super::super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> {
let this = &::windows_core::ComInterface::cast::<IDisplaySource2>(self)?;
unsafe { (::windows_core::Interface::vtable(this).RemoveStatusChanged)(::windows_core::Interface::as_raw(this), token).ok() }
}
}
impl ::windows_core::RuntimeType for DisplaySource {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplaySource;{ecd15fc1-eadc-51bc-971d-3bc628db2dd4})");
}
unsafe impl ::windows_core::Interface for DisplaySource {
type Vtable = IDisplaySource_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplaySource {
const IID: ::windows_core::GUID = <IDisplaySource as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplaySource {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplaySource";
}
::windows_core::imp::interface_hierarchy!(DisplaySource, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplaySource {}
unsafe impl ::core::marker::Sync for DisplaySource {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayState(::windows_core::IUnknown);
impl DisplayState {
pub fn IsReadOnly(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsStale(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsStale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn Targets(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<DisplayTarget>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Targets)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn Views(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<DisplayView>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Views)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn Properties(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IMap<::windows_core::GUID, ::windows_core::IInspectable>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn ConnectTarget<P0>(&self, target: P0) -> ::windows_core::Result<DisplayPath>
where
P0: ::windows_core::IntoParam<DisplayTarget>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).ConnectTarget)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).from_abi(result__)
}
}
pub fn ConnectTargetToView<P0, P1>(&self, target: P0, view: P1) -> ::windows_core::Result<DisplayPath>
where
P0: ::windows_core::IntoParam<DisplayTarget>,
P1: ::windows_core::IntoParam<DisplayView>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).ConnectTargetToView)(::windows_core::Interface::as_raw(this), target.into_param().abi(), view.into_param().abi(), &mut result__).from_abi(result__)
}
}
pub fn CanConnectTargetToView<P0, P1>(&self, target: P0, view: P1) -> ::windows_core::Result<bool>
where
P0: ::windows_core::IntoParam<DisplayTarget>,
P1: ::windows_core::IntoParam<DisplayView>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CanConnectTargetToView)(::windows_core::Interface::as_raw(this), target.into_param().abi(), view.into_param().abi(), &mut result__).from_abi(result__)
}
}
pub fn GetViewForTarget<P0>(&self, target: P0) -> ::windows_core::Result<DisplayView>
where
P0: ::windows_core::IntoParam<DisplayTarget>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetViewForTarget)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).from_abi(result__)
}
}
pub fn GetPathForTarget<P0>(&self, target: P0) -> ::windows_core::Result<DisplayPath>
where
P0: ::windows_core::IntoParam<DisplayTarget>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).GetPathForTarget)(::windows_core::Interface::as_raw(this), target.into_param().abi(), &mut result__).from_abi(result__)
}
}
pub fn DisconnectTarget<P0>(&self, target: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<DisplayTarget>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).DisconnectTarget)(::windows_core::Interface::as_raw(this), target.into_param().abi()).ok() }
}
pub fn TryFunctionalize(&self, options: DisplayStateFunctionalizeOptions) -> ::windows_core::Result<DisplayStateOperationResult> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).TryFunctionalize)(::windows_core::Interface::as_raw(this), options, &mut result__).from_abi(result__)
}
}
pub fn TryApply(&self, options: DisplayStateApplyOptions) -> ::windows_core::Result<DisplayStateOperationResult> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).TryApply)(::windows_core::Interface::as_raw(this), options, &mut result__).from_abi(result__)
}
}
pub fn Clone(&self) -> ::windows_core::Result<DisplayState> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Clone)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for DisplayState {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayState;{08129321-11b5-5cb2-99f8-e90b479a8a1d})");
}
unsafe impl ::windows_core::Interface for DisplayState {
type Vtable = IDisplayState_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayState {
const IID: ::windows_core::GUID = <IDisplayState as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayState {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayState";
}
::windows_core::imp::interface_hierarchy!(DisplayState, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayState {}
unsafe impl ::core::marker::Sync for DisplayState {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayStateOperationResult(::windows_core::IUnknown);
impl DisplayStateOperationResult {
pub fn Status(&self) -> ::windows_core::Result<DisplayStateOperationStatus> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Status)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn ExtendedErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).ExtendedErrorCode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for DisplayStateOperationResult {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayStateOperationResult;{fcadbfdf-dc27-5638-b7f2-ebdfa4f7ea93})");
}
unsafe impl ::windows_core::Interface for DisplayStateOperationResult {
type Vtable = IDisplayStateOperationResult_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayStateOperationResult {
const IID: ::windows_core::GUID = <IDisplayStateOperationResult as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayStateOperationResult {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayStateOperationResult";
}
::windows_core::imp::interface_hierarchy!(DisplayStateOperationResult, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayStateOperationResult {}
unsafe impl ::core::marker::Sync for DisplayStateOperationResult {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplaySurface(::windows_core::IUnknown);
impl DisplaySurface {}
impl ::windows_core::RuntimeType for DisplaySurface {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplaySurface;{594f6cc6-139a-56d6-a4b1-15fe2cb76adb})");
}
unsafe impl ::windows_core::Interface for DisplaySurface {
type Vtable = IDisplaySurface_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplaySurface {
const IID: ::windows_core::GUID = <IDisplaySurface as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplaySurface {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplaySurface";
}
::windows_core::imp::interface_hierarchy!(DisplaySurface, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplaySurface {}
unsafe impl ::core::marker::Sync for DisplaySurface {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayTarget(::windows_core::IUnknown);
impl DisplayTarget {
pub fn Adapter(&self) -> ::windows_core::Result<DisplayAdapter> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Adapter)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn DeviceInterfacePath(&self) -> ::windows_core::Result<::windows_core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).DeviceInterfacePath)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn AdapterRelativeId(&self) -> ::windows_core::Result<u32> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).AdapterRelativeId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsConnected(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsConnected)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsVirtualModeEnabled(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsVirtualModeEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsVirtualTopologyEnabled(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsVirtualTopologyEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn UsageKind(&self) -> ::windows_core::Result<super::DisplayMonitorUsageKind> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).UsageKind)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn MonitorPersistence(&self) -> ::windows_core::Result<DisplayTargetPersistence> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).MonitorPersistence)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn StableMonitorId(&self) -> ::windows_core::Result<::windows_core::HSTRING> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).StableMonitorId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn TryGetMonitor(&self) -> ::windows_core::Result<super::DisplayMonitor> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).TryGetMonitor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn Properties(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IMapView<::windows_core::GUID, ::windows_core::IInspectable>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsStale(&self) -> ::windows_core::Result<bool> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsStale)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn IsSame<P0>(&self, othertarget: P0) -> ::windows_core::Result<bool>
where
P0: ::windows_core::IntoParam<DisplayTarget>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsSame)(::windows_core::Interface::as_raw(this), othertarget.into_param().abi(), &mut result__).from_abi(result__)
}
}
pub fn IsEqual<P0>(&self, othertarget: P0) -> ::windows_core::Result<bool>
where
P0: ::windows_core::IntoParam<DisplayTarget>,
{
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).IsEqual)(::windows_core::Interface::as_raw(this), othertarget.into_param().abi(), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for DisplayTarget {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayTarget;{aec57c6f-47b4-546b-987c-e73fa791fe3a})");
}
unsafe impl ::windows_core::Interface for DisplayTarget {
type Vtable = IDisplayTarget_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayTarget {
const IID: ::windows_core::GUID = <IDisplayTarget as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayTarget {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayTarget";
}
::windows_core::imp::interface_hierarchy!(DisplayTarget, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayTarget {}
unsafe impl ::core::marker::Sync for DisplayTarget {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayTask(::windows_core::IUnknown);
impl DisplayTask {
pub fn SetScanout<P0>(&self, scanout: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<DisplayScanout>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetScanout)(::windows_core::Interface::as_raw(this), scanout.into_param().abi()).ok() }
}
pub fn SetWait<P0>(&self, readyfence: P0, readyfencevalue: u64) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<DisplayFence>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetWait)(::windows_core::Interface::as_raw(this), readyfence.into_param().abi(), readyfencevalue).ok() }
}
pub fn SetSignal<P0>(&self, signalkind: DisplayTaskSignalKind, fence: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<DisplayFence>,
{
let this = &::windows_core::ComInterface::cast::<IDisplayTask2>(self)?;
unsafe { (::windows_core::Interface::vtable(this).SetSignal)(::windows_core::Interface::as_raw(this), signalkind, fence.into_param().abi()).ok() }
}
}
impl ::windows_core::RuntimeType for DisplayTask {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayTask;{5e087448-135b-5bb0-bf63-637f84227c7a})");
}
unsafe impl ::windows_core::Interface for DisplayTask {
type Vtable = IDisplayTask_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayTask {
const IID: ::windows_core::GUID = <IDisplayTask as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayTask {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayTask";
}
::windows_core::imp::interface_hierarchy!(DisplayTask, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayTask {}
unsafe impl ::core::marker::Sync for DisplayTask {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayTaskPool(::windows_core::IUnknown);
impl DisplayTaskPool {
pub fn CreateTask(&self) -> ::windows_core::Result<DisplayTask> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreateTask)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"deprecated\"`"]
#[cfg(feature = "deprecated")]
pub fn ExecuteTask<P0>(&self, task: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<DisplayTask>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).ExecuteTask)(::windows_core::Interface::as_raw(this), task.into_param().abi()).ok() }
}
pub fn TryExecuteTask<P0>(&self, task: P0) -> ::windows_core::Result<DisplayTaskResult>
where
P0: ::windows_core::IntoParam<DisplayTask>,
{
let this = &::windows_core::ComInterface::cast::<IDisplayTaskPool2>(self)?;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).TryExecuteTask)(::windows_core::Interface::as_raw(this), task.into_param().abi(), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for DisplayTaskPool {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayTaskPool;{c676253d-237d-5548-aafa-3e517fefef1c})");
}
unsafe impl ::windows_core::Interface for DisplayTaskPool {
type Vtable = IDisplayTaskPool_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayTaskPool {
const IID: ::windows_core::GUID = <IDisplayTaskPool as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayTaskPool {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayTaskPool";
}
::windows_core::imp::interface_hierarchy!(DisplayTaskPool, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayTaskPool {}
unsafe impl ::core::marker::Sync for DisplayTaskPool {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayTaskResult(::windows_core::IUnknown);
impl DisplayTaskResult {
pub fn PresentStatus(&self) -> ::windows_core::Result<DisplayPresentStatus> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PresentStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn PresentId(&self) -> ::windows_core::Result<u64> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PresentId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn SourceStatus(&self) -> ::windows_core::Result<DisplaySourceStatus> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).SourceStatus)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for DisplayTaskResult {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayTaskResult;{6fbc7d67-f9b1-55e0-9d88-d3a5197a3f59})");
}
unsafe impl ::windows_core::Interface for DisplayTaskResult {
type Vtable = IDisplayTaskResult_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayTaskResult {
const IID: ::windows_core::GUID = <IDisplayTaskResult as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayTaskResult {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayTaskResult";
}
::windows_core::imp::interface_hierarchy!(DisplayTaskResult, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayTaskResult {}
unsafe impl ::core::marker::Sync for DisplayTaskResult {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayView(::windows_core::IUnknown);
impl DisplayView {
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn Paths(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IVectorView<DisplayPath>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Paths)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`, `\"Graphics\"`"]
#[cfg(all(feature = "Foundation", feature = "Graphics"))]
pub fn ContentResolution(&self) -> ::windows_core::Result<super::super::super::Foundation::IReference<super::super::super::Graphics::SizeInt32>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).ContentResolution)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation\"`, `\"Graphics\"`"]
#[cfg(all(feature = "Foundation", feature = "Graphics"))]
pub fn SetContentResolution<P0>(&self, value: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::IReference<super::super::super::Graphics::SizeInt32>>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetContentResolution)(::windows_core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
}
pub fn SetPrimaryPath<P0>(&self, path: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<DisplayPath>,
{
let this = self;
unsafe { (::windows_core::Interface::vtable(this).SetPrimaryPath)(::windows_core::Interface::as_raw(this), path.into_param().abi()).ok() }
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn Properties(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IMap<::windows_core::GUID, ::windows_core::IInspectable>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
}
impl ::windows_core::RuntimeType for DisplayView {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayView;{b0c98ca1-b759-5b59-b1ad-f0786aa9e53d})");
}
unsafe impl ::windows_core::Interface for DisplayView {
type Vtable = IDisplayView_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayView {
const IID: ::windows_core::GUID = <IDisplayView as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayView {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayView";
}
::windows_core::imp::interface_hierarchy!(DisplayView, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayView {}
unsafe impl ::core::marker::Sync for DisplayView {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
pub struct DisplayWireFormat(::windows_core::IUnknown);
impl DisplayWireFormat {
pub fn PixelEncoding(&self) -> ::windows_core::Result<DisplayWireFormatPixelEncoding> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).PixelEncoding)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn BitsPerChannel(&self) -> ::windows_core::Result<i32> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).BitsPerChannel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn ColorSpace(&self) -> ::windows_core::Result<DisplayWireFormatColorSpace> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).ColorSpace)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn Eotf(&self) -> ::windows_core::Result<DisplayWireFormatEotf> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Eotf)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn HdrMetadata(&self) -> ::windows_core::Result<DisplayWireFormatHdrMetadata> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).HdrMetadata)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn Properties(&self) -> ::windows_core::Result<super::super::super::Foundation::Collections::IMapView<::windows_core::GUID, ::windows_core::IInspectable>> {
let this = self;
unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__)
}
}
pub fn CreateInstance(pixelencoding: DisplayWireFormatPixelEncoding, bitsperchannel: i32, colorspace: DisplayWireFormatColorSpace, eotf: DisplayWireFormatEotf, hdrmetadata: DisplayWireFormatHdrMetadata) -> ::windows_core::Result<DisplayWireFormat> {
Self::IDisplayWireFormatFactory(|this| unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreateInstance)(::windows_core::Interface::as_raw(this), pixelencoding, bitsperchannel, colorspace, eotf, hdrmetadata, &mut result__).from_abi(result__)
})
}
#[doc = "Required features: `\"Foundation_Collections\"`"]
#[cfg(feature = "Foundation_Collections")]
pub fn CreateWithProperties<P0>(extraproperties: P0, pixelencoding: DisplayWireFormatPixelEncoding, bitsperchannel: i32, colorspace: DisplayWireFormatColorSpace, eotf: DisplayWireFormatEotf, hdrmetadata: DisplayWireFormatHdrMetadata) -> ::windows_core::Result<DisplayWireFormat>
where
P0: ::windows_core::TryIntoParam<super::super::super::Foundation::Collections::IIterable<super::super::super::Foundation::Collections::IKeyValuePair<::windows_core::GUID, ::windows_core::IInspectable>>>,
{
Self::IDisplayWireFormatStatics(|this| unsafe {
let mut result__ = ::std::mem::zeroed();
(::windows_core::Interface::vtable(this).CreateWithProperties)(::windows_core::Interface::as_raw(this), extraproperties.try_into_param()?.abi(), pixelencoding, bitsperchannel, colorspace, eotf, hdrmetadata, &mut result__).from_abi(result__)
})
}
#[doc(hidden)]
pub fn IDisplayWireFormatFactory<R, F: FnOnce(&IDisplayWireFormatFactory) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> {
static SHARED: ::windows_core::imp::FactoryCache<DisplayWireFormat, IDisplayWireFormatFactory> = ::windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
#[doc(hidden)]
pub fn IDisplayWireFormatStatics<R, F: FnOnce(&IDisplayWireFormatStatics) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> {
static SHARED: ::windows_core::imp::FactoryCache<DisplayWireFormat, IDisplayWireFormatStatics> = ::windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl ::windows_core::RuntimeType for DisplayWireFormat {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Devices.Display.Core.DisplayWireFormat;{1acc967d-872c-5a38-bbb9-1d4872b76255})");
}
unsafe impl ::windows_core::Interface for DisplayWireFormat {
type Vtable = IDisplayWireFormat_Vtbl;
}
unsafe impl ::windows_core::ComInterface for DisplayWireFormat {
const IID: ::windows_core::GUID = <IDisplayWireFormat as ::windows_core::ComInterface>::IID;
}
impl ::windows_core::RuntimeName for DisplayWireFormat {
const NAME: &'static str = "Windows.Devices.Display.Core.DisplayWireFormat";
}
::windows_core::imp::interface_hierarchy!(DisplayWireFormat, ::windows_core::IUnknown, ::windows_core::IInspectable);
unsafe impl ::core::marker::Send for DisplayWireFormat {}
unsafe impl ::core::marker::Sync for DisplayWireFormat {}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayBitsPerChannel(pub u32);
impl DisplayBitsPerChannel {
pub const None: Self = Self(0u32);
pub const Bpc6: Self = Self(1u32);
pub const Bpc8: Self = Self(2u32);
pub const Bpc10: Self = Self(4u32);
pub const Bpc12: Self = Self(8u32);
pub const Bpc14: Self = Self(16u32);
pub const Bpc16: Self = Self(32u32);
}
impl ::core::marker::Copy for DisplayBitsPerChannel {}
impl ::core::clone::Clone for DisplayBitsPerChannel {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayBitsPerChannel {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayBitsPerChannel {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayBitsPerChannel {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayBitsPerChannel").field(&self.0).finish()
}
}
impl DisplayBitsPerChannel {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl ::core::ops::BitOr for DisplayBitsPerChannel {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for DisplayBitsPerChannel {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for DisplayBitsPerChannel {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for DisplayBitsPerChannel {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for DisplayBitsPerChannel {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
impl ::windows_core::RuntimeType for DisplayBitsPerChannel {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayBitsPerChannel;u4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayDeviceCapability(pub i32);
impl DisplayDeviceCapability {
pub const FlipOverride: Self = Self(0i32);
}
impl ::core::marker::Copy for DisplayDeviceCapability {}
impl ::core::clone::Clone for DisplayDeviceCapability {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayDeviceCapability {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayDeviceCapability {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayDeviceCapability {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayDeviceCapability").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for DisplayDeviceCapability {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayDeviceCapability;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayManagerOptions(pub u32);
impl DisplayManagerOptions {
pub const None: Self = Self(0u32);
pub const EnforceSourceOwnership: Self = Self(1u32);
pub const VirtualRefreshRateAware: Self = Self(2u32);
}
impl ::core::marker::Copy for DisplayManagerOptions {}
impl ::core::clone::Clone for DisplayManagerOptions {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayManagerOptions {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayManagerOptions {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayManagerOptions {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayManagerOptions").field(&self.0).finish()
}
}
impl DisplayManagerOptions {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl ::core::ops::BitOr for DisplayManagerOptions {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for DisplayManagerOptions {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for DisplayManagerOptions {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for DisplayManagerOptions {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for DisplayManagerOptions {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
impl ::windows_core::RuntimeType for DisplayManagerOptions {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayManagerOptions;u4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayManagerResult(pub i32);
impl DisplayManagerResult {
pub const Success: Self = Self(0i32);
pub const UnknownFailure: Self = Self(1i32);
pub const TargetAccessDenied: Self = Self(2i32);
pub const TargetStale: Self = Self(3i32);
pub const RemoteSessionNotSupported: Self = Self(4i32);
}
impl ::core::marker::Copy for DisplayManagerResult {}
impl ::core::clone::Clone for DisplayManagerResult {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayManagerResult {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayManagerResult {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayManagerResult {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayManagerResult").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for DisplayManagerResult {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayManagerResult;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayModeQueryOptions(pub u32);
impl DisplayModeQueryOptions {
pub const None: Self = Self(0u32);
pub const OnlyPreferredResolution: Self = Self(1u32);
}
impl ::core::marker::Copy for DisplayModeQueryOptions {}
impl ::core::clone::Clone for DisplayModeQueryOptions {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayModeQueryOptions {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayModeQueryOptions {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayModeQueryOptions {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayModeQueryOptions").field(&self.0).finish()
}
}
impl DisplayModeQueryOptions {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl ::core::ops::BitOr for DisplayModeQueryOptions {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for DisplayModeQueryOptions {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for DisplayModeQueryOptions {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for DisplayModeQueryOptions {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for DisplayModeQueryOptions {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
impl ::windows_core::RuntimeType for DisplayModeQueryOptions {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayModeQueryOptions;u4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayPathScaling(pub i32);
impl DisplayPathScaling {
pub const Identity: Self = Self(0i32);
pub const Centered: Self = Self(1i32);
pub const Stretched: Self = Self(2i32);
pub const AspectRatioStretched: Self = Self(3i32);
pub const Custom: Self = Self(4i32);
pub const DriverPreferred: Self = Self(5i32);
}
impl ::core::marker::Copy for DisplayPathScaling {}
impl ::core::clone::Clone for DisplayPathScaling {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayPathScaling {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayPathScaling {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayPathScaling {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayPathScaling").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for DisplayPathScaling {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayPathScaling;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayPathStatus(pub i32);
impl DisplayPathStatus {
pub const Unknown: Self = Self(0i32);
pub const Succeeded: Self = Self(1i32);
pub const Pending: Self = Self(2i32);
pub const Failed: Self = Self(3i32);
pub const FailedAsync: Self = Self(4i32);
pub const InvalidatedAsync: Self = Self(5i32);
}
impl ::core::marker::Copy for DisplayPathStatus {}
impl ::core::clone::Clone for DisplayPathStatus {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayPathStatus {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayPathStatus {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayPathStatus {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayPathStatus").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for DisplayPathStatus {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayPathStatus;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayPresentStatus(pub i32);
impl DisplayPresentStatus {
pub const Success: Self = Self(0i32);
pub const SourceStatusPreventedPresent: Self = Self(1i32);
pub const ScanoutInvalid: Self = Self(2i32);
pub const SourceInvalid: Self = Self(3i32);
pub const DeviceInvalid: Self = Self(4i32);
pub const UnknownFailure: Self = Self(5i32);
}
impl ::core::marker::Copy for DisplayPresentStatus {}
impl ::core::clone::Clone for DisplayPresentStatus {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayPresentStatus {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayPresentStatus {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayPresentStatus {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayPresentStatus").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for DisplayPresentStatus {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayPresentStatus;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayRotation(pub i32);
impl DisplayRotation {
pub const None: Self = Self(0i32);
pub const Clockwise90Degrees: Self = Self(1i32);
pub const Clockwise180Degrees: Self = Self(2i32);
pub const Clockwise270Degrees: Self = Self(3i32);
}
impl ::core::marker::Copy for DisplayRotation {}
impl ::core::clone::Clone for DisplayRotation {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayRotation {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayRotation {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayRotation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayRotation").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for DisplayRotation {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayRotation;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayScanoutOptions(pub u32);
impl DisplayScanoutOptions {
pub const None: Self = Self(0u32);
pub const AllowTearing: Self = Self(2u32);
}
impl ::core::marker::Copy for DisplayScanoutOptions {}
impl ::core::clone::Clone for DisplayScanoutOptions {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayScanoutOptions {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayScanoutOptions {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayScanoutOptions {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayScanoutOptions").field(&self.0).finish()
}
}
impl DisplayScanoutOptions {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl ::core::ops::BitOr for DisplayScanoutOptions {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for DisplayScanoutOptions {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for DisplayScanoutOptions {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for DisplayScanoutOptions {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for DisplayScanoutOptions {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
impl ::windows_core::RuntimeType for DisplayScanoutOptions {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayScanoutOptions;u4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplaySourceStatus(pub i32);
impl DisplaySourceStatus {
pub const Active: Self = Self(0i32);
pub const PoweredOff: Self = Self(1i32);
pub const Invalid: Self = Self(2i32);
pub const OwnedByAnotherDevice: Self = Self(3i32);
pub const Unowned: Self = Self(4i32);
}
impl ::core::marker::Copy for DisplaySourceStatus {}
impl ::core::clone::Clone for DisplaySourceStatus {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplaySourceStatus {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplaySourceStatus {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplaySourceStatus {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplaySourceStatus").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for DisplaySourceStatus {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplaySourceStatus;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayStateApplyOptions(pub u32);
impl DisplayStateApplyOptions {
pub const None: Self = Self(0u32);
pub const FailIfStateChanged: Self = Self(1u32);
pub const ForceReapply: Self = Self(2u32);
pub const ForceModeEnumeration: Self = Self(4u32);
}
impl ::core::marker::Copy for DisplayStateApplyOptions {}
impl ::core::clone::Clone for DisplayStateApplyOptions {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayStateApplyOptions {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayStateApplyOptions {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayStateApplyOptions {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayStateApplyOptions").field(&self.0).finish()
}
}
impl DisplayStateApplyOptions {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl ::core::ops::BitOr for DisplayStateApplyOptions {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for DisplayStateApplyOptions {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for DisplayStateApplyOptions {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for DisplayStateApplyOptions {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for DisplayStateApplyOptions {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
impl ::windows_core::RuntimeType for DisplayStateApplyOptions {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayStateApplyOptions;u4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayStateFunctionalizeOptions(pub u32);
impl DisplayStateFunctionalizeOptions {
pub const None: Self = Self(0u32);
pub const FailIfStateChanged: Self = Self(1u32);
pub const ValidateTopologyOnly: Self = Self(2u32);
}
impl ::core::marker::Copy for DisplayStateFunctionalizeOptions {}
impl ::core::clone::Clone for DisplayStateFunctionalizeOptions {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayStateFunctionalizeOptions {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayStateFunctionalizeOptions {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayStateFunctionalizeOptions {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayStateFunctionalizeOptions").field(&self.0).finish()
}
}
impl DisplayStateFunctionalizeOptions {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl ::core::ops::BitOr for DisplayStateFunctionalizeOptions {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for DisplayStateFunctionalizeOptions {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for DisplayStateFunctionalizeOptions {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for DisplayStateFunctionalizeOptions {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for DisplayStateFunctionalizeOptions {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
impl ::windows_core::RuntimeType for DisplayStateFunctionalizeOptions {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayStateFunctionalizeOptions;u4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayStateOperationStatus(pub i32);
impl DisplayStateOperationStatus {
pub const Success: Self = Self(0i32);
pub const PartialFailure: Self = Self(1i32);
pub const UnknownFailure: Self = Self(2i32);
pub const TargetOwnershipLost: Self = Self(3i32);
pub const SystemStateChanged: Self = Self(4i32);
pub const TooManyPathsForAdapter: Self = Self(5i32);
pub const ModesNotSupported: Self = Self(6i32);
pub const RemoteSessionNotSupported: Self = Self(7i32);
}
impl ::core::marker::Copy for DisplayStateOperationStatus {}
impl ::core::clone::Clone for DisplayStateOperationStatus {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayStateOperationStatus {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayStateOperationStatus {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayStateOperationStatus {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayStateOperationStatus").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for DisplayStateOperationStatus {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayStateOperationStatus;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayTargetPersistence(pub i32);
impl DisplayTargetPersistence {
pub const None: Self = Self(0i32);
pub const BootPersisted: Self = Self(1i32);
pub const TemporaryPersisted: Self = Self(2i32);
pub const PathPersisted: Self = Self(3i32);
}
impl ::core::marker::Copy for DisplayTargetPersistence {}
impl ::core::clone::Clone for DisplayTargetPersistence {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayTargetPersistence {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayTargetPersistence {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayTargetPersistence {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayTargetPersistence").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for DisplayTargetPersistence {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayTargetPersistence;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayTaskSignalKind(pub i32);
impl DisplayTaskSignalKind {
pub const OnPresentFlipAway: Self = Self(0i32);
pub const OnPresentFlipTo: Self = Self(1i32);
}
impl ::core::marker::Copy for DisplayTaskSignalKind {}
impl ::core::clone::Clone for DisplayTaskSignalKind {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayTaskSignalKind {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayTaskSignalKind {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayTaskSignalKind {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayTaskSignalKind").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for DisplayTaskSignalKind {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayTaskSignalKind;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayWireFormatColorSpace(pub i32);
impl DisplayWireFormatColorSpace {
pub const BT709: Self = Self(0i32);
pub const BT2020: Self = Self(1i32);
pub const ProfileDefinedWideColorGamut: Self = Self(2i32);
}
impl ::core::marker::Copy for DisplayWireFormatColorSpace {}
impl ::core::clone::Clone for DisplayWireFormatColorSpace {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayWireFormatColorSpace {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayWireFormatColorSpace {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayWireFormatColorSpace {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayWireFormatColorSpace").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for DisplayWireFormatColorSpace {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayWireFormatColorSpace;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayWireFormatEotf(pub i32);
impl DisplayWireFormatEotf {
pub const Sdr: Self = Self(0i32);
pub const HdrSmpte2084: Self = Self(1i32);
}
impl ::core::marker::Copy for DisplayWireFormatEotf {}
impl ::core::clone::Clone for DisplayWireFormatEotf {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayWireFormatEotf {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayWireFormatEotf {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayWireFormatEotf {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayWireFormatEotf").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for DisplayWireFormatEotf {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayWireFormatEotf;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayWireFormatHdrMetadata(pub i32);
impl DisplayWireFormatHdrMetadata {
pub const None: Self = Self(0i32);
pub const Hdr10: Self = Self(1i32);
pub const Hdr10Plus: Self = Self(2i32);
pub const DolbyVisionLowLatency: Self = Self(3i32);
}
impl ::core::marker::Copy for DisplayWireFormatHdrMetadata {}
impl ::core::clone::Clone for DisplayWireFormatHdrMetadata {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayWireFormatHdrMetadata {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayWireFormatHdrMetadata {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayWireFormatHdrMetadata {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayWireFormatHdrMetadata").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for DisplayWireFormatHdrMetadata {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayWireFormatHdrMetadata;i4)");
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DisplayWireFormatPixelEncoding(pub i32);
impl DisplayWireFormatPixelEncoding {
pub const Rgb444: Self = Self(0i32);
pub const Ycc444: Self = Self(1i32);
pub const Ycc422: Self = Self(2i32);
pub const Ycc420: Self = Self(3i32);
pub const Intensity: Self = Self(4i32);
}
impl ::core::marker::Copy for DisplayWireFormatPixelEncoding {}
impl ::core::clone::Clone for DisplayWireFormatPixelEncoding {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DisplayWireFormatPixelEncoding {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for DisplayWireFormatPixelEncoding {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for DisplayWireFormatPixelEncoding {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DisplayWireFormatPixelEncoding").field(&self.0).finish()
}
}
impl ::windows_core::RuntimeType for DisplayWireFormatPixelEncoding {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Devices.Display.Core.DisplayWireFormatPixelEncoding;i4)");
}
#[repr(C)]
#[doc = "Required features: `\"Foundation_Numerics\"`"]
#[cfg(feature = "Foundation_Numerics")]
pub struct DisplayPresentationRate {
pub VerticalSyncRate: super::super::super::Foundation::Numerics::Rational,
pub VerticalSyncsPerPresentation: i32,
}
#[cfg(feature = "Foundation_Numerics")]
impl ::core::marker::Copy for DisplayPresentationRate {}
#[cfg(feature = "Foundation_Numerics")]
impl ::core::clone::Clone for DisplayPresentationRate {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Foundation_Numerics")]
impl ::core::fmt::Debug for DisplayPresentationRate {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DisplayPresentationRate").field("VerticalSyncRate", &self.VerticalSyncRate).field("VerticalSyncsPerPresentation", &self.VerticalSyncsPerPresentation).finish()
}
}
#[cfg(feature = "Foundation_Numerics")]
impl ::windows_core::TypeKind for DisplayPresentationRate {
type TypeKind = ::windows_core::CopyType;
}
#[cfg(feature = "Foundation_Numerics")]
impl ::windows_core::RuntimeType for DisplayPresentationRate {
const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"struct(Windows.Devices.Display.Core.DisplayPresentationRate;struct(Windows.Foundation.Numerics.Rational;u4;u4);i4)");
}
#[cfg(feature = "Foundation_Numerics")]
impl ::core::cmp::PartialEq for DisplayPresentationRate {
fn eq(&self, other: &Self) -> bool {
self.VerticalSyncRate == other.VerticalSyncRate && self.VerticalSyncsPerPresentation == other.VerticalSyncsPerPresentation
}
}
#[cfg(feature = "Foundation_Numerics")]
impl ::core::cmp::Eq for DisplayPresentationRate {}
#[cfg(feature = "Foundation_Numerics")]
impl ::core::default::Default for DisplayPresentationRate {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}