blob: d41d0a6bc0482db99dca105d02f14d4f71786882 [file] [log] [blame]
#[cfg(feature = "Win32_Media_DirectShow_Tv")]
pub mod Tv;
#[cfg(feature = "Win32_Media_DirectShow_Xml")]
pub mod Xml;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[inline]
pub unsafe fn AMGetErrorTextA(hr: ::windows::core::HRESULT, pbuffer: &mut [u8]) -> u32 {
::windows_targets::link ! ( "quartz.dll""system" fn AMGetErrorTextA ( hr : ::windows::core::HRESULT , pbuffer : ::windows::core::PSTR , maxlen : u32 ) -> u32 );
AMGetErrorTextA(hr, ::core::mem::transmute(pbuffer.as_ptr()), pbuffer.len() as _)
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[inline]
pub unsafe fn AMGetErrorTextW(hr: ::windows::core::HRESULT, pbuffer: &mut [u16]) -> u32 {
::windows_targets::link ! ( "quartz.dll""system" fn AMGetErrorTextW ( hr : ::windows::core::HRESULT , pbuffer : ::windows::core::PWSTR , maxlen : u32 ) -> u32 );
AMGetErrorTextW(hr, ::core::mem::transmute(pbuffer.as_ptr()), pbuffer.len() as _)
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMAnalogVideoDecoder(::windows::core::IUnknown);
impl IAMAnalogVideoDecoder {
pub unsafe fn AvailableTVFormats(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).AvailableTVFormats)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetTVFormat(&self, lanalogvideostandard: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTVFormat)(::windows::core::Interface::as_raw(self), lanalogvideostandard).ok()
}
pub unsafe fn TVFormat(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).TVFormat)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn HorizontalLocked(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).HorizontalLocked)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetVCRHorizontalLocking(&self, lvcrhorizontallocking: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetVCRHorizontalLocking)(::windows::core::Interface::as_raw(self), lvcrhorizontallocking).ok()
}
pub unsafe fn VCRHorizontalLocking(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).VCRHorizontalLocking)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn NumberOfLines(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).NumberOfLines)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetOutputEnable(&self, loutputenable: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetOutputEnable)(::windows::core::Interface::as_raw(self), loutputenable).ok()
}
pub unsafe fn OutputEnable(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).OutputEnable)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IAMAnalogVideoDecoder, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMAnalogVideoDecoder {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMAnalogVideoDecoder {}
impl ::core::fmt::Debug for IAMAnalogVideoDecoder {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMAnalogVideoDecoder").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMAnalogVideoDecoder {
type Vtable = IAMAnalogVideoDecoder_Vtbl;
}
impl ::core::clone::Clone for IAMAnalogVideoDecoder {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMAnalogVideoDecoder {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc6e13350_30ac_11d0_a18c_00a0c9118956);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMAnalogVideoDecoder_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub AvailableTVFormats: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lanalogvideostandard: *mut i32) -> ::windows::core::HRESULT,
pub SetTVFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lanalogvideostandard: i32) -> ::windows::core::HRESULT,
pub TVFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, planalogvideostandard: *mut i32) -> ::windows::core::HRESULT,
pub HorizontalLocked: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pllocked: *mut i32) -> ::windows::core::HRESULT,
pub SetVCRHorizontalLocking: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lvcrhorizontallocking: i32) -> ::windows::core::HRESULT,
pub VCRHorizontalLocking: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plvcrhorizontallocking: *mut i32) -> ::windows::core::HRESULT,
pub NumberOfLines: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plnumberoflines: *mut i32) -> ::windows::core::HRESULT,
pub SetOutputEnable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, loutputenable: i32) -> ::windows::core::HRESULT,
pub OutputEnable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ploutputenable: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMAnalogVideoEncoder(::windows::core::IUnknown);
impl IAMAnalogVideoEncoder {
pub unsafe fn AvailableTVFormats(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).AvailableTVFormats)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetTVFormat(&self, lanalogvideostandard: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTVFormat)(::windows::core::Interface::as_raw(self), lanalogvideostandard).ok()
}
pub unsafe fn TVFormat(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).TVFormat)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetCopyProtection(&self, lvideocopyprotection: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetCopyProtection)(::windows::core::Interface::as_raw(self), lvideocopyprotection).ok()
}
pub unsafe fn CopyProtection(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).CopyProtection)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetCCEnable(&self, lccenable: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetCCEnable)(::windows::core::Interface::as_raw(self), lccenable).ok()
}
pub unsafe fn CCEnable(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).CCEnable)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IAMAnalogVideoEncoder, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMAnalogVideoEncoder {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMAnalogVideoEncoder {}
impl ::core::fmt::Debug for IAMAnalogVideoEncoder {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMAnalogVideoEncoder").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMAnalogVideoEncoder {
type Vtable = IAMAnalogVideoEncoder_Vtbl;
}
impl ::core::clone::Clone for IAMAnalogVideoEncoder {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMAnalogVideoEncoder {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc6e133b0_30ac_11d0_a18c_00a0c9118956);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMAnalogVideoEncoder_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub AvailableTVFormats: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lanalogvideostandard: *mut i32) -> ::windows::core::HRESULT,
pub SetTVFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lanalogvideostandard: i32) -> ::windows::core::HRESULT,
pub TVFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, planalogvideostandard: *mut i32) -> ::windows::core::HRESULT,
pub SetCopyProtection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lvideocopyprotection: i32) -> ::windows::core::HRESULT,
pub CopyProtection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lvideocopyprotection: *mut i32) -> ::windows::core::HRESULT,
pub SetCCEnable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lccenable: i32) -> ::windows::core::HRESULT,
pub CCEnable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lccenable: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMAsyncReaderTimestampScaling(::windows::core::IUnknown);
impl IAMAsyncReaderTimestampScaling {
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetTimestampMode(&self) -> ::windows::core::Result<super::super::Foundation::BOOL> {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::BOOL>();
(::windows::core::Interface::vtable(self).GetTimestampMode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetTimestampMode<P0>(&self, fraw: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetTimestampMode)(::windows::core::Interface::as_raw(self), fraw.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IAMAsyncReaderTimestampScaling, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMAsyncReaderTimestampScaling {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMAsyncReaderTimestampScaling {}
impl ::core::fmt::Debug for IAMAsyncReaderTimestampScaling {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMAsyncReaderTimestampScaling").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMAsyncReaderTimestampScaling {
type Vtable = IAMAsyncReaderTimestampScaling_Vtbl;
}
impl ::core::clone::Clone for IAMAsyncReaderTimestampScaling {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMAsyncReaderTimestampScaling {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xcf7b26fc_9a00_485b_8147_3e789d5e8f67);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMAsyncReaderTimestampScaling_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Foundation")]
pub GetTimestampMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfraw: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetTimestampMode: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetTimestampMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fraw: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetTimestampMode: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMAudioInputMixer(::windows::core::IUnknown);
impl IAMAudioInputMixer {
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetEnable<P0>(&self, fenable: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetEnable)(::windows::core::Interface::as_raw(self), fenable.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn Enable(&self) -> ::windows::core::Result<super::super::Foundation::BOOL> {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::BOOL>();
(::windows::core::Interface::vtable(self).Enable)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetMono<P0>(&self, fmono: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetMono)(::windows::core::Interface::as_raw(self), fmono.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn Mono(&self) -> ::windows::core::Result<super::super::Foundation::BOOL> {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::BOOL>();
(::windows::core::Interface::vtable(self).Mono)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetMixLevel(&self, level: f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMixLevel)(::windows::core::Interface::as_raw(self), level).ok()
}
pub unsafe fn MixLevel(&self) -> ::windows::core::Result<f64> {
let mut result__ = ::windows::core::zeroed::<f64>();
(::windows::core::Interface::vtable(self).MixLevel)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetPan(&self, pan: f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetPan)(::windows::core::Interface::as_raw(self), pan).ok()
}
pub unsafe fn Pan(&self) -> ::windows::core::Result<f64> {
let mut result__ = ::windows::core::zeroed::<f64>();
(::windows::core::Interface::vtable(self).Pan)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetLoudness<P0>(&self, floudness: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetLoudness)(::windows::core::Interface::as_raw(self), floudness.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn Loudness(&self) -> ::windows::core::Result<super::super::Foundation::BOOL> {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::BOOL>();
(::windows::core::Interface::vtable(self).Loudness)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetTreble(&self, treble: f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTreble)(::windows::core::Interface::as_raw(self), treble).ok()
}
pub unsafe fn Treble(&self) -> ::windows::core::Result<f64> {
let mut result__ = ::windows::core::zeroed::<f64>();
(::windows::core::Interface::vtable(self).Treble)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn TrebleRange(&self) -> ::windows::core::Result<f64> {
let mut result__ = ::windows::core::zeroed::<f64>();
(::windows::core::Interface::vtable(self).TrebleRange)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetBass(&self, bass: f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetBass)(::windows::core::Interface::as_raw(self), bass).ok()
}
pub unsafe fn Bass(&self) -> ::windows::core::Result<f64> {
let mut result__ = ::windows::core::zeroed::<f64>();
(::windows::core::Interface::vtable(self).Bass)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn BassRange(&self) -> ::windows::core::Result<f64> {
let mut result__ = ::windows::core::zeroed::<f64>();
(::windows::core::Interface::vtable(self).BassRange)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IAMAudioInputMixer, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMAudioInputMixer {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMAudioInputMixer {}
impl ::core::fmt::Debug for IAMAudioInputMixer {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMAudioInputMixer").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMAudioInputMixer {
type Vtable = IAMAudioInputMixer_Vtbl;
}
impl ::core::clone::Clone for IAMAudioInputMixer {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMAudioInputMixer {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x54c39221_8380_11d0_b3f0_00aa003761c5);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMAudioInputMixer_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Foundation")]
pub SetEnable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fenable: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetEnable: usize,
#[cfg(feature = "Win32_Foundation")]
pub Enable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfenable: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
Enable: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetMono: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fmono: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetMono: usize,
#[cfg(feature = "Win32_Foundation")]
pub Mono: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfmono: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
Mono: usize,
pub SetMixLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, level: f64) -> ::windows::core::HRESULT,
pub MixLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plevel: *mut f64) -> ::windows::core::HRESULT,
pub SetPan: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pan: f64) -> ::windows::core::HRESULT,
pub Pan: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppan: *mut f64) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetLoudness: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, floudness: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetLoudness: usize,
#[cfg(feature = "Win32_Foundation")]
pub Loudness: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfloudness: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
Loudness: usize,
pub SetTreble: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, treble: f64) -> ::windows::core::HRESULT,
pub Treble: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptreble: *mut f64) -> ::windows::core::HRESULT,
pub TrebleRange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prange: *mut f64) -> ::windows::core::HRESULT,
pub SetBass: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bass: f64) -> ::windows::core::HRESULT,
pub Bass: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbass: *mut f64) -> ::windows::core::HRESULT,
pub BassRange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prange: *mut f64) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMAudioRendererStats(::windows::core::IUnknown);
impl IAMAudioRendererStats {
pub unsafe fn GetStatParam(&self, dwparam: u32, pdwparam1: *mut u32, pdwparam2: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetStatParam)(::windows::core::Interface::as_raw(self), dwparam, pdwparam1, pdwparam2).ok()
}
}
::windows::imp::interface_hierarchy!(IAMAudioRendererStats, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMAudioRendererStats {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMAudioRendererStats {}
impl ::core::fmt::Debug for IAMAudioRendererStats {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMAudioRendererStats").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMAudioRendererStats {
type Vtable = IAMAudioRendererStats_Vtbl;
}
impl ::core::clone::Clone for IAMAudioRendererStats {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMAudioRendererStats {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x22320cb2_d41a_11d2_bf7c_d7cb9df0bf93);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMAudioRendererStats_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetStatParam: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwparam: u32, pdwparam1: *mut u32, pdwparam2: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMBufferNegotiation(::windows::core::IUnknown);
impl IAMBufferNegotiation {
pub unsafe fn SuggestAllocatorProperties(&self, pprop: *const ALLOCATOR_PROPERTIES) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SuggestAllocatorProperties)(::windows::core::Interface::as_raw(self), pprop).ok()
}
pub unsafe fn GetAllocatorProperties(&self) -> ::windows::core::Result<ALLOCATOR_PROPERTIES> {
let mut result__ = ::windows::core::zeroed::<ALLOCATOR_PROPERTIES>();
(::windows::core::Interface::vtable(self).GetAllocatorProperties)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IAMBufferNegotiation, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMBufferNegotiation {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMBufferNegotiation {}
impl ::core::fmt::Debug for IAMBufferNegotiation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMBufferNegotiation").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMBufferNegotiation {
type Vtable = IAMBufferNegotiation_Vtbl;
}
impl ::core::clone::Clone for IAMBufferNegotiation {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMBufferNegotiation {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56ed71a0_af5f_11d0_b3f0_00aa003761c5);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMBufferNegotiation_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SuggestAllocatorProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprop: *const ALLOCATOR_PROPERTIES) -> ::windows::core::HRESULT,
pub GetAllocatorProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprop: *mut ALLOCATOR_PROPERTIES) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMCameraControl(::windows::core::IUnknown);
impl IAMCameraControl {
pub unsafe fn GetRange(&self, property: i32, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetRange)(::windows::core::Interface::as_raw(self), property, pmin, pmax, psteppingdelta, pdefault, pcapsflags).ok()
}
pub unsafe fn Set(&self, property: i32, lvalue: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Set)(::windows::core::Interface::as_raw(self), property, lvalue, flags).ok()
}
pub unsafe fn Get(&self, property: i32, lvalue: *mut i32, flags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Get)(::windows::core::Interface::as_raw(self), property, lvalue, flags).ok()
}
}
::windows::imp::interface_hierarchy!(IAMCameraControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMCameraControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMCameraControl {}
impl ::core::fmt::Debug for IAMCameraControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMCameraControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMCameraControl {
type Vtable = IAMCameraControl_Vtbl;
}
impl ::core::clone::Clone for IAMCameraControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMCameraControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc6e13370_30ac_11d0_a18c_00a0c9118956);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMCameraControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetRange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, property: i32, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflags: *mut i32) -> ::windows::core::HRESULT,
pub Set: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, property: i32, lvalue: i32, flags: i32) -> ::windows::core::HRESULT,
pub Get: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, property: i32, lvalue: *mut i32, flags: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMCertifiedOutputProtection(::windows::core::IUnknown);
impl IAMCertifiedOutputProtection {
pub unsafe fn KeyExchange(&self, prandom: *mut ::windows::core::GUID, varlencertgh: *mut *mut u8, pdwlengthcertgh: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).KeyExchange)(::windows::core::Interface::as_raw(self), prandom, varlencertgh, pdwlengthcertgh).ok()
}
pub unsafe fn SessionSequenceStart(&self, psig: *mut AMCOPPSignature) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SessionSequenceStart)(::windows::core::Interface::as_raw(self), psig).ok()
}
pub unsafe fn ProtectionCommand(&self, cmd: *const AMCOPPCommand) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ProtectionCommand)(::windows::core::Interface::as_raw(self), cmd).ok()
}
pub unsafe fn ProtectionStatus(&self, pstatusinput: *const AMCOPPStatusInput, pstatusoutput: *mut AMCOPPStatusOutput) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ProtectionStatus)(::windows::core::Interface::as_raw(self), pstatusinput, pstatusoutput).ok()
}
}
::windows::imp::interface_hierarchy!(IAMCertifiedOutputProtection, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMCertifiedOutputProtection {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMCertifiedOutputProtection {}
impl ::core::fmt::Debug for IAMCertifiedOutputProtection {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMCertifiedOutputProtection").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMCertifiedOutputProtection {
type Vtable = IAMCertifiedOutputProtection_Vtbl;
}
impl ::core::clone::Clone for IAMCertifiedOutputProtection {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMCertifiedOutputProtection {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6feded3e_0ff1_4901_a2f1_43f7012c8515);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMCertifiedOutputProtection_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub KeyExchange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prandom: *mut ::windows::core::GUID, varlencertgh: *mut *mut u8, pdwlengthcertgh: *mut u32) -> ::windows::core::HRESULT,
pub SessionSequenceStart: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psig: *mut AMCOPPSignature) -> ::windows::core::HRESULT,
pub ProtectionCommand: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cmd: *const AMCOPPCommand) -> ::windows::core::HRESULT,
pub ProtectionStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstatusinput: *const AMCOPPStatusInput, pstatusoutput: *mut AMCOPPStatusOutput) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IAMChannelInfo(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IAMChannelInfo {
pub unsafe fn ChannelName(&self, pbstrchannelname: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ChannelName)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrchannelname)).ok()
}
pub unsafe fn ChannelDescription(&self, pbstrchanneldescription: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ChannelDescription)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrchanneldescription)).ok()
}
pub unsafe fn ChannelURL(&self, pbstrchannelurl: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ChannelURL)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrchannelurl)).ok()
}
pub unsafe fn ContactAddress(&self, pbstrcontactaddress: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ContactAddress)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrcontactaddress)).ok()
}
pub unsafe fn ContactPhone(&self, pbstrcontactphone: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ContactPhone)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrcontactphone)).ok()
}
pub unsafe fn ContactEmail(&self, pbstrcontactemail: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ContactEmail)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrcontactemail)).ok()
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IAMChannelInfo, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IAMChannelInfo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IAMChannelInfo {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IAMChannelInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMChannelInfo").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IAMChannelInfo {
type Vtable = IAMChannelInfo_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IAMChannelInfo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IAMChannelInfo {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfa2aa8f2_8b62_11d0_a520_000000000000);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IAMChannelInfo_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
pub ChannelName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrchannelname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub ChannelDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrchanneldescription: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub ChannelURL: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrchannelurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub ContactAddress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrcontactaddress: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub ContactPhone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrcontactphone: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub ContactEmail: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrcontactemail: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMClockAdjust(::windows::core::IUnknown);
impl IAMClockAdjust {
pub unsafe fn SetClockDelta(&self, rtdelta: i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetClockDelta)(::windows::core::Interface::as_raw(self), rtdelta).ok()
}
}
::windows::imp::interface_hierarchy!(IAMClockAdjust, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMClockAdjust {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMClockAdjust {}
impl ::core::fmt::Debug for IAMClockAdjust {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMClockAdjust").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMClockAdjust {
type Vtable = IAMClockAdjust_Vtbl;
}
impl ::core::clone::Clone for IAMClockAdjust {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMClockAdjust {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4d5466b0_a49c_11d1_abe8_00a0c905f375);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMClockAdjust_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetClockDelta: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rtdelta: i64) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMClockSlave(::windows::core::IUnknown);
impl IAMClockSlave {
pub unsafe fn SetErrorTolerance(&self, dwtolerance: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetErrorTolerance)(::windows::core::Interface::as_raw(self), dwtolerance).ok()
}
pub unsafe fn GetErrorTolerance(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetErrorTolerance)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IAMClockSlave, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMClockSlave {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMClockSlave {}
impl ::core::fmt::Debug for IAMClockSlave {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMClockSlave").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMClockSlave {
type Vtable = IAMClockSlave_Vtbl;
}
impl ::core::clone::Clone for IAMClockSlave {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMClockSlave {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9fd52741_176d_4b36_8f51_ca8f933223be);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMClockSlave_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetErrorTolerance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwtolerance: u32) -> ::windows::core::HRESULT,
pub GetErrorTolerance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwtolerance: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IAMCollection(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IAMCollection {
pub unsafe fn Count(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).Count)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Item(&self, litem: i32) -> ::windows::core::Result<::windows::core::IUnknown> {
let mut result__ = ::windows::core::zeroed::<::windows::core::IUnknown>();
(::windows::core::Interface::vtable(self).Item)(::windows::core::Interface::as_raw(self), litem, &mut result__).from_abi(result__)
}
pub unsafe fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown> {
let mut result__ = ::windows::core::zeroed::<::windows::core::IUnknown>();
(::windows::core::Interface::vtable(self)._NewEnum)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IAMCollection, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IAMCollection {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IAMCollection {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IAMCollection {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMCollection").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IAMCollection {
type Vtable = IAMCollection_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IAMCollection {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IAMCollection {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868b9_0ad4_11ce_b03a_0020af0ba770);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IAMCollection_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT,
pub Item: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, litem: i32, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub _NewEnum: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMCopyCaptureFileProgress(::windows::core::IUnknown);
impl IAMCopyCaptureFileProgress {
pub unsafe fn Progress(&self, iprogress: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Progress)(::windows::core::Interface::as_raw(self), iprogress).ok()
}
}
::windows::imp::interface_hierarchy!(IAMCopyCaptureFileProgress, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMCopyCaptureFileProgress {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMCopyCaptureFileProgress {}
impl ::core::fmt::Debug for IAMCopyCaptureFileProgress {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMCopyCaptureFileProgress").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMCopyCaptureFileProgress {
type Vtable = IAMCopyCaptureFileProgress_Vtbl;
}
impl ::core::clone::Clone for IAMCopyCaptureFileProgress {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMCopyCaptureFileProgress {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x670d1d20_a068_11d0_b3f0_00aa003761c5);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMCopyCaptureFileProgress_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub Progress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, iprogress: i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMCrossbar(::windows::core::IUnknown);
impl IAMCrossbar {
pub unsafe fn get_PinCounts(&self, outputpincount: *mut i32, inputpincount: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_PinCounts)(::windows::core::Interface::as_raw(self), outputpincount, inputpincount).ok()
}
pub unsafe fn CanRoute(&self, outputpinindex: i32, inputpinindex: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).CanRoute)(::windows::core::Interface::as_raw(self), outputpinindex, inputpinindex).ok()
}
pub unsafe fn Route(&self, outputpinindex: i32, inputpinindex: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Route)(::windows::core::Interface::as_raw(self), outputpinindex, inputpinindex).ok()
}
pub unsafe fn get_IsRoutedTo(&self, outputpinindex: i32) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).get_IsRoutedTo)(::windows::core::Interface::as_raw(self), outputpinindex, &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn get_CrossbarPinInfo<P0>(&self, isinputpin: P0, pinindex: i32, pinindexrelated: *mut i32, physicaltype: *mut i32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).get_CrossbarPinInfo)(::windows::core::Interface::as_raw(self), isinputpin.into_param().abi(), pinindex, pinindexrelated, physicaltype).ok()
}
}
::windows::imp::interface_hierarchy!(IAMCrossbar, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMCrossbar {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMCrossbar {}
impl ::core::fmt::Debug for IAMCrossbar {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMCrossbar").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMCrossbar {
type Vtable = IAMCrossbar_Vtbl;
}
impl ::core::clone::Clone for IAMCrossbar {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMCrossbar {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc6e13380_30ac_11d0_a18c_00a0c9118956);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMCrossbar_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub get_PinCounts: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, outputpincount: *mut i32, inputpincount: *mut i32) -> ::windows::core::HRESULT,
pub CanRoute: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, outputpinindex: i32, inputpinindex: i32) -> ::windows::core::HRESULT,
pub Route: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, outputpinindex: i32, inputpinindex: i32) -> ::windows::core::HRESULT,
pub get_IsRoutedTo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, outputpinindex: i32, inputpinindex: *mut i32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub get_CrossbarPinInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, isinputpin: super::super::Foundation::BOOL, pinindex: i32, pinindexrelated: *mut i32, physicaltype: *mut i32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
get_CrossbarPinInfo: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMDecoderCaps(::windows::core::IUnknown);
impl IAMDecoderCaps {
pub unsafe fn GetDecoderCaps(&self, dwcapindex: u32) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetDecoderCaps)(::windows::core::Interface::as_raw(self), dwcapindex, &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IAMDecoderCaps, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMDecoderCaps {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMDecoderCaps {}
impl ::core::fmt::Debug for IAMDecoderCaps {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMDecoderCaps").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMDecoderCaps {
type Vtable = IAMDecoderCaps_Vtbl;
}
impl ::core::clone::Clone for IAMDecoderCaps {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMDecoderCaps {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc0dff467_d499_4986_972b_e1d9090fa941);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMDecoderCaps_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetDecoderCaps: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwcapindex: u32, lpdwcap: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMDevMemoryAllocator(::windows::core::IUnknown);
impl IAMDevMemoryAllocator {
pub unsafe fn GetInfo(&self, pdwcbtotalfree: *mut u32, pdwcblargestfree: *mut u32, pdwcbtotalmemory: *mut u32, pdwcbminimumchunk: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetInfo)(::windows::core::Interface::as_raw(self), pdwcbtotalfree, pdwcblargestfree, pdwcbtotalmemory, pdwcbminimumchunk).ok()
}
pub unsafe fn CheckMemory(&self, pbuffer: *const u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).CheckMemory)(::windows::core::Interface::as_raw(self), pbuffer).ok()
}
pub unsafe fn Alloc(&self, ppbuffer: *mut *mut u8, pdwcbbuffer: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Alloc)(::windows::core::Interface::as_raw(self), ppbuffer, pdwcbbuffer).ok()
}
pub unsafe fn Free(&self, pbuffer: *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Free)(::windows::core::Interface::as_raw(self), pbuffer).ok()
}
pub unsafe fn GetDevMemoryObject<P0>(&self, ppunkinnner: *mut ::core::option::Option<::windows::core::IUnknown>, punkouter: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
{
(::windows::core::Interface::vtable(self).GetDevMemoryObject)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ppunkinnner), punkouter.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IAMDevMemoryAllocator, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMDevMemoryAllocator {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMDevMemoryAllocator {}
impl ::core::fmt::Debug for IAMDevMemoryAllocator {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMDevMemoryAllocator").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMDevMemoryAllocator {
type Vtable = IAMDevMemoryAllocator_Vtbl;
}
impl ::core::clone::Clone for IAMDevMemoryAllocator {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMDevMemoryAllocator {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc6545bf0_e76b_11d0_bd52_00a0c911ce86);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMDevMemoryAllocator_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwcbtotalfree: *mut u32, pdwcblargestfree: *mut u32, pdwcbtotalmemory: *mut u32, pdwcbminimumchunk: *mut u32) -> ::windows::core::HRESULT,
pub CheckMemory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbuffer: *const u8) -> ::windows::core::HRESULT,
pub Alloc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppbuffer: *mut *mut u8, pdwcbbuffer: *mut u32) -> ::windows::core::HRESULT,
pub Free: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbuffer: *mut u8) -> ::windows::core::HRESULT,
pub GetDevMemoryObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppunkinnner: *mut *mut ::core::ffi::c_void, punkouter: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMDevMemoryControl(::windows::core::IUnknown);
impl IAMDevMemoryControl {
pub unsafe fn QueryWriteSync(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).QueryWriteSync)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn WriteSync(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).WriteSync)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn GetDevId(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetDevId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IAMDevMemoryControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMDevMemoryControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMDevMemoryControl {}
impl ::core::fmt::Debug for IAMDevMemoryControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMDevMemoryControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMDevMemoryControl {
type Vtable = IAMDevMemoryControl_Vtbl;
}
impl ::core::clone::Clone for IAMDevMemoryControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMDevMemoryControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc6545bf1_e76b_11d0_bd52_00a0c911ce86);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMDevMemoryControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub QueryWriteSync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub WriteSync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetDevId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwdevid: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMDeviceRemoval(::windows::core::IUnknown);
impl IAMDeviceRemoval {
pub unsafe fn DeviceInfo(&self, pclsidinterfaceclass: *mut ::windows::core::GUID, pwszsymboliclink: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).DeviceInfo)(::windows::core::Interface::as_raw(self), pclsidinterfaceclass, pwszsymboliclink).ok()
}
pub unsafe fn Reassociate(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Reassociate)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Disassociate(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Disassociate)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IAMDeviceRemoval, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMDeviceRemoval {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMDeviceRemoval {}
impl ::core::fmt::Debug for IAMDeviceRemoval {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMDeviceRemoval").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMDeviceRemoval {
type Vtable = IAMDeviceRemoval_Vtbl;
}
impl ::core::clone::Clone for IAMDeviceRemoval {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMDeviceRemoval {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf90a6130_b658_11d2_ae49_0000f8754b99);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMDeviceRemoval_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub DeviceInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pclsidinterfaceclass: *mut ::windows::core::GUID, pwszsymboliclink: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
pub Reassociate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Disassociate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMDirectSound(::windows::core::IUnknown);
impl IAMDirectSound {
#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
#[cfg(feature = "Win32_Media_Audio_DirectSound")]
pub unsafe fn GetDirectSoundInterface(&self) -> ::windows::core::Result<super::Audio::DirectSound::IDirectSound> {
let mut result__ = ::windows::core::zeroed::<super::Audio::DirectSound::IDirectSound>();
(::windows::core::Interface::vtable(self).GetDirectSoundInterface)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
#[cfg(feature = "Win32_Media_Audio_DirectSound")]
pub unsafe fn GetPrimaryBufferInterface(&self) -> ::windows::core::Result<super::Audio::DirectSound::IDirectSoundBuffer> {
let mut result__ = ::windows::core::zeroed::<super::Audio::DirectSound::IDirectSoundBuffer>();
(::windows::core::Interface::vtable(self).GetPrimaryBufferInterface)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
#[cfg(feature = "Win32_Media_Audio_DirectSound")]
pub unsafe fn GetSecondaryBufferInterface(&self) -> ::windows::core::Result<super::Audio::DirectSound::IDirectSoundBuffer> {
let mut result__ = ::windows::core::zeroed::<super::Audio::DirectSound::IDirectSoundBuffer>();
(::windows::core::Interface::vtable(self).GetSecondaryBufferInterface)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
#[cfg(feature = "Win32_Media_Audio_DirectSound")]
pub unsafe fn ReleaseDirectSoundInterface<P0>(&self, lpds: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::Audio::DirectSound::IDirectSound>,
{
(::windows::core::Interface::vtable(self).ReleaseDirectSoundInterface)(::windows::core::Interface::as_raw(self), lpds.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
#[cfg(feature = "Win32_Media_Audio_DirectSound")]
pub unsafe fn ReleasePrimaryBufferInterface<P0>(&self, lpdsb: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::Audio::DirectSound::IDirectSoundBuffer>,
{
(::windows::core::Interface::vtable(self).ReleasePrimaryBufferInterface)(::windows::core::Interface::as_raw(self), lpdsb.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Media_Audio_DirectSound\"`*"]
#[cfg(feature = "Win32_Media_Audio_DirectSound")]
pub unsafe fn ReleaseSecondaryBufferInterface<P0>(&self, lpdsb: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::Audio::DirectSound::IDirectSoundBuffer>,
{
(::windows::core::Interface::vtable(self).ReleaseSecondaryBufferInterface)(::windows::core::Interface::as_raw(self), lpdsb.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetFocusWindow<P0, P1>(&self, param0: P0, param1: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetFocusWindow)(::windows::core::Interface::as_raw(self), param0.into_param().abi(), param1.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetFocusWindow(&self, param0: *mut super::super::Foundation::HWND, param1: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetFocusWindow)(::windows::core::Interface::as_raw(self), param0, param1).ok()
}
}
::windows::imp::interface_hierarchy!(IAMDirectSound, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMDirectSound {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMDirectSound {}
impl ::core::fmt::Debug for IAMDirectSound {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMDirectSound").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMDirectSound {
type Vtable = IAMDirectSound_Vtbl;
}
impl ::core::clone::Clone for IAMDirectSound {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMDirectSound {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x546f4260_d53e_11cf_b3f0_00aa003761c5);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMDirectSound_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Media_Audio_DirectSound")]
pub GetDirectSoundInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lplpds: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Media_Audio_DirectSound"))]
GetDirectSoundInterface: usize,
#[cfg(feature = "Win32_Media_Audio_DirectSound")]
pub GetPrimaryBufferInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lplpdsb: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Media_Audio_DirectSound"))]
GetPrimaryBufferInterface: usize,
#[cfg(feature = "Win32_Media_Audio_DirectSound")]
pub GetSecondaryBufferInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lplpdsb: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Media_Audio_DirectSound"))]
GetSecondaryBufferInterface: usize,
#[cfg(feature = "Win32_Media_Audio_DirectSound")]
pub ReleaseDirectSoundInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpds: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Media_Audio_DirectSound"))]
ReleaseDirectSoundInterface: usize,
#[cfg(feature = "Win32_Media_Audio_DirectSound")]
pub ReleasePrimaryBufferInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpdsb: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Media_Audio_DirectSound"))]
ReleasePrimaryBufferInterface: usize,
#[cfg(feature = "Win32_Media_Audio_DirectSound")]
pub ReleaseSecondaryBufferInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpdsb: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Media_Audio_DirectSound"))]
ReleaseSecondaryBufferInterface: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetFocusWindow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, param0: super::super::Foundation::HWND, param1: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetFocusWindow: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetFocusWindow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, param0: *mut super::super::Foundation::HWND, param1: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetFocusWindow: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMDroppedFrames(::windows::core::IUnknown);
impl IAMDroppedFrames {
pub unsafe fn GetNumDropped(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetNumDropped)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetNumNotDropped(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetNumNotDropped)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetDroppedInfo(&self, lsize: i32, plarray: *mut i32, plnumcopied: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDroppedInfo)(::windows::core::Interface::as_raw(self), lsize, plarray, plnumcopied).ok()
}
pub unsafe fn GetAverageFrameSize(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetAverageFrameSize)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IAMDroppedFrames, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMDroppedFrames {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMDroppedFrames {}
impl ::core::fmt::Debug for IAMDroppedFrames {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMDroppedFrames").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMDroppedFrames {
type Vtable = IAMDroppedFrames_Vtbl;
}
impl ::core::clone::Clone for IAMDroppedFrames {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMDroppedFrames {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc6e13344_30ac_11d0_a18c_00a0c9118956);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMDroppedFrames_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetNumDropped: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pldropped: *mut i32) -> ::windows::core::HRESULT,
pub GetNumNotDropped: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plnotdropped: *mut i32) -> ::windows::core::HRESULT,
pub GetDroppedInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lsize: i32, plarray: *mut i32, plnumcopied: *mut i32) -> ::windows::core::HRESULT,
pub GetAverageFrameSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plaveragesize: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMExtDevice(::windows::core::IUnknown);
impl IAMExtDevice {
pub unsafe fn GetCapability(&self, capability: i32, pvalue: *mut i32, pdblvalue: *mut f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCapability)(::windows::core::Interface::as_raw(self), capability, pvalue, pdblvalue).ok()
}
pub unsafe fn ExternalDeviceID(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
(::windows::core::Interface::vtable(self).ExternalDeviceID)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn ExternalDeviceVersion(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
(::windows::core::Interface::vtable(self).ExternalDeviceVersion)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDevicePower(&self, powermode: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDevicePower)(::windows::core::Interface::as_raw(self), powermode).ok()
}
pub unsafe fn DevicePower(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).DevicePower)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Calibrate(&self, hevent: usize, mode: i32) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).Calibrate)(::windows::core::Interface::as_raw(self), hevent, mode, &mut result__).from_abi(result__)
}
pub unsafe fn SetDevicePort(&self, deviceport: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDevicePort)(::windows::core::Interface::as_raw(self), deviceport).ok()
}
pub unsafe fn DevicePort(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).DevicePort)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IAMExtDevice, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMExtDevice {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMExtDevice {}
impl ::core::fmt::Debug for IAMExtDevice {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMExtDevice").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMExtDevice {
type Vtable = IAMExtDevice_Vtbl;
}
impl ::core::clone::Clone for IAMExtDevice {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMExtDevice {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb5730a90_1a2c_11cf_8c23_00aa006b6814);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMExtDevice_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetCapability: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, capability: i32, pvalue: *mut i32, pdblvalue: *mut f64) -> ::windows::core::HRESULT,
pub ExternalDeviceID: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppszdata: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
pub ExternalDeviceVersion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppszdata: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
pub SetDevicePower: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, powermode: i32) -> ::windows::core::HRESULT,
pub DevicePower: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppowermode: *mut i32) -> ::windows::core::HRESULT,
pub Calibrate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hevent: usize, mode: i32, pstatus: *mut i32) -> ::windows::core::HRESULT,
pub SetDevicePort: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, deviceport: i32) -> ::windows::core::HRESULT,
pub DevicePort: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdeviceport: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMExtTransport(::windows::core::IUnknown);
impl IAMExtTransport {
pub unsafe fn GetCapability(&self, capability: i32, pvalue: *mut i32, pdblvalue: *mut f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCapability)(::windows::core::Interface::as_raw(self), capability, pvalue, pdblvalue).ok()
}
pub unsafe fn SetMediaState(&self, state: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMediaState)(::windows::core::Interface::as_raw(self), state).ok()
}
pub unsafe fn MediaState(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).MediaState)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetLocalControl(&self, state: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetLocalControl)(::windows::core::Interface::as_raw(self), state).ok()
}
pub unsafe fn LocalControl(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).LocalControl)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetStatus(&self, statusitem: i32) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetStatus)(::windows::core::Interface::as_raw(self), statusitem, &mut result__).from_abi(result__)
}
pub unsafe fn GetTransportBasicParameters(&self, param: i32, pvalue: *mut i32, ppszdata: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetTransportBasicParameters)(::windows::core::Interface::as_raw(self), param, pvalue, ppszdata).ok()
}
pub unsafe fn SetTransportBasicParameters<P0>(&self, param: i32, value: i32, pszdata: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).SetTransportBasicParameters)(::windows::core::Interface::as_raw(self), param, value, pszdata.into_param().abi()).ok()
}
pub unsafe fn GetTransportVideoParameters(&self, param: i32) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetTransportVideoParameters)(::windows::core::Interface::as_raw(self), param, &mut result__).from_abi(result__)
}
pub unsafe fn SetTransportVideoParameters(&self, param: i32, value: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTransportVideoParameters)(::windows::core::Interface::as_raw(self), param, value).ok()
}
pub unsafe fn GetTransportAudioParameters(&self, param: i32) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetTransportAudioParameters)(::windows::core::Interface::as_raw(self), param, &mut result__).from_abi(result__)
}
pub unsafe fn SetTransportAudioParameters(&self, param: i32, value: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTransportAudioParameters)(::windows::core::Interface::as_raw(self), param, value).ok()
}
pub unsafe fn SetMode(&self, mode: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMode)(::windows::core::Interface::as_raw(self), mode).ok()
}
pub unsafe fn Mode(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).Mode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetRate(&self, dblrate: f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetRate)(::windows::core::Interface::as_raw(self), dblrate).ok()
}
pub unsafe fn Rate(&self) -> ::windows::core::Result<f64> {
let mut result__ = ::windows::core::zeroed::<f64>();
(::windows::core::Interface::vtable(self).Rate)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetChase(&self, penabled: *mut i32, poffset: *mut i32, phevent: *mut usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetChase)(::windows::core::Interface::as_raw(self), penabled, poffset, phevent).ok()
}
pub unsafe fn SetChase(&self, enable: i32, offset: i32, hevent: usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetChase)(::windows::core::Interface::as_raw(self), enable, offset, hevent).ok()
}
pub unsafe fn GetBump(&self, pspeed: *mut i32, pduration: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetBump)(::windows::core::Interface::as_raw(self), pspeed, pduration).ok()
}
pub unsafe fn SetBump(&self, speed: i32, duration: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetBump)(::windows::core::Interface::as_raw(self), speed, duration).ok()
}
pub unsafe fn AntiClogControl(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).AntiClogControl)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetAntiClogControl(&self, enable: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetAntiClogControl)(::windows::core::Interface::as_raw(self), enable).ok()
}
pub unsafe fn GetEditPropertySet(&self, editid: i32) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetEditPropertySet)(::windows::core::Interface::as_raw(self), editid, &mut result__).from_abi(result__)
}
pub unsafe fn SetEditPropertySet(&self, peditid: *mut i32, state: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetEditPropertySet)(::windows::core::Interface::as_raw(self), peditid, state).ok()
}
pub unsafe fn GetEditProperty(&self, editid: i32, param: i32) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetEditProperty)(::windows::core::Interface::as_raw(self), editid, param, &mut result__).from_abi(result__)
}
pub unsafe fn SetEditProperty(&self, editid: i32, param: i32, value: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetEditProperty)(::windows::core::Interface::as_raw(self), editid, param, value).ok()
}
pub unsafe fn EditStart(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).EditStart)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetEditStart(&self, value: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetEditStart)(::windows::core::Interface::as_raw(self), value).ok()
}
}
::windows::imp::interface_hierarchy!(IAMExtTransport, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMExtTransport {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMExtTransport {}
impl ::core::fmt::Debug for IAMExtTransport {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMExtTransport").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMExtTransport {
type Vtable = IAMExtTransport_Vtbl;
}
impl ::core::clone::Clone for IAMExtTransport {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMExtTransport {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa03cd5f0_3045_11cf_8c44_00aa006b6814);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMExtTransport_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetCapability: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, capability: i32, pvalue: *mut i32, pdblvalue: *mut f64) -> ::windows::core::HRESULT,
pub SetMediaState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, state: i32) -> ::windows::core::HRESULT,
pub MediaState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstate: *mut i32) -> ::windows::core::HRESULT,
pub SetLocalControl: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, state: i32) -> ::windows::core::HRESULT,
pub LocalControl: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstate: *mut i32) -> ::windows::core::HRESULT,
pub GetStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, statusitem: i32, pvalue: *mut i32) -> ::windows::core::HRESULT,
pub GetTransportBasicParameters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, param: i32, pvalue: *mut i32, ppszdata: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
pub SetTransportBasicParameters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, param: i32, value: i32, pszdata: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
pub GetTransportVideoParameters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, param: i32, pvalue: *mut i32) -> ::windows::core::HRESULT,
pub SetTransportVideoParameters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, param: i32, value: i32) -> ::windows::core::HRESULT,
pub GetTransportAudioParameters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, param: i32, pvalue: *mut i32) -> ::windows::core::HRESULT,
pub SetTransportAudioParameters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, param: i32, value: i32) -> ::windows::core::HRESULT,
pub SetMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mode: i32) -> ::windows::core::HRESULT,
pub Mode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmode: *mut i32) -> ::windows::core::HRESULT,
pub SetRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dblrate: f64) -> ::windows::core::HRESULT,
pub Rate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdblrate: *mut f64) -> ::windows::core::HRESULT,
pub GetChase: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penabled: *mut i32, poffset: *mut i32, phevent: *mut usize) -> ::windows::core::HRESULT,
pub SetChase: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enable: i32, offset: i32, hevent: usize) -> ::windows::core::HRESULT,
pub GetBump: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pspeed: *mut i32, pduration: *mut i32) -> ::windows::core::HRESULT,
pub SetBump: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, speed: i32, duration: i32) -> ::windows::core::HRESULT,
pub AntiClogControl: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penabled: *mut i32) -> ::windows::core::HRESULT,
pub SetAntiClogControl: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enable: i32) -> ::windows::core::HRESULT,
pub GetEditPropertySet: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, editid: i32, pstate: *mut i32) -> ::windows::core::HRESULT,
pub SetEditPropertySet: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, peditid: *mut i32, state: i32) -> ::windows::core::HRESULT,
pub GetEditProperty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, editid: i32, param: i32, pvalue: *mut i32) -> ::windows::core::HRESULT,
pub SetEditProperty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, editid: i32, param: i32, value: i32) -> ::windows::core::HRESULT,
pub EditStart: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT,
pub SetEditStart: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IAMExtendedErrorInfo(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IAMExtendedErrorInfo {
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn HasError(&self, phaserror: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).HasError)(::windows::core::Interface::as_raw(self), phaserror).ok()
}
pub unsafe fn ErrorDescription(&self, pbstrerrordescription: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ErrorDescription)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrerrordescription)).ok()
}
pub unsafe fn ErrorCode(&self, perrorcode: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ErrorCode)(::windows::core::Interface::as_raw(self), perrorcode).ok()
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IAMExtendedErrorInfo, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IAMExtendedErrorInfo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IAMExtendedErrorInfo {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IAMExtendedErrorInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMExtendedErrorInfo").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IAMExtendedErrorInfo {
type Vtable = IAMExtendedErrorInfo_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IAMExtendedErrorInfo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IAMExtendedErrorInfo {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfa2aa8f6_8b62_11d0_a520_000000000000);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IAMExtendedErrorInfo_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
#[cfg(feature = "Win32_Foundation")]
pub HasError: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phaserror: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
HasError: usize,
pub ErrorDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrerrordescription: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub ErrorCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, perrorcode: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IAMExtendedSeeking(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IAMExtendedSeeking {
pub unsafe fn ExSeekCapabilities(&self, pexcapabilities: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ExSeekCapabilities)(::windows::core::Interface::as_raw(self), pexcapabilities).ok()
}
pub unsafe fn MarkerCount(&self, pmarkercount: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).MarkerCount)(::windows::core::Interface::as_raw(self), pmarkercount).ok()
}
pub unsafe fn CurrentMarker(&self, pcurrentmarker: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).CurrentMarker)(::windows::core::Interface::as_raw(self), pcurrentmarker).ok()
}
pub unsafe fn GetMarkerTime(&self, markernum: i32, pmarkertime: *mut f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMarkerTime)(::windows::core::Interface::as_raw(self), markernum, pmarkertime).ok()
}
pub unsafe fn GetMarkerName(&self, markernum: i32, pbstrmarkername: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMarkerName)(::windows::core::Interface::as_raw(self), markernum, ::core::mem::transmute(pbstrmarkername)).ok()
}
pub unsafe fn SetPlaybackSpeed(&self, speed: f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetPlaybackSpeed)(::windows::core::Interface::as_raw(self), speed).ok()
}
pub unsafe fn PlaybackSpeed(&self, pspeed: *mut f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PlaybackSpeed)(::windows::core::Interface::as_raw(self), pspeed).ok()
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IAMExtendedSeeking, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IAMExtendedSeeking {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IAMExtendedSeeking {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IAMExtendedSeeking {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMExtendedSeeking").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IAMExtendedSeeking {
type Vtable = IAMExtendedSeeking_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IAMExtendedSeeking {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IAMExtendedSeeking {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfa2aa8f9_8b62_11d0_a520_000000000000);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IAMExtendedSeeking_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
pub ExSeekCapabilities: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pexcapabilities: *mut i32) -> ::windows::core::HRESULT,
pub MarkerCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmarkercount: *mut i32) -> ::windows::core::HRESULT,
pub CurrentMarker: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcurrentmarker: *mut i32) -> ::windows::core::HRESULT,
pub GetMarkerTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, markernum: i32, pmarkertime: *mut f64) -> ::windows::core::HRESULT,
pub GetMarkerName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, markernum: i32, pbstrmarkername: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub SetPlaybackSpeed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, speed: f64) -> ::windows::core::HRESULT,
pub PlaybackSpeed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pspeed: *mut f64) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMFilterGraphCallback(::windows::core::IUnknown);
impl IAMFilterGraphCallback {
pub unsafe fn UnableToRender<P0>(&self, ppin: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).UnableToRender)(::windows::core::Interface::as_raw(self), ppin.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IAMFilterGraphCallback, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMFilterGraphCallback {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMFilterGraphCallback {}
impl ::core::fmt::Debug for IAMFilterGraphCallback {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMFilterGraphCallback").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMFilterGraphCallback {
type Vtable = IAMFilterGraphCallback_Vtbl;
}
impl ::core::clone::Clone for IAMFilterGraphCallback {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMFilterGraphCallback {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868fd_0ad4_11ce_b0a3_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMFilterGraphCallback_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub UnableToRender: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppin: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMFilterMiscFlags(::windows::core::IUnknown);
impl IAMFilterMiscFlags {
pub unsafe fn GetMiscFlags(&self) -> u32 {
(::windows::core::Interface::vtable(self).GetMiscFlags)(::windows::core::Interface::as_raw(self))
}
}
::windows::imp::interface_hierarchy!(IAMFilterMiscFlags, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMFilterMiscFlags {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMFilterMiscFlags {}
impl ::core::fmt::Debug for IAMFilterMiscFlags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMFilterMiscFlags").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMFilterMiscFlags {
type Vtable = IAMFilterMiscFlags_Vtbl;
}
impl ::core::clone::Clone for IAMFilterMiscFlags {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMFilterMiscFlags {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2dd74950_a890_11d1_abe8_00a0c905f375);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMFilterMiscFlags_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetMiscFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u32,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMGraphBuilderCallback(::windows::core::IUnknown);
impl IAMGraphBuilderCallback {
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn SelectedFilter<P0>(&self, pmon: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::System::Com::IMoniker>,
{
(::windows::core::Interface::vtable(self).SelectedFilter)(::windows::core::Interface::as_raw(self), pmon.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn CreatedFilter<P0>(&self, pfil: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).CreatedFilter)(::windows::core::Interface::as_raw(self), pfil.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IAMGraphBuilderCallback, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMGraphBuilderCallback {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMGraphBuilderCallback {}
impl ::core::fmt::Debug for IAMGraphBuilderCallback {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMGraphBuilderCallback").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMGraphBuilderCallback {
type Vtable = IAMGraphBuilderCallback_Vtbl;
}
impl ::core::clone::Clone for IAMGraphBuilderCallback {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMGraphBuilderCallback {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4995f511_9ddb_4f12_bd3b_f04611807b79);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMGraphBuilderCallback_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_System_Com")]
pub SelectedFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmon: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
SelectedFilter: usize,
#[cfg(feature = "Win32_System_Com")]
pub CreatedFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfil: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
CreatedFilter: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMGraphStreams(::windows::core::IUnknown);
impl IAMGraphStreams {
pub unsafe fn FindUpstreamInterface<P0>(&self, ppin: P0, riid: *const ::windows::core::GUID, ppvinterface: *mut *mut ::core::ffi::c_void, dwflags: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).FindUpstreamInterface)(::windows::core::Interface::as_raw(self), ppin.into_param().abi(), riid, ppvinterface, dwflags).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SyncUsingStreamOffset<P0>(&self, busestreamoffset: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SyncUsingStreamOffset)(::windows::core::Interface::as_raw(self), busestreamoffset.into_param().abi()).ok()
}
pub unsafe fn SetMaxGraphLatency(&self, rtmaxgraphlatency: i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMaxGraphLatency)(::windows::core::Interface::as_raw(self), rtmaxgraphlatency).ok()
}
}
::windows::imp::interface_hierarchy!(IAMGraphStreams, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMGraphStreams {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMGraphStreams {}
impl ::core::fmt::Debug for IAMGraphStreams {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMGraphStreams").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMGraphStreams {
type Vtable = IAMGraphStreams_Vtbl;
}
impl ::core::clone::Clone for IAMGraphStreams {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMGraphStreams {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x632105fa_072e_11d3_8af9_00c04fb6bd3d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMGraphStreams_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub FindUpstreamInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppin: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, ppvinterface: *mut *mut ::core::ffi::c_void, dwflags: u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SyncUsingStreamOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, busestreamoffset: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SyncUsingStreamOffset: usize,
pub SetMaxGraphLatency: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rtmaxgraphlatency: i64) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMLatency(::windows::core::IUnknown);
impl IAMLatency {
pub unsafe fn GetLatency(&self) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).GetLatency)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IAMLatency, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMLatency {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMLatency {}
impl ::core::fmt::Debug for IAMLatency {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMLatency").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMLatency {
type Vtable = IAMLatency_Vtbl;
}
impl ::core::clone::Clone for IAMLatency {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMLatency {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x62ea93ba_ec62_11d2_b770_00c04fb6bd3d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMLatency_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetLatency: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prtlatency: *mut i64) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMLine21Decoder(::windows::core::IUnknown);
impl IAMLine21Decoder {
pub unsafe fn GetDecoderLevel(&self, lplevel: *mut AM_LINE21_CCLEVEL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDecoderLevel)(::windows::core::Interface::as_raw(self), lplevel).ok()
}
pub unsafe fn GetCurrentService(&self, lpservice: *mut AM_LINE21_CCSERVICE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurrentService)(::windows::core::Interface::as_raw(self), lpservice).ok()
}
pub unsafe fn SetCurrentService(&self, service: AM_LINE21_CCSERVICE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetCurrentService)(::windows::core::Interface::as_raw(self), service).ok()
}
pub unsafe fn GetServiceState(&self, lpstate: *mut AM_LINE21_CCSTATE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetServiceState)(::windows::core::Interface::as_raw(self), lpstate).ok()
}
pub unsafe fn SetServiceState(&self, state: AM_LINE21_CCSTATE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetServiceState)(::windows::core::Interface::as_raw(self), state).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_Gdi\"`*"]
#[cfg(feature = "Win32_Graphics_Gdi")]
pub unsafe fn GetOutputFormat(&self, lpbmih: *mut super::super::Graphics::Gdi::BITMAPINFOHEADER) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetOutputFormat)(::windows::core::Interface::as_raw(self), lpbmih).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_Gdi\"`*"]
#[cfg(feature = "Win32_Graphics_Gdi")]
pub unsafe fn SetOutputFormat(&self, lpbmi: *mut super::super::Graphics::Gdi::BITMAPINFO) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetOutputFormat)(::windows::core::Interface::as_raw(self), lpbmi).ok()
}
pub unsafe fn GetBackgroundColor(&self, pdwphyscolor: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetBackgroundColor)(::windows::core::Interface::as_raw(self), pdwphyscolor).ok()
}
pub unsafe fn SetBackgroundColor(&self, dwphyscolor: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetBackgroundColor)(::windows::core::Interface::as_raw(self), dwphyscolor).ok()
}
pub unsafe fn GetRedrawAlways(&self, lpboption: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetRedrawAlways)(::windows::core::Interface::as_raw(self), lpboption).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetRedrawAlways<P0>(&self, boption: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetRedrawAlways)(::windows::core::Interface::as_raw(self), boption.into_param().abi()).ok()
}
pub unsafe fn GetDrawBackgroundMode(&self, lpmode: *mut AM_LINE21_DRAWBGMODE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDrawBackgroundMode)(::windows::core::Interface::as_raw(self), lpmode).ok()
}
pub unsafe fn SetDrawBackgroundMode(&self, mode: AM_LINE21_DRAWBGMODE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDrawBackgroundMode)(::windows::core::Interface::as_raw(self), mode).ok()
}
}
::windows::imp::interface_hierarchy!(IAMLine21Decoder, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMLine21Decoder {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMLine21Decoder {}
impl ::core::fmt::Debug for IAMLine21Decoder {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMLine21Decoder").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMLine21Decoder {
type Vtable = IAMLine21Decoder_Vtbl;
}
impl ::core::clone::Clone for IAMLine21Decoder {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMLine21Decoder {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6e8d4a21_310c_11d0_b79a_00aa003767a7);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMLine21Decoder_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetDecoderLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lplevel: *mut AM_LINE21_CCLEVEL) -> ::windows::core::HRESULT,
pub GetCurrentService: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpservice: *mut AM_LINE21_CCSERVICE) -> ::windows::core::HRESULT,
pub SetCurrentService: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, service: AM_LINE21_CCSERVICE) -> ::windows::core::HRESULT,
pub GetServiceState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpstate: *mut AM_LINE21_CCSTATE) -> ::windows::core::HRESULT,
pub SetServiceState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, state: AM_LINE21_CCSTATE) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Graphics_Gdi")]
pub GetOutputFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpbmih: *mut super::super::Graphics::Gdi::BITMAPINFOHEADER) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_Gdi"))]
GetOutputFormat: usize,
#[cfg(feature = "Win32_Graphics_Gdi")]
pub SetOutputFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpbmi: *mut super::super::Graphics::Gdi::BITMAPINFO) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_Gdi"))]
SetOutputFormat: usize,
pub GetBackgroundColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwphyscolor: *mut u32) -> ::windows::core::HRESULT,
pub SetBackgroundColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwphyscolor: u32) -> ::windows::core::HRESULT,
pub GetRedrawAlways: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpboption: *mut i32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetRedrawAlways: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, boption: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetRedrawAlways: usize,
pub GetDrawBackgroundMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpmode: *mut AM_LINE21_DRAWBGMODE) -> ::windows::core::HRESULT,
pub SetDrawBackgroundMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mode: AM_LINE21_DRAWBGMODE) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IAMMediaContent(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IAMMediaContent {
pub unsafe fn AuthorName(&self, pbstrauthorname: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).AuthorName)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrauthorname)).ok()
}
pub unsafe fn Title(&self, pbstrtitle: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Title)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrtitle)).ok()
}
pub unsafe fn Rating(&self, pbstrrating: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Rating)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrrating)).ok()
}
pub unsafe fn Description(&self, pbstrdescription: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Description)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrdescription)).ok()
}
pub unsafe fn Copyright(&self, pbstrcopyright: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Copyright)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrcopyright)).ok()
}
pub unsafe fn BaseURL(&self, pbstrbaseurl: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).BaseURL)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrbaseurl)).ok()
}
pub unsafe fn LogoURL(&self, pbstrlogourl: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).LogoURL)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrlogourl)).ok()
}
pub unsafe fn LogoIconURL(&self, pbstrlogourl: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).LogoIconURL)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrlogourl)).ok()
}
pub unsafe fn WatermarkURL(&self, pbstrwatermarkurl: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).WatermarkURL)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrwatermarkurl)).ok()
}
pub unsafe fn MoreInfoURL(&self, pbstrmoreinfourl: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).MoreInfoURL)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrmoreinfourl)).ok()
}
pub unsafe fn MoreInfoBannerImage(&self, pbstrmoreinfobannerimage: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).MoreInfoBannerImage)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrmoreinfobannerimage)).ok()
}
pub unsafe fn MoreInfoBannerURL(&self, pbstrmoreinfobannerurl: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).MoreInfoBannerURL)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrmoreinfobannerurl)).ok()
}
pub unsafe fn MoreInfoText(&self, pbstrmoreinfotext: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).MoreInfoText)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrmoreinfotext)).ok()
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IAMMediaContent, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IAMMediaContent {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IAMMediaContent {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IAMMediaContent {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMMediaContent").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IAMMediaContent {
type Vtable = IAMMediaContent_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IAMMediaContent {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IAMMediaContent {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfa2aa8f4_8b62_11d0_a520_000000000000);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IAMMediaContent_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
pub AuthorName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrauthorname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub Title: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrtitle: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub Rating: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrrating: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub Description: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrdescription: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub Copyright: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrcopyright: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub BaseURL: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrbaseurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub LogoURL: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrlogourl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub LogoIconURL: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrlogourl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub WatermarkURL: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrwatermarkurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub MoreInfoURL: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrmoreinfourl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub MoreInfoBannerImage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrmoreinfobannerimage: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub MoreInfoBannerURL: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrmoreinfobannerurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub MoreInfoText: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrmoreinfotext: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IAMMediaContent2(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IAMMediaContent2 {
pub unsafe fn get_MediaParameter<P0>(&self, entrynum: i32, bstrname: P0, pbstrvalue: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
(::windows::core::Interface::vtable(self).get_MediaParameter)(::windows::core::Interface::as_raw(self), entrynum, bstrname.into_param().abi(), ::core::mem::transmute(pbstrvalue)).ok()
}
pub unsafe fn get_MediaParameterName(&self, entrynum: i32, index: i32, pbstrname: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_MediaParameterName)(::windows::core::Interface::as_raw(self), entrynum, index, ::core::mem::transmute(pbstrname)).ok()
}
pub unsafe fn PlaylistCount(&self, pnumberentries: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PlaylistCount)(::windows::core::Interface::as_raw(self), pnumberentries).ok()
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IAMMediaContent2, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IAMMediaContent2 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IAMMediaContent2 {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IAMMediaContent2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMMediaContent2").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IAMMediaContent2 {
type Vtable = IAMMediaContent2_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IAMMediaContent2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IAMMediaContent2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xce8f78c1_74d9_11d2_b09d_00a0c9a81117);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IAMMediaContent2_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
pub get_MediaParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, entrynum: i32, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub get_MediaParameterName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, entrynum: i32, index: i32, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub PlaylistCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pnumberentries: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMMediaStream(::windows::core::IUnknown);
impl IAMMediaStream {
pub unsafe fn GetMultiMediaStream(&self) -> ::windows::core::Result<IMultiMediaStream> {
let mut result__ = ::windows::core::zeroed::<IMultiMediaStream>();
(::windows::core::Interface::vtable(self).base__.GetMultiMediaStream)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetInformation(&self, ppurposeid: *mut ::windows::core::GUID, ptype: *mut STREAM_TYPE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetInformation)(::windows::core::Interface::as_raw(self), ppurposeid, ptype).ok()
}
pub unsafe fn SetSameFormat<P0>(&self, pstreamthathasdesiredformat: P0, dwflags: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IMediaStream>,
{
(::windows::core::Interface::vtable(self).base__.SetSameFormat)(::windows::core::Interface::as_raw(self), pstreamthathasdesiredformat.into_param().abi(), dwflags).ok()
}
pub unsafe fn AllocateSample(&self, dwflags: u32) -> ::windows::core::Result<IStreamSample> {
let mut result__ = ::windows::core::zeroed::<IStreamSample>();
(::windows::core::Interface::vtable(self).base__.AllocateSample)(::windows::core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn CreateSharedSample<P0>(&self, pexistingsample: P0, dwflags: u32) -> ::windows::core::Result<IStreamSample>
where
P0: ::windows::core::IntoParam<IStreamSample>,
{
let mut result__ = ::windows::core::zeroed::<IStreamSample>();
(::windows::core::Interface::vtable(self).base__.CreateSharedSample)(::windows::core::Interface::as_raw(self), pexistingsample.into_param().abi(), dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn SendEndOfStream(&self, dwflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SendEndOfStream)(::windows::core::Interface::as_raw(self), dwflags).ok()
}
pub unsafe fn Initialize<P0>(&self, psourceobject: P0, dwflags: u32, purposeid: *const ::windows::core::GUID, streamtype: STREAM_TYPE) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
{
(::windows::core::Interface::vtable(self).Initialize)(::windows::core::Interface::as_raw(self), psourceobject.into_param().abi(), dwflags, purposeid, streamtype).ok()
}
pub unsafe fn SetState(&self, state: FILTER_STATE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetState)(::windows::core::Interface::as_raw(self), state).ok()
}
pub unsafe fn JoinAMMultiMediaStream<P0>(&self, pammultimediastream: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IAMMultiMediaStream>,
{
(::windows::core::Interface::vtable(self).JoinAMMultiMediaStream)(::windows::core::Interface::as_raw(self), pammultimediastream.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn JoinFilter<P0>(&self, pmediastreamfilter: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IMediaStreamFilter>,
{
(::windows::core::Interface::vtable(self).JoinFilter)(::windows::core::Interface::as_raw(self), pmediastreamfilter.into_param().abi()).ok()
}
pub unsafe fn JoinFilterGraph<P0>(&self, pfiltergraph: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IFilterGraph>,
{
(::windows::core::Interface::vtable(self).JoinFilterGraph)(::windows::core::Interface::as_raw(self), pfiltergraph.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IAMMediaStream, ::windows::core::IUnknown, IMediaStream);
impl ::core::cmp::PartialEq for IAMMediaStream {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMMediaStream {}
impl ::core::fmt::Debug for IAMMediaStream {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMMediaStream").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMMediaStream {
type Vtable = IAMMediaStream_Vtbl;
}
impl ::core::clone::Clone for IAMMediaStream {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMMediaStream {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbebe595d_9a6f_11d0_8fde_00c04fd9189d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMMediaStream_Vtbl {
pub base__: IMediaStream_Vtbl,
pub Initialize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psourceobject: *mut ::core::ffi::c_void, dwflags: u32, purposeid: *const ::windows::core::GUID, streamtype: STREAM_TYPE) -> ::windows::core::HRESULT,
pub SetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, state: FILTER_STATE) -> ::windows::core::HRESULT,
pub JoinAMMultiMediaStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pammultimediastream: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_System_Com")]
pub JoinFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmediastreamfilter: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
JoinFilter: usize,
pub JoinFilterGraph: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfiltergraph: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMMediaTypeSample(::windows::core::IUnknown);
impl IAMMediaTypeSample {
pub unsafe fn GetMediaStream(&self, ppmediastream: *const ::core::option::Option<IMediaStream>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetMediaStream)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ppmediastream)).ok()
}
pub unsafe fn GetSampleTimes(&self, pstarttime: *mut i64, pendtime: *mut i64, pcurrenttime: *mut i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetSampleTimes)(::windows::core::Interface::as_raw(self), pstarttime, pendtime, pcurrenttime).ok()
}
pub unsafe fn SetSampleTimes(&self, pstarttime: *const i64, pendtime: *const i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetSampleTimes)(::windows::core::Interface::as_raw(self), pstarttime, pendtime).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn Update<P0>(&self, dwflags: u32, hevent: P0, pfnapc: super::super::Foundation::PAPCFUNC, dwapcdata: usize) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
{
(::windows::core::Interface::vtable(self).base__.Update)(::windows::core::Interface::as_raw(self), dwflags, hevent.into_param().abi(), pfnapc, dwapcdata).ok()
}
pub unsafe fn CompletionStatus(&self, dwflags: u32, dwmilliseconds: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.CompletionStatus)(::windows::core::Interface::as_raw(self), dwflags, dwmilliseconds).ok()
}
pub unsafe fn SetPointer(&self, pbuffer: &[u8]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetPointer)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbuffer.as_ptr()), pbuffer.len() as _).ok()
}
pub unsafe fn GetPointer(&self) -> ::windows::core::Result<*mut u8> {
let mut result__ = ::windows::core::zeroed::<*mut u8>();
(::windows::core::Interface::vtable(self).GetPointer)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetSize(&self) -> i32 {
(::windows::core::Interface::vtable(self).GetSize)(::windows::core::Interface::as_raw(self))
}
pub unsafe fn GetTime(&self, ptimestart: *mut i64, ptimeend: *mut i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetTime)(::windows::core::Interface::as_raw(self), ptimestart, ptimeend).ok()
}
pub unsafe fn SetTime(&self, ptimestart: *const i64, ptimeend: *const i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTime)(::windows::core::Interface::as_raw(self), ptimestart, ptimeend).ok()
}
pub unsafe fn IsSyncPoint(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsSyncPoint)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetSyncPoint<P0>(&self, bissyncpoint: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetSyncPoint)(::windows::core::Interface::as_raw(self), bissyncpoint.into_param().abi()).ok()
}
pub unsafe fn IsPreroll(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsPreroll)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetPreroll<P0>(&self, bispreroll: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetPreroll)(::windows::core::Interface::as_raw(self), bispreroll.into_param().abi()).ok()
}
pub unsafe fn GetActualDataLength(&self) -> i32 {
(::windows::core::Interface::vtable(self).GetActualDataLength)(::windows::core::Interface::as_raw(self))
}
pub unsafe fn SetActualDataLength(&self, __midl__iammediatypesample0000: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetActualDataLength)(::windows::core::Interface::as_raw(self), __midl__iammediatypesample0000).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn GetMediaType(&self) -> ::windows::core::Result<*mut super::MediaFoundation::AM_MEDIA_TYPE> {
let mut result__ = ::windows::core::zeroed::<*mut super::MediaFoundation::AM_MEDIA_TYPE>();
(::windows::core::Interface::vtable(self).GetMediaType)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn SetMediaType(&self, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMediaType)(::windows::core::Interface::as_raw(self), pmediatype).ok()
}
pub unsafe fn IsDiscontinuity(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsDiscontinuity)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetDiscontinuity<P0>(&self, bdiscontinuity: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetDiscontinuity)(::windows::core::Interface::as_raw(self), bdiscontinuity.into_param().abi()).ok()
}
pub unsafe fn GetMediaTime(&self, ptimestart: *mut i64, ptimeend: *mut i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMediaTime)(::windows::core::Interface::as_raw(self), ptimestart, ptimeend).ok()
}
pub unsafe fn SetMediaTime(&self, ptimestart: *const i64, ptimeend: *const i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMediaTime)(::windows::core::Interface::as_raw(self), ptimestart, ptimeend).ok()
}
}
::windows::imp::interface_hierarchy!(IAMMediaTypeSample, ::windows::core::IUnknown, IStreamSample);
impl ::core::cmp::PartialEq for IAMMediaTypeSample {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMMediaTypeSample {}
impl ::core::fmt::Debug for IAMMediaTypeSample {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMMediaTypeSample").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMMediaTypeSample {
type Vtable = IAMMediaTypeSample_Vtbl;
}
impl ::core::clone::Clone for IAMMediaTypeSample {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMMediaTypeSample {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xab6b4afb_f6e4_11d0_900d_00c04fd9189d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMMediaTypeSample_Vtbl {
pub base__: IStreamSample_Vtbl,
pub SetPointer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbuffer: *const u8, lsize: i32) -> ::windows::core::HRESULT,
pub GetPointer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppbuffer: *mut *mut u8) -> ::windows::core::HRESULT,
pub GetSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> i32,
pub GetTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptimestart: *mut i64, ptimeend: *mut i64) -> ::windows::core::HRESULT,
pub SetTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptimestart: *const i64, ptimeend: *const i64) -> ::windows::core::HRESULT,
pub IsSyncPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetSyncPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bissyncpoint: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetSyncPoint: usize,
pub IsPreroll: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetPreroll: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bispreroll: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetPreroll: usize,
pub GetActualDataLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> i32,
pub SetActualDataLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, __midl__iammediatypesample0000: i32) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub GetMediaType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppmediatype: *mut *mut super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
GetMediaType: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub SetMediaType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
SetMediaType: usize,
pub IsDiscontinuity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetDiscontinuity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bdiscontinuity: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetDiscontinuity: usize,
pub GetMediaTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptimestart: *mut i64, ptimeend: *mut i64) -> ::windows::core::HRESULT,
pub SetMediaTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptimestart: *const i64, ptimeend: *const i64) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMMediaTypeStream(::windows::core::IUnknown);
impl IAMMediaTypeStream {
pub unsafe fn GetMultiMediaStream(&self) -> ::windows::core::Result<IMultiMediaStream> {
let mut result__ = ::windows::core::zeroed::<IMultiMediaStream>();
(::windows::core::Interface::vtable(self).base__.GetMultiMediaStream)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetInformation(&self, ppurposeid: *mut ::windows::core::GUID, ptype: *mut STREAM_TYPE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetInformation)(::windows::core::Interface::as_raw(self), ppurposeid, ptype).ok()
}
pub unsafe fn SetSameFormat<P0>(&self, pstreamthathasdesiredformat: P0, dwflags: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IMediaStream>,
{
(::windows::core::Interface::vtable(self).base__.SetSameFormat)(::windows::core::Interface::as_raw(self), pstreamthathasdesiredformat.into_param().abi(), dwflags).ok()
}
pub unsafe fn AllocateSample(&self, dwflags: u32) -> ::windows::core::Result<IStreamSample> {
let mut result__ = ::windows::core::zeroed::<IStreamSample>();
(::windows::core::Interface::vtable(self).base__.AllocateSample)(::windows::core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn CreateSharedSample<P0>(&self, pexistingsample: P0, dwflags: u32) -> ::windows::core::Result<IStreamSample>
where
P0: ::windows::core::IntoParam<IStreamSample>,
{
let mut result__ = ::windows::core::zeroed::<IStreamSample>();
(::windows::core::Interface::vtable(self).base__.CreateSharedSample)(::windows::core::Interface::as_raw(self), pexistingsample.into_param().abi(), dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn SendEndOfStream(&self, dwflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SendEndOfStream)(::windows::core::Interface::as_raw(self), dwflags).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn GetFormat(&self, pmediatype: *mut super::MediaFoundation::AM_MEDIA_TYPE, dwflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetFormat)(::windows::core::Interface::as_raw(self), pmediatype, dwflags).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn SetFormat(&self, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE, dwflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetFormat)(::windows::core::Interface::as_raw(self), pmediatype, dwflags).ok()
}
pub unsafe fn CreateSample<P0>(&self, lsamplesize: i32, pbbuffer: *const u8, dwflags: u32, punkouter: P0) -> ::windows::core::Result<IAMMediaTypeSample>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
{
let mut result__ = ::windows::core::zeroed::<IAMMediaTypeSample>();
(::windows::core::Interface::vtable(self).CreateSample)(::windows::core::Interface::as_raw(self), lsamplesize, pbbuffer, dwflags, punkouter.into_param().abi(), &mut result__).from_abi(result__)
}
pub unsafe fn GetStreamAllocatorRequirements(&self) -> ::windows::core::Result<ALLOCATOR_PROPERTIES> {
let mut result__ = ::windows::core::zeroed::<ALLOCATOR_PROPERTIES>();
(::windows::core::Interface::vtable(self).GetStreamAllocatorRequirements)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetStreamAllocatorRequirements(&self, pprops: *const ALLOCATOR_PROPERTIES) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetStreamAllocatorRequirements)(::windows::core::Interface::as_raw(self), pprops).ok()
}
}
::windows::imp::interface_hierarchy!(IAMMediaTypeStream, ::windows::core::IUnknown, IMediaStream);
impl ::core::cmp::PartialEq for IAMMediaTypeStream {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMMediaTypeStream {}
impl ::core::fmt::Debug for IAMMediaTypeStream {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMMediaTypeStream").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMMediaTypeStream {
type Vtable = IAMMediaTypeStream_Vtbl;
}
impl ::core::clone::Clone for IAMMediaTypeStream {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMMediaTypeStream {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xab6b4afa_f6e4_11d0_900d_00c04fd9189d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMMediaTypeStream_Vtbl {
pub base__: IMediaStream_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub GetFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmediatype: *mut super::MediaFoundation::AM_MEDIA_TYPE, dwflags: u32) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
GetFormat: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub SetFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE, dwflags: u32) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
SetFormat: usize,
pub CreateSample: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lsamplesize: i32, pbbuffer: *const u8, dwflags: u32, punkouter: *mut ::core::ffi::c_void, ppammediatypesample: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetStreamAllocatorRequirements: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprops: *mut ALLOCATOR_PROPERTIES) -> ::windows::core::HRESULT,
pub SetStreamAllocatorRequirements: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprops: *const ALLOCATOR_PROPERTIES) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMMultiMediaStream(::windows::core::IUnknown);
impl IAMMultiMediaStream {
pub unsafe fn GetInformation(&self, pdwflags: *mut MMSSF_GET_INFORMATION_FLAGS, pstreamtype: *mut STREAM_TYPE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetInformation)(::windows::core::Interface::as_raw(self), pdwflags, pstreamtype).ok()
}
pub unsafe fn GetMediaStream(&self, idpurpose: *const ::windows::core::GUID) -> ::windows::core::Result<IMediaStream> {
let mut result__ = ::windows::core::zeroed::<IMediaStream>();
(::windows::core::Interface::vtable(self).base__.GetMediaStream)(::windows::core::Interface::as_raw(self), idpurpose, &mut result__).from_abi(result__)
}
pub unsafe fn EnumMediaStreams(&self, index: i32) -> ::windows::core::Result<IMediaStream> {
let mut result__ = ::windows::core::zeroed::<IMediaStream>();
(::windows::core::Interface::vtable(self).base__.EnumMediaStreams)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
}
pub unsafe fn GetState(&self) -> ::windows::core::Result<STREAM_STATE> {
let mut result__ = ::windows::core::zeroed::<STREAM_STATE>();
(::windows::core::Interface::vtable(self).base__.GetState)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetState(&self, newstate: STREAM_STATE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetState)(::windows::core::Interface::as_raw(self), newstate).ok()
}
pub unsafe fn GetTime(&self) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).base__.GetTime)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetDuration(&self) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).base__.GetDuration)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Seek(&self, seektime: i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.Seek)(::windows::core::Interface::as_raw(self), seektime).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetEndOfStreamEventHandle(&self) -> ::windows::core::Result<super::super::Foundation::HANDLE> {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::HANDLE>();
(::windows::core::Interface::vtable(self).base__.GetEndOfStreamEventHandle)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Initialize<P0>(&self, streamtype: STREAM_TYPE, dwflags: AMMSF_MMS_INIT_FLAGS, pfiltergraph: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IGraphBuilder>,
{
(::windows::core::Interface::vtable(self).Initialize)(::windows::core::Interface::as_raw(self), streamtype, dwflags, pfiltergraph.into_param().abi()).ok()
}
pub unsafe fn GetFilterGraph(&self) -> ::windows::core::Result<IGraphBuilder> {
let mut result__ = ::windows::core::zeroed::<IGraphBuilder>();
(::windows::core::Interface::vtable(self).GetFilterGraph)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn GetFilter(&self) -> ::windows::core::Result<IMediaStreamFilter> {
let mut result__ = ::windows::core::zeroed::<IMediaStreamFilter>();
(::windows::core::Interface::vtable(self).GetFilter)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn AddMediaStream<P0>(&self, pstreamobject: P0, purposeid: *const ::windows::core::GUID, dwflags: AMMSF_MS_FLAGS) -> ::windows::core::Result<IMediaStream>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
{
let mut result__ = ::windows::core::zeroed::<IMediaStream>();
(::windows::core::Interface::vtable(self).AddMediaStream)(::windows::core::Interface::as_raw(self), pstreamobject.into_param().abi(), purposeid, dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn OpenFile<P0>(&self, pszfilename: P0, dwflags: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).OpenFile)(::windows::core::Interface::as_raw(self), pszfilename.into_param().abi(), dwflags).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn OpenMoniker<P0, P1>(&self, pctx: P0, pmoniker: P1, dwflags: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::System::Com::IBindCtx>,
P1: ::windows::core::IntoParam<super::super::System::Com::IMoniker>,
{
(::windows::core::Interface::vtable(self).OpenMoniker)(::windows::core::Interface::as_raw(self), pctx.into_param().abi(), pmoniker.into_param().abi(), dwflags).ok()
}
pub unsafe fn Render(&self, dwflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Render)(::windows::core::Interface::as_raw(self), dwflags).ok()
}
}
::windows::imp::interface_hierarchy!(IAMMultiMediaStream, ::windows::core::IUnknown, IMultiMediaStream);
impl ::core::cmp::PartialEq for IAMMultiMediaStream {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMMultiMediaStream {}
impl ::core::fmt::Debug for IAMMultiMediaStream {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMMultiMediaStream").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMMultiMediaStream {
type Vtable = IAMMultiMediaStream_Vtbl;
}
impl ::core::clone::Clone for IAMMultiMediaStream {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMMultiMediaStream {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbebe595c_9a6f_11d0_8fde_00c04fd9189d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMMultiMediaStream_Vtbl {
pub base__: IMultiMediaStream_Vtbl,
pub Initialize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, streamtype: STREAM_TYPE, dwflags: AMMSF_MMS_INIT_FLAGS, pfiltergraph: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetFilterGraph: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppgraphbuilder: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_System_Com")]
pub GetFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppfilter: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
GetFilter: usize,
pub AddMediaStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstreamobject: *mut ::core::ffi::c_void, purposeid: *const ::windows::core::GUID, dwflags: AMMSF_MS_FLAGS, ppnewstream: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub OpenFile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszfilename: ::windows::core::PCWSTR, dwflags: u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_System_Com")]
pub OpenMoniker: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pctx: *mut ::core::ffi::c_void, pmoniker: *mut ::core::ffi::c_void, dwflags: u32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
OpenMoniker: usize,
pub Render: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwflags: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IAMNetShowConfig(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IAMNetShowConfig {
pub unsafe fn BufferingTime(&self, pbufferingtime: *mut f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).BufferingTime)(::windows::core::Interface::as_raw(self), pbufferingtime).ok()
}
pub unsafe fn SetBufferingTime(&self, bufferingtime: f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetBufferingTime)(::windows::core::Interface::as_raw(self), bufferingtime).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn UseFixedUDPPort(&self, pusefixedudpport: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).UseFixedUDPPort)(::windows::core::Interface::as_raw(self), pusefixedudpport).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetUseFixedUDPPort<P0>(&self, usefixedudpport: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
{
(::windows::core::Interface::vtable(self).SetUseFixedUDPPort)(::windows::core::Interface::as_raw(self), usefixedudpport.into_param().abi()).ok()
}
pub unsafe fn FixedUDPPort(&self, pfixedudpport: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).FixedUDPPort)(::windows::core::Interface::as_raw(self), pfixedudpport).ok()
}
pub unsafe fn SetFixedUDPPort(&self, fixedudpport: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetFixedUDPPort)(::windows::core::Interface::as_raw(self), fixedudpport).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn UseHTTPProxy(&self, pusehttpproxy: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).UseHTTPProxy)(::windows::core::Interface::as_raw(self), pusehttpproxy).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetUseHTTPProxy<P0>(&self, usehttpproxy: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
{
(::windows::core::Interface::vtable(self).SetUseHTTPProxy)(::windows::core::Interface::as_raw(self), usehttpproxy.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn EnableAutoProxy(&self, penableautoproxy: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).EnableAutoProxy)(::windows::core::Interface::as_raw(self), penableautoproxy).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetEnableAutoProxy<P0>(&self, enableautoproxy: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
{
(::windows::core::Interface::vtable(self).SetEnableAutoProxy)(::windows::core::Interface::as_raw(self), enableautoproxy.into_param().abi()).ok()
}
pub unsafe fn HTTPProxyHost(&self, pbstrhttpproxyhost: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).HTTPProxyHost)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrhttpproxyhost)).ok()
}
pub unsafe fn SetHTTPProxyHost<P0>(&self, bstrhttpproxyhost: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
(::windows::core::Interface::vtable(self).SetHTTPProxyHost)(::windows::core::Interface::as_raw(self), bstrhttpproxyhost.into_param().abi()).ok()
}
pub unsafe fn HTTPProxyPort(&self, phttpproxyport: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).HTTPProxyPort)(::windows::core::Interface::as_raw(self), phttpproxyport).ok()
}
pub unsafe fn SetHTTPProxyPort(&self, httpproxyport: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetHTTPProxyPort)(::windows::core::Interface::as_raw(self), httpproxyport).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn EnableMulticast(&self, penablemulticast: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).EnableMulticast)(::windows::core::Interface::as_raw(self), penablemulticast).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetEnableMulticast<P0>(&self, enablemulticast: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
{
(::windows::core::Interface::vtable(self).SetEnableMulticast)(::windows::core::Interface::as_raw(self), enablemulticast.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn EnableUDP(&self, penableudp: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).EnableUDP)(::windows::core::Interface::as_raw(self), penableudp).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetEnableUDP<P0>(&self, enableudp: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
{
(::windows::core::Interface::vtable(self).SetEnableUDP)(::windows::core::Interface::as_raw(self), enableudp.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn EnableTCP(&self, penabletcp: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).EnableTCP)(::windows::core::Interface::as_raw(self), penabletcp).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetEnableTCP<P0>(&self, enabletcp: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
{
(::windows::core::Interface::vtable(self).SetEnableTCP)(::windows::core::Interface::as_raw(self), enabletcp.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn EnableHTTP(&self, penablehttp: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).EnableHTTP)(::windows::core::Interface::as_raw(self), penablehttp).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetEnableHTTP<P0>(&self, enablehttp: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
{
(::windows::core::Interface::vtable(self).SetEnableHTTP)(::windows::core::Interface::as_raw(self), enablehttp.into_param().abi()).ok()
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IAMNetShowConfig, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IAMNetShowConfig {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IAMNetShowConfig {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IAMNetShowConfig {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMNetShowConfig").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IAMNetShowConfig {
type Vtable = IAMNetShowConfig_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IAMNetShowConfig {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IAMNetShowConfig {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfa2aa8f1_8b62_11d0_a520_000000000000);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IAMNetShowConfig_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
pub BufferingTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbufferingtime: *mut f64) -> ::windows::core::HRESULT,
pub SetBufferingTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bufferingtime: f64) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub UseFixedUDPPort: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pusefixedudpport: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
UseFixedUDPPort: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetUseFixedUDPPort: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, usefixedudpport: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetUseFixedUDPPort: usize,
pub FixedUDPPort: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfixedudpport: *mut i32) -> ::windows::core::HRESULT,
pub SetFixedUDPPort: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fixedudpport: i32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub UseHTTPProxy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pusehttpproxy: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
UseHTTPProxy: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetUseHTTPProxy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, usehttpproxy: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetUseHTTPProxy: usize,
#[cfg(feature = "Win32_Foundation")]
pub EnableAutoProxy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penableautoproxy: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
EnableAutoProxy: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetEnableAutoProxy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enableautoproxy: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetEnableAutoProxy: usize,
pub HTTPProxyHost: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrhttpproxyhost: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub SetHTTPProxyHost: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrhttpproxyhost: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub HTTPProxyPort: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phttpproxyport: *mut i32) -> ::windows::core::HRESULT,
pub SetHTTPProxyPort: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, httpproxyport: i32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub EnableMulticast: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penablemulticast: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
EnableMulticast: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetEnableMulticast: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enablemulticast: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetEnableMulticast: usize,
#[cfg(feature = "Win32_Foundation")]
pub EnableUDP: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penableudp: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
EnableUDP: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetEnableUDP: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enableudp: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetEnableUDP: usize,
#[cfg(feature = "Win32_Foundation")]
pub EnableTCP: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penabletcp: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
EnableTCP: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetEnableTCP: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enabletcp: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetEnableTCP: usize,
#[cfg(feature = "Win32_Foundation")]
pub EnableHTTP: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penablehttp: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
EnableHTTP: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetEnableHTTP: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enablehttp: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetEnableHTTP: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IAMNetShowExProps(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IAMNetShowExProps {
pub unsafe fn SourceProtocol(&self, psourceprotocol: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SourceProtocol)(::windows::core::Interface::as_raw(self), psourceprotocol).ok()
}
pub unsafe fn Bandwidth(&self, pbandwidth: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Bandwidth)(::windows::core::Interface::as_raw(self), pbandwidth).ok()
}
pub unsafe fn ErrorCorrection(&self, pbstrerrorcorrection: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ErrorCorrection)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrerrorcorrection)).ok()
}
pub unsafe fn CodecCount(&self, pcodeccount: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).CodecCount)(::windows::core::Interface::as_raw(self), pcodeccount).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetCodecInstalled(&self, codecnum: i32, pcodecinstalled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCodecInstalled)(::windows::core::Interface::as_raw(self), codecnum, pcodecinstalled).ok()
}
pub unsafe fn GetCodecDescription(&self, codecnum: i32, pbstrcodecdescription: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCodecDescription)(::windows::core::Interface::as_raw(self), codecnum, ::core::mem::transmute(pbstrcodecdescription)).ok()
}
pub unsafe fn GetCodecURL(&self, codecnum: i32, pbstrcodecurl: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCodecURL)(::windows::core::Interface::as_raw(self), codecnum, ::core::mem::transmute(pbstrcodecurl)).ok()
}
pub unsafe fn CreationDate(&self, pcreationdate: *mut f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).CreationDate)(::windows::core::Interface::as_raw(self), pcreationdate).ok()
}
pub unsafe fn SourceLink(&self, pbstrsourcelink: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SourceLink)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrsourcelink)).ok()
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IAMNetShowExProps, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IAMNetShowExProps {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IAMNetShowExProps {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IAMNetShowExProps {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMNetShowExProps").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IAMNetShowExProps {
type Vtable = IAMNetShowExProps_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IAMNetShowExProps {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IAMNetShowExProps {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfa2aa8f5_8b62_11d0_a520_000000000000);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IAMNetShowExProps_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
pub SourceProtocol: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psourceprotocol: *mut i32) -> ::windows::core::HRESULT,
pub Bandwidth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbandwidth: *mut i32) -> ::windows::core::HRESULT,
pub ErrorCorrection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrerrorcorrection: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub CodecCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcodeccount: *mut i32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub GetCodecInstalled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, codecnum: i32, pcodecinstalled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetCodecInstalled: usize,
pub GetCodecDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, codecnum: i32, pbstrcodecdescription: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub GetCodecURL: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, codecnum: i32, pbstrcodecurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub CreationDate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcreationdate: *mut f64) -> ::windows::core::HRESULT,
pub SourceLink: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrsourcelink: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IAMNetShowPreroll(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IAMNetShowPreroll {
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetPreroll<P0>(&self, fpreroll: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
{
(::windows::core::Interface::vtable(self).SetPreroll)(::windows::core::Interface::as_raw(self), fpreroll.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn Preroll(&self, pfpreroll: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Preroll)(::windows::core::Interface::as_raw(self), pfpreroll).ok()
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IAMNetShowPreroll, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IAMNetShowPreroll {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IAMNetShowPreroll {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IAMNetShowPreroll {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMNetShowPreroll").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IAMNetShowPreroll {
type Vtable = IAMNetShowPreroll_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IAMNetShowPreroll {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IAMNetShowPreroll {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xaae7e4e2_6388_11d1_8d93_006097c9a2b2);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IAMNetShowPreroll_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
#[cfg(feature = "Win32_Foundation")]
pub SetPreroll: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fpreroll: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetPreroll: usize,
#[cfg(feature = "Win32_Foundation")]
pub Preroll: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfpreroll: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
Preroll: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IAMNetworkStatus(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IAMNetworkStatus {
pub unsafe fn ReceivedPackets(&self, preceivedpackets: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ReceivedPackets)(::windows::core::Interface::as_raw(self), preceivedpackets).ok()
}
pub unsafe fn RecoveredPackets(&self, precoveredpackets: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).RecoveredPackets)(::windows::core::Interface::as_raw(self), precoveredpackets).ok()
}
pub unsafe fn LostPackets(&self, plostpackets: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).LostPackets)(::windows::core::Interface::as_raw(self), plostpackets).ok()
}
pub unsafe fn ReceptionQuality(&self, preceptionquality: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ReceptionQuality)(::windows::core::Interface::as_raw(self), preceptionquality).ok()
}
pub unsafe fn BufferingCount(&self, pbufferingcount: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).BufferingCount)(::windows::core::Interface::as_raw(self), pbufferingcount).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn IsBroadcast(&self, pisbroadcast: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsBroadcast)(::windows::core::Interface::as_raw(self), pisbroadcast).ok()
}
pub unsafe fn BufferingProgress(&self, pbufferingprogress: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).BufferingProgress)(::windows::core::Interface::as_raw(self), pbufferingprogress).ok()
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IAMNetworkStatus, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IAMNetworkStatus {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IAMNetworkStatus {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IAMNetworkStatus {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMNetworkStatus").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IAMNetworkStatus {
type Vtable = IAMNetworkStatus_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IAMNetworkStatus {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IAMNetworkStatus {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfa2aa8f3_8b62_11d0_a520_000000000000);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IAMNetworkStatus_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
pub ReceivedPackets: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, preceivedpackets: *mut i32) -> ::windows::core::HRESULT,
pub RecoveredPackets: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, precoveredpackets: *mut i32) -> ::windows::core::HRESULT,
pub LostPackets: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plostpackets: *mut i32) -> ::windows::core::HRESULT,
pub ReceptionQuality: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, preceptionquality: *mut i32) -> ::windows::core::HRESULT,
pub BufferingCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbufferingcount: *mut i32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub IsBroadcast: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pisbroadcast: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
IsBroadcast: usize,
pub BufferingProgress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbufferingprogress: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMOpenProgress(::windows::core::IUnknown);
impl IAMOpenProgress {
pub unsafe fn QueryProgress(&self, plltotal: *mut i64, pllcurrent: *mut i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).QueryProgress)(::windows::core::Interface::as_raw(self), plltotal, pllcurrent).ok()
}
pub unsafe fn AbortOperation(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).AbortOperation)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IAMOpenProgress, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMOpenProgress {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMOpenProgress {}
impl ::core::fmt::Debug for IAMOpenProgress {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMOpenProgress").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMOpenProgress {
type Vtable = IAMOpenProgress_Vtbl;
}
impl ::core::clone::Clone for IAMOpenProgress {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMOpenProgress {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8e1c39a1_de53_11cf_aa63_0080c744528d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMOpenProgress_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub QueryProgress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plltotal: *mut i64, pllcurrent: *mut i64) -> ::windows::core::HRESULT,
pub AbortOperation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMOverlayFX(::windows::core::IUnknown);
impl IAMOverlayFX {
pub unsafe fn QueryOverlayFXCaps(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).QueryOverlayFXCaps)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetOverlayFX(&self, dwoverlayfx: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetOverlayFX)(::windows::core::Interface::as_raw(self), dwoverlayfx).ok()
}
pub unsafe fn GetOverlayFX(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetOverlayFX)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IAMOverlayFX, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMOverlayFX {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMOverlayFX {}
impl ::core::fmt::Debug for IAMOverlayFX {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMOverlayFX").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMOverlayFX {
type Vtable = IAMOverlayFX_Vtbl;
}
impl ::core::clone::Clone for IAMOverlayFX {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMOverlayFX {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x62fae250_7e65_4460_bfc9_6398b322073c);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMOverlayFX_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub QueryOverlayFXCaps: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpdwoverlayfxcaps: *mut u32) -> ::windows::core::HRESULT,
pub SetOverlayFX: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwoverlayfx: u32) -> ::windows::core::HRESULT,
pub GetOverlayFX: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpdwoverlayfx: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMParse(::windows::core::IUnknown);
impl IAMParse {
pub unsafe fn GetParseTime(&self) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).GetParseTime)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetParseTime(&self, rtcurrent: i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetParseTime)(::windows::core::Interface::as_raw(self), rtcurrent).ok()
}
pub unsafe fn Flush(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Flush)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IAMParse, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMParse {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMParse {}
impl ::core::fmt::Debug for IAMParse {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMParse").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMParse {
type Vtable = IAMParse_Vtbl;
}
impl ::core::clone::Clone for IAMParse {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMParse {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc47a3420_005c_11d2_9038_00a0c9697298);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMParse_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetParseTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prtcurrent: *mut i64) -> ::windows::core::HRESULT,
pub SetParseTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rtcurrent: i64) -> ::windows::core::HRESULT,
pub Flush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMPhysicalPinInfo(::windows::core::IUnknown);
impl IAMPhysicalPinInfo {
pub unsafe fn GetPhysicalType(&self, ptype: *mut i32, ppsztype: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetPhysicalType)(::windows::core::Interface::as_raw(self), ptype, ppsztype).ok()
}
}
::windows::imp::interface_hierarchy!(IAMPhysicalPinInfo, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMPhysicalPinInfo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMPhysicalPinInfo {}
impl ::core::fmt::Debug for IAMPhysicalPinInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMPhysicalPinInfo").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMPhysicalPinInfo {
type Vtable = IAMPhysicalPinInfo_Vtbl;
}
impl ::core::clone::Clone for IAMPhysicalPinInfo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMPhysicalPinInfo {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf938c991_3029_11cf_8c44_00aa006b6814);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMPhysicalPinInfo_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetPhysicalType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptype: *mut i32, ppsztype: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMPlayList(::windows::core::IUnknown);
impl IAMPlayList {
pub unsafe fn GetFlags(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetFlags)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetItemCount(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetItemCount)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetItem(&self, dwitemindex: u32) -> ::windows::core::Result<IAMPlayListItem> {
let mut result__ = ::windows::core::zeroed::<IAMPlayListItem>();
(::windows::core::Interface::vtable(self).GetItem)(::windows::core::Interface::as_raw(self), dwitemindex, &mut result__).from_abi(result__)
}
pub unsafe fn GetNamedEvent<P0>(&self, pwszeventname: P0, dwitemindex: u32, ppitem: *mut ::core::option::Option<IAMPlayListItem>, pdwflags: *mut u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).GetNamedEvent)(::windows::core::Interface::as_raw(self), pwszeventname.into_param().abi(), dwitemindex, ::core::mem::transmute(ppitem), pdwflags).ok()
}
pub unsafe fn GetRepeatInfo(&self, pdwrepeatcount: *mut u32, pdwrepeatstart: *mut u32, pdwrepeatend: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetRepeatInfo)(::windows::core::Interface::as_raw(self), pdwrepeatcount, pdwrepeatstart, pdwrepeatend).ok()
}
}
::windows::imp::interface_hierarchy!(IAMPlayList, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMPlayList {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMPlayList {}
impl ::core::fmt::Debug for IAMPlayList {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMPlayList").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMPlayList {
type Vtable = IAMPlayList_Vtbl;
}
impl ::core::clone::Clone for IAMPlayList {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMPlayList {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868fe_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMPlayList_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwflags: *mut u32) -> ::windows::core::HRESULT,
pub GetItemCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwitems: *mut u32) -> ::windows::core::HRESULT,
pub GetItem: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwitemindex: u32, ppitem: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetNamedEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwszeventname: ::windows::core::PCWSTR, dwitemindex: u32, ppitem: *mut *mut ::core::ffi::c_void, pdwflags: *mut u32) -> ::windows::core::HRESULT,
pub GetRepeatInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwrepeatcount: *mut u32, pdwrepeatstart: *mut u32, pdwrepeatend: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMPlayListItem(::windows::core::IUnknown);
impl IAMPlayListItem {
pub unsafe fn GetFlags(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetFlags)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetSourceCount(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetSourceCount)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetSourceURL(&self, dwsourceindex: u32) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).GetSourceURL)(::windows::core::Interface::as_raw(self), dwsourceindex, &mut result__).from_abi(result__)
}
pub unsafe fn GetSourceStart(&self, dwsourceindex: u32) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).GetSourceStart)(::windows::core::Interface::as_raw(self), dwsourceindex, &mut result__).from_abi(result__)
}
pub unsafe fn GetSourceDuration(&self, dwsourceindex: u32) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).GetSourceDuration)(::windows::core::Interface::as_raw(self), dwsourceindex, &mut result__).from_abi(result__)
}
pub unsafe fn GetSourceStartMarker(&self, dwsourceindex: u32) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetSourceStartMarker)(::windows::core::Interface::as_raw(self), dwsourceindex, &mut result__).from_abi(result__)
}
pub unsafe fn GetSourceEndMarker(&self, dwsourceindex: u32) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetSourceEndMarker)(::windows::core::Interface::as_raw(self), dwsourceindex, &mut result__).from_abi(result__)
}
pub unsafe fn GetSourceStartMarkerName(&self, dwsourceindex: u32) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).GetSourceStartMarkerName)(::windows::core::Interface::as_raw(self), dwsourceindex, &mut result__).from_abi(result__)
}
pub unsafe fn GetSourceEndMarkerName(&self, dwsourceindex: u32) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).GetSourceEndMarkerName)(::windows::core::Interface::as_raw(self), dwsourceindex, &mut result__).from_abi(result__)
}
pub unsafe fn GetLinkURL(&self) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).GetLinkURL)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetScanDuration(&self, dwsourceindex: u32) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).GetScanDuration)(::windows::core::Interface::as_raw(self), dwsourceindex, &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IAMPlayListItem, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMPlayListItem {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMPlayListItem {}
impl ::core::fmt::Debug for IAMPlayListItem {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMPlayListItem").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMPlayListItem {
type Vtable = IAMPlayListItem_Vtbl;
}
impl ::core::clone::Clone for IAMPlayListItem {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMPlayListItem {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868ff_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMPlayListItem_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwflags: *mut u32) -> ::windows::core::HRESULT,
pub GetSourceCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwsources: *mut u32) -> ::windows::core::HRESULT,
pub GetSourceURL: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwsourceindex: u32, pbstrurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub GetSourceStart: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwsourceindex: u32, prtstart: *mut i64) -> ::windows::core::HRESULT,
pub GetSourceDuration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwsourceindex: u32, prtduration: *mut i64) -> ::windows::core::HRESULT,
pub GetSourceStartMarker: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwsourceindex: u32, pdwmarker: *mut u32) -> ::windows::core::HRESULT,
pub GetSourceEndMarker: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwsourceindex: u32, pdwmarker: *mut u32) -> ::windows::core::HRESULT,
pub GetSourceStartMarkerName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwsourceindex: u32, pbstrstartmarker: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub GetSourceEndMarkerName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwsourceindex: u32, pbstrendmarker: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub GetLinkURL: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub GetScanDuration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwsourceindex: u32, prtscanduration: *mut i64) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMPluginControl(::windows::core::IUnknown);
impl IAMPluginControl {
pub unsafe fn GetPreferredClsid(&self, subtype: *const ::windows::core::GUID) -> ::windows::core::Result<::windows::core::GUID> {
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).GetPreferredClsid)(::windows::core::Interface::as_raw(self), subtype, &mut result__).from_abi(result__)
}
pub unsafe fn GetPreferredClsidByIndex(&self, index: u32, subtype: *mut ::windows::core::GUID, clsid: *mut ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetPreferredClsidByIndex)(::windows::core::Interface::as_raw(self), index, subtype, clsid).ok()
}
pub unsafe fn SetPreferredClsid(&self, subtype: *const ::windows::core::GUID, clsid: ::core::option::Option<*const ::windows::core::GUID>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetPreferredClsid)(::windows::core::Interface::as_raw(self), subtype, ::core::mem::transmute(clsid.unwrap_or(::std::ptr::null()))).ok()
}
pub unsafe fn IsDisabled(&self, clsid: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsDisabled)(::windows::core::Interface::as_raw(self), clsid).ok()
}
pub unsafe fn GetDisabledByIndex(&self, index: u32) -> ::windows::core::Result<::windows::core::GUID> {
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).GetDisabledByIndex)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetDisabled<P0>(&self, clsid: *const ::windows::core::GUID, disabled: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetDisabled)(::windows::core::Interface::as_raw(self), clsid, disabled.into_param().abi()).ok()
}
pub unsafe fn IsLegacyDisabled<P0>(&self, dllname: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).IsLegacyDisabled)(::windows::core::Interface::as_raw(self), dllname.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IAMPluginControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMPluginControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMPluginControl {}
impl ::core::fmt::Debug for IAMPluginControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMPluginControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMPluginControl {
type Vtable = IAMPluginControl_Vtbl;
}
impl ::core::clone::Clone for IAMPluginControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMPluginControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0e26a181_f40c_4635_8786_976284b52981);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMPluginControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetPreferredClsid: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, subtype: *const ::windows::core::GUID, clsid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub GetPreferredClsidByIndex: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32, subtype: *mut ::windows::core::GUID, clsid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub SetPreferredClsid: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, subtype: *const ::windows::core::GUID, clsid: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
pub IsDisabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clsid: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
pub GetDisabledByIndex: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32, clsid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetDisabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clsid: *const ::windows::core::GUID, disabled: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetDisabled: usize,
pub IsLegacyDisabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dllname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMPushSource(::windows::core::IUnknown);
impl IAMPushSource {
pub unsafe fn GetLatency(&self) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).base__.GetLatency)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetPushSourceFlags(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetPushSourceFlags)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetPushSourceFlags(&self, flags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetPushSourceFlags)(::windows::core::Interface::as_raw(self), flags).ok()
}
pub unsafe fn SetStreamOffset(&self, rtoffset: i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetStreamOffset)(::windows::core::Interface::as_raw(self), rtoffset).ok()
}
pub unsafe fn GetStreamOffset(&self) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).GetStreamOffset)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetMaxStreamOffset(&self) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).GetMaxStreamOffset)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetMaxStreamOffset(&self, rtmaxoffset: i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMaxStreamOffset)(::windows::core::Interface::as_raw(self), rtmaxoffset).ok()
}
}
::windows::imp::interface_hierarchy!(IAMPushSource, ::windows::core::IUnknown, IAMLatency);
impl ::core::cmp::PartialEq for IAMPushSource {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMPushSource {}
impl ::core::fmt::Debug for IAMPushSource {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMPushSource").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMPushSource {
type Vtable = IAMPushSource_Vtbl;
}
impl ::core::clone::Clone for IAMPushSource {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMPushSource {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf185fe76_e64e_11d2_b76e_00c04fb6bd3d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMPushSource_Vtbl {
pub base__: IAMLatency_Vtbl,
pub GetPushSourceFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pflags: *mut u32) -> ::windows::core::HRESULT,
pub SetPushSourceFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT,
pub SetStreamOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rtoffset: i64) -> ::windows::core::HRESULT,
pub GetStreamOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prtoffset: *mut i64) -> ::windows::core::HRESULT,
pub GetMaxStreamOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prtmaxoffset: *mut i64) -> ::windows::core::HRESULT,
pub SetMaxStreamOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rtmaxoffset: i64) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMRebuild(::windows::core::IUnknown);
impl IAMRebuild {
pub unsafe fn RebuildNow(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).RebuildNow)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IAMRebuild, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMRebuild {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMRebuild {}
impl ::core::fmt::Debug for IAMRebuild {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMRebuild").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMRebuild {
type Vtable = IAMRebuild_Vtbl;
}
impl ::core::clone::Clone for IAMRebuild {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMRebuild {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x02ef04dd_7580_11d1_bece_00c04fb6e937);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMRebuild_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub RebuildNow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMResourceControl(::windows::core::IUnknown);
impl IAMResourceControl {
pub unsafe fn Reserve(&self, dwflags: u32, pvreserved: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Reserve)(::windows::core::Interface::as_raw(self), dwflags, ::core::mem::transmute(pvreserved.unwrap_or(::std::ptr::null()))).ok()
}
}
::windows::imp::interface_hierarchy!(IAMResourceControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMResourceControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMResourceControl {}
impl ::core::fmt::Debug for IAMResourceControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMResourceControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMResourceControl {
type Vtable = IAMResourceControl_Vtbl;
}
impl ::core::clone::Clone for IAMResourceControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMResourceControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8389d2d0_77d7_11d1_abe6_00a0c905f375);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMResourceControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub Reserve: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwflags: u32, pvreserved: *const ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IAMStats(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IAMStats {
pub unsafe fn Reset(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Reset)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Count(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).Count)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetValueByIndex(&self, lindex: i32, szname: *mut ::windows::core::BSTR, lcount: *mut i32, dlast: *mut f64, daverage: *mut f64, dstddev: *mut f64, dmin: *mut f64, dmax: *mut f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetValueByIndex)(::windows::core::Interface::as_raw(self), lindex, ::core::mem::transmute(szname), lcount, dlast, daverage, dstddev, dmin, dmax).ok()
}
pub unsafe fn GetValueByName<P0>(&self, szname: P0, lindex: *mut i32, lcount: *mut i32, dlast: *mut f64, daverage: *mut f64, dstddev: *mut f64, dmin: *mut f64, dmax: *mut f64) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
(::windows::core::Interface::vtable(self).GetValueByName)(::windows::core::Interface::as_raw(self), szname.into_param().abi(), lindex, lcount, dlast, daverage, dstddev, dmin, dmax).ok()
}
pub unsafe fn GetIndex<P0>(&self, szname: P0, lcreate: i32) -> ::windows::core::Result<i32>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetIndex)(::windows::core::Interface::as_raw(self), szname.into_param().abi(), lcreate, &mut result__).from_abi(result__)
}
pub unsafe fn AddValue(&self, lindex: i32, dvalue: f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).AddValue)(::windows::core::Interface::as_raw(self), lindex, dvalue).ok()
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IAMStats, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IAMStats {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IAMStats {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IAMStats {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMStats").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IAMStats {
type Vtable = IAMStats_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IAMStats {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IAMStats {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbc9bcf80_dcd2_11d2_abf6_00a0c905f375);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IAMStats_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT,
pub GetValueByIndex: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lindex: i32, szname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, lcount: *mut i32, dlast: *mut f64, daverage: *mut f64, dstddev: *mut f64, dmin: *mut f64, dmax: *mut f64) -> ::windows::core::HRESULT,
pub GetValueByName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, szname: ::std::mem::MaybeUninit<::windows::core::BSTR>, lindex: *mut i32, lcount: *mut i32, dlast: *mut f64, daverage: *mut f64, dstddev: *mut f64, dmin: *mut f64, dmax: *mut f64) -> ::windows::core::HRESULT,
pub GetIndex: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, szname: ::std::mem::MaybeUninit<::windows::core::BSTR>, lcreate: i32, plindex: *mut i32) -> ::windows::core::HRESULT,
pub AddValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lindex: i32, dvalue: f64) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMStreamConfig(::windows::core::IUnknown);
impl IAMStreamConfig {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn SetFormat(&self, pmt: *mut super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetFormat)(::windows::core::Interface::as_raw(self), pmt).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn GetFormat(&self) -> ::windows::core::Result<*mut super::MediaFoundation::AM_MEDIA_TYPE> {
let mut result__ = ::windows::core::zeroed::<*mut super::MediaFoundation::AM_MEDIA_TYPE>();
(::windows::core::Interface::vtable(self).GetFormat)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetNumberOfCapabilities(&self, picount: *mut i32, pisize: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetNumberOfCapabilities)(::windows::core::Interface::as_raw(self), picount, pisize).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn GetStreamCaps(&self, iindex: i32, ppmt: *mut *mut super::MediaFoundation::AM_MEDIA_TYPE, pscc: *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetStreamCaps)(::windows::core::Interface::as_raw(self), iindex, ppmt, pscc).ok()
}
}
::windows::imp::interface_hierarchy!(IAMStreamConfig, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMStreamConfig {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMStreamConfig {}
impl ::core::fmt::Debug for IAMStreamConfig {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMStreamConfig").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMStreamConfig {
type Vtable = IAMStreamConfig_Vtbl;
}
impl ::core::clone::Clone for IAMStreamConfig {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMStreamConfig {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc6e13340_30ac_11d0_a18c_00a0c9118956);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMStreamConfig_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub SetFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmt: *mut super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
SetFormat: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub GetFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppmt: *mut *mut super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
GetFormat: usize,
pub GetNumberOfCapabilities: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, picount: *mut i32, pisize: *mut i32) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub GetStreamCaps: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, iindex: i32, ppmt: *mut *mut super::MediaFoundation::AM_MEDIA_TYPE, pscc: *mut u8) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
GetStreamCaps: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMStreamControl(::windows::core::IUnknown);
impl IAMStreamControl {
pub unsafe fn StartAt(&self, ptstart: ::core::option::Option<*const i64>, dwcookie: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).StartAt)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ptstart.unwrap_or(::std::ptr::null())), dwcookie).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn StopAt<P0>(&self, ptstop: ::core::option::Option<*const i64>, bsendextra: P0, dwcookie: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).StopAt)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ptstop.unwrap_or(::std::ptr::null())), bsendextra.into_param().abi(), dwcookie).ok()
}
pub unsafe fn GetInfo(&self, pinfo: *mut AM_STREAM_INFO) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetInfo)(::windows::core::Interface::as_raw(self), pinfo).ok()
}
}
::windows::imp::interface_hierarchy!(IAMStreamControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMStreamControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMStreamControl {}
impl ::core::fmt::Debug for IAMStreamControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMStreamControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMStreamControl {
type Vtable = IAMStreamControl_Vtbl;
}
impl ::core::clone::Clone for IAMStreamControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMStreamControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x36b73881_c2c8_11cf_8b46_00805f6cef60);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMStreamControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub StartAt: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptstart: *const i64, dwcookie: u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub StopAt: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptstop: *const i64, bsendextra: super::super::Foundation::BOOL, dwcookie: u32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
StopAt: usize,
pub GetInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pinfo: *mut AM_STREAM_INFO) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMStreamSelect(::windows::core::IUnknown);
impl IAMStreamSelect {
pub unsafe fn Count(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).Count)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn Info(&self, lindex: i32, ppmt: ::core::option::Option<*mut *mut super::MediaFoundation::AM_MEDIA_TYPE>, pdwflags: ::core::option::Option<*mut u32>, plcid: ::core::option::Option<*mut u32>, pdwgroup: ::core::option::Option<*mut u32>, ppszname: ::core::option::Option<*mut ::windows::core::PWSTR>, ppobject: ::core::option::Option<*mut ::core::option::Option<::windows::core::IUnknown>>, ppunk: ::core::option::Option<*mut ::core::option::Option<::windows::core::IUnknown>>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Info)(
::windows::core::Interface::as_raw(self),
lindex,
::core::mem::transmute(ppmt.unwrap_or(::std::ptr::null_mut())),
::core::mem::transmute(pdwflags.unwrap_or(::std::ptr::null_mut())),
::core::mem::transmute(plcid.unwrap_or(::std::ptr::null_mut())),
::core::mem::transmute(pdwgroup.unwrap_or(::std::ptr::null_mut())),
::core::mem::transmute(ppszname.unwrap_or(::std::ptr::null_mut())),
::core::mem::transmute(ppobject.unwrap_or(::std::ptr::null_mut())),
::core::mem::transmute(ppunk.unwrap_or(::std::ptr::null_mut())),
)
.ok()
}
pub unsafe fn Enable(&self, lindex: i32, dwflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Enable)(::windows::core::Interface::as_raw(self), lindex, dwflags).ok()
}
}
::windows::imp::interface_hierarchy!(IAMStreamSelect, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMStreamSelect {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMStreamSelect {}
impl ::core::fmt::Debug for IAMStreamSelect {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMStreamSelect").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMStreamSelect {
type Vtable = IAMStreamSelect_Vtbl;
}
impl ::core::clone::Clone for IAMStreamSelect {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMStreamSelect {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc1960960_17f5_11d1_abe1_00a0c905f375);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMStreamSelect_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcstreams: *mut u32) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub Info: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lindex: i32, ppmt: *mut *mut super::MediaFoundation::AM_MEDIA_TYPE, pdwflags: *mut u32, plcid: *mut u32, pdwgroup: *mut u32, ppszname: *mut ::windows::core::PWSTR, ppobject: *mut *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
Info: usize,
pub Enable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lindex: i32, dwflags: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMTVAudio(::windows::core::IUnknown);
impl IAMTVAudio {
pub unsafe fn GetHardwareSupportedTVAudioModes(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetHardwareSupportedTVAudioModes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetAvailableTVAudioModes(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetAvailableTVAudioModes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn TVAudioMode(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).TVAudioMode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetTVAudioMode(&self, lmode: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTVAudioMode)(::windows::core::Interface::as_raw(self), lmode).ok()
}
pub unsafe fn RegisterNotificationCallBack<P0>(&self, pnotify: P0, levents: i32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IAMTunerNotification>,
{
(::windows::core::Interface::vtable(self).RegisterNotificationCallBack)(::windows::core::Interface::as_raw(self), pnotify.into_param().abi(), levents).ok()
}
pub unsafe fn UnRegisterNotificationCallBack<P0>(&self, pnotify: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IAMTunerNotification>,
{
(::windows::core::Interface::vtable(self).UnRegisterNotificationCallBack)(::windows::core::Interface::as_raw(self), pnotify.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IAMTVAudio, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMTVAudio {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMTVAudio {}
impl ::core::fmt::Debug for IAMTVAudio {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMTVAudio").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMTVAudio {
type Vtable = IAMTVAudio_Vtbl;
}
impl ::core::clone::Clone for IAMTVAudio {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMTVAudio {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x83ec1c30_23d1_11d1_99e6_00a0c9560266);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMTVAudio_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetHardwareSupportedTVAudioModes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plmodes: *mut i32) -> ::windows::core::HRESULT,
pub GetAvailableTVAudioModes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plmodes: *mut i32) -> ::windows::core::HRESULT,
pub TVAudioMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plmode: *mut i32) -> ::windows::core::HRESULT,
pub SetTVAudioMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lmode: i32) -> ::windows::core::HRESULT,
pub RegisterNotificationCallBack: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pnotify: *mut ::core::ffi::c_void, levents: i32) -> ::windows::core::HRESULT,
pub UnRegisterNotificationCallBack: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pnotify: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMTVAudioNotification(::windows::core::IUnknown);
impl IAMTVAudioNotification {
pub unsafe fn OnEvent(&self, event: AMTVAudioEventType) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).OnEvent)(::windows::core::Interface::as_raw(self), event).ok()
}
}
::windows::imp::interface_hierarchy!(IAMTVAudioNotification, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMTVAudioNotification {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMTVAudioNotification {}
impl ::core::fmt::Debug for IAMTVAudioNotification {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMTVAudioNotification").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMTVAudioNotification {
type Vtable = IAMTVAudioNotification_Vtbl;
}
impl ::core::clone::Clone for IAMTVAudioNotification {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMTVAudioNotification {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x83ec1c33_23d1_11d1_99e6_00a0c9560266);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMTVAudioNotification_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub OnEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, event: AMTVAudioEventType) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMTVTuner(::windows::core::IUnknown);
impl IAMTVTuner {
pub unsafe fn put_Channel(&self, lchannel: i32, lvideosubchannel: i32, laudiosubchannel: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.put_Channel)(::windows::core::Interface::as_raw(self), lchannel, lvideosubchannel, laudiosubchannel).ok()
}
pub unsafe fn get_Channel(&self, plchannel: *mut i32, plvideosubchannel: *mut i32, plaudiosubchannel: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.get_Channel)(::windows::core::Interface::as_raw(self), plchannel, plvideosubchannel, plaudiosubchannel).ok()
}
pub unsafe fn ChannelMinMax(&self, lchannelmin: *mut i32, lchannelmax: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.ChannelMinMax)(::windows::core::Interface::as_raw(self), lchannelmin, lchannelmax).ok()
}
pub unsafe fn SetCountryCode(&self, lcountrycode: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetCountryCode)(::windows::core::Interface::as_raw(self), lcountrycode).ok()
}
pub unsafe fn CountryCode(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.CountryCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetTuningSpace(&self, ltuningspace: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetTuningSpace)(::windows::core::Interface::as_raw(self), ltuningspace).ok()
}
pub unsafe fn TuningSpace(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.TuningSpace)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn Logon<P0>(&self, hcurrentuser: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
{
(::windows::core::Interface::vtable(self).base__.Logon)(::windows::core::Interface::as_raw(self), hcurrentuser.into_param().abi()).ok()
}
pub unsafe fn Logout(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.Logout)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn SignalPresent(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.SignalPresent)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetMode(&self, lmode: AMTunerModeType) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetMode)(::windows::core::Interface::as_raw(self), lmode).ok()
}
pub unsafe fn Mode(&self) -> ::windows::core::Result<AMTunerModeType> {
let mut result__ = ::windows::core::zeroed::<AMTunerModeType>();
(::windows::core::Interface::vtable(self).base__.Mode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetAvailableModes(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.GetAvailableModes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn RegisterNotificationCallBack<P0>(&self, pnotify: P0, levents: i32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IAMTunerNotification>,
{
(::windows::core::Interface::vtable(self).base__.RegisterNotificationCallBack)(::windows::core::Interface::as_raw(self), pnotify.into_param().abi(), levents).ok()
}
pub unsafe fn UnRegisterNotificationCallBack<P0>(&self, pnotify: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IAMTunerNotification>,
{
(::windows::core::Interface::vtable(self).base__.UnRegisterNotificationCallBack)(::windows::core::Interface::as_raw(self), pnotify.into_param().abi()).ok()
}
pub unsafe fn AvailableTVFormats(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).AvailableTVFormats)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn TVFormat(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).TVFormat)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn AutoTune(&self, lchannel: i32) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).AutoTune)(::windows::core::Interface::as_raw(self), lchannel, &mut result__).from_abi(result__)
}
pub unsafe fn StoreAutoTune(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).StoreAutoTune)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn NumInputConnections(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).NumInputConnections)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn put_InputType(&self, lindex: i32, inputtype: TunerInputType) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_InputType)(::windows::core::Interface::as_raw(self), lindex, inputtype).ok()
}
pub unsafe fn get_InputType(&self, lindex: i32) -> ::windows::core::Result<TunerInputType> {
let mut result__ = ::windows::core::zeroed::<TunerInputType>();
(::windows::core::Interface::vtable(self).get_InputType)(::windows::core::Interface::as_raw(self), lindex, &mut result__).from_abi(result__)
}
pub unsafe fn SetConnectInput(&self, lindex: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetConnectInput)(::windows::core::Interface::as_raw(self), lindex).ok()
}
pub unsafe fn ConnectInput(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).ConnectInput)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn VideoFrequency(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).VideoFrequency)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn AudioFrequency(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).AudioFrequency)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IAMTVTuner, ::windows::core::IUnknown, IAMTuner);
impl ::core::cmp::PartialEq for IAMTVTuner {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMTVTuner {}
impl ::core::fmt::Debug for IAMTVTuner {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMTVTuner").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMTVTuner {
type Vtable = IAMTVTuner_Vtbl;
}
impl ::core::clone::Clone for IAMTVTuner {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMTVTuner {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x211a8766_03ac_11d1_8d13_00aa00bd8339);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMTVTuner_Vtbl {
pub base__: IAMTuner_Vtbl,
pub AvailableTVFormats: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lanalogvideostandard: *mut i32) -> ::windows::core::HRESULT,
pub TVFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, planalogvideostandard: *mut i32) -> ::windows::core::HRESULT,
pub AutoTune: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lchannel: i32, plfoundsignal: *mut i32) -> ::windows::core::HRESULT,
pub StoreAutoTune: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub NumInputConnections: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plnuminputconnections: *mut i32) -> ::windows::core::HRESULT,
pub put_InputType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lindex: i32, inputtype: TunerInputType) -> ::windows::core::HRESULT,
pub get_InputType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lindex: i32, pinputtype: *mut TunerInputType) -> ::windows::core::HRESULT,
pub SetConnectInput: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lindex: i32) -> ::windows::core::HRESULT,
pub ConnectInput: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plindex: *mut i32) -> ::windows::core::HRESULT,
pub VideoFrequency: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lfreq: *mut i32) -> ::windows::core::HRESULT,
pub AudioFrequency: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lfreq: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMTimecodeDisplay(::windows::core::IUnknown);
impl IAMTimecodeDisplay {
pub unsafe fn GetTCDisplayEnable(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetTCDisplayEnable)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetTCDisplayEnable(&self, state: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTCDisplayEnable)(::windows::core::Interface::as_raw(self), state).ok()
}
pub unsafe fn GetTCDisplay(&self, param: i32) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetTCDisplay)(::windows::core::Interface::as_raw(self), param, &mut result__).from_abi(result__)
}
pub unsafe fn SetTCDisplay(&self, param: i32, value: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTCDisplay)(::windows::core::Interface::as_raw(self), param, value).ok()
}
}
::windows::imp::interface_hierarchy!(IAMTimecodeDisplay, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMTimecodeDisplay {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMTimecodeDisplay {}
impl ::core::fmt::Debug for IAMTimecodeDisplay {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMTimecodeDisplay").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMTimecodeDisplay {
type Vtable = IAMTimecodeDisplay_Vtbl;
}
impl ::core::clone::Clone for IAMTimecodeDisplay {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMTimecodeDisplay {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9b496ce2_811b_11cf_8c77_00aa006b6814);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMTimecodeDisplay_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetTCDisplayEnable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstate: *mut i32) -> ::windows::core::HRESULT,
pub SetTCDisplayEnable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, state: i32) -> ::windows::core::HRESULT,
pub GetTCDisplay: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, param: i32, pvalue: *mut i32) -> ::windows::core::HRESULT,
pub SetTCDisplay: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, param: i32, value: i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMTimecodeGenerator(::windows::core::IUnknown);
impl IAMTimecodeGenerator {
pub unsafe fn GetTCGMode(&self, param: i32) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetTCGMode)(::windows::core::Interface::as_raw(self), param, &mut result__).from_abi(result__)
}
pub unsafe fn SetTCGMode(&self, param: i32, value: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTCGMode)(::windows::core::Interface::as_raw(self), param, value).ok()
}
pub unsafe fn SetVITCLine(&self, line: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetVITCLine)(::windows::core::Interface::as_raw(self), line).ok()
}
pub unsafe fn VITCLine(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).VITCLine)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetTimecode(&self, ptimecodesample: *mut super::TIMECODE_SAMPLE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTimecode)(::windows::core::Interface::as_raw(self), ptimecodesample).ok()
}
pub unsafe fn GetTimecode(&self, ptimecodesample: *mut super::TIMECODE_SAMPLE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetTimecode)(::windows::core::Interface::as_raw(self), ptimecodesample).ok()
}
}
::windows::imp::interface_hierarchy!(IAMTimecodeGenerator, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMTimecodeGenerator {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMTimecodeGenerator {}
impl ::core::fmt::Debug for IAMTimecodeGenerator {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMTimecodeGenerator").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMTimecodeGenerator {
type Vtable = IAMTimecodeGenerator_Vtbl;
}
impl ::core::clone::Clone for IAMTimecodeGenerator {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMTimecodeGenerator {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9b496ce0_811b_11cf_8c77_00aa006b6814);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMTimecodeGenerator_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetTCGMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, param: i32, pvalue: *mut i32) -> ::windows::core::HRESULT,
pub SetTCGMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, param: i32, value: i32) -> ::windows::core::HRESULT,
pub SetVITCLine: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, line: i32) -> ::windows::core::HRESULT,
pub VITCLine: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pline: *mut i32) -> ::windows::core::HRESULT,
pub SetTimecode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptimecodesample: *mut super::TIMECODE_SAMPLE) -> ::windows::core::HRESULT,
pub GetTimecode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptimecodesample: *mut super::TIMECODE_SAMPLE) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMTimecodeReader(::windows::core::IUnknown);
impl IAMTimecodeReader {
pub unsafe fn GetTCRMode(&self, param: i32) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetTCRMode)(::windows::core::Interface::as_raw(self), param, &mut result__).from_abi(result__)
}
pub unsafe fn SetTCRMode(&self, param: i32, value: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTCRMode)(::windows::core::Interface::as_raw(self), param, value).ok()
}
pub unsafe fn SetVITCLine(&self, line: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetVITCLine)(::windows::core::Interface::as_raw(self), line).ok()
}
pub unsafe fn VITCLine(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).VITCLine)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetTimecode(&self, ptimecodesample: *mut super::TIMECODE_SAMPLE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetTimecode)(::windows::core::Interface::as_raw(self), ptimecodesample).ok()
}
}
::windows::imp::interface_hierarchy!(IAMTimecodeReader, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMTimecodeReader {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMTimecodeReader {}
impl ::core::fmt::Debug for IAMTimecodeReader {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMTimecodeReader").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMTimecodeReader {
type Vtable = IAMTimecodeReader_Vtbl;
}
impl ::core::clone::Clone for IAMTimecodeReader {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMTimecodeReader {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9b496ce1_811b_11cf_8c77_00aa006b6814);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMTimecodeReader_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetTCRMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, param: i32, pvalue: *mut i32) -> ::windows::core::HRESULT,
pub SetTCRMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, param: i32, value: i32) -> ::windows::core::HRESULT,
pub SetVITCLine: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, line: i32) -> ::windows::core::HRESULT,
pub VITCLine: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pline: *mut i32) -> ::windows::core::HRESULT,
pub GetTimecode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptimecodesample: *mut super::TIMECODE_SAMPLE) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMTuner(::windows::core::IUnknown);
impl IAMTuner {
pub unsafe fn put_Channel(&self, lchannel: i32, lvideosubchannel: i32, laudiosubchannel: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_Channel)(::windows::core::Interface::as_raw(self), lchannel, lvideosubchannel, laudiosubchannel).ok()
}
pub unsafe fn get_Channel(&self, plchannel: *mut i32, plvideosubchannel: *mut i32, plaudiosubchannel: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_Channel)(::windows::core::Interface::as_raw(self), plchannel, plvideosubchannel, plaudiosubchannel).ok()
}
pub unsafe fn ChannelMinMax(&self, lchannelmin: *mut i32, lchannelmax: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ChannelMinMax)(::windows::core::Interface::as_raw(self), lchannelmin, lchannelmax).ok()
}
pub unsafe fn SetCountryCode(&self, lcountrycode: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetCountryCode)(::windows::core::Interface::as_raw(self), lcountrycode).ok()
}
pub unsafe fn CountryCode(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).CountryCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetTuningSpace(&self, ltuningspace: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTuningSpace)(::windows::core::Interface::as_raw(self), ltuningspace).ok()
}
pub unsafe fn TuningSpace(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).TuningSpace)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn Logon<P0>(&self, hcurrentuser: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
{
(::windows::core::Interface::vtable(self).Logon)(::windows::core::Interface::as_raw(self), hcurrentuser.into_param().abi()).ok()
}
pub unsafe fn Logout(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Logout)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn SignalPresent(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).SignalPresent)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetMode(&self, lmode: AMTunerModeType) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMode)(::windows::core::Interface::as_raw(self), lmode).ok()
}
pub unsafe fn Mode(&self) -> ::windows::core::Result<AMTunerModeType> {
let mut result__ = ::windows::core::zeroed::<AMTunerModeType>();
(::windows::core::Interface::vtable(self).Mode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetAvailableModes(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetAvailableModes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn RegisterNotificationCallBack<P0>(&self, pnotify: P0, levents: i32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IAMTunerNotification>,
{
(::windows::core::Interface::vtable(self).RegisterNotificationCallBack)(::windows::core::Interface::as_raw(self), pnotify.into_param().abi(), levents).ok()
}
pub unsafe fn UnRegisterNotificationCallBack<P0>(&self, pnotify: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IAMTunerNotification>,
{
(::windows::core::Interface::vtable(self).UnRegisterNotificationCallBack)(::windows::core::Interface::as_raw(self), pnotify.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IAMTuner, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMTuner {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMTuner {}
impl ::core::fmt::Debug for IAMTuner {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMTuner").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMTuner {
type Vtable = IAMTuner_Vtbl;
}
impl ::core::clone::Clone for IAMTuner {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMTuner {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x211a8761_03ac_11d1_8d13_00aa00bd8339);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMTuner_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub put_Channel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lchannel: i32, lvideosubchannel: i32, laudiosubchannel: i32) -> ::windows::core::HRESULT,
pub get_Channel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plchannel: *mut i32, plvideosubchannel: *mut i32, plaudiosubchannel: *mut i32) -> ::windows::core::HRESULT,
pub ChannelMinMax: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lchannelmin: *mut i32, lchannelmax: *mut i32) -> ::windows::core::HRESULT,
pub SetCountryCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lcountrycode: i32) -> ::windows::core::HRESULT,
pub CountryCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plcountrycode: *mut i32) -> ::windows::core::HRESULT,
pub SetTuningSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ltuningspace: i32) -> ::windows::core::HRESULT,
pub TuningSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pltuningspace: *mut i32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub Logon: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hcurrentuser: super::super::Foundation::HANDLE) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
Logon: usize,
pub Logout: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SignalPresent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plsignalstrength: *mut i32) -> ::windows::core::HRESULT,
pub SetMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lmode: AMTunerModeType) -> ::windows::core::HRESULT,
pub Mode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plmode: *mut AMTunerModeType) -> ::windows::core::HRESULT,
pub GetAvailableModes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plmodes: *mut i32) -> ::windows::core::HRESULT,
pub RegisterNotificationCallBack: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pnotify: *mut ::core::ffi::c_void, levents: i32) -> ::windows::core::HRESULT,
pub UnRegisterNotificationCallBack: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pnotify: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMTunerNotification(::windows::core::IUnknown);
impl IAMTunerNotification {
pub unsafe fn OnEvent(&self, event: AMTunerEventType) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).OnEvent)(::windows::core::Interface::as_raw(self), event).ok()
}
}
::windows::imp::interface_hierarchy!(IAMTunerNotification, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMTunerNotification {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMTunerNotification {}
impl ::core::fmt::Debug for IAMTunerNotification {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMTunerNotification").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMTunerNotification {
type Vtable = IAMTunerNotification_Vtbl;
}
impl ::core::clone::Clone for IAMTunerNotification {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMTunerNotification {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x211a8760_03ac_11d1_8d13_00aa00bd8339);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMTunerNotification_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub OnEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, event: AMTunerEventType) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMVfwCaptureDialogs(::windows::core::IUnknown);
impl IAMVfwCaptureDialogs {
pub unsafe fn HasDialog(&self, idialog: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).HasDialog)(::windows::core::Interface::as_raw(self), idialog).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn ShowDialog<P0>(&self, idialog: i32, hwnd: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
{
(::windows::core::Interface::vtable(self).ShowDialog)(::windows::core::Interface::as_raw(self), idialog, hwnd.into_param().abi()).ok()
}
pub unsafe fn SendDriverMessage(&self, idialog: i32, umsg: i32, dw1: i32, dw2: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SendDriverMessage)(::windows::core::Interface::as_raw(self), idialog, umsg, dw1, dw2).ok()
}
}
::windows::imp::interface_hierarchy!(IAMVfwCaptureDialogs, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMVfwCaptureDialogs {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMVfwCaptureDialogs {}
impl ::core::fmt::Debug for IAMVfwCaptureDialogs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMVfwCaptureDialogs").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMVfwCaptureDialogs {
type Vtable = IAMVfwCaptureDialogs_Vtbl;
}
impl ::core::clone::Clone for IAMVfwCaptureDialogs {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMVfwCaptureDialogs {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd8d715a0_6e5e_11d0_b3f0_00aa003761c5);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMVfwCaptureDialogs_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub HasDialog: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, idialog: i32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub ShowDialog: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, idialog: i32, hwnd: super::super::Foundation::HWND) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
ShowDialog: usize,
pub SendDriverMessage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, idialog: i32, umsg: i32, dw1: i32, dw2: i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMVfwCompressDialogs(::windows::core::IUnknown);
impl IAMVfwCompressDialogs {
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn ShowDialog<P0>(&self, idialog: i32, hwnd: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
{
(::windows::core::Interface::vtable(self).ShowDialog)(::windows::core::Interface::as_raw(self), idialog, hwnd.into_param().abi()).ok()
}
pub unsafe fn GetState(&self, pstate: *mut ::core::ffi::c_void, pcbstate: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetState)(::windows::core::Interface::as_raw(self), pstate, pcbstate).ok()
}
pub unsafe fn SetState(&self, pstate: *const ::core::ffi::c_void, cbstate: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetState)(::windows::core::Interface::as_raw(self), pstate, cbstate).ok()
}
pub unsafe fn SendDriverMessage(&self, umsg: i32, dw1: i32, dw2: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SendDriverMessage)(::windows::core::Interface::as_raw(self), umsg, dw1, dw2).ok()
}
}
::windows::imp::interface_hierarchy!(IAMVfwCompressDialogs, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMVfwCompressDialogs {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMVfwCompressDialogs {}
impl ::core::fmt::Debug for IAMVfwCompressDialogs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMVfwCompressDialogs").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMVfwCompressDialogs {
type Vtable = IAMVfwCompressDialogs_Vtbl;
}
impl ::core::clone::Clone for IAMVfwCompressDialogs {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMVfwCompressDialogs {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd8d715a3_6e5e_11d0_b3f0_00aa003761c5);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMVfwCompressDialogs_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Foundation")]
pub ShowDialog: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, idialog: i32, hwnd: super::super::Foundation::HWND) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
ShowDialog: usize,
pub GetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstate: *mut ::core::ffi::c_void, pcbstate: *mut i32) -> ::windows::core::HRESULT,
pub SetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstate: *const ::core::ffi::c_void, cbstate: i32) -> ::windows::core::HRESULT,
pub SendDriverMessage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, umsg: i32, dw1: i32, dw2: i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMVideoAccelerator(::windows::core::IUnknown);
impl IAMVideoAccelerator {
pub unsafe fn GetVideoAcceleratorGUIDs(&self, pdwnumguidssupported: *mut u32, pguidssupported: ::core::option::Option<*mut ::windows::core::GUID>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetVideoAcceleratorGUIDs)(::windows::core::Interface::as_raw(self), pdwnumguidssupported, ::core::mem::transmute(pguidssupported.unwrap_or(::std::ptr::null_mut()))).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetUncompFormatsSupported(&self, pguid: *const ::windows::core::GUID, pdwnumformatssupported: *mut u32, pformatssupported: ::core::option::Option<*mut super::super::Graphics::DirectDraw::DDPIXELFORMAT>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetUncompFormatsSupported)(::windows::core::Interface::as_raw(self), pguid, pdwnumformatssupported, ::core::mem::transmute(pformatssupported.unwrap_or(::std::ptr::null_mut()))).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetInternalMemInfo(&self, pguid: *const ::windows::core::GUID, pamvauncompdatainfo: *const AMVAUncompDataInfo, pamvainternalmeminfo: *mut AMVAInternalMemInfo) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetInternalMemInfo)(::windows::core::Interface::as_raw(self), pguid, pamvauncompdatainfo, pamvainternalmeminfo).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetCompBufferInfo(&self, pguid: *const ::windows::core::GUID, pamvauncompdatainfo: *const AMVAUncompDataInfo, pdwnumtypescompbuffers: *mut u32, pamvacompbufferinfo: ::core::option::Option<*mut AMVACompBufferInfo>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCompBufferInfo)(::windows::core::Interface::as_raw(self), pguid, pamvauncompdatainfo, pdwnumtypescompbuffers, ::core::mem::transmute(pamvacompbufferinfo.unwrap_or(::std::ptr::null_mut()))).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetInternalCompBufferInfo(&self, pdwnumtypescompbuffers: *mut u32, pamvacompbufferinfo: ::core::option::Option<*mut AMVACompBufferInfo>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetInternalCompBufferInfo)(::windows::core::Interface::as_raw(self), pdwnumtypescompbuffers, ::core::mem::transmute(pamvacompbufferinfo.unwrap_or(::std::ptr::null_mut()))).ok()
}
pub unsafe fn BeginFrame(&self, amvabeginframeinfo: *const AMVABeginFrameInfo) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).BeginFrame)(::windows::core::Interface::as_raw(self), amvabeginframeinfo).ok()
}
pub unsafe fn EndFrame(&self, pendframeinfo: *const AMVAEndFrameInfo) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).EndFrame)(::windows::core::Interface::as_raw(self), pendframeinfo).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetBuffer<P0>(&self, dwtypeindex: u32, dwbufferindex: u32, breadonly: P0, ppbuffer: *mut *mut ::core::ffi::c_void, lpstride: *mut i32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).GetBuffer)(::windows::core::Interface::as_raw(self), dwtypeindex, dwbufferindex, breadonly.into_param().abi(), ppbuffer, lpstride).ok()
}
pub unsafe fn ReleaseBuffer(&self, dwtypeindex: u32, dwbufferindex: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ReleaseBuffer)(::windows::core::Interface::as_raw(self), dwtypeindex, dwbufferindex).ok()
}
pub unsafe fn Execute(&self, dwfunction: u32, lpprivateinputdata: *const ::core::ffi::c_void, cbprivateinputdata: u32, lpprivateoutputdat: *const ::core::ffi::c_void, cbprivateoutputdata: u32, pamvabufferinfo: &[AMVABUFFERINFO]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Execute)(::windows::core::Interface::as_raw(self), dwfunction, lpprivateinputdata, cbprivateinputdata, lpprivateoutputdat, cbprivateoutputdata, pamvabufferinfo.len() as _, ::core::mem::transmute(pamvabufferinfo.as_ptr())).ok()
}
pub unsafe fn QueryRenderStatus(&self, dwtypeindex: u32, dwbufferindex: u32, dwflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).QueryRenderStatus)(::windows::core::Interface::as_raw(self), dwtypeindex, dwbufferindex, dwflags).ok()
}
pub unsafe fn DisplayFrame<P0>(&self, dwfliptoindex: u32, pmediasample: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IMediaSample>,
{
(::windows::core::Interface::vtable(self).DisplayFrame)(::windows::core::Interface::as_raw(self), dwfliptoindex, pmediasample.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IAMVideoAccelerator, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMVideoAccelerator {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMVideoAccelerator {}
impl ::core::fmt::Debug for IAMVideoAccelerator {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMVideoAccelerator").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMVideoAccelerator {
type Vtable = IAMVideoAccelerator_Vtbl;
}
impl ::core::clone::Clone for IAMVideoAccelerator {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMVideoAccelerator {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x256a6a22_fbad_11d1_82bf_00a0c9696c8f);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMVideoAccelerator_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetVideoAcceleratorGUIDs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwnumguidssupported: *mut u32, pguidssupported: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetUncompFormatsSupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguid: *const ::windows::core::GUID, pdwnumformatssupported: *mut u32, pformatssupported: *mut super::super::Graphics::DirectDraw::DDPIXELFORMAT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetUncompFormatsSupported: usize,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetInternalMemInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguid: *const ::windows::core::GUID, pamvauncompdatainfo: *const AMVAUncompDataInfo, pamvainternalmeminfo: *mut AMVAInternalMemInfo) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetInternalMemInfo: usize,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetCompBufferInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguid: *const ::windows::core::GUID, pamvauncompdatainfo: *const AMVAUncompDataInfo, pdwnumtypescompbuffers: *mut u32, pamvacompbufferinfo: *mut AMVACompBufferInfo) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetCompBufferInfo: usize,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetInternalCompBufferInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwnumtypescompbuffers: *mut u32, pamvacompbufferinfo: *mut AMVACompBufferInfo) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetInternalCompBufferInfo: usize,
pub BeginFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, amvabeginframeinfo: *const AMVABeginFrameInfo) -> ::windows::core::HRESULT,
pub EndFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pendframeinfo: *const AMVAEndFrameInfo) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub GetBuffer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwtypeindex: u32, dwbufferindex: u32, breadonly: super::super::Foundation::BOOL, ppbuffer: *mut *mut ::core::ffi::c_void, lpstride: *mut i32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetBuffer: usize,
pub ReleaseBuffer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwtypeindex: u32, dwbufferindex: u32) -> ::windows::core::HRESULT,
pub Execute: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwfunction: u32, lpprivateinputdata: *const ::core::ffi::c_void, cbprivateinputdata: u32, lpprivateoutputdat: *const ::core::ffi::c_void, cbprivateoutputdata: u32, dwnumbuffers: u32, pamvabufferinfo: *const AMVABUFFERINFO) -> ::windows::core::HRESULT,
pub QueryRenderStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwtypeindex: u32, dwbufferindex: u32, dwflags: u32) -> ::windows::core::HRESULT,
pub DisplayFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwfliptoindex: u32, pmediasample: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMVideoAcceleratorNotify(::windows::core::IUnknown);
impl IAMVideoAcceleratorNotify {
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetUncompSurfacesInfo(&self, pguid: *const ::windows::core::GUID, puncompbufferinfo: *mut AMVAUncompBufferInfo) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetUncompSurfacesInfo)(::windows::core::Interface::as_raw(self), pguid, puncompbufferinfo).ok()
}
pub unsafe fn SetUncompSurfacesInfo(&self, dwactualuncompsurfacesallocated: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetUncompSurfacesInfo)(::windows::core::Interface::as_raw(self), dwactualuncompsurfacesallocated).ok()
}
pub unsafe fn GetCreateVideoAcceleratorData(&self, pguid: *const ::windows::core::GUID, pdwsizemiscdata: *mut u32, ppmiscdata: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCreateVideoAcceleratorData)(::windows::core::Interface::as_raw(self), pguid, pdwsizemiscdata, ppmiscdata).ok()
}
}
::windows::imp::interface_hierarchy!(IAMVideoAcceleratorNotify, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMVideoAcceleratorNotify {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMVideoAcceleratorNotify {}
impl ::core::fmt::Debug for IAMVideoAcceleratorNotify {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMVideoAcceleratorNotify").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMVideoAcceleratorNotify {
type Vtable = IAMVideoAcceleratorNotify_Vtbl;
}
impl ::core::clone::Clone for IAMVideoAcceleratorNotify {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMVideoAcceleratorNotify {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x256a6a21_fbad_11d1_82bf_00a0c9696c8f);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMVideoAcceleratorNotify_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetUncompSurfacesInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguid: *const ::windows::core::GUID, puncompbufferinfo: *mut AMVAUncompBufferInfo) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetUncompSurfacesInfo: usize,
pub SetUncompSurfacesInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwactualuncompsurfacesallocated: u32) -> ::windows::core::HRESULT,
pub GetCreateVideoAcceleratorData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguid: *const ::windows::core::GUID, pdwsizemiscdata: *mut u32, ppmiscdata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMVideoCompression(::windows::core::IUnknown);
impl IAMVideoCompression {
pub unsafe fn SetKeyFrameRate(&self, keyframerate: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetKeyFrameRate)(::windows::core::Interface::as_raw(self), keyframerate).ok()
}
pub unsafe fn KeyFrameRate(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).KeyFrameRate)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetPFramesPerKeyFrame(&self, pframesperkeyframe: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetPFramesPerKeyFrame)(::windows::core::Interface::as_raw(self), pframesperkeyframe).ok()
}
pub unsafe fn PFramesPerKeyFrame(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).PFramesPerKeyFrame)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetQuality(&self, quality: f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetQuality)(::windows::core::Interface::as_raw(self), quality).ok()
}
pub unsafe fn Quality(&self) -> ::windows::core::Result<f64> {
let mut result__ = ::windows::core::zeroed::<f64>();
(::windows::core::Interface::vtable(self).Quality)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetWindowSize(&self, windowsize: u64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetWindowSize)(::windows::core::Interface::as_raw(self), windowsize).ok()
}
pub unsafe fn WindowSize(&self) -> ::windows::core::Result<u64> {
let mut result__ = ::windows::core::zeroed::<u64>();
(::windows::core::Interface::vtable(self).WindowSize)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetInfo(&self, pszversion: ::windows::core::PWSTR, pcbversion: ::core::option::Option<*mut i32>, pszdescription: ::windows::core::PWSTR, pcbdescription: ::core::option::Option<*mut i32>, pdefaultkeyframerate: ::core::option::Option<*mut i32>, pdefaultpframesperkey: ::core::option::Option<*mut i32>, pdefaultquality: ::core::option::Option<*mut f64>, pcapabilities: ::core::option::Option<*mut i32>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetInfo)(
::windows::core::Interface::as_raw(self),
::core::mem::transmute(pszversion),
::core::mem::transmute(pcbversion.unwrap_or(::std::ptr::null_mut())),
::core::mem::transmute(pszdescription),
::core::mem::transmute(pcbdescription.unwrap_or(::std::ptr::null_mut())),
::core::mem::transmute(pdefaultkeyframerate.unwrap_or(::std::ptr::null_mut())),
::core::mem::transmute(pdefaultpframesperkey.unwrap_or(::std::ptr::null_mut())),
::core::mem::transmute(pdefaultquality.unwrap_or(::std::ptr::null_mut())),
::core::mem::transmute(pcapabilities.unwrap_or(::std::ptr::null_mut())),
)
.ok()
}
pub unsafe fn OverrideKeyFrame(&self, framenumber: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).OverrideKeyFrame)(::windows::core::Interface::as_raw(self), framenumber).ok()
}
pub unsafe fn OverrideFrameSize(&self, framenumber: i32, size: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).OverrideFrameSize)(::windows::core::Interface::as_raw(self), framenumber, size).ok()
}
}
::windows::imp::interface_hierarchy!(IAMVideoCompression, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMVideoCompression {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMVideoCompression {}
impl ::core::fmt::Debug for IAMVideoCompression {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMVideoCompression").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMVideoCompression {
type Vtable = IAMVideoCompression_Vtbl;
}
impl ::core::clone::Clone for IAMVideoCompression {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMVideoCompression {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc6e13343_30ac_11d0_a18c_00a0c9118956);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMVideoCompression_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetKeyFrameRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, keyframerate: i32) -> ::windows::core::HRESULT,
pub KeyFrameRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pkeyframerate: *mut i32) -> ::windows::core::HRESULT,
pub SetPFramesPerKeyFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pframesperkeyframe: i32) -> ::windows::core::HRESULT,
pub PFramesPerKeyFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppframesperkeyframe: *mut i32) -> ::windows::core::HRESULT,
pub SetQuality: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, quality: f64) -> ::windows::core::HRESULT,
pub Quality: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pquality: *mut f64) -> ::windows::core::HRESULT,
pub SetWindowSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, windowsize: u64) -> ::windows::core::HRESULT,
pub WindowSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwindowsize: *mut u64) -> ::windows::core::HRESULT,
pub GetInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszversion: ::windows::core::PWSTR, pcbversion: *mut i32, pszdescription: ::windows::core::PWSTR, pcbdescription: *mut i32, pdefaultkeyframerate: *mut i32, pdefaultpframesperkey: *mut i32, pdefaultquality: *mut f64, pcapabilities: *mut i32) -> ::windows::core::HRESULT,
pub OverrideKeyFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, framenumber: i32) -> ::windows::core::HRESULT,
pub OverrideFrameSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, framenumber: i32, size: i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMVideoControl(::windows::core::IUnknown);
impl IAMVideoControl {
pub unsafe fn GetCaps<P0>(&self, ppin: P0) -> ::windows::core::Result<i32>
where
P0: ::windows::core::IntoParam<IPin>,
{
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetCaps)(::windows::core::Interface::as_raw(self), ppin.into_param().abi(), &mut result__).from_abi(result__)
}
pub unsafe fn SetMode<P0>(&self, ppin: P0, mode: i32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).SetMode)(::windows::core::Interface::as_raw(self), ppin.into_param().abi(), mode).ok()
}
pub unsafe fn GetMode<P0>(&self, ppin: P0) -> ::windows::core::Result<i32>
where
P0: ::windows::core::IntoParam<IPin>,
{
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetMode)(::windows::core::Interface::as_raw(self), ppin.into_param().abi(), &mut result__).from_abi(result__)
}
pub unsafe fn GetCurrentActualFrameRate<P0>(&self, ppin: P0) -> ::windows::core::Result<i64>
where
P0: ::windows::core::IntoParam<IPin>,
{
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).GetCurrentActualFrameRate)(::windows::core::Interface::as_raw(self), ppin.into_param().abi(), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetMaxAvailableFrameRate<P0>(&self, ppin: P0, iindex: i32, dimensions: super::super::Foundation::SIZE) -> ::windows::core::Result<i64>
where
P0: ::windows::core::IntoParam<IPin>,
{
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).GetMaxAvailableFrameRate)(::windows::core::Interface::as_raw(self), ppin.into_param().abi(), iindex, ::core::mem::transmute(dimensions), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetFrameRateList<P0>(&self, ppin: P0, iindex: i32, dimensions: super::super::Foundation::SIZE, listsize: *mut i32, framerates: *mut *mut i64) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).GetFrameRateList)(::windows::core::Interface::as_raw(self), ppin.into_param().abi(), iindex, ::core::mem::transmute(dimensions), listsize, framerates).ok()
}
}
::windows::imp::interface_hierarchy!(IAMVideoControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMVideoControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMVideoControl {}
impl ::core::fmt::Debug for IAMVideoControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMVideoControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMVideoControl {
type Vtable = IAMVideoControl_Vtbl;
}
impl ::core::clone::Clone for IAMVideoControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMVideoControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6a2e0670_28e4_11d0_a18c_00a0c9118956);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMVideoControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetCaps: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppin: *mut ::core::ffi::c_void, pcapsflags: *mut i32) -> ::windows::core::HRESULT,
pub SetMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppin: *mut ::core::ffi::c_void, mode: i32) -> ::windows::core::HRESULT,
pub GetMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppin: *mut ::core::ffi::c_void, mode: *mut i32) -> ::windows::core::HRESULT,
pub GetCurrentActualFrameRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppin: *mut ::core::ffi::c_void, actualframerate: *mut i64) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub GetMaxAvailableFrameRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppin: *mut ::core::ffi::c_void, iindex: i32, dimensions: super::super::Foundation::SIZE, maxavailableframerate: *mut i64) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetMaxAvailableFrameRate: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetFrameRateList: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppin: *mut ::core::ffi::c_void, iindex: i32, dimensions: super::super::Foundation::SIZE, listsize: *mut i32, framerates: *mut *mut i64) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetFrameRateList: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMVideoDecimationProperties(::windows::core::IUnknown);
impl IAMVideoDecimationProperties {
pub unsafe fn QueryDecimationUsage(&self) -> ::windows::core::Result<DECIMATION_USAGE> {
let mut result__ = ::windows::core::zeroed::<DECIMATION_USAGE>();
(::windows::core::Interface::vtable(self).QueryDecimationUsage)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDecimationUsage(&self, usage: DECIMATION_USAGE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDecimationUsage)(::windows::core::Interface::as_raw(self), usage).ok()
}
}
::windows::imp::interface_hierarchy!(IAMVideoDecimationProperties, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMVideoDecimationProperties {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMVideoDecimationProperties {}
impl ::core::fmt::Debug for IAMVideoDecimationProperties {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMVideoDecimationProperties").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMVideoDecimationProperties {
type Vtable = IAMVideoDecimationProperties_Vtbl;
}
impl ::core::clone::Clone for IAMVideoDecimationProperties {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMVideoDecimationProperties {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x60d32930_13da_11d3_9ec6_c4fcaef5c7be);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMVideoDecimationProperties_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub QueryDecimationUsage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpusage: *mut DECIMATION_USAGE) -> ::windows::core::HRESULT,
pub SetDecimationUsage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, usage: DECIMATION_USAGE) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMVideoProcAmp(::windows::core::IUnknown);
impl IAMVideoProcAmp {
pub unsafe fn GetRange(&self, property: i32, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetRange)(::windows::core::Interface::as_raw(self), property, pmin, pmax, psteppingdelta, pdefault, pcapsflags).ok()
}
pub unsafe fn Set(&self, property: i32, lvalue: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Set)(::windows::core::Interface::as_raw(self), property, lvalue, flags).ok()
}
pub unsafe fn Get(&self, property: i32, lvalue: *mut i32, flags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Get)(::windows::core::Interface::as_raw(self), property, lvalue, flags).ok()
}
}
::windows::imp::interface_hierarchy!(IAMVideoProcAmp, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMVideoProcAmp {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMVideoProcAmp {}
impl ::core::fmt::Debug for IAMVideoProcAmp {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMVideoProcAmp").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMVideoProcAmp {
type Vtable = IAMVideoProcAmp_Vtbl;
}
impl ::core::clone::Clone for IAMVideoProcAmp {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMVideoProcAmp {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc6e13360_30ac_11d0_a18c_00a0c9118956);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMVideoProcAmp_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetRange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, property: i32, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflags: *mut i32) -> ::windows::core::HRESULT,
pub Set: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, property: i32, lvalue: i32, flags: i32) -> ::windows::core::HRESULT,
pub Get: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, property: i32, lvalue: *mut i32, flags: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMWMBufferPass(::windows::core::IUnknown);
impl IAMWMBufferPass {
pub unsafe fn SetNotify<P0>(&self, pcallback: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IAMWMBufferPassCallback>,
{
(::windows::core::Interface::vtable(self).SetNotify)(::windows::core::Interface::as_raw(self), pcallback.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IAMWMBufferPass, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMWMBufferPass {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMWMBufferPass {}
impl ::core::fmt::Debug for IAMWMBufferPass {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMWMBufferPass").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMWMBufferPass {
type Vtable = IAMWMBufferPass_Vtbl;
}
impl ::core::clone::Clone for IAMWMBufferPass {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMWMBufferPass {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6dd816d7_e740_4123_9e24_2444412644d8);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMWMBufferPass_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetNotify: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcallback: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMWMBufferPassCallback(::windows::core::IUnknown);
impl IAMWMBufferPassCallback {
#[doc = "*Required features: `\"Win32_Media_WindowsMediaFormat\"`*"]
#[cfg(feature = "Win32_Media_WindowsMediaFormat")]
pub unsafe fn Notify<P0, P1>(&self, pnssbuffer3: P0, ppin: P1, prtstart: *const i64, prtend: *const i64) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::WindowsMediaFormat::INSSBuffer3>,
P1: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).Notify)(::windows::core::Interface::as_raw(self), pnssbuffer3.into_param().abi(), ppin.into_param().abi(), prtstart, prtend).ok()
}
}
::windows::imp::interface_hierarchy!(IAMWMBufferPassCallback, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMWMBufferPassCallback {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMWMBufferPassCallback {}
impl ::core::fmt::Debug for IAMWMBufferPassCallback {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMWMBufferPassCallback").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMWMBufferPassCallback {
type Vtable = IAMWMBufferPassCallback_Vtbl;
}
impl ::core::clone::Clone for IAMWMBufferPassCallback {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMWMBufferPassCallback {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb25b8372_d2d2_44b2_8653_1b8dae332489);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMWMBufferPassCallback_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Media_WindowsMediaFormat")]
pub Notify: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pnssbuffer3: *mut ::core::ffi::c_void, ppin: *mut ::core::ffi::c_void, prtstart: *const i64, prtend: *const i64) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Media_WindowsMediaFormat"))]
Notify: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMWstDecoder(::windows::core::IUnknown);
impl IAMWstDecoder {
pub unsafe fn GetDecoderLevel(&self, lplevel: *mut AM_WST_LEVEL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDecoderLevel)(::windows::core::Interface::as_raw(self), lplevel).ok()
}
pub unsafe fn GetCurrentService(&self, lpservice: *mut AM_WST_SERVICE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurrentService)(::windows::core::Interface::as_raw(self), lpservice).ok()
}
pub unsafe fn GetServiceState(&self, lpstate: *mut AM_WST_STATE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetServiceState)(::windows::core::Interface::as_raw(self), lpstate).ok()
}
pub unsafe fn SetServiceState(&self, state: AM_WST_STATE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetServiceState)(::windows::core::Interface::as_raw(self), state).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_Gdi\"`*"]
#[cfg(feature = "Win32_Graphics_Gdi")]
pub unsafe fn GetOutputFormat(&self, lpbmih: *mut super::super::Graphics::Gdi::BITMAPINFOHEADER) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetOutputFormat)(::windows::core::Interface::as_raw(self), lpbmih).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_Gdi\"`*"]
#[cfg(feature = "Win32_Graphics_Gdi")]
pub unsafe fn SetOutputFormat(&self, lpbmi: *mut super::super::Graphics::Gdi::BITMAPINFO) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetOutputFormat)(::windows::core::Interface::as_raw(self), lpbmi).ok()
}
pub unsafe fn GetBackgroundColor(&self, pdwphyscolor: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetBackgroundColor)(::windows::core::Interface::as_raw(self), pdwphyscolor).ok()
}
pub unsafe fn SetBackgroundColor(&self, dwphyscolor: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetBackgroundColor)(::windows::core::Interface::as_raw(self), dwphyscolor).ok()
}
pub unsafe fn GetRedrawAlways(&self, lpboption: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetRedrawAlways)(::windows::core::Interface::as_raw(self), lpboption).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetRedrawAlways<P0>(&self, boption: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetRedrawAlways)(::windows::core::Interface::as_raw(self), boption.into_param().abi()).ok()
}
pub unsafe fn GetDrawBackgroundMode(&self, lpmode: *mut AM_WST_DRAWBGMODE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDrawBackgroundMode)(::windows::core::Interface::as_raw(self), lpmode).ok()
}
pub unsafe fn SetDrawBackgroundMode(&self, mode: AM_WST_DRAWBGMODE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDrawBackgroundMode)(::windows::core::Interface::as_raw(self), mode).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetAnswerMode<P0>(&self, banswer: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetAnswerMode)(::windows::core::Interface::as_raw(self), banswer.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetAnswerMode(&self, pbanswer: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetAnswerMode)(::windows::core::Interface::as_raw(self), pbanswer).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetHoldPage<P0>(&self, bholdpage: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetHoldPage)(::windows::core::Interface::as_raw(self), bholdpage.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetHoldPage(&self, pbholdpage: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetHoldPage)(::windows::core::Interface::as_raw(self), pbholdpage).ok()
}
pub unsafe fn GetCurrentPage(&self, pwstpage: *mut AM_WST_PAGE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurrentPage)(::windows::core::Interface::as_raw(self), pwstpage).ok()
}
pub unsafe fn SetCurrentPage(&self, wstpage: AM_WST_PAGE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetCurrentPage)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(wstpage)).ok()
}
}
::windows::imp::interface_hierarchy!(IAMWstDecoder, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMWstDecoder {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMWstDecoder {}
impl ::core::fmt::Debug for IAMWstDecoder {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMWstDecoder").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMWstDecoder {
type Vtable = IAMWstDecoder_Vtbl;
}
impl ::core::clone::Clone for IAMWstDecoder {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMWstDecoder {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc056de21_75c2_11d3_a184_00105aef9f33);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMWstDecoder_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetDecoderLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lplevel: *mut AM_WST_LEVEL) -> ::windows::core::HRESULT,
pub GetCurrentService: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpservice: *mut AM_WST_SERVICE) -> ::windows::core::HRESULT,
pub GetServiceState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpstate: *mut AM_WST_STATE) -> ::windows::core::HRESULT,
pub SetServiceState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, state: AM_WST_STATE) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Graphics_Gdi")]
pub GetOutputFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpbmih: *mut super::super::Graphics::Gdi::BITMAPINFOHEADER) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_Gdi"))]
GetOutputFormat: usize,
#[cfg(feature = "Win32_Graphics_Gdi")]
pub SetOutputFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpbmi: *mut super::super::Graphics::Gdi::BITMAPINFO) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_Gdi"))]
SetOutputFormat: usize,
pub GetBackgroundColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwphyscolor: *mut u32) -> ::windows::core::HRESULT,
pub SetBackgroundColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwphyscolor: u32) -> ::windows::core::HRESULT,
pub GetRedrawAlways: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpboption: *mut i32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetRedrawAlways: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, boption: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetRedrawAlways: usize,
pub GetDrawBackgroundMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpmode: *mut AM_WST_DRAWBGMODE) -> ::windows::core::HRESULT,
pub SetDrawBackgroundMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mode: AM_WST_DRAWBGMODE) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetAnswerMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, banswer: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetAnswerMode: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetAnswerMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbanswer: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetAnswerMode: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetHoldPage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bholdpage: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetHoldPage: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetHoldPage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbholdpage: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetHoldPage: usize,
pub GetCurrentPage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwstpage: *mut AM_WST_PAGE) -> ::windows::core::HRESULT,
pub SetCurrentPage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, wstpage: AM_WST_PAGE) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAMovieSetup(::windows::core::IUnknown);
impl IAMovieSetup {
pub unsafe fn Register(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Register)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Unregister(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Unregister)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IAMovieSetup, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAMovieSetup {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAMovieSetup {}
impl ::core::fmt::Debug for IAMovieSetup {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAMovieSetup").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAMovieSetup {
type Vtable = IAMovieSetup_Vtbl;
}
impl ::core::clone::Clone for IAMovieSetup {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAMovieSetup {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa3d8cec0_7e5a_11cf_bbc5_00805f6cef20);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAMovieSetup_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub Register: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Unregister: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAsyncReader(::windows::core::IUnknown);
impl IAsyncReader {
pub unsafe fn RequestAllocator<P0>(&self, ppreferred: P0, pprops: *const ALLOCATOR_PROPERTIES) -> ::windows::core::Result<IMemAllocator>
where
P0: ::windows::core::IntoParam<IMemAllocator>,
{
let mut result__ = ::windows::core::zeroed::<IMemAllocator>();
(::windows::core::Interface::vtable(self).RequestAllocator)(::windows::core::Interface::as_raw(self), ppreferred.into_param().abi(), pprops, &mut result__).from_abi(result__)
}
pub unsafe fn Request<P0>(&self, psample: P0, dwuser: usize) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IMediaSample>,
{
(::windows::core::Interface::vtable(self).Request)(::windows::core::Interface::as_raw(self), psample.into_param().abi(), dwuser).ok()
}
pub unsafe fn WaitForNext(&self, dwtimeout: u32, ppsample: ::core::option::Option<*mut ::core::option::Option<IMediaSample>>, pdwuser: *mut usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).WaitForNext)(::windows::core::Interface::as_raw(self), dwtimeout, ::core::mem::transmute(ppsample.unwrap_or(::std::ptr::null_mut())), pdwuser).ok()
}
pub unsafe fn SyncReadAligned<P0>(&self, psample: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IMediaSample>,
{
(::windows::core::Interface::vtable(self).SyncReadAligned)(::windows::core::Interface::as_raw(self), psample.into_param().abi()).ok()
}
pub unsafe fn SyncRead(&self, llposition: i64, pbuffer: &mut [u8]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SyncRead)(::windows::core::Interface::as_raw(self), llposition, pbuffer.len() as _, ::core::mem::transmute(pbuffer.as_ptr())).ok()
}
pub unsafe fn Length(&self, ptotal: *mut i64, pavailable: *mut i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Length)(::windows::core::Interface::as_raw(self), ptotal, pavailable).ok()
}
pub unsafe fn BeginFlush(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).BeginFlush)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn EndFlush(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).EndFlush)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IAsyncReader, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IAsyncReader {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAsyncReader {}
impl ::core::fmt::Debug for IAsyncReader {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAsyncReader").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAsyncReader {
type Vtable = IAsyncReader_Vtbl;
}
impl ::core::clone::Clone for IAsyncReader {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAsyncReader {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868aa_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAsyncReader_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub RequestAllocator: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppreferred: *mut ::core::ffi::c_void, pprops: *const ALLOCATOR_PROPERTIES, ppactual: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Request: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psample: *mut ::core::ffi::c_void, dwuser: usize) -> ::windows::core::HRESULT,
pub WaitForNext: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwtimeout: u32, ppsample: *mut *mut ::core::ffi::c_void, pdwuser: *mut usize) -> ::windows::core::HRESULT,
pub SyncReadAligned: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psample: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SyncRead: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, llposition: i64, llength: i32, pbuffer: *mut u8) -> ::windows::core::HRESULT,
pub Length: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptotal: *mut i64, pavailable: *mut i64) -> ::windows::core::HRESULT,
pub BeginFlush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub EndFlush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAudioData(::windows::core::IUnknown);
impl IAudioData {
pub unsafe fn SetBuffer(&self, cbsize: u32, pbdata: *const u8, dwflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetBuffer)(::windows::core::Interface::as_raw(self), cbsize, pbdata, dwflags).ok()
}
pub unsafe fn GetInfo(&self, pdwlength: *mut u32, ppbdata: *mut *mut u8, pcbactualdata: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetInfo)(::windows::core::Interface::as_raw(self), pdwlength, ppbdata, pcbactualdata).ok()
}
pub unsafe fn SetActual(&self, cbdatavalid: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetActual)(::windows::core::Interface::as_raw(self), cbdatavalid).ok()
}
#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
#[cfg(feature = "Win32_Media_Audio")]
pub unsafe fn GetFormat(&self, pwaveformatcurrent: *mut super::Audio::WAVEFORMATEX) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetFormat)(::windows::core::Interface::as_raw(self), pwaveformatcurrent).ok()
}
#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
#[cfg(feature = "Win32_Media_Audio")]
pub unsafe fn SetFormat(&self, lpwaveformat: *const super::Audio::WAVEFORMATEX) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetFormat)(::windows::core::Interface::as_raw(self), lpwaveformat).ok()
}
}
::windows::imp::interface_hierarchy!(IAudioData, ::windows::core::IUnknown, IMemoryData);
impl ::core::cmp::PartialEq for IAudioData {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAudioData {}
impl ::core::fmt::Debug for IAudioData {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAudioData").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAudioData {
type Vtable = IAudioData_Vtbl;
}
impl ::core::clone::Clone for IAudioData {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAudioData {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x54c719c0_af60_11d0_8212_00c04fc32c45);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAudioData_Vtbl {
pub base__: IMemoryData_Vtbl,
#[cfg(feature = "Win32_Media_Audio")]
pub GetFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwaveformatcurrent: *mut super::Audio::WAVEFORMATEX) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Media_Audio"))]
GetFormat: usize,
#[cfg(feature = "Win32_Media_Audio")]
pub SetFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpwaveformat: *const super::Audio::WAVEFORMATEX) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Media_Audio"))]
SetFormat: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAudioMediaStream(::windows::core::IUnknown);
impl IAudioMediaStream {
pub unsafe fn GetMultiMediaStream(&self) -> ::windows::core::Result<IMultiMediaStream> {
let mut result__ = ::windows::core::zeroed::<IMultiMediaStream>();
(::windows::core::Interface::vtable(self).base__.GetMultiMediaStream)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetInformation(&self, ppurposeid: *mut ::windows::core::GUID, ptype: *mut STREAM_TYPE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetInformation)(::windows::core::Interface::as_raw(self), ppurposeid, ptype).ok()
}
pub unsafe fn SetSameFormat<P0>(&self, pstreamthathasdesiredformat: P0, dwflags: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IMediaStream>,
{
(::windows::core::Interface::vtable(self).base__.SetSameFormat)(::windows::core::Interface::as_raw(self), pstreamthathasdesiredformat.into_param().abi(), dwflags).ok()
}
pub unsafe fn AllocateSample(&self, dwflags: u32) -> ::windows::core::Result<IStreamSample> {
let mut result__ = ::windows::core::zeroed::<IStreamSample>();
(::windows::core::Interface::vtable(self).base__.AllocateSample)(::windows::core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn CreateSharedSample<P0>(&self, pexistingsample: P0, dwflags: u32) -> ::windows::core::Result<IStreamSample>
where
P0: ::windows::core::IntoParam<IStreamSample>,
{
let mut result__ = ::windows::core::zeroed::<IStreamSample>();
(::windows::core::Interface::vtable(self).base__.CreateSharedSample)(::windows::core::Interface::as_raw(self), pexistingsample.into_param().abi(), dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn SendEndOfStream(&self, dwflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SendEndOfStream)(::windows::core::Interface::as_raw(self), dwflags).ok()
}
#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
#[cfg(feature = "Win32_Media_Audio")]
pub unsafe fn GetFormat(&self, pwaveformatcurrent: *mut super::Audio::WAVEFORMATEX) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetFormat)(::windows::core::Interface::as_raw(self), pwaveformatcurrent).ok()
}
#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
#[cfg(feature = "Win32_Media_Audio")]
pub unsafe fn SetFormat(&self, lpwaveformat: *const super::Audio::WAVEFORMATEX) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetFormat)(::windows::core::Interface::as_raw(self), lpwaveformat).ok()
}
pub unsafe fn CreateSample<P0>(&self, paudiodata: P0, dwflags: u32) -> ::windows::core::Result<IAudioStreamSample>
where
P0: ::windows::core::IntoParam<IAudioData>,
{
let mut result__ = ::windows::core::zeroed::<IAudioStreamSample>();
(::windows::core::Interface::vtable(self).CreateSample)(::windows::core::Interface::as_raw(self), paudiodata.into_param().abi(), dwflags, &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IAudioMediaStream, ::windows::core::IUnknown, IMediaStream);
impl ::core::cmp::PartialEq for IAudioMediaStream {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAudioMediaStream {}
impl ::core::fmt::Debug for IAudioMediaStream {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAudioMediaStream").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAudioMediaStream {
type Vtable = IAudioMediaStream_Vtbl;
}
impl ::core::clone::Clone for IAudioMediaStream {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAudioMediaStream {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf7537560_a3be_11d0_8212_00c04fc32c45);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAudioMediaStream_Vtbl {
pub base__: IMediaStream_Vtbl,
#[cfg(feature = "Win32_Media_Audio")]
pub GetFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwaveformatcurrent: *mut super::Audio::WAVEFORMATEX) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Media_Audio"))]
GetFormat: usize,
#[cfg(feature = "Win32_Media_Audio")]
pub SetFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpwaveformat: *const super::Audio::WAVEFORMATEX) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Media_Audio"))]
SetFormat: usize,
pub CreateSample: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, paudiodata: *mut ::core::ffi::c_void, dwflags: u32, ppsample: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IAudioStreamSample(::windows::core::IUnknown);
impl IAudioStreamSample {
pub unsafe fn GetMediaStream(&self, ppmediastream: *const ::core::option::Option<IMediaStream>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetMediaStream)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ppmediastream)).ok()
}
pub unsafe fn GetSampleTimes(&self, pstarttime: *mut i64, pendtime: *mut i64, pcurrenttime: *mut i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetSampleTimes)(::windows::core::Interface::as_raw(self), pstarttime, pendtime, pcurrenttime).ok()
}
pub unsafe fn SetSampleTimes(&self, pstarttime: *const i64, pendtime: *const i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetSampleTimes)(::windows::core::Interface::as_raw(self), pstarttime, pendtime).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn Update<P0>(&self, dwflags: u32, hevent: P0, pfnapc: super::super::Foundation::PAPCFUNC, dwapcdata: usize) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
{
(::windows::core::Interface::vtable(self).base__.Update)(::windows::core::Interface::as_raw(self), dwflags, hevent.into_param().abi(), pfnapc, dwapcdata).ok()
}
pub unsafe fn CompletionStatus(&self, dwflags: u32, dwmilliseconds: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.CompletionStatus)(::windows::core::Interface::as_raw(self), dwflags, dwmilliseconds).ok()
}
pub unsafe fn GetAudioData(&self) -> ::windows::core::Result<IAudioData> {
let mut result__ = ::windows::core::zeroed::<IAudioData>();
(::windows::core::Interface::vtable(self).GetAudioData)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IAudioStreamSample, ::windows::core::IUnknown, IStreamSample);
impl ::core::cmp::PartialEq for IAudioStreamSample {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IAudioStreamSample {}
impl ::core::fmt::Debug for IAudioStreamSample {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IAudioStreamSample").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IAudioStreamSample {
type Vtable = IAudioStreamSample_Vtbl;
}
impl ::core::clone::Clone for IAudioStreamSample {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IAudioStreamSample {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x345fee00_aba5_11d0_8212_00c04fc32c45);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAudioStreamSample_Vtbl {
pub base__: IStreamSample_Vtbl,
pub GetAudioData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppaudio: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_AUX(::windows::core::IUnknown);
impl IBDA_AUX {
pub unsafe fn QueryCapabilities(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).QueryCapabilities)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn EnumCapability(&self, dwindex: u32, dwinputid: *mut u32, pconnectortype: *mut ::windows::core::GUID, conntypenum: *mut u32, numvideostds: *mut u32, analogstds: *mut u64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).EnumCapability)(::windows::core::Interface::as_raw(self), dwindex, dwinputid, pconnectortype, conntypenum, numvideostds, analogstds).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_AUX, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_AUX {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_AUX {}
impl ::core::fmt::Debug for IBDA_AUX {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_AUX").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_AUX {
type Vtable = IBDA_AUX_Vtbl;
}
impl ::core::clone::Clone for IBDA_AUX {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_AUX {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7def4c09_6e66_4567_a819_f0e17f4a81ab);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_AUX_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub QueryCapabilities: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwnumauxinputsbstr: *mut u32) -> ::windows::core::HRESULT,
pub EnumCapability: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwindex: u32, dwinputid: *mut u32, pconnectortype: *mut ::windows::core::GUID, conntypenum: *mut u32, numvideostds: *mut u32, analogstds: *mut u64) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_AutoDemodulate(::windows::core::IUnknown);
impl IBDA_AutoDemodulate {
pub unsafe fn put_AutoDemodulate(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_AutoDemodulate)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_AutoDemodulate, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_AutoDemodulate {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_AutoDemodulate {}
impl ::core::fmt::Debug for IBDA_AutoDemodulate {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_AutoDemodulate").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_AutoDemodulate {
type Vtable = IBDA_AutoDemodulate_Vtbl;
}
impl ::core::clone::Clone for IBDA_AutoDemodulate {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_AutoDemodulate {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xddf15b12_bd25_11d2_9ca0_00c04f7971e0);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_AutoDemodulate_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub put_AutoDemodulate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_AutoDemodulateEx(::windows::core::IUnknown);
impl IBDA_AutoDemodulateEx {
pub unsafe fn put_AutoDemodulate(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.put_AutoDemodulate)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn get_SupportedDeviceNodeTypes(&self, ulcdevicenodetypesmax: u32, pulcdevicenodetypes: *mut u32, pguiddevicenodetypes: *mut ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_SupportedDeviceNodeTypes)(::windows::core::Interface::as_raw(self), ulcdevicenodetypesmax, pulcdevicenodetypes, pguiddevicenodetypes).ok()
}
pub unsafe fn get_SupportedVideoFormats(&self, pulamtunermodetype: *mut u32, pulanalogvideostandard: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_SupportedVideoFormats)(::windows::core::Interface::as_raw(self), pulamtunermodetype, pulanalogvideostandard).ok()
}
pub unsafe fn get_AuxInputCount(&self, pulcompositecount: *mut u32, pulsvideocount: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_AuxInputCount)(::windows::core::Interface::as_raw(self), pulcompositecount, pulsvideocount).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_AutoDemodulateEx, ::windows::core::IUnknown, IBDA_AutoDemodulate);
impl ::core::cmp::PartialEq for IBDA_AutoDemodulateEx {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_AutoDemodulateEx {}
impl ::core::fmt::Debug for IBDA_AutoDemodulateEx {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_AutoDemodulateEx").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_AutoDemodulateEx {
type Vtable = IBDA_AutoDemodulateEx_Vtbl;
}
impl ::core::clone::Clone for IBDA_AutoDemodulateEx {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_AutoDemodulateEx {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x34518d13_1182_48e6_b28f_b24987787326);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_AutoDemodulateEx_Vtbl {
pub base__: IBDA_AutoDemodulate_Vtbl,
pub get_SupportedDeviceNodeTypes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulcdevicenodetypesmax: u32, pulcdevicenodetypes: *mut u32, pguiddevicenodetypes: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub get_SupportedVideoFormats: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulamtunermodetype: *mut u32, pulanalogvideostandard: *mut u32) -> ::windows::core::HRESULT,
pub get_AuxInputCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulcompositecount: *mut u32, pulsvideocount: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_ConditionalAccess(::windows::core::IUnknown);
impl IBDA_ConditionalAccess {
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn get_SmartCardStatus(&self, pcardstatus: *mut SmartCardStatusType, pcardassociation: *mut SmartCardAssociationType, pbstrcarderror: *mut ::windows::core::BSTR, pfooblocked: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_SmartCardStatus)(::windows::core::Interface::as_raw(self), pcardstatus, pcardassociation, ::core::mem::transmute(pbstrcarderror), pfooblocked).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn get_SmartCardInfo(&self, pbstrcardname: *mut ::windows::core::BSTR, pbstrcardmanufacturer: *mut ::windows::core::BSTR, pfdaylightsavings: *mut super::super::Foundation::VARIANT_BOOL, pbyratingregion: *mut u8, pltimezoneoffsetminutes: *mut i32, pbstrlanguage: *mut ::windows::core::BSTR, pealocationcode: *mut EALocationCodeType) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_SmartCardInfo)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrcardname), ::core::mem::transmute(pbstrcardmanufacturer), pfdaylightsavings, pbyratingregion, pltimezoneoffsetminutes, ::core::mem::transmute(pbstrlanguage), pealocationcode).ok()
}
pub unsafe fn get_SmartCardApplications(&self, pulcapplications: *mut u32, rgapplications: &mut [SmartCardApplication]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_SmartCardApplications)(::windows::core::Interface::as_raw(self), pulcapplications, rgapplications.len() as _, ::core::mem::transmute(rgapplications.as_ptr())).ok()
}
pub unsafe fn get_Entitlement(&self, usvirtualchannel: u16) -> ::windows::core::Result<EntitlementType> {
let mut result__ = ::windows::core::zeroed::<EntitlementType>();
(::windows::core::Interface::vtable(self).get_Entitlement)(::windows::core::Interface::as_raw(self), usvirtualchannel, &mut result__).from_abi(result__)
}
pub unsafe fn TuneByChannel(&self, usvirtualchannel: u16) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).TuneByChannel)(::windows::core::Interface::as_raw(self), usvirtualchannel).ok()
}
pub unsafe fn SetProgram(&self, usprogramnumber: u16) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetProgram)(::windows::core::Interface::as_raw(self), usprogramnumber).ok()
}
pub unsafe fn AddProgram(&self, usprogramnumber: u16) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).AddProgram)(::windows::core::Interface::as_raw(self), usprogramnumber).ok()
}
pub unsafe fn RemoveProgram(&self, usprogramnumber: u16) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).RemoveProgram)(::windows::core::Interface::as_raw(self), usprogramnumber).ok()
}
pub unsafe fn GetModuleUI(&self, bydialognumber: u8) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).GetModuleUI)(::windows::core::Interface::as_raw(self), bydialognumber, &mut result__).from_abi(result__)
}
pub unsafe fn InformUIClosed(&self, bydialognumber: u8, closereason: UICloseReasonType) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).InformUIClosed)(::windows::core::Interface::as_raw(self), bydialognumber, closereason).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_ConditionalAccess, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_ConditionalAccess {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_ConditionalAccess {}
impl ::core::fmt::Debug for IBDA_ConditionalAccess {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_ConditionalAccess").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_ConditionalAccess {
type Vtable = IBDA_ConditionalAccess_Vtbl;
}
impl ::core::clone::Clone for IBDA_ConditionalAccess {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_ConditionalAccess {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xcd51f1e0_7be9_4123_8482_a2a796c0a6b0);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_ConditionalAccess_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Foundation")]
pub get_SmartCardStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcardstatus: *mut SmartCardStatusType, pcardassociation: *mut SmartCardAssociationType, pbstrcarderror: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pfooblocked: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
get_SmartCardStatus: usize,
#[cfg(feature = "Win32_Foundation")]
pub get_SmartCardInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrcardname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrcardmanufacturer: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pfdaylightsavings: *mut super::super::Foundation::VARIANT_BOOL, pbyratingregion: *mut u8, pltimezoneoffsetminutes: *mut i32, pbstrlanguage: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pealocationcode: *mut EALocationCodeType) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
get_SmartCardInfo: usize,
pub get_SmartCardApplications: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulcapplications: *mut u32, ulcapplicationsmax: u32, rgapplications: *mut SmartCardApplication) -> ::windows::core::HRESULT,
pub get_Entitlement: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, usvirtualchannel: u16, pentitlement: *mut EntitlementType) -> ::windows::core::HRESULT,
pub TuneByChannel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, usvirtualchannel: u16) -> ::windows::core::HRESULT,
pub SetProgram: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, usprogramnumber: u16) -> ::windows::core::HRESULT,
pub AddProgram: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, usprogramnumber: u16) -> ::windows::core::HRESULT,
pub RemoveProgram: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, usprogramnumber: u16) -> ::windows::core::HRESULT,
pub GetModuleUI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bydialognumber: u8, pbstrurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub InformUIClosed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bydialognumber: u8, closereason: UICloseReasonType) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_ConditionalAccessEx(::windows::core::IUnknown);
impl IBDA_ConditionalAccessEx {
pub unsafe fn CheckEntitlementToken<P0>(&self, uldialogrequest: u32, bstrlanguage: P0, requesttype: BDA_CONDITIONALACCESS_REQUESTTYPE, pbentitlementtoken: &[u8]) -> ::windows::core::Result<u32>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).CheckEntitlementToken)(::windows::core::Interface::as_raw(self), uldialogrequest, bstrlanguage.into_param().abi(), requesttype, pbentitlementtoken.len() as _, ::core::mem::transmute(pbentitlementtoken.as_ptr()), &mut result__).from_abi(result__)
}
pub unsafe fn SetCaptureToken(&self, pbcapturetoken: &[u8]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetCaptureToken)(::windows::core::Interface::as_raw(self), pbcapturetoken.len() as _, ::core::mem::transmute(pbcapturetoken.as_ptr())).ok()
}
pub unsafe fn OpenBroadcastMmi<P0>(&self, uldialogrequest: u32, bstrlanguage: P0, eventid: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
(::windows::core::Interface::vtable(self).OpenBroadcastMmi)(::windows::core::Interface::as_raw(self), uldialogrequest, bstrlanguage.into_param().abi(), eventid).ok()
}
pub unsafe fn CloseMmiDialog<P0>(&self, uldialogrequest: u32, bstrlanguage: P0, uldialognumber: u32, reasoncode: BDA_CONDITIONALACCESS_MMICLOSEREASON) -> ::windows::core::Result<u32>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).CloseMmiDialog)(::windows::core::Interface::as_raw(self), uldialogrequest, bstrlanguage.into_param().abi(), uldialognumber, reasoncode, &mut result__).from_abi(result__)
}
pub unsafe fn CreateDialogRequestNumber(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).CreateDialogRequestNumber)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IBDA_ConditionalAccessEx, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_ConditionalAccessEx {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_ConditionalAccessEx {}
impl ::core::fmt::Debug for IBDA_ConditionalAccessEx {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_ConditionalAccessEx").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_ConditionalAccessEx {
type Vtable = IBDA_ConditionalAccessEx_Vtbl;
}
impl ::core::clone::Clone for IBDA_ConditionalAccessEx {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_ConditionalAccessEx {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x497c3418_23cb_44ba_bb62_769f506fcea7);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_ConditionalAccessEx_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub CheckEntitlementToken: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uldialogrequest: u32, bstrlanguage: ::std::mem::MaybeUninit<::windows::core::BSTR>, requesttype: BDA_CONDITIONALACCESS_REQUESTTYPE, ulcbentitlementtokenlen: u32, pbentitlementtoken: *const u8, puldescramblestatus: *mut u32) -> ::windows::core::HRESULT,
pub SetCaptureToken: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulcbcapturetokenlen: u32, pbcapturetoken: *const u8) -> ::windows::core::HRESULT,
pub OpenBroadcastMmi: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uldialogrequest: u32, bstrlanguage: ::std::mem::MaybeUninit<::windows::core::BSTR>, eventid: u32) -> ::windows::core::HRESULT,
pub CloseMmiDialog: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uldialogrequest: u32, bstrlanguage: ::std::mem::MaybeUninit<::windows::core::BSTR>, uldialognumber: u32, reasoncode: BDA_CONDITIONALACCESS_MMICLOSEREASON, pulsessionresult: *mut u32) -> ::windows::core::HRESULT,
pub CreateDialogRequestNumber: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, puldialogrequestnumber: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_DRIDRMService(::windows::core::IUnknown);
impl IBDA_DRIDRMService {
pub unsafe fn SetDRM<P0>(&self, bstrnewdrm: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
(::windows::core::Interface::vtable(self).SetDRM)(::windows::core::Interface::as_raw(self), bstrnewdrm.into_param().abi()).ok()
}
pub unsafe fn GetDRMStatus(&self, pbstrdrmuuidlist: *mut ::windows::core::BSTR, drmuuid: *mut ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDRMStatus)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrdrmuuidlist), drmuuid).ok()
}
pub unsafe fn GetPairingStatus(&self, penumpairingstatus: *mut BDA_DrmPairingError) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetPairingStatus)(::windows::core::Interface::as_raw(self), penumpairingstatus).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_DRIDRMService, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_DRIDRMService {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_DRIDRMService {}
impl ::core::fmt::Debug for IBDA_DRIDRMService {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_DRIDRMService").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_DRIDRMService {
type Vtable = IBDA_DRIDRMService_Vtbl;
}
impl ::core::clone::Clone for IBDA_DRIDRMService {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_DRIDRMService {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1f9bc2a5_44a3_4c52_aab1_0bbce5a1381d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_DRIDRMService_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetDRM: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrnewdrm: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub GetDRMStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrdrmuuidlist: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, drmuuid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub GetPairingStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penumpairingstatus: *mut BDA_DrmPairingError) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_DRIWMDRMSession(::windows::core::IUnknown);
impl IBDA_DRIWMDRMSession {
pub unsafe fn AcknowledgeLicense(&self, hrlicenseack: ::windows::core::HRESULT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).AcknowledgeLicense)(::windows::core::Interface::as_raw(self), hrlicenseack).ok()
}
pub unsafe fn ProcessLicenseChallenge(&self, pblicensemessage: &[u8], pdwcblicenseresponse: *mut u32, ppblicenseresponse: *mut *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ProcessLicenseChallenge)(::windows::core::Interface::as_raw(self), pblicensemessage.len() as _, ::core::mem::transmute(pblicensemessage.as_ptr()), pdwcblicenseresponse, ppblicenseresponse).ok()
}
pub unsafe fn ProcessRegistrationChallenge(&self, pbregistrationmessage: &[u8], pdwcbregistrationresponse: *mut u32, ppbregistrationresponse: *mut *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ProcessRegistrationChallenge)(::windows::core::Interface::as_raw(self), pbregistrationmessage.len() as _, ::core::mem::transmute(pbregistrationmessage.as_ptr()), pdwcbregistrationresponse, ppbregistrationresponse).ok()
}
pub unsafe fn SetRevInfo(&self, pbrevinfo: &[u8], pdwresponse: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetRevInfo)(::windows::core::Interface::as_raw(self), pbrevinfo.len() as _, ::core::mem::transmute(pbrevinfo.as_ptr()), pdwresponse).ok()
}
pub unsafe fn SetCrl(&self, pbcrllen: &[u8], pdwresponse: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetCrl)(::windows::core::Interface::as_raw(self), pbcrllen.len() as _, ::core::mem::transmute(pbcrllen.as_ptr()), pdwresponse).ok()
}
pub unsafe fn GetHMSAssociationData(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetHMSAssociationData)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn GetLastCardeaError(&self, pdwerror: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetLastCardeaError)(::windows::core::Interface::as_raw(self), pdwerror).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_DRIWMDRMSession, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_DRIWMDRMSession {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_DRIWMDRMSession {}
impl ::core::fmt::Debug for IBDA_DRIWMDRMSession {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_DRIWMDRMSession").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_DRIWMDRMSession {
type Vtable = IBDA_DRIWMDRMSession_Vtbl;
}
impl ::core::clone::Clone for IBDA_DRIWMDRMSession {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_DRIWMDRMSession {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x05c690f8_56db_4bb2_b053_79c12098bb26);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_DRIWMDRMSession_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub AcknowledgeLicense: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hrlicenseack: ::windows::core::HRESULT) -> ::windows::core::HRESULT,
pub ProcessLicenseChallenge: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwcblicensemessage: u32, pblicensemessage: *const u8, pdwcblicenseresponse: *mut u32, ppblicenseresponse: *mut *mut u8) -> ::windows::core::HRESULT,
pub ProcessRegistrationChallenge: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwcbregistrationmessage: u32, pbregistrationmessage: *const u8, pdwcbregistrationresponse: *mut u32, ppbregistrationresponse: *mut *mut u8) -> ::windows::core::HRESULT,
pub SetRevInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwrevinfolen: u32, pbrevinfo: *const u8, pdwresponse: *mut u32) -> ::windows::core::HRESULT,
pub SetCrl: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwcrllen: u32, pbcrllen: *const u8, pdwresponse: *mut u32) -> ::windows::core::HRESULT,
pub GetHMSAssociationData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetLastCardeaError: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwerror: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_DRM(::windows::core::IUnknown);
impl IBDA_DRM {
pub unsafe fn GetDRMPairingStatus(&self, pdwstatus: *mut u32, pherror: *mut ::windows::core::HRESULT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDRMPairingStatus)(::windows::core::Interface::as_raw(self), pdwstatus, pherror).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn PerformDRMPairing<P0>(&self, fsync: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).PerformDRMPairing)(::windows::core::Interface::as_raw(self), fsync.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_DRM, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_DRM {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_DRM {}
impl ::core::fmt::Debug for IBDA_DRM {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_DRM").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_DRM {
type Vtable = IBDA_DRM_Vtbl;
}
impl ::core::clone::Clone for IBDA_DRM {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_DRM {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf98d88b0_1992_4cd6_a6d9_b9afab99330d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_DRM_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetDRMPairingStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwstatus: *mut u32, pherror: *mut ::windows::core::HRESULT) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub PerformDRMPairing: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fsync: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
PerformDRMPairing: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_DRMService(::windows::core::IUnknown);
impl IBDA_DRMService {
pub unsafe fn SetDRM(&self, puuidnewdrm: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDRM)(::windows::core::Interface::as_raw(self), puuidnewdrm).ok()
}
pub unsafe fn GetDRMStatus(&self, pbstrdrmuuidlist: *mut ::windows::core::BSTR, drmuuid: *mut ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDRMStatus)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrdrmuuidlist), drmuuid).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_DRMService, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_DRMService {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_DRMService {}
impl ::core::fmt::Debug for IBDA_DRMService {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_DRMService").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_DRMService {
type Vtable = IBDA_DRMService_Vtbl;
}
impl ::core::clone::Clone for IBDA_DRMService {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_DRMService {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbff6b5bb_b0ae_484c_9dca_73528fb0b46e);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_DRMService_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetDRM: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, puuidnewdrm: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
pub GetDRMStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrdrmuuidlist: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, drmuuid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_DeviceControl(::windows::core::IUnknown);
impl IBDA_DeviceControl {
pub unsafe fn StartChanges(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).StartChanges)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn CheckChanges(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).CheckChanges)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn CommitChanges(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).CommitChanges)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn GetChangeState(&self, pstate: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetChangeState)(::windows::core::Interface::as_raw(self), pstate).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_DeviceControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_DeviceControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_DeviceControl {}
impl ::core::fmt::Debug for IBDA_DeviceControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_DeviceControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_DeviceControl {
type Vtable = IBDA_DeviceControl_Vtbl;
}
impl ::core::clone::Clone for IBDA_DeviceControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_DeviceControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfd0a5af3_b41d_11d2_9c95_00c04f7971e0);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_DeviceControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub StartChanges: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CheckChanges: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CommitChanges: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetChangeState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstate: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com_StructuredStorage\"`*"]
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
#[repr(transparent)]
pub struct IBDA_DiagnosticProperties(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
impl IBDA_DiagnosticProperties {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com_StructuredStorage\"`, `\"Win32_System_Ole\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole"))]
pub unsafe fn Read<P0, P1>(&self, pszpropname: P0, pvar: *mut super::super::System::Com::VARIANT, perrorlog: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
P1: ::windows::core::IntoParam<super::super::System::Com::IErrorLog>,
{
(::windows::core::Interface::vtable(self).base__.Read)(::windows::core::Interface::as_raw(self), pszpropname.into_param().abi(), pvar, perrorlog.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com_StructuredStorage\"`, `\"Win32_System_Ole\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole"))]
pub unsafe fn Write<P0>(&self, pszpropname: P0, pvar: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).base__.Write)(::windows::core::Interface::as_raw(self), pszpropname.into_param().abi(), pvar).ok()
}
}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
::windows::imp::interface_hierarchy!(IBDA_DiagnosticProperties, ::windows::core::IUnknown, super::super::System::Com::StructuredStorage::IPropertyBag);
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
impl ::core::cmp::PartialEq for IBDA_DiagnosticProperties {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
impl ::core::cmp::Eq for IBDA_DiagnosticProperties {}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
impl ::core::fmt::Debug for IBDA_DiagnosticProperties {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_DiagnosticProperties").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
unsafe impl ::windows::core::Interface for IBDA_DiagnosticProperties {
type Vtable = IBDA_DiagnosticProperties_Vtbl;
}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
impl ::core::clone::Clone for IBDA_DiagnosticProperties {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
unsafe impl ::windows::core::ComInterface for IBDA_DiagnosticProperties {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x20e80cb5_c543_4c1b_8eb3_49e719eee7d4);
}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_DiagnosticProperties_Vtbl {
pub base__: super::super::System::Com::StructuredStorage::IPropertyBag_Vtbl,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_DigitalDemodulator(::windows::core::IUnknown);
impl IBDA_DigitalDemodulator {
pub unsafe fn SetModulationType(&self, pmodulationtype: *const ModulationType) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetModulationType)(::windows::core::Interface::as_raw(self), pmodulationtype).ok()
}
pub unsafe fn ModulationType(&self, pmodulationtype: *mut ModulationType) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ModulationType)(::windows::core::Interface::as_raw(self), pmodulationtype).ok()
}
pub unsafe fn SetInnerFECMethod(&self, pfecmethod: *const FECMethod) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetInnerFECMethod)(::windows::core::Interface::as_raw(self), pfecmethod).ok()
}
pub unsafe fn InnerFECMethod(&self, pfecmethod: *mut FECMethod) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).InnerFECMethod)(::windows::core::Interface::as_raw(self), pfecmethod).ok()
}
pub unsafe fn SetInnerFECRate(&self, pfecrate: *const BinaryConvolutionCodeRate) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetInnerFECRate)(::windows::core::Interface::as_raw(self), pfecrate).ok()
}
pub unsafe fn InnerFECRate(&self, pfecrate: *mut BinaryConvolutionCodeRate) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).InnerFECRate)(::windows::core::Interface::as_raw(self), pfecrate).ok()
}
pub unsafe fn SetOuterFECMethod(&self, pfecmethod: *const FECMethod) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetOuterFECMethod)(::windows::core::Interface::as_raw(self), pfecmethod).ok()
}
pub unsafe fn OuterFECMethod(&self, pfecmethod: *mut FECMethod) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).OuterFECMethod)(::windows::core::Interface::as_raw(self), pfecmethod).ok()
}
pub unsafe fn SetOuterFECRate(&self, pfecrate: *const BinaryConvolutionCodeRate) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetOuterFECRate)(::windows::core::Interface::as_raw(self), pfecrate).ok()
}
pub unsafe fn OuterFECRate(&self, pfecrate: *mut BinaryConvolutionCodeRate) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).OuterFECRate)(::windows::core::Interface::as_raw(self), pfecrate).ok()
}
pub unsafe fn SetSymbolRate(&self, psymbolrate: *const u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetSymbolRate)(::windows::core::Interface::as_raw(self), psymbolrate).ok()
}
pub unsafe fn SymbolRate(&self, psymbolrate: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SymbolRate)(::windows::core::Interface::as_raw(self), psymbolrate).ok()
}
pub unsafe fn SetSpectralInversion(&self, pspectralinversion: *const SpectralInversion) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetSpectralInversion)(::windows::core::Interface::as_raw(self), pspectralinversion).ok()
}
pub unsafe fn SpectralInversion(&self, pspectralinversion: *mut SpectralInversion) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SpectralInversion)(::windows::core::Interface::as_raw(self), pspectralinversion).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_DigitalDemodulator, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_DigitalDemodulator {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_DigitalDemodulator {}
impl ::core::fmt::Debug for IBDA_DigitalDemodulator {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_DigitalDemodulator").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_DigitalDemodulator {
type Vtable = IBDA_DigitalDemodulator_Vtbl;
}
impl ::core::clone::Clone for IBDA_DigitalDemodulator {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_DigitalDemodulator {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xef30f379_985b_4d10_b640_a79d5e04e1e0);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_DigitalDemodulator_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetModulationType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmodulationtype: *const ModulationType) -> ::windows::core::HRESULT,
pub ModulationType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmodulationtype: *mut ModulationType) -> ::windows::core::HRESULT,
pub SetInnerFECMethod: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfecmethod: *const FECMethod) -> ::windows::core::HRESULT,
pub InnerFECMethod: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfecmethod: *mut FECMethod) -> ::windows::core::HRESULT,
pub SetInnerFECRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfecrate: *const BinaryConvolutionCodeRate) -> ::windows::core::HRESULT,
pub InnerFECRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfecrate: *mut BinaryConvolutionCodeRate) -> ::windows::core::HRESULT,
pub SetOuterFECMethod: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfecmethod: *const FECMethod) -> ::windows::core::HRESULT,
pub OuterFECMethod: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfecmethod: *mut FECMethod) -> ::windows::core::HRESULT,
pub SetOuterFECRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfecrate: *const BinaryConvolutionCodeRate) -> ::windows::core::HRESULT,
pub OuterFECRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfecrate: *mut BinaryConvolutionCodeRate) -> ::windows::core::HRESULT,
pub SetSymbolRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psymbolrate: *const u32) -> ::windows::core::HRESULT,
pub SymbolRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psymbolrate: *mut u32) -> ::windows::core::HRESULT,
pub SetSpectralInversion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pspectralinversion: *const SpectralInversion) -> ::windows::core::HRESULT,
pub SpectralInversion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pspectralinversion: *mut SpectralInversion) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_DigitalDemodulator2(::windows::core::IUnknown);
impl IBDA_DigitalDemodulator2 {
pub unsafe fn SetModulationType(&self, pmodulationtype: *const ModulationType) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetModulationType)(::windows::core::Interface::as_raw(self), pmodulationtype).ok()
}
pub unsafe fn ModulationType(&self, pmodulationtype: *mut ModulationType) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.ModulationType)(::windows::core::Interface::as_raw(self), pmodulationtype).ok()
}
pub unsafe fn SetInnerFECMethod(&self, pfecmethod: *const FECMethod) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetInnerFECMethod)(::windows::core::Interface::as_raw(self), pfecmethod).ok()
}
pub unsafe fn InnerFECMethod(&self, pfecmethod: *mut FECMethod) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.InnerFECMethod)(::windows::core::Interface::as_raw(self), pfecmethod).ok()
}
pub unsafe fn SetInnerFECRate(&self, pfecrate: *const BinaryConvolutionCodeRate) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetInnerFECRate)(::windows::core::Interface::as_raw(self), pfecrate).ok()
}
pub unsafe fn InnerFECRate(&self, pfecrate: *mut BinaryConvolutionCodeRate) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.InnerFECRate)(::windows::core::Interface::as_raw(self), pfecrate).ok()
}
pub unsafe fn SetOuterFECMethod(&self, pfecmethod: *const FECMethod) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetOuterFECMethod)(::windows::core::Interface::as_raw(self), pfecmethod).ok()
}
pub unsafe fn OuterFECMethod(&self, pfecmethod: *mut FECMethod) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.OuterFECMethod)(::windows::core::Interface::as_raw(self), pfecmethod).ok()
}
pub unsafe fn SetOuterFECRate(&self, pfecrate: *const BinaryConvolutionCodeRate) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetOuterFECRate)(::windows::core::Interface::as_raw(self), pfecrate).ok()
}
pub unsafe fn OuterFECRate(&self, pfecrate: *mut BinaryConvolutionCodeRate) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.OuterFECRate)(::windows::core::Interface::as_raw(self), pfecrate).ok()
}
pub unsafe fn SetSymbolRate(&self, psymbolrate: *const u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetSymbolRate)(::windows::core::Interface::as_raw(self), psymbolrate).ok()
}
pub unsafe fn SymbolRate(&self, psymbolrate: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SymbolRate)(::windows::core::Interface::as_raw(self), psymbolrate).ok()
}
pub unsafe fn SetSpectralInversion(&self, pspectralinversion: *const SpectralInversion) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetSpectralInversion)(::windows::core::Interface::as_raw(self), pspectralinversion).ok()
}
pub unsafe fn SpectralInversion(&self, pspectralinversion: *mut SpectralInversion) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SpectralInversion)(::windows::core::Interface::as_raw(self), pspectralinversion).ok()
}
pub unsafe fn SetGuardInterval(&self, pguardinterval: *const GuardInterval) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetGuardInterval)(::windows::core::Interface::as_raw(self), pguardinterval).ok()
}
pub unsafe fn GuardInterval(&self, pguardinterval: *mut GuardInterval) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GuardInterval)(::windows::core::Interface::as_raw(self), pguardinterval).ok()
}
pub unsafe fn SetTransmissionMode(&self, ptransmissionmode: *const TransmissionMode) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTransmissionMode)(::windows::core::Interface::as_raw(self), ptransmissionmode).ok()
}
pub unsafe fn TransmissionMode(&self, ptransmissionmode: *mut TransmissionMode) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).TransmissionMode)(::windows::core::Interface::as_raw(self), ptransmissionmode).ok()
}
pub unsafe fn SetRollOff(&self, prolloff: *const RollOff) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetRollOff)(::windows::core::Interface::as_raw(self), prolloff).ok()
}
pub unsafe fn RollOff(&self, prolloff: *mut RollOff) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).RollOff)(::windows::core::Interface::as_raw(self), prolloff).ok()
}
pub unsafe fn SetPilot(&self, ppilot: *const Pilot) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetPilot)(::windows::core::Interface::as_raw(self), ppilot).ok()
}
pub unsafe fn Pilot(&self, ppilot: *mut Pilot) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Pilot)(::windows::core::Interface::as_raw(self), ppilot).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_DigitalDemodulator2, ::windows::core::IUnknown, IBDA_DigitalDemodulator);
impl ::core::cmp::PartialEq for IBDA_DigitalDemodulator2 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_DigitalDemodulator2 {}
impl ::core::fmt::Debug for IBDA_DigitalDemodulator2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_DigitalDemodulator2").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_DigitalDemodulator2 {
type Vtable = IBDA_DigitalDemodulator2_Vtbl;
}
impl ::core::clone::Clone for IBDA_DigitalDemodulator2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_DigitalDemodulator2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x525ed3ee_5cf3_4e1e_9a06_5368a84f9a6e);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_DigitalDemodulator2_Vtbl {
pub base__: IBDA_DigitalDemodulator_Vtbl,
pub SetGuardInterval: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguardinterval: *const GuardInterval) -> ::windows::core::HRESULT,
pub GuardInterval: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguardinterval: *mut GuardInterval) -> ::windows::core::HRESULT,
pub SetTransmissionMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptransmissionmode: *const TransmissionMode) -> ::windows::core::HRESULT,
pub TransmissionMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptransmissionmode: *mut TransmissionMode) -> ::windows::core::HRESULT,
pub SetRollOff: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prolloff: *const RollOff) -> ::windows::core::HRESULT,
pub RollOff: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prolloff: *mut RollOff) -> ::windows::core::HRESULT,
pub SetPilot: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppilot: *const Pilot) -> ::windows::core::HRESULT,
pub Pilot: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppilot: *mut Pilot) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_DigitalDemodulator3(::windows::core::IUnknown);
impl IBDA_DigitalDemodulator3 {
pub unsafe fn SetModulationType(&self, pmodulationtype: *const ModulationType) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.SetModulationType)(::windows::core::Interface::as_raw(self), pmodulationtype).ok()
}
pub unsafe fn ModulationType(&self, pmodulationtype: *mut ModulationType) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.ModulationType)(::windows::core::Interface::as_raw(self), pmodulationtype).ok()
}
pub unsafe fn SetInnerFECMethod(&self, pfecmethod: *const FECMethod) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.SetInnerFECMethod)(::windows::core::Interface::as_raw(self), pfecmethod).ok()
}
pub unsafe fn InnerFECMethod(&self, pfecmethod: *mut FECMethod) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.InnerFECMethod)(::windows::core::Interface::as_raw(self), pfecmethod).ok()
}
pub unsafe fn SetInnerFECRate(&self, pfecrate: *const BinaryConvolutionCodeRate) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.SetInnerFECRate)(::windows::core::Interface::as_raw(self), pfecrate).ok()
}
pub unsafe fn InnerFECRate(&self, pfecrate: *mut BinaryConvolutionCodeRate) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.InnerFECRate)(::windows::core::Interface::as_raw(self), pfecrate).ok()
}
pub unsafe fn SetOuterFECMethod(&self, pfecmethod: *const FECMethod) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.SetOuterFECMethod)(::windows::core::Interface::as_raw(self), pfecmethod).ok()
}
pub unsafe fn OuterFECMethod(&self, pfecmethod: *mut FECMethod) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.OuterFECMethod)(::windows::core::Interface::as_raw(self), pfecmethod).ok()
}
pub unsafe fn SetOuterFECRate(&self, pfecrate: *const BinaryConvolutionCodeRate) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.SetOuterFECRate)(::windows::core::Interface::as_raw(self), pfecrate).ok()
}
pub unsafe fn OuterFECRate(&self, pfecrate: *mut BinaryConvolutionCodeRate) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.OuterFECRate)(::windows::core::Interface::as_raw(self), pfecrate).ok()
}
pub unsafe fn SetSymbolRate(&self, psymbolrate: *const u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.SetSymbolRate)(::windows::core::Interface::as_raw(self), psymbolrate).ok()
}
pub unsafe fn SymbolRate(&self, psymbolrate: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.SymbolRate)(::windows::core::Interface::as_raw(self), psymbolrate).ok()
}
pub unsafe fn SetSpectralInversion(&self, pspectralinversion: *const SpectralInversion) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.SetSpectralInversion)(::windows::core::Interface::as_raw(self), pspectralinversion).ok()
}
pub unsafe fn SpectralInversion(&self, pspectralinversion: *mut SpectralInversion) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.SpectralInversion)(::windows::core::Interface::as_raw(self), pspectralinversion).ok()
}
pub unsafe fn SetGuardInterval(&self, pguardinterval: *const GuardInterval) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetGuardInterval)(::windows::core::Interface::as_raw(self), pguardinterval).ok()
}
pub unsafe fn GuardInterval(&self, pguardinterval: *mut GuardInterval) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GuardInterval)(::windows::core::Interface::as_raw(self), pguardinterval).ok()
}
pub unsafe fn SetTransmissionMode(&self, ptransmissionmode: *const TransmissionMode) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetTransmissionMode)(::windows::core::Interface::as_raw(self), ptransmissionmode).ok()
}
pub unsafe fn TransmissionMode(&self, ptransmissionmode: *mut TransmissionMode) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.TransmissionMode)(::windows::core::Interface::as_raw(self), ptransmissionmode).ok()
}
pub unsafe fn SetRollOff(&self, prolloff: *const RollOff) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetRollOff)(::windows::core::Interface::as_raw(self), prolloff).ok()
}
pub unsafe fn RollOff(&self, prolloff: *mut RollOff) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.RollOff)(::windows::core::Interface::as_raw(self), prolloff).ok()
}
pub unsafe fn SetPilot(&self, ppilot: *const Pilot) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetPilot)(::windows::core::Interface::as_raw(self), ppilot).ok()
}
pub unsafe fn Pilot(&self, ppilot: *mut Pilot) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.Pilot)(::windows::core::Interface::as_raw(self), ppilot).ok()
}
pub unsafe fn SetSignalTimeouts(&self, psignaltimeouts: *const BDA_SIGNAL_TIMEOUTS) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetSignalTimeouts)(::windows::core::Interface::as_raw(self), psignaltimeouts).ok()
}
pub unsafe fn SignalTimeouts(&self, psignaltimeouts: *mut BDA_SIGNAL_TIMEOUTS) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SignalTimeouts)(::windows::core::Interface::as_raw(self), psignaltimeouts).ok()
}
pub unsafe fn SetPLPNumber(&self, pplpnumber: *const u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetPLPNumber)(::windows::core::Interface::as_raw(self), pplpnumber).ok()
}
pub unsafe fn PLPNumber(&self, pplpnumber: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PLPNumber)(::windows::core::Interface::as_raw(self), pplpnumber).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_DigitalDemodulator3, ::windows::core::IUnknown, IBDA_DigitalDemodulator, IBDA_DigitalDemodulator2);
impl ::core::cmp::PartialEq for IBDA_DigitalDemodulator3 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_DigitalDemodulator3 {}
impl ::core::fmt::Debug for IBDA_DigitalDemodulator3 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_DigitalDemodulator3").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_DigitalDemodulator3 {
type Vtable = IBDA_DigitalDemodulator3_Vtbl;
}
impl ::core::clone::Clone for IBDA_DigitalDemodulator3 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_DigitalDemodulator3 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x13f19604_7d32_4359_93a2_a05205d90ac9);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_DigitalDemodulator3_Vtbl {
pub base__: IBDA_DigitalDemodulator2_Vtbl,
pub SetSignalTimeouts: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psignaltimeouts: *const BDA_SIGNAL_TIMEOUTS) -> ::windows::core::HRESULT,
pub SignalTimeouts: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psignaltimeouts: *mut BDA_SIGNAL_TIMEOUTS) -> ::windows::core::HRESULT,
pub SetPLPNumber: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pplpnumber: *const u32) -> ::windows::core::HRESULT,
pub PLPNumber: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pplpnumber: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_DiseqCommand(::windows::core::IUnknown);
impl IBDA_DiseqCommand {
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetEnableDiseqCommands<P0>(&self, benable: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOLEAN>,
{
(::windows::core::Interface::vtable(self).SetEnableDiseqCommands)(::windows::core::Interface::as_raw(self), benable.into_param().abi()).ok()
}
pub unsafe fn SetDiseqLNBSource(&self, ullnbsource: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDiseqLNBSource)(::windows::core::Interface::as_raw(self), ullnbsource).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetDiseqUseToneBurst<P0>(&self, busetoneburst: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOLEAN>,
{
(::windows::core::Interface::vtable(self).SetDiseqUseToneBurst)(::windows::core::Interface::as_raw(self), busetoneburst.into_param().abi()).ok()
}
pub unsafe fn SetDiseqRepeats(&self, ulrepeats: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDiseqRepeats)(::windows::core::Interface::as_raw(self), ulrepeats).ok()
}
pub unsafe fn put_DiseqSendCommand(&self, ulrequestid: u32, pbcommand: &[u8]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_DiseqSendCommand)(::windows::core::Interface::as_raw(self), ulrequestid, pbcommand.len() as _, ::core::mem::transmute(pbcommand.as_ptr())).ok()
}
pub unsafe fn get_DiseqResponse(&self, ulrequestid: u32, pulcbresponselen: *mut u32, pbresponse: *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_DiseqResponse)(::windows::core::Interface::as_raw(self), ulrequestid, pulcbresponselen, pbresponse).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_DiseqCommand, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_DiseqCommand {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_DiseqCommand {}
impl ::core::fmt::Debug for IBDA_DiseqCommand {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_DiseqCommand").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_DiseqCommand {
type Vtable = IBDA_DiseqCommand_Vtbl;
}
impl ::core::clone::Clone for IBDA_DiseqCommand {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_DiseqCommand {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf84e2ab0_3c6b_45e3_a0fc_8669d4b81f11);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_DiseqCommand_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Foundation")]
pub SetEnableDiseqCommands: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, benable: super::super::Foundation::BOOLEAN) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetEnableDiseqCommands: usize,
pub SetDiseqLNBSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ullnbsource: u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetDiseqUseToneBurst: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, busetoneburst: super::super::Foundation::BOOLEAN) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetDiseqUseToneBurst: usize,
pub SetDiseqRepeats: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulrepeats: u32) -> ::windows::core::HRESULT,
pub put_DiseqSendCommand: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulrequestid: u32, ulcbcommandlen: u32, pbcommand: *const u8) -> ::windows::core::HRESULT,
pub get_DiseqResponse: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulrequestid: u32, pulcbresponselen: *mut u32, pbresponse: *mut u8) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_EasMessage(::windows::core::IUnknown);
impl IBDA_EasMessage {
pub unsafe fn get_EasMessage(&self, uleventid: u32, ppeasobject: *mut ::core::option::Option<::windows::core::IUnknown>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_EasMessage)(::windows::core::Interface::as_raw(self), uleventid, ::core::mem::transmute(ppeasobject)).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_EasMessage, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_EasMessage {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_EasMessage {}
impl ::core::fmt::Debug for IBDA_EasMessage {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_EasMessage").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_EasMessage {
type Vtable = IBDA_EasMessage_Vtbl;
}
impl ::core::clone::Clone for IBDA_EasMessage {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_EasMessage {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd806973d_3ebe_46de_8fbb_6358fe784208);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_EasMessage_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub get_EasMessage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uleventid: u32, ppeasobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_Encoder(::windows::core::IUnknown);
impl IBDA_Encoder {
pub unsafe fn QueryCapabilities(&self, numaudiofmts: *mut u32, numvideofmts: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).QueryCapabilities)(::windows::core::Interface::as_raw(self), numaudiofmts, numvideofmts).ok()
}
pub unsafe fn EnumAudioCapability(&self, fmtindex: u32, methodid: *mut u32, algorithmtype: *mut u32, samplingrate: *mut u32, bitdepth: *mut u32, numchannels: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).EnumAudioCapability)(::windows::core::Interface::as_raw(self), fmtindex, methodid, algorithmtype, samplingrate, bitdepth, numchannels).ok()
}
pub unsafe fn EnumVideoCapability(&self, fmtindex: u32, methodid: *mut u32, algorithmtype: *mut u32, verticalsize: *mut u32, horizontalsize: *mut u32, aspectratio: *mut u32, frameratecode: *mut u32, progressivesequence: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).EnumVideoCapability)(::windows::core::Interface::as_raw(self), fmtindex, methodid, algorithmtype, verticalsize, horizontalsize, aspectratio, frameratecode, progressivesequence).ok()
}
pub unsafe fn SetParameters(&self, audiobitratemode: u32, audiobitrate: u32, audiomethodid: u32, audioprogram: u32, videobitratemode: u32, videobitrate: u32, videomethodid: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetParameters)(::windows::core::Interface::as_raw(self), audiobitratemode, audiobitrate, audiomethodid, audioprogram, videobitratemode, videobitrate, videomethodid).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetState(&self, audiobitratemax: *mut u32, audiobitratemin: *mut u32, audiobitratemode: *mut u32, audiobitratestepping: *mut u32, audiobitrate: *mut u32, audiomethodid: *mut u32, availableaudioprograms: *mut u32, audioprogram: *mut u32, videobitratemax: *mut u32, videobitratemin: *mut u32, videobitratemode: *mut u32, videobitrate: *mut u32, videobitratestepping: *mut u32, videomethodid: *mut u32, signalsourceid: *mut u32, signalformat: *mut u64, signallock: *mut super::super::Foundation::BOOL, signallevel: *mut i32, signaltonoiseratio: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetState)(::windows::core::Interface::as_raw(self), audiobitratemax, audiobitratemin, audiobitratemode, audiobitratestepping, audiobitrate, audiomethodid, availableaudioprograms, audioprogram, videobitratemax, videobitratemin, videobitratemode, videobitrate, videobitratestepping, videomethodid, signalsourceid, signalformat, signallock, signallevel, signaltonoiseratio).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_Encoder, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_Encoder {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_Encoder {}
impl ::core::fmt::Debug for IBDA_Encoder {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_Encoder").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_Encoder {
type Vtable = IBDA_Encoder_Vtbl;
}
impl ::core::clone::Clone for IBDA_Encoder {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_Encoder {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3a8bad59_59fe_4559_a0ba_396cfaa98ae3);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_Encoder_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub QueryCapabilities: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numaudiofmts: *mut u32, numvideofmts: *mut u32) -> ::windows::core::HRESULT,
pub EnumAudioCapability: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fmtindex: u32, methodid: *mut u32, algorithmtype: *mut u32, samplingrate: *mut u32, bitdepth: *mut u32, numchannels: *mut u32) -> ::windows::core::HRESULT,
pub EnumVideoCapability: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fmtindex: u32, methodid: *mut u32, algorithmtype: *mut u32, verticalsize: *mut u32, horizontalsize: *mut u32, aspectratio: *mut u32, frameratecode: *mut u32, progressivesequence: *mut u32) -> ::windows::core::HRESULT,
pub SetParameters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audiobitratemode: u32, audiobitrate: u32, audiomethodid: u32, audioprogram: u32, videobitratemode: u32, videobitrate: u32, videomethodid: u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub GetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audiobitratemax: *mut u32, audiobitratemin: *mut u32, audiobitratemode: *mut u32, audiobitratestepping: *mut u32, audiobitrate: *mut u32, audiomethodid: *mut u32, availableaudioprograms: *mut u32, audioprogram: *mut u32, videobitratemax: *mut u32, videobitratemin: *mut u32, videobitratemode: *mut u32, videobitrate: *mut u32, videobitratestepping: *mut u32, videomethodid: *mut u32, signalsourceid: *mut u32, signalformat: *mut u64, signallock: *mut super::super::Foundation::BOOL, signallevel: *mut i32, signaltonoiseratio: *mut u32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetState: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_EthernetFilter(::windows::core::IUnknown);
impl IBDA_EthernetFilter {
pub unsafe fn GetMulticastListSize(&self, pulcbaddresses: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMulticastListSize)(::windows::core::Interface::as_raw(self), pulcbaddresses).ok()
}
pub unsafe fn PutMulticastList(&self, paddresslist: &[u8]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PutMulticastList)(::windows::core::Interface::as_raw(self), paddresslist.len() as _, ::core::mem::transmute(paddresslist.as_ptr())).ok()
}
pub unsafe fn GetMulticastList(&self, pulcbaddresses: *mut u32, paddresslist: *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMulticastList)(::windows::core::Interface::as_raw(self), pulcbaddresses, paddresslist).ok()
}
pub unsafe fn PutMulticastMode(&self, ulmodemask: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PutMulticastMode)(::windows::core::Interface::as_raw(self), ulmodemask).ok()
}
pub unsafe fn GetMulticastMode(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetMulticastMode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IBDA_EthernetFilter, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_EthernetFilter {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_EthernetFilter {}
impl ::core::fmt::Debug for IBDA_EthernetFilter {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_EthernetFilter").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_EthernetFilter {
type Vtable = IBDA_EthernetFilter_Vtbl;
}
impl ::core::clone::Clone for IBDA_EthernetFilter {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_EthernetFilter {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x71985f43_1ca1_11d3_9cc8_00c04f7971e0);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_EthernetFilter_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetMulticastListSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulcbaddresses: *mut u32) -> ::windows::core::HRESULT,
pub PutMulticastList: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulcbaddresses: u32, paddresslist: *const u8) -> ::windows::core::HRESULT,
pub GetMulticastList: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulcbaddresses: *mut u32, paddresslist: *mut u8) -> ::windows::core::HRESULT,
pub PutMulticastMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulmodemask: u32) -> ::windows::core::HRESULT,
pub GetMulticastMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulmodemask: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_EventingService(::windows::core::IUnknown);
impl IBDA_EventingService {
pub unsafe fn CompleteEvent(&self, uleventid: u32, uleventresult: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).CompleteEvent)(::windows::core::Interface::as_raw(self), uleventid, uleventresult).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_EventingService, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_EventingService {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_EventingService {}
impl ::core::fmt::Debug for IBDA_EventingService {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_EventingService").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_EventingService {
type Vtable = IBDA_EventingService_Vtbl;
}
impl ::core::clone::Clone for IBDA_EventingService {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_EventingService {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x207c413f_00dc_4c61_bad6_6fee1ff07064);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_EventingService_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub CompleteEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uleventid: u32, uleventresult: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_FDC(::windows::core::IUnknown);
impl IBDA_FDC {
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetStatus(&self, currentbitrate: *mut u32, carrierlock: *mut super::super::Foundation::BOOL, currentfrequency: *mut u32, currentspectruminversion: *mut super::super::Foundation::BOOL, currentpidlist: *mut ::windows::core::BSTR, currenttidlist: *mut ::windows::core::BSTR, overflow: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetStatus)(::windows::core::Interface::as_raw(self), currentbitrate, carrierlock, currentfrequency, currentspectruminversion, ::core::mem::transmute(currentpidlist), ::core::mem::transmute(currenttidlist), overflow).ok()
}
pub unsafe fn RequestTables<P0>(&self, tableids: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
(::windows::core::Interface::vtable(self).RequestTables)(::windows::core::Interface::as_raw(self), tableids.into_param().abi()).ok()
}
pub unsafe fn AddPid<P0>(&self, pidstoadd: P0) -> ::windows::core::Result<u32>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).AddPid)(::windows::core::Interface::as_raw(self), pidstoadd.into_param().abi(), &mut result__).from_abi(result__)
}
pub unsafe fn RemovePid<P0>(&self, pidstoremove: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
(::windows::core::Interface::vtable(self).RemovePid)(::windows::core::Interface::as_raw(self), pidstoremove.into_param().abi()).ok()
}
pub unsafe fn AddTid<P0>(&self, tidstoadd: P0) -> ::windows::core::Result<::windows::core::BSTR>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).AddTid)(::windows::core::Interface::as_raw(self), tidstoadd.into_param().abi(), &mut result__).from_abi(result__)
}
pub unsafe fn RemoveTid<P0>(&self, tidstoremove: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
(::windows::core::Interface::vtable(self).RemoveTid)(::windows::core::Interface::as_raw(self), tidstoremove.into_param().abi()).ok()
}
pub unsafe fn GetTableSection(&self, pid: *mut u32, maxbuffersize: u32, actualsize: *mut u32, secbuffer: *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetTableSection)(::windows::core::Interface::as_raw(self), pid, maxbuffersize, actualsize, secbuffer).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_FDC, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_FDC {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_FDC {}
impl ::core::fmt::Debug for IBDA_FDC {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_FDC").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_FDC {
type Vtable = IBDA_FDC_Vtbl;
}
impl ::core::clone::Clone for IBDA_FDC {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_FDC {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x138adc7e_58ae_437f_b0b4_c9fe19d5b4ac);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_FDC_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Foundation")]
pub GetStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, currentbitrate: *mut u32, carrierlock: *mut super::super::Foundation::BOOL, currentfrequency: *mut u32, currentspectruminversion: *mut super::super::Foundation::BOOL, currentpidlist: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, currenttidlist: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, overflow: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetStatus: usize,
pub RequestTables: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, tableids: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub AddPid: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pidstoadd: ::std::mem::MaybeUninit<::windows::core::BSTR>, remainingfilterentries: *mut u32) -> ::windows::core::HRESULT,
pub RemovePid: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pidstoremove: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub AddTid: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, tidstoadd: ::std::mem::MaybeUninit<::windows::core::BSTR>, currenttidlist: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub RemoveTid: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, tidstoremove: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub GetTableSection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pid: *mut u32, maxbuffersize: u32, actualsize: *mut u32, secbuffer: *mut u8) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_FrequencyFilter(::windows::core::IUnknown);
impl IBDA_FrequencyFilter {
pub unsafe fn SetAutotune(&self, ultransponder: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetAutotune)(::windows::core::Interface::as_raw(self), ultransponder).ok()
}
pub unsafe fn Autotune(&self, pultransponder: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Autotune)(::windows::core::Interface::as_raw(self), pultransponder).ok()
}
pub unsafe fn SetFrequency(&self, ulfrequency: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetFrequency)(::windows::core::Interface::as_raw(self), ulfrequency).ok()
}
pub unsafe fn Frequency(&self, pulfrequency: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Frequency)(::windows::core::Interface::as_raw(self), pulfrequency).ok()
}
pub unsafe fn SetPolarity(&self, polarity: Polarisation) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetPolarity)(::windows::core::Interface::as_raw(self), polarity).ok()
}
pub unsafe fn Polarity(&self, ppolarity: *mut Polarisation) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Polarity)(::windows::core::Interface::as_raw(self), ppolarity).ok()
}
pub unsafe fn SetRange(&self, ulrange: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetRange)(::windows::core::Interface::as_raw(self), ulrange).ok()
}
pub unsafe fn Range(&self, pulrange: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Range)(::windows::core::Interface::as_raw(self), pulrange).ok()
}
pub unsafe fn SetBandwidth(&self, ulbandwidth: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetBandwidth)(::windows::core::Interface::as_raw(self), ulbandwidth).ok()
}
pub unsafe fn Bandwidth(&self, pulbandwidth: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Bandwidth)(::windows::core::Interface::as_raw(self), pulbandwidth).ok()
}
pub unsafe fn SetFrequencyMultiplier(&self, ulmultiplier: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetFrequencyMultiplier)(::windows::core::Interface::as_raw(self), ulmultiplier).ok()
}
pub unsafe fn FrequencyMultiplier(&self, pulmultiplier: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).FrequencyMultiplier)(::windows::core::Interface::as_raw(self), pulmultiplier).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_FrequencyFilter, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_FrequencyFilter {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_FrequencyFilter {}
impl ::core::fmt::Debug for IBDA_FrequencyFilter {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_FrequencyFilter").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_FrequencyFilter {
type Vtable = IBDA_FrequencyFilter_Vtbl;
}
impl ::core::clone::Clone for IBDA_FrequencyFilter {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_FrequencyFilter {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x71985f47_1ca1_11d3_9cc8_00c04f7971e0);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_FrequencyFilter_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetAutotune: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ultransponder: u32) -> ::windows::core::HRESULT,
pub Autotune: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pultransponder: *mut u32) -> ::windows::core::HRESULT,
pub SetFrequency: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulfrequency: u32) -> ::windows::core::HRESULT,
pub Frequency: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulfrequency: *mut u32) -> ::windows::core::HRESULT,
pub SetPolarity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, polarity: Polarisation) -> ::windows::core::HRESULT,
pub Polarity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppolarity: *mut Polarisation) -> ::windows::core::HRESULT,
pub SetRange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulrange: u32) -> ::windows::core::HRESULT,
pub Range: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulrange: *mut u32) -> ::windows::core::HRESULT,
pub SetBandwidth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulbandwidth: u32) -> ::windows::core::HRESULT,
pub Bandwidth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulbandwidth: *mut u32) -> ::windows::core::HRESULT,
pub SetFrequencyMultiplier: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulmultiplier: u32) -> ::windows::core::HRESULT,
pub FrequencyMultiplier: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulmultiplier: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_GuideDataDeliveryService(::windows::core::IUnknown);
impl IBDA_GuideDataDeliveryService {
pub unsafe fn GetGuideDataType(&self) -> ::windows::core::Result<::windows::core::GUID> {
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).GetGuideDataType)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetGuideData(&self, pulcbbufferlen: *mut u32, pbbuffer: *mut u8, pulguidedatapercentageprogress: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetGuideData)(::windows::core::Interface::as_raw(self), pulcbbufferlen, pbbuffer, pulguidedatapercentageprogress).ok()
}
pub unsafe fn RequestGuideDataUpdate(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).RequestGuideDataUpdate)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn GetTuneXmlFromServiceIdx(&self, ul64serviceidx: u64) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).GetTuneXmlFromServiceIdx)(::windows::core::Interface::as_raw(self), ul64serviceidx, &mut result__).from_abi(result__)
}
pub unsafe fn GetServices(&self, pulcbbufferlen: *mut u32, pbbuffer: *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetServices)(::windows::core::Interface::as_raw(self), pulcbbufferlen, pbbuffer).ok()
}
pub unsafe fn GetServiceInfoFromTuneXml<P0>(&self, bstrtunexml: P0) -> ::windows::core::Result<::windows::core::BSTR>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).GetServiceInfoFromTuneXml)(::windows::core::Interface::as_raw(self), bstrtunexml.into_param().abi(), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IBDA_GuideDataDeliveryService, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_GuideDataDeliveryService {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_GuideDataDeliveryService {}
impl ::core::fmt::Debug for IBDA_GuideDataDeliveryService {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_GuideDataDeliveryService").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_GuideDataDeliveryService {
type Vtable = IBDA_GuideDataDeliveryService_Vtbl;
}
impl ::core::clone::Clone for IBDA_GuideDataDeliveryService {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_GuideDataDeliveryService {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc0afcb73_23e7_4bc6_bafa_fdc167b4719f);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_GuideDataDeliveryService_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetGuideDataType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguiddatatype: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub GetGuideData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulcbbufferlen: *mut u32, pbbuffer: *mut u8, pulguidedatapercentageprogress: *mut u32) -> ::windows::core::HRESULT,
pub RequestGuideDataUpdate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetTuneXmlFromServiceIdx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ul64serviceidx: u64, pbstrtunexml: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub GetServices: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulcbbufferlen: *mut u32, pbbuffer: *mut u8) -> ::windows::core::HRESULT,
pub GetServiceInfoFromTuneXml: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrtunexml: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrservicedescription: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_IPSinkControl(::windows::core::IUnknown);
impl IBDA_IPSinkControl {
pub unsafe fn GetMulticastList(&self, pulcbsize: *mut u32, pbbuffer: *mut *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMulticastList)(::windows::core::Interface::as_raw(self), pulcbsize, pbbuffer).ok()
}
pub unsafe fn GetAdapterIPAddress(&self, pulcbsize: *mut u32, pbbuffer: *mut *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetAdapterIPAddress)(::windows::core::Interface::as_raw(self), pulcbsize, pbbuffer).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_IPSinkControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_IPSinkControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_IPSinkControl {}
impl ::core::fmt::Debug for IBDA_IPSinkControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_IPSinkControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_IPSinkControl {
type Vtable = IBDA_IPSinkControl_Vtbl;
}
impl ::core::clone::Clone for IBDA_IPSinkControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_IPSinkControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3f4dc8e2_4050_11d3_8f4b_00c04f7971e2);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_IPSinkControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetMulticastList: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulcbsize: *mut u32, pbbuffer: *mut *mut u8) -> ::windows::core::HRESULT,
pub GetAdapterIPAddress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulcbsize: *mut u32, pbbuffer: *mut *mut u8) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_IPSinkInfo(::windows::core::IUnknown);
impl IBDA_IPSinkInfo {
pub unsafe fn get_MulticastList(&self, pulcbaddresses: *mut u32, ppbaddresslist: *mut *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_MulticastList)(::windows::core::Interface::as_raw(self), pulcbaddresses, ppbaddresslist).ok()
}
pub unsafe fn AdapterIPAddress(&self) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).AdapterIPAddress)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn AdapterDescription(&self) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).AdapterDescription)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IBDA_IPSinkInfo, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_IPSinkInfo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_IPSinkInfo {}
impl ::core::fmt::Debug for IBDA_IPSinkInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_IPSinkInfo").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_IPSinkInfo {
type Vtable = IBDA_IPSinkInfo_Vtbl;
}
impl ::core::clone::Clone for IBDA_IPSinkInfo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_IPSinkInfo {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa750108f_492e_4d51_95f7_649b23ff7ad7);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_IPSinkInfo_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub get_MulticastList: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulcbaddresses: *mut u32, ppbaddresslist: *mut *mut u8) -> ::windows::core::HRESULT,
pub AdapterIPAddress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrbuffer: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub AdapterDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrbuffer: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_IPV4Filter(::windows::core::IUnknown);
impl IBDA_IPV4Filter {
pub unsafe fn GetMulticastListSize(&self, pulcbaddresses: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMulticastListSize)(::windows::core::Interface::as_raw(self), pulcbaddresses).ok()
}
pub unsafe fn PutMulticastList(&self, paddresslist: &[u8]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PutMulticastList)(::windows::core::Interface::as_raw(self), paddresslist.len() as _, ::core::mem::transmute(paddresslist.as_ptr())).ok()
}
pub unsafe fn GetMulticastList(&self, pulcbaddresses: *mut u32, paddresslist: *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMulticastList)(::windows::core::Interface::as_raw(self), pulcbaddresses, paddresslist).ok()
}
pub unsafe fn PutMulticastMode(&self, ulmodemask: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PutMulticastMode)(::windows::core::Interface::as_raw(self), ulmodemask).ok()
}
pub unsafe fn GetMulticastMode(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetMulticastMode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IBDA_IPV4Filter, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_IPV4Filter {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_IPV4Filter {}
impl ::core::fmt::Debug for IBDA_IPV4Filter {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_IPV4Filter").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_IPV4Filter {
type Vtable = IBDA_IPV4Filter_Vtbl;
}
impl ::core::clone::Clone for IBDA_IPV4Filter {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_IPV4Filter {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x71985f44_1ca1_11d3_9cc8_00c04f7971e0);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_IPV4Filter_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetMulticastListSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulcbaddresses: *mut u32) -> ::windows::core::HRESULT,
pub PutMulticastList: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulcbaddresses: u32, paddresslist: *const u8) -> ::windows::core::HRESULT,
pub GetMulticastList: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulcbaddresses: *mut u32, paddresslist: *mut u8) -> ::windows::core::HRESULT,
pub PutMulticastMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulmodemask: u32) -> ::windows::core::HRESULT,
pub GetMulticastMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulmodemask: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_IPV6Filter(::windows::core::IUnknown);
impl IBDA_IPV6Filter {
pub unsafe fn GetMulticastListSize(&self, pulcbaddresses: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMulticastListSize)(::windows::core::Interface::as_raw(self), pulcbaddresses).ok()
}
pub unsafe fn PutMulticastList(&self, paddresslist: &[u8]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PutMulticastList)(::windows::core::Interface::as_raw(self), paddresslist.len() as _, ::core::mem::transmute(paddresslist.as_ptr())).ok()
}
pub unsafe fn GetMulticastList(&self, pulcbaddresses: *mut u32, paddresslist: *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMulticastList)(::windows::core::Interface::as_raw(self), pulcbaddresses, paddresslist).ok()
}
pub unsafe fn PutMulticastMode(&self, ulmodemask: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PutMulticastMode)(::windows::core::Interface::as_raw(self), ulmodemask).ok()
}
pub unsafe fn GetMulticastMode(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetMulticastMode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IBDA_IPV6Filter, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_IPV6Filter {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_IPV6Filter {}
impl ::core::fmt::Debug for IBDA_IPV6Filter {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_IPV6Filter").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_IPV6Filter {
type Vtable = IBDA_IPV6Filter_Vtbl;
}
impl ::core::clone::Clone for IBDA_IPV6Filter {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_IPV6Filter {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe1785a74_2a23_4fb3_9245_a8f88017ef33);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_IPV6Filter_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetMulticastListSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulcbaddresses: *mut u32) -> ::windows::core::HRESULT,
pub PutMulticastList: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulcbaddresses: u32, paddresslist: *const u8) -> ::windows::core::HRESULT,
pub GetMulticastList: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulcbaddresses: *mut u32, paddresslist: *mut u8) -> ::windows::core::HRESULT,
pub PutMulticastMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulmodemask: u32) -> ::windows::core::HRESULT,
pub GetMulticastMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulmodemask: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_ISDBConditionalAccess(::windows::core::IUnknown);
impl IBDA_ISDBConditionalAccess {
pub unsafe fn SetIsdbCasRequest(&self, ulrequestid: u32, pbrequestbuffer: &[u8]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetIsdbCasRequest)(::windows::core::Interface::as_raw(self), ulrequestid, pbrequestbuffer.len() as _, ::core::mem::transmute(pbrequestbuffer.as_ptr())).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_ISDBConditionalAccess, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_ISDBConditionalAccess {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_ISDBConditionalAccess {}
impl ::core::fmt::Debug for IBDA_ISDBConditionalAccess {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_ISDBConditionalAccess").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_ISDBConditionalAccess {
type Vtable = IBDA_ISDBConditionalAccess_Vtbl;
}
impl ::core::clone::Clone for IBDA_ISDBConditionalAccess {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_ISDBConditionalAccess {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5e68c627_16c2_4e6c_b1e2_d00170cdaa0f);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_ISDBConditionalAccess_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetIsdbCasRequest: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulrequestid: u32, ulcbrequestbufferlen: u32, pbrequestbuffer: *const u8) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_LNBInfo(::windows::core::IUnknown);
impl IBDA_LNBInfo {
pub unsafe fn SetLocalOscilatorFrequencyLowBand(&self, ulloflow: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetLocalOscilatorFrequencyLowBand)(::windows::core::Interface::as_raw(self), ulloflow).ok()
}
pub unsafe fn LocalOscilatorFrequencyLowBand(&self, pulloflow: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).LocalOscilatorFrequencyLowBand)(::windows::core::Interface::as_raw(self), pulloflow).ok()
}
pub unsafe fn SetLocalOscilatorFrequencyHighBand(&self, ullofhigh: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetLocalOscilatorFrequencyHighBand)(::windows::core::Interface::as_raw(self), ullofhigh).ok()
}
pub unsafe fn LocalOscilatorFrequencyHighBand(&self, pullofhigh: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).LocalOscilatorFrequencyHighBand)(::windows::core::Interface::as_raw(self), pullofhigh).ok()
}
pub unsafe fn SetHighLowSwitchFrequency(&self, ulswitchfrequency: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetHighLowSwitchFrequency)(::windows::core::Interface::as_raw(self), ulswitchfrequency).ok()
}
pub unsafe fn HighLowSwitchFrequency(&self, pulswitchfrequency: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).HighLowSwitchFrequency)(::windows::core::Interface::as_raw(self), pulswitchfrequency).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_LNBInfo, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_LNBInfo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_LNBInfo {}
impl ::core::fmt::Debug for IBDA_LNBInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_LNBInfo").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_LNBInfo {
type Vtable = IBDA_LNBInfo_Vtbl;
}
impl ::core::clone::Clone for IBDA_LNBInfo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_LNBInfo {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x992cf102_49f9_4719_a664_c4f23e2408f4);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_LNBInfo_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetLocalOscilatorFrequencyLowBand: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulloflow: u32) -> ::windows::core::HRESULT,
pub LocalOscilatorFrequencyLowBand: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulloflow: *mut u32) -> ::windows::core::HRESULT,
pub SetLocalOscilatorFrequencyHighBand: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ullofhigh: u32) -> ::windows::core::HRESULT,
pub LocalOscilatorFrequencyHighBand: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pullofhigh: *mut u32) -> ::windows::core::HRESULT,
pub SetHighLowSwitchFrequency: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulswitchfrequency: u32) -> ::windows::core::HRESULT,
pub HighLowSwitchFrequency: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulswitchfrequency: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_MUX(::windows::core::IUnknown);
impl IBDA_MUX {
pub unsafe fn SetPidList(&self, pbpidlistbuffer: &[BDA_MUX_PIDLISTITEM]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetPidList)(::windows::core::Interface::as_raw(self), pbpidlistbuffer.len() as _, ::core::mem::transmute(pbpidlistbuffer.as_ptr())).ok()
}
pub unsafe fn GetPidList(&self, pulpidlistcount: *mut u32, pbpidlistbuffer: *mut BDA_MUX_PIDLISTITEM) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetPidList)(::windows::core::Interface::as_raw(self), pulpidlistcount, pbpidlistbuffer).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_MUX, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_MUX {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_MUX {}
impl ::core::fmt::Debug for IBDA_MUX {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_MUX").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_MUX {
type Vtable = IBDA_MUX_Vtbl;
}
impl ::core::clone::Clone for IBDA_MUX {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_MUX {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x942aafec_4c05_4c74_b8eb_8706c2a4943f);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_MUX_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetPidList: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulpidlistcount: u32, pbpidlistbuffer: *const BDA_MUX_PIDLISTITEM) -> ::windows::core::HRESULT,
pub GetPidList: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulpidlistcount: *mut u32, pbpidlistbuffer: *mut BDA_MUX_PIDLISTITEM) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_NameValueService(::windows::core::IUnknown);
impl IBDA_NameValueService {
pub unsafe fn GetValueNameByIndex(&self, ulindex: u32) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).GetValueNameByIndex)(::windows::core::Interface::as_raw(self), ulindex, &mut result__).from_abi(result__)
}
pub unsafe fn GetValue<P0, P1>(&self, bstrname: P0, bstrlanguage: P1) -> ::windows::core::Result<::windows::core::BSTR>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
P1: ::windows::core::IntoParam<::windows::core::BSTR>,
{
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).GetValue)(::windows::core::Interface::as_raw(self), bstrname.into_param().abi(), bstrlanguage.into_param().abi(), &mut result__).from_abi(result__)
}
pub unsafe fn SetValue<P0, P1, P2>(&self, uldialogrequest: u32, bstrlanguage: P0, bstrname: P1, bstrvalue: P2, ulreserved: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
P1: ::windows::core::IntoParam<::windows::core::BSTR>,
P2: ::windows::core::IntoParam<::windows::core::BSTR>,
{
(::windows::core::Interface::vtable(self).SetValue)(::windows::core::Interface::as_raw(self), uldialogrequest, bstrlanguage.into_param().abi(), bstrname.into_param().abi(), bstrvalue.into_param().abi(), ulreserved).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_NameValueService, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_NameValueService {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_NameValueService {}
impl ::core::fmt::Debug for IBDA_NameValueService {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_NameValueService").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_NameValueService {
type Vtable = IBDA_NameValueService_Vtbl;
}
impl ::core::clone::Clone for IBDA_NameValueService {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_NameValueService {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7f0b3150_7b81_4ad4_98e3_7e9097094301);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_NameValueService_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetValueNameByIndex: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulindex: u32, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub GetValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrlanguage: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub SetValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uldialogrequest: u32, bstrlanguage: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>, ulreserved: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_NetworkProvider(::windows::core::IUnknown);
impl IBDA_NetworkProvider {
pub unsafe fn PutSignalSource(&self, ulsignalsource: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PutSignalSource)(::windows::core::Interface::as_raw(self), ulsignalsource).ok()
}
pub unsafe fn GetSignalSource(&self, pulsignalsource: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetSignalSource)(::windows::core::Interface::as_raw(self), pulsignalsource).ok()
}
pub unsafe fn GetNetworkType(&self, pguidnetworktype: *mut ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetNetworkType)(::windows::core::Interface::as_raw(self), pguidnetworktype).ok()
}
pub unsafe fn PutTuningSpace(&self, guidtuningspace: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PutTuningSpace)(::windows::core::Interface::as_raw(self), guidtuningspace).ok()
}
pub unsafe fn GetTuningSpace(&self, pguidtuingspace: *mut ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetTuningSpace)(::windows::core::Interface::as_raw(self), pguidtuingspace).ok()
}
pub unsafe fn RegisterDeviceFilter<P0>(&self, punkfiltercontrol: P0, ppvregisitrationcontext: *mut u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
{
(::windows::core::Interface::vtable(self).RegisterDeviceFilter)(::windows::core::Interface::as_raw(self), punkfiltercontrol.into_param().abi(), ppvregisitrationcontext).ok()
}
pub unsafe fn UnRegisterDeviceFilter(&self, pvregistrationcontext: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).UnRegisterDeviceFilter)(::windows::core::Interface::as_raw(self), pvregistrationcontext).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_NetworkProvider, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_NetworkProvider {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_NetworkProvider {}
impl ::core::fmt::Debug for IBDA_NetworkProvider {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_NetworkProvider").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_NetworkProvider {
type Vtable = IBDA_NetworkProvider_Vtbl;
}
impl ::core::clone::Clone for IBDA_NetworkProvider {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_NetworkProvider {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfd501041_8ebe_11ce_8183_00aa00577da2);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_NetworkProvider_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub PutSignalSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulsignalsource: u32) -> ::windows::core::HRESULT,
pub GetSignalSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulsignalsource: *mut u32) -> ::windows::core::HRESULT,
pub GetNetworkType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguidnetworktype: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub PutTuningSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guidtuningspace: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
pub GetTuningSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguidtuingspace: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub RegisterDeviceFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, punkfiltercontrol: *mut ::core::ffi::c_void, ppvregisitrationcontext: *mut u32) -> ::windows::core::HRESULT,
pub UnRegisterDeviceFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvregistrationcontext: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_NullTransform(::windows::core::IUnknown);
impl IBDA_NullTransform {
pub unsafe fn Start(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Start)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Stop(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Stop)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_NullTransform, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_NullTransform {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_NullTransform {}
impl ::core::fmt::Debug for IBDA_NullTransform {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_NullTransform").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_NullTransform {
type Vtable = IBDA_NullTransform_Vtbl;
}
impl ::core::clone::Clone for IBDA_NullTransform {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_NullTransform {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xddf15b0d_bd25_11d2_9ca0_00c04f7971e0);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_NullTransform_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
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 = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_PinControl(::windows::core::IUnknown);
impl IBDA_PinControl {
pub unsafe fn GetPinID(&self, pulpinid: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetPinID)(::windows::core::Interface::as_raw(self), pulpinid).ok()
}
pub unsafe fn GetPinType(&self, pulpintype: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetPinType)(::windows::core::Interface::as_raw(self), pulpintype).ok()
}
pub unsafe fn RegistrationContext(&self, pulregistrationctx: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).RegistrationContext)(::windows::core::Interface::as_raw(self), pulregistrationctx).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_PinControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_PinControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_PinControl {}
impl ::core::fmt::Debug for IBDA_PinControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_PinControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_PinControl {
type Vtable = IBDA_PinControl_Vtbl;
}
impl ::core::clone::Clone for IBDA_PinControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_PinControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0ded49d5_a8b7_4d5d_97a1_12b0c195874d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_PinControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetPinID: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulpinid: *mut u32) -> ::windows::core::HRESULT,
pub GetPinType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulpintype: *mut u32) -> ::windows::core::HRESULT,
pub RegistrationContext: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulregistrationctx: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_SignalProperties(::windows::core::IUnknown);
impl IBDA_SignalProperties {
pub unsafe fn PutNetworkType(&self, guidnetworktype: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PutNetworkType)(::windows::core::Interface::as_raw(self), guidnetworktype).ok()
}
pub unsafe fn GetNetworkType(&self, pguidnetworktype: *mut ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetNetworkType)(::windows::core::Interface::as_raw(self), pguidnetworktype).ok()
}
pub unsafe fn PutSignalSource(&self, ulsignalsource: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PutSignalSource)(::windows::core::Interface::as_raw(self), ulsignalsource).ok()
}
pub unsafe fn GetSignalSource(&self, pulsignalsource: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetSignalSource)(::windows::core::Interface::as_raw(self), pulsignalsource).ok()
}
pub unsafe fn PutTuningSpace(&self, guidtuningspace: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PutTuningSpace)(::windows::core::Interface::as_raw(self), guidtuningspace).ok()
}
pub unsafe fn GetTuningSpace(&self, pguidtuingspace: *mut ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetTuningSpace)(::windows::core::Interface::as_raw(self), pguidtuingspace).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_SignalProperties, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_SignalProperties {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_SignalProperties {}
impl ::core::fmt::Debug for IBDA_SignalProperties {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_SignalProperties").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_SignalProperties {
type Vtable = IBDA_SignalProperties_Vtbl;
}
impl ::core::clone::Clone for IBDA_SignalProperties {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_SignalProperties {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd2f1644b_b409_11d2_bc69_00a0c9ee9e16);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_SignalProperties_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub PutNetworkType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guidnetworktype: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
pub GetNetworkType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguidnetworktype: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub PutSignalSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulsignalsource: u32) -> ::windows::core::HRESULT,
pub GetSignalSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulsignalsource: *mut u32) -> ::windows::core::HRESULT,
pub PutTuningSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guidtuningspace: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
pub GetTuningSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguidtuingspace: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_SignalStatistics(::windows::core::IUnknown);
impl IBDA_SignalStatistics {
pub unsafe fn SetSignalStrength(&self, ldbstrength: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetSignalStrength)(::windows::core::Interface::as_raw(self), ldbstrength).ok()
}
pub unsafe fn SignalStrength(&self, pldbstrength: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SignalStrength)(::windows::core::Interface::as_raw(self), pldbstrength).ok()
}
pub unsafe fn SetSignalQuality(&self, lpercentquality: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetSignalQuality)(::windows::core::Interface::as_raw(self), lpercentquality).ok()
}
pub unsafe fn SignalQuality(&self, plpercentquality: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SignalQuality)(::windows::core::Interface::as_raw(self), plpercentquality).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetSignalPresent<P0>(&self, fpresent: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOLEAN>,
{
(::windows::core::Interface::vtable(self).SetSignalPresent)(::windows::core::Interface::as_raw(self), fpresent.into_param().abi()).ok()
}
pub unsafe fn SignalPresent(&self, pfpresent: *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SignalPresent)(::windows::core::Interface::as_raw(self), pfpresent).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetSignalLocked<P0>(&self, flocked: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOLEAN>,
{
(::windows::core::Interface::vtable(self).SetSignalLocked)(::windows::core::Interface::as_raw(self), flocked.into_param().abi()).ok()
}
pub unsafe fn SignalLocked(&self, pflocked: *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SignalLocked)(::windows::core::Interface::as_raw(self), pflocked).ok()
}
pub unsafe fn SetSampleTime(&self, lmssampletime: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetSampleTime)(::windows::core::Interface::as_raw(self), lmssampletime).ok()
}
pub unsafe fn SampleTime(&self, plmssampletime: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SampleTime)(::windows::core::Interface::as_raw(self), plmssampletime).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_SignalStatistics, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_SignalStatistics {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_SignalStatistics {}
impl ::core::fmt::Debug for IBDA_SignalStatistics {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_SignalStatistics").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_SignalStatistics {
type Vtable = IBDA_SignalStatistics_Vtbl;
}
impl ::core::clone::Clone for IBDA_SignalStatistics {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_SignalStatistics {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1347d106_cf3a_428a_a5cb_ac0d9a2a4338);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_SignalStatistics_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetSignalStrength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ldbstrength: i32) -> ::windows::core::HRESULT,
pub SignalStrength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pldbstrength: *mut i32) -> ::windows::core::HRESULT,
pub SetSignalQuality: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpercentquality: i32) -> ::windows::core::HRESULT,
pub SignalQuality: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plpercentquality: *mut i32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetSignalPresent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fpresent: super::super::Foundation::BOOLEAN) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetSignalPresent: usize,
pub SignalPresent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfpresent: *mut u8) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetSignalLocked: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, flocked: super::super::Foundation::BOOLEAN) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetSignalLocked: usize,
pub SignalLocked: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pflocked: *mut u8) -> ::windows::core::HRESULT,
pub SetSampleTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lmssampletime: i32) -> ::windows::core::HRESULT,
pub SampleTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plmssampletime: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_Topology(::windows::core::IUnknown);
impl IBDA_Topology {
pub unsafe fn GetNodeTypes(&self, pulcnodetypes: *mut u32, rgulnodetypes: &mut [u32]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetNodeTypes)(::windows::core::Interface::as_raw(self), pulcnodetypes, rgulnodetypes.len() as _, ::core::mem::transmute(rgulnodetypes.as_ptr())).ok()
}
pub unsafe fn GetNodeDescriptors(&self, ulcnodedescriptors: *mut u32, rgnodedescriptors: &mut [BDANODE_DESCRIPTOR]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetNodeDescriptors)(::windows::core::Interface::as_raw(self), ulcnodedescriptors, rgnodedescriptors.len() as _, ::core::mem::transmute(rgnodedescriptors.as_ptr())).ok()
}
pub unsafe fn GetNodeInterfaces(&self, ulnodetype: u32, pulcinterfaces: *mut u32, rgguidinterfaces: &mut [::windows::core::GUID]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetNodeInterfaces)(::windows::core::Interface::as_raw(self), ulnodetype, pulcinterfaces, rgguidinterfaces.len() as _, ::core::mem::transmute(rgguidinterfaces.as_ptr())).ok()
}
pub unsafe fn GetPinTypes(&self, pulcpintypes: *mut u32, rgulpintypes: &mut [u32]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetPinTypes)(::windows::core::Interface::as_raw(self), pulcpintypes, rgulpintypes.len() as _, ::core::mem::transmute(rgulpintypes.as_ptr())).ok()
}
pub unsafe fn GetTemplateConnections(&self, pulcconnections: *mut u32, rgconnections: &mut [BDA_TEMPLATE_CONNECTION]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetTemplateConnections)(::windows::core::Interface::as_raw(self), pulcconnections, rgconnections.len() as _, ::core::mem::transmute(rgconnections.as_ptr())).ok()
}
pub unsafe fn CreatePin(&self, ulpintype: u32, pulpinid: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).CreatePin)(::windows::core::Interface::as_raw(self), ulpintype, pulpinid).ok()
}
pub unsafe fn DeletePin(&self, ulpinid: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).DeletePin)(::windows::core::Interface::as_raw(self), ulpinid).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn SetMediaType(&self, ulpinid: u32, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMediaType)(::windows::core::Interface::as_raw(self), ulpinid, pmediatype).ok()
}
pub unsafe fn SetMedium(&self, ulpinid: u32, pmedium: *const REGPINMEDIUM) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMedium)(::windows::core::Interface::as_raw(self), ulpinid, pmedium).ok()
}
pub unsafe fn CreateTopology(&self, ulinputpinid: u32, uloutputpinid: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).CreateTopology)(::windows::core::Interface::as_raw(self), ulinputpinid, uloutputpinid).ok()
}
pub unsafe fn GetControlNode(&self, ulinputpinid: u32, uloutputpinid: u32, ulnodetype: u32, ppcontrolnode: *mut ::core::option::Option<::windows::core::IUnknown>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetControlNode)(::windows::core::Interface::as_raw(self), ulinputpinid, uloutputpinid, ulnodetype, ::core::mem::transmute(ppcontrolnode)).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_Topology, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_Topology {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_Topology {}
impl ::core::fmt::Debug for IBDA_Topology {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_Topology").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_Topology {
type Vtable = IBDA_Topology_Vtbl;
}
impl ::core::clone::Clone for IBDA_Topology {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_Topology {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x79b56888_7fea_4690_b45d_38fd3c7849be);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_Topology_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetNodeTypes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulcnodetypes: *mut u32, ulcnodetypesmax: u32, rgulnodetypes: *mut u32) -> ::windows::core::HRESULT,
pub GetNodeDescriptors: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulcnodedescriptors: *mut u32, ulcnodedescriptorsmax: u32, rgnodedescriptors: *mut BDANODE_DESCRIPTOR) -> ::windows::core::HRESULT,
pub GetNodeInterfaces: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulnodetype: u32, pulcinterfaces: *mut u32, ulcinterfacesmax: u32, rgguidinterfaces: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub GetPinTypes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulcpintypes: *mut u32, ulcpintypesmax: u32, rgulpintypes: *mut u32) -> ::windows::core::HRESULT,
pub GetTemplateConnections: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulcconnections: *mut u32, ulcconnectionsmax: u32, rgconnections: *mut BDA_TEMPLATE_CONNECTION) -> ::windows::core::HRESULT,
pub CreatePin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulpintype: u32, pulpinid: *mut u32) -> ::windows::core::HRESULT,
pub DeletePin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulpinid: u32) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub SetMediaType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulpinid: u32, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
SetMediaType: usize,
pub SetMedium: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulpinid: u32, pmedium: *const REGPINMEDIUM) -> ::windows::core::HRESULT,
pub CreateTopology: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulinputpinid: u32, uloutputpinid: u32) -> ::windows::core::HRESULT,
pub GetControlNode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulinputpinid: u32, uloutputpinid: u32, ulnodetype: u32, ppcontrolnode: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_TransportStreamInfo(::windows::core::IUnknown);
impl IBDA_TransportStreamInfo {
pub unsafe fn PatTableTickCount(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).PatTableTickCount)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IBDA_TransportStreamInfo, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_TransportStreamInfo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_TransportStreamInfo {}
impl ::core::fmt::Debug for IBDA_TransportStreamInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_TransportStreamInfo").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_TransportStreamInfo {
type Vtable = IBDA_TransportStreamInfo_Vtbl;
}
impl ::core::clone::Clone for IBDA_TransportStreamInfo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_TransportStreamInfo {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8e882535_5f86_47ab_86cf_c281a72a0549);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_TransportStreamInfo_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub PatTableTickCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppattickcount: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_TransportStreamSelector(::windows::core::IUnknown);
impl IBDA_TransportStreamSelector {
pub unsafe fn SetTSID(&self, ustsid: u16) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTSID)(::windows::core::Interface::as_raw(self), ustsid).ok()
}
pub unsafe fn GetTSInformation(&self, pultsinformationbufferlen: *mut u32, pbtsinformationbuffer: *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetTSInformation)(::windows::core::Interface::as_raw(self), pultsinformationbufferlen, pbtsinformationbuffer).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_TransportStreamSelector, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_TransportStreamSelector {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_TransportStreamSelector {}
impl ::core::fmt::Debug for IBDA_TransportStreamSelector {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_TransportStreamSelector").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_TransportStreamSelector {
type Vtable = IBDA_TransportStreamSelector_Vtbl;
}
impl ::core::clone::Clone for IBDA_TransportStreamSelector {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_TransportStreamSelector {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1dcfafe9_b45e_41b3_bb2a_561eb129ae98);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_TransportStreamSelector_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetTSID: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ustsid: u16) -> ::windows::core::HRESULT,
pub GetTSInformation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pultsinformationbufferlen: *mut u32, pbtsinformationbuffer: *mut u8) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_UserActivityService(::windows::core::IUnknown);
impl IBDA_UserActivityService {
pub unsafe fn SetCurrentTunerUseReason(&self, dwusereason: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetCurrentTunerUseReason)(::windows::core::Interface::as_raw(self), dwusereason).ok()
}
pub unsafe fn GetUserActivityInterval(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetUserActivityInterval)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn UserActivityDetected(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).UserActivityDetected)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_UserActivityService, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_UserActivityService {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_UserActivityService {}
impl ::core::fmt::Debug for IBDA_UserActivityService {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_UserActivityService").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_UserActivityService {
type Vtable = IBDA_UserActivityService_Vtbl;
}
impl ::core::clone::Clone for IBDA_UserActivityService {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_UserActivityService {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x53b14189_e478_4b7a_a1ff_506db4b99dfe);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_UserActivityService_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetCurrentTunerUseReason: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwusereason: u32) -> ::windows::core::HRESULT,
pub GetUserActivityInterval: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwactivityinterval: *mut u32) -> ::windows::core::HRESULT,
pub UserActivityDetected: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_VoidTransform(::windows::core::IUnknown);
impl IBDA_VoidTransform {
pub unsafe fn Start(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Start)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Stop(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Stop)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_VoidTransform, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_VoidTransform {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_VoidTransform {}
impl ::core::fmt::Debug for IBDA_VoidTransform {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_VoidTransform").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_VoidTransform {
type Vtable = IBDA_VoidTransform_Vtbl;
}
impl ::core::clone::Clone for IBDA_VoidTransform {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_VoidTransform {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x71985f46_1ca1_11d3_9cc8_00c04f7971e0);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_VoidTransform_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
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 = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_WMDRMSession(::windows::core::IUnknown);
impl IBDA_WMDRMSession {
pub unsafe fn GetStatus(&self, maxcapturetoken: *mut u32, maxstreamingpid: *mut u32, maxlicense: *mut u32, minsecuritylevel: *mut u32, revinfosequencenumber: *mut u32, revinfoissuedtime: *mut u64, revinfottl: *mut u32, revlistversion: *mut u32, ulstate: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetStatus)(::windows::core::Interface::as_raw(self), maxcapturetoken, maxstreamingpid, maxlicense, minsecuritylevel, revinfosequencenumber, revinfoissuedtime, revinfottl, revlistversion, ulstate).ok()
}
pub unsafe fn SetRevInfo(&self, pbrevinfo: &[u8]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetRevInfo)(::windows::core::Interface::as_raw(self), pbrevinfo.len() as _, ::core::mem::transmute(pbrevinfo.as_ptr())).ok()
}
pub unsafe fn SetCrl(&self, pbcrllen: &[u8]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetCrl)(::windows::core::Interface::as_raw(self), pbcrllen.len() as _, ::core::mem::transmute(pbcrllen.as_ptr())).ok()
}
pub unsafe fn TransactMessage(&self, pbrequest: &[u8], pulcbresponse: *mut u32, pbresponse: *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).TransactMessage)(::windows::core::Interface::as_raw(self), pbrequest.len() as _, ::core::mem::transmute(pbrequest.as_ptr()), pulcbresponse, pbresponse).ok()
}
pub unsafe fn GetLicense(&self, uuidkey: *const ::windows::core::GUID, pulpackagelen: *mut u32, pbpackage: *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetLicense)(::windows::core::Interface::as_raw(self), uuidkey, pulpackagelen, pbpackage).ok()
}
pub unsafe fn ReissueLicense(&self, uuidkey: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ReissueLicense)(::windows::core::Interface::as_raw(self), uuidkey).ok()
}
pub unsafe fn RenewLicense(&self, pbinxmrlicense: &[u8], pbentitlementtoken: &[u8], puldescramblestatus: *mut u32, puloutxmrlicenselen: *mut u32, pboutxmrlicense: *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).RenewLicense)(::windows::core::Interface::as_raw(self), pbinxmrlicense.len() as _, ::core::mem::transmute(pbinxmrlicense.as_ptr()), pbentitlementtoken.len() as _, ::core::mem::transmute(pbentitlementtoken.as_ptr()), puldescramblestatus, puloutxmrlicenselen, pboutxmrlicense).ok()
}
pub unsafe fn GetKeyInfo(&self, pulkeyinfolen: *mut u32, pbkeyinfo: *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetKeyInfo)(::windows::core::Interface::as_raw(self), pulkeyinfolen, pbkeyinfo).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_WMDRMSession, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_WMDRMSession {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_WMDRMSession {}
impl ::core::fmt::Debug for IBDA_WMDRMSession {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_WMDRMSession").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_WMDRMSession {
type Vtable = IBDA_WMDRMSession_Vtbl;
}
impl ::core::clone::Clone for IBDA_WMDRMSession {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_WMDRMSession {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4be6fa3d_07cd_4139_8b80_8c18ba3aec88);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_WMDRMSession_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, maxcapturetoken: *mut u32, maxstreamingpid: *mut u32, maxlicense: *mut u32, minsecuritylevel: *mut u32, revinfosequencenumber: *mut u32, revinfoissuedtime: *mut u64, revinfottl: *mut u32, revlistversion: *mut u32, ulstate: *mut u32) -> ::windows::core::HRESULT,
pub SetRevInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulrevinfolen: u32, pbrevinfo: *const u8) -> ::windows::core::HRESULT,
pub SetCrl: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulcrllen: u32, pbcrllen: *const u8) -> ::windows::core::HRESULT,
pub TransactMessage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulcbrequest: u32, pbrequest: *const u8, pulcbresponse: *mut u32, pbresponse: *mut u8) -> ::windows::core::HRESULT,
pub GetLicense: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uuidkey: *const ::windows::core::GUID, pulpackagelen: *mut u32, pbpackage: *mut u8) -> ::windows::core::HRESULT,
pub ReissueLicense: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uuidkey: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
pub RenewLicense: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulinxmrlicenselen: u32, pbinxmrlicense: *const u8, ulentitlementtokenlen: u32, pbentitlementtoken: *const u8, puldescramblestatus: *mut u32, puloutxmrlicenselen: *mut u32, pboutxmrlicense: *mut u8) -> ::windows::core::HRESULT,
pub GetKeyInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulkeyinfolen: *mut u32, pbkeyinfo: *mut u8) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBDA_WMDRMTuner(::windows::core::IUnknown);
impl IBDA_WMDRMTuner {
pub unsafe fn PurchaseEntitlement<P0>(&self, uldialogrequest: u32, bstrlanguage: P0, pbpurchasetoken: &[u8], puldescramblestatus: *mut u32, pulcapturetokenlen: *mut u32, pbcapturetoken: *mut u8) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
(::windows::core::Interface::vtable(self).PurchaseEntitlement)(::windows::core::Interface::as_raw(self), uldialogrequest, bstrlanguage.into_param().abi(), pbpurchasetoken.len() as _, ::core::mem::transmute(pbpurchasetoken.as_ptr()), puldescramblestatus, pulcapturetokenlen, pbcapturetoken).ok()
}
pub unsafe fn CancelCaptureToken(&self, pbcapturetoken: &[u8]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).CancelCaptureToken)(::windows::core::Interface::as_raw(self), pbcapturetoken.len() as _, ::core::mem::transmute(pbcapturetoken.as_ptr())).ok()
}
pub unsafe fn SetPidProtection(&self, ulpid: u32, uuidkey: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetPidProtection)(::windows::core::Interface::as_raw(self), ulpid, uuidkey).ok()
}
pub unsafe fn GetPidProtection(&self, pulpid: u32) -> ::windows::core::Result<::windows::core::GUID> {
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).GetPidProtection)(::windows::core::Interface::as_raw(self), pulpid, &mut result__).from_abi(result__)
}
pub unsafe fn SetSyncValue(&self, ulsyncvalue: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetSyncValue)(::windows::core::Interface::as_raw(self), ulsyncvalue).ok()
}
pub unsafe fn GetStartCodeProfile(&self, pulstartcodeprofilelen: *mut u32, pbstartcodeprofile: *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetStartCodeProfile)(::windows::core::Interface::as_raw(self), pulstartcodeprofilelen, pbstartcodeprofile).ok()
}
}
::windows::imp::interface_hierarchy!(IBDA_WMDRMTuner, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBDA_WMDRMTuner {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBDA_WMDRMTuner {}
impl ::core::fmt::Debug for IBDA_WMDRMTuner {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBDA_WMDRMTuner").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBDA_WMDRMTuner {
type Vtable = IBDA_WMDRMTuner_Vtbl;
}
impl ::core::clone::Clone for IBDA_WMDRMTuner {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBDA_WMDRMTuner {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x86d979cf_a8a7_4f94_b5fb_14c0aca68fe6);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBDA_WMDRMTuner_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub PurchaseEntitlement: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uldialogrequest: u32, bstrlanguage: ::std::mem::MaybeUninit<::windows::core::BSTR>, ulpurchasetokenlen: u32, pbpurchasetoken: *const u8, puldescramblestatus: *mut u32, pulcapturetokenlen: *mut u32, pbcapturetoken: *mut u8) -> ::windows::core::HRESULT,
pub CancelCaptureToken: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulcapturetokenlen: u32, pbcapturetoken: *const u8) -> ::windows::core::HRESULT,
pub SetPidProtection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulpid: u32, uuidkey: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
pub GetPidProtection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulpid: u32, uuidkey: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub SetSyncValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulsyncvalue: u32) -> ::windows::core::HRESULT,
pub GetStartCodeProfile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulstartcodeprofilelen: *mut u32, pbstartcodeprofile: *mut u8) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBPCSatelliteTuner(::windows::core::IUnknown);
impl IBPCSatelliteTuner {
pub unsafe fn put_Channel(&self, lchannel: i32, lvideosubchannel: i32, laudiosubchannel: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.put_Channel)(::windows::core::Interface::as_raw(self), lchannel, lvideosubchannel, laudiosubchannel).ok()
}
pub unsafe fn get_Channel(&self, plchannel: *mut i32, plvideosubchannel: *mut i32, plaudiosubchannel: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.get_Channel)(::windows::core::Interface::as_raw(self), plchannel, plvideosubchannel, plaudiosubchannel).ok()
}
pub unsafe fn ChannelMinMax(&self, lchannelmin: *mut i32, lchannelmax: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.ChannelMinMax)(::windows::core::Interface::as_raw(self), lchannelmin, lchannelmax).ok()
}
pub unsafe fn SetCountryCode(&self, lcountrycode: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetCountryCode)(::windows::core::Interface::as_raw(self), lcountrycode).ok()
}
pub unsafe fn CountryCode(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.CountryCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetTuningSpace(&self, ltuningspace: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetTuningSpace)(::windows::core::Interface::as_raw(self), ltuningspace).ok()
}
pub unsafe fn TuningSpace(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.TuningSpace)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn Logon<P0>(&self, hcurrentuser: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
{
(::windows::core::Interface::vtable(self).base__.Logon)(::windows::core::Interface::as_raw(self), hcurrentuser.into_param().abi()).ok()
}
pub unsafe fn Logout(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.Logout)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn SignalPresent(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.SignalPresent)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetMode(&self, lmode: AMTunerModeType) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetMode)(::windows::core::Interface::as_raw(self), lmode).ok()
}
pub unsafe fn Mode(&self) -> ::windows::core::Result<AMTunerModeType> {
let mut result__ = ::windows::core::zeroed::<AMTunerModeType>();
(::windows::core::Interface::vtable(self).base__.Mode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetAvailableModes(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.GetAvailableModes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn RegisterNotificationCallBack<P0>(&self, pnotify: P0, levents: i32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IAMTunerNotification>,
{
(::windows::core::Interface::vtable(self).base__.RegisterNotificationCallBack)(::windows::core::Interface::as_raw(self), pnotify.into_param().abi(), levents).ok()
}
pub unsafe fn UnRegisterNotificationCallBack<P0>(&self, pnotify: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IAMTunerNotification>,
{
(::windows::core::Interface::vtable(self).base__.UnRegisterNotificationCallBack)(::windows::core::Interface::as_raw(self), pnotify.into_param().abi()).ok()
}
pub unsafe fn get_DefaultSubChannelTypes(&self, pldefaultvideotype: *mut i32, pldefaultaudiotype: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_DefaultSubChannelTypes)(::windows::core::Interface::as_raw(self), pldefaultvideotype, pldefaultaudiotype).ok()
}
pub unsafe fn put_DefaultSubChannelTypes(&self, ldefaultvideotype: i32, ldefaultaudiotype: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_DefaultSubChannelTypes)(::windows::core::Interface::as_raw(self), ldefaultvideotype, ldefaultaudiotype).ok()
}
pub unsafe fn IsTapingPermitted(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsTapingPermitted)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IBPCSatelliteTuner, ::windows::core::IUnknown, IAMTuner);
impl ::core::cmp::PartialEq for IBPCSatelliteTuner {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBPCSatelliteTuner {}
impl ::core::fmt::Debug for IBPCSatelliteTuner {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBPCSatelliteTuner").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBPCSatelliteTuner {
type Vtable = IBPCSatelliteTuner_Vtbl;
}
impl ::core::clone::Clone for IBPCSatelliteTuner {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBPCSatelliteTuner {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x211a8765_03ac_11d1_8d13_00aa00bd8339);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBPCSatelliteTuner_Vtbl {
pub base__: IAMTuner_Vtbl,
pub get_DefaultSubChannelTypes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pldefaultvideotype: *mut i32, pldefaultaudiotype: *mut i32) -> ::windows::core::HRESULT,
pub put_DefaultSubChannelTypes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ldefaultvideotype: i32, ldefaultaudiotype: i32) -> ::windows::core::HRESULT,
pub IsTapingPermitted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IBaseFilter(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IBaseFilter {
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn GetClassID(&self) -> ::windows::core::Result<::windows::core::GUID> {
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).base__.base__.GetClassID)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Stop(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.Stop)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Pause(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.Pause)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Run(&self, tstart: i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.Run)(::windows::core::Interface::as_raw(self), tstart).ok()
}
pub unsafe fn GetState(&self, dwmillisecstimeout: u32) -> ::windows::core::Result<FILTER_STATE> {
let mut result__ = ::windows::core::zeroed::<FILTER_STATE>();
(::windows::core::Interface::vtable(self).base__.GetState)(::windows::core::Interface::as_raw(self), dwmillisecstimeout, &mut result__).from_abi(result__)
}
pub unsafe fn SetSyncSource<P0>(&self, pclock: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::IReferenceClock>,
{
(::windows::core::Interface::vtable(self).base__.SetSyncSource)(::windows::core::Interface::as_raw(self), pclock.into_param().abi()).ok()
}
pub unsafe fn GetSyncSource(&self) -> ::windows::core::Result<super::IReferenceClock> {
let mut result__ = ::windows::core::zeroed::<super::IReferenceClock>();
(::windows::core::Interface::vtable(self).base__.GetSyncSource)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn EnumPins(&self) -> ::windows::core::Result<IEnumPins> {
let mut result__ = ::windows::core::zeroed::<IEnumPins>();
(::windows::core::Interface::vtable(self).EnumPins)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn FindPin<P0>(&self, id: P0) -> ::windows::core::Result<IPin>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
let mut result__ = ::windows::core::zeroed::<IPin>();
(::windows::core::Interface::vtable(self).FindPin)(::windows::core::Interface::as_raw(self), id.into_param().abi(), &mut result__).from_abi(result__)
}
pub unsafe fn QueryFilterInfo(&self, pinfo: *mut FILTER_INFO) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).QueryFilterInfo)(::windows::core::Interface::as_raw(self), pinfo).ok()
}
pub unsafe fn JoinFilterGraph<P0, P1>(&self, pgraph: P0, pname: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IFilterGraph>,
P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).JoinFilterGraph)(::windows::core::Interface::as_raw(self), pgraph.into_param().abi(), pname.into_param().abi()).ok()
}
pub unsafe fn QueryVendorInfo(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
(::windows::core::Interface::vtable(self).QueryVendorInfo)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IBaseFilter, ::windows::core::IUnknown, super::super::System::Com::IPersist, IMediaFilter);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IBaseFilter {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IBaseFilter {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IBaseFilter {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBaseFilter").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IBaseFilter {
type Vtable = IBaseFilter_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IBaseFilter {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IBaseFilter {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a86895_0ad4_11ce_b03a_0020af0ba770);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IBaseFilter_Vtbl {
pub base__: IMediaFilter_Vtbl,
pub EnumPins: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub FindPin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, id: ::windows::core::PCWSTR, pppin: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub QueryFilterInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pinfo: *mut FILTER_INFO) -> ::windows::core::HRESULT,
pub JoinFilterGraph: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pgraph: *mut ::core::ffi::c_void, pname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
pub QueryVendorInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvendorinfo: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBaseVideoMixer(::windows::core::IUnknown);
impl IBaseVideoMixer {
pub unsafe fn SetLeadPin(&self, ipin: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetLeadPin)(::windows::core::Interface::as_raw(self), ipin).ok()
}
pub unsafe fn GetLeadPin(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetLeadPin)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetInputPinCount(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetInputPinCount)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn IsUsingClock(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).IsUsingClock)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetUsingClock(&self, bvalue: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetUsingClock)(::windows::core::Interface::as_raw(self), bvalue).ok()
}
pub unsafe fn GetClockPeriod(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetClockPeriod)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetClockPeriod(&self, bvalue: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetClockPeriod)(::windows::core::Interface::as_raw(self), bvalue).ok()
}
}
::windows::imp::interface_hierarchy!(IBaseVideoMixer, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBaseVideoMixer {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBaseVideoMixer {}
impl ::core::fmt::Debug for IBaseVideoMixer {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBaseVideoMixer").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBaseVideoMixer {
type Vtable = IBaseVideoMixer_Vtbl;
}
impl ::core::clone::Clone for IBaseVideoMixer {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBaseVideoMixer {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x61ded640_e912_11ce_a099_00aa00479a58);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBaseVideoMixer_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetLeadPin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ipin: i32) -> ::windows::core::HRESULT,
pub GetLeadPin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pipin: *mut i32) -> ::windows::core::HRESULT,
pub GetInputPinCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pipincount: *mut i32) -> ::windows::core::HRESULT,
pub IsUsingClock: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbvalue: *mut i32) -> ::windows::core::HRESULT,
pub SetUsingClock: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bvalue: i32) -> ::windows::core::HRESULT,
pub GetClockPeriod: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbvalue: *mut i32) -> ::windows::core::HRESULT,
pub SetClockPeriod: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bvalue: i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IBasicAudio(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IBasicAudio {
pub unsafe fn SetVolume(&self, lvolume: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetVolume)(::windows::core::Interface::as_raw(self), lvolume).ok()
}
pub unsafe fn Volume(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).Volume)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetBalance(&self, lbalance: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetBalance)(::windows::core::Interface::as_raw(self), lbalance).ok()
}
pub unsafe fn Balance(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).Balance)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IBasicAudio, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IBasicAudio {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IBasicAudio {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IBasicAudio {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBasicAudio").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IBasicAudio {
type Vtable = IBasicAudio_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IBasicAudio {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IBasicAudio {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868b3_0ad4_11ce_b03a_0020af0ba770);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IBasicAudio_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
pub SetVolume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lvolume: i32) -> ::windows::core::HRESULT,
pub Volume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plvolume: *mut i32) -> ::windows::core::HRESULT,
pub SetBalance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lbalance: i32) -> ::windows::core::HRESULT,
pub Balance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plbalance: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IBasicVideo(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IBasicVideo {
pub unsafe fn AvgTimePerFrame(&self) -> ::windows::core::Result<f64> {
let mut result__ = ::windows::core::zeroed::<f64>();
(::windows::core::Interface::vtable(self).AvgTimePerFrame)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn BitRate(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).BitRate)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn BitErrorRate(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).BitErrorRate)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn VideoWidth(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).VideoWidth)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn VideoHeight(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).VideoHeight)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetSourceLeft(&self, sourceleft: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetSourceLeft)(::windows::core::Interface::as_raw(self), sourceleft).ok()
}
pub unsafe fn SourceLeft(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).SourceLeft)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetSourceWidth(&self, sourcewidth: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetSourceWidth)(::windows::core::Interface::as_raw(self), sourcewidth).ok()
}
pub unsafe fn SourceWidth(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).SourceWidth)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetSourceTop(&self, sourcetop: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetSourceTop)(::windows::core::Interface::as_raw(self), sourcetop).ok()
}
pub unsafe fn SourceTop(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).SourceTop)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetSourceHeight(&self, sourceheight: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetSourceHeight)(::windows::core::Interface::as_raw(self), sourceheight).ok()
}
pub unsafe fn SourceHeight(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).SourceHeight)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDestinationLeft(&self, destinationleft: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDestinationLeft)(::windows::core::Interface::as_raw(self), destinationleft).ok()
}
pub unsafe fn DestinationLeft(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).DestinationLeft)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDestinationWidth(&self, destinationwidth: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDestinationWidth)(::windows::core::Interface::as_raw(self), destinationwidth).ok()
}
pub unsafe fn DestinationWidth(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).DestinationWidth)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDestinationTop(&self, destinationtop: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDestinationTop)(::windows::core::Interface::as_raw(self), destinationtop).ok()
}
pub unsafe fn DestinationTop(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).DestinationTop)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDestinationHeight(&self, destinationheight: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDestinationHeight)(::windows::core::Interface::as_raw(self), destinationheight).ok()
}
pub unsafe fn DestinationHeight(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).DestinationHeight)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetSourcePosition(&self, left: i32, top: i32, width: i32, height: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetSourcePosition)(::windows::core::Interface::as_raw(self), left, top, width, height).ok()
}
pub unsafe fn GetSourcePosition(&self, pleft: *mut i32, ptop: *mut i32, pwidth: *mut i32, pheight: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetSourcePosition)(::windows::core::Interface::as_raw(self), pleft, ptop, pwidth, pheight).ok()
}
pub unsafe fn SetDefaultSourcePosition(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDefaultSourcePosition)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn SetDestinationPosition(&self, left: i32, top: i32, width: i32, height: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDestinationPosition)(::windows::core::Interface::as_raw(self), left, top, width, height).ok()
}
pub unsafe fn GetDestinationPosition(&self, pleft: *mut i32, ptop: *mut i32, pwidth: *mut i32, pheight: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDestinationPosition)(::windows::core::Interface::as_raw(self), pleft, ptop, pwidth, pheight).ok()
}
pub unsafe fn SetDefaultDestinationPosition(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDefaultDestinationPosition)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn GetVideoSize(&self, pwidth: *mut i32, pheight: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetVideoSize)(::windows::core::Interface::as_raw(self), pwidth, pheight).ok()
}
pub unsafe fn GetVideoPaletteEntries(&self, startindex: i32, entries: i32, pretrieved: *mut i32, ppalette: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetVideoPaletteEntries)(::windows::core::Interface::as_raw(self), startindex, entries, pretrieved, ppalette).ok()
}
pub unsafe fn GetCurrentImage(&self, pbuffersize: *mut i32, pdibimage: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurrentImage)(::windows::core::Interface::as_raw(self), pbuffersize, pdibimage).ok()
}
pub unsafe fn IsUsingDefaultSource(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsUsingDefaultSource)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn IsUsingDefaultDestination(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsUsingDefaultDestination)(::windows::core::Interface::as_raw(self)).ok()
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IBasicVideo, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IBasicVideo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IBasicVideo {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IBasicVideo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBasicVideo").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IBasicVideo {
type Vtable = IBasicVideo_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IBasicVideo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IBasicVideo {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868b5_0ad4_11ce_b03a_0020af0ba770);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IBasicVideo_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
pub AvgTimePerFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pavgtimeperframe: *mut f64) -> ::windows::core::HRESULT,
pub BitRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbitrate: *mut i32) -> ::windows::core::HRESULT,
pub BitErrorRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbiterrorrate: *mut i32) -> ::windows::core::HRESULT,
pub VideoWidth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvideowidth: *mut i32) -> ::windows::core::HRESULT,
pub VideoHeight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvideoheight: *mut i32) -> ::windows::core::HRESULT,
pub SetSourceLeft: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourceleft: i32) -> ::windows::core::HRESULT,
pub SourceLeft: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psourceleft: *mut i32) -> ::windows::core::HRESULT,
pub SetSourceWidth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourcewidth: i32) -> ::windows::core::HRESULT,
pub SourceWidth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psourcewidth: *mut i32) -> ::windows::core::HRESULT,
pub SetSourceTop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourcetop: i32) -> ::windows::core::HRESULT,
pub SourceTop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psourcetop: *mut i32) -> ::windows::core::HRESULT,
pub SetSourceHeight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourceheight: i32) -> ::windows::core::HRESULT,
pub SourceHeight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psourceheight: *mut i32) -> ::windows::core::HRESULT,
pub SetDestinationLeft: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, destinationleft: i32) -> ::windows::core::HRESULT,
pub DestinationLeft: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdestinationleft: *mut i32) -> ::windows::core::HRESULT,
pub SetDestinationWidth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, destinationwidth: i32) -> ::windows::core::HRESULT,
pub DestinationWidth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdestinationwidth: *mut i32) -> ::windows::core::HRESULT,
pub SetDestinationTop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, destinationtop: i32) -> ::windows::core::HRESULT,
pub DestinationTop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdestinationtop: *mut i32) -> ::windows::core::HRESULT,
pub SetDestinationHeight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, destinationheight: i32) -> ::windows::core::HRESULT,
pub DestinationHeight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdestinationheight: *mut i32) -> ::windows::core::HRESULT,
pub SetSourcePosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, left: i32, top: i32, width: i32, height: i32) -> ::windows::core::HRESULT,
pub GetSourcePosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pleft: *mut i32, ptop: *mut i32, pwidth: *mut i32, pheight: *mut i32) -> ::windows::core::HRESULT,
pub SetDefaultSourcePosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetDestinationPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, left: i32, top: i32, width: i32, height: i32) -> ::windows::core::HRESULT,
pub GetDestinationPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pleft: *mut i32, ptop: *mut i32, pwidth: *mut i32, pheight: *mut i32) -> ::windows::core::HRESULT,
pub SetDefaultDestinationPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetVideoSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwidth: *mut i32, pheight: *mut i32) -> ::windows::core::HRESULT,
pub GetVideoPaletteEntries: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, startindex: i32, entries: i32, pretrieved: *mut i32, ppalette: *mut i32) -> ::windows::core::HRESULT,
pub GetCurrentImage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbuffersize: *mut i32, pdibimage: *mut i32) -> ::windows::core::HRESULT,
pub IsUsingDefaultSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub IsUsingDefaultDestination: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IBasicVideo2(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IBasicVideo2 {
pub unsafe fn AvgTimePerFrame(&self) -> ::windows::core::Result<f64> {
let mut result__ = ::windows::core::zeroed::<f64>();
(::windows::core::Interface::vtable(self).base__.AvgTimePerFrame)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn BitRate(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.BitRate)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn BitErrorRate(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.BitErrorRate)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn VideoWidth(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.VideoWidth)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn VideoHeight(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.VideoHeight)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetSourceLeft(&self, sourceleft: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetSourceLeft)(::windows::core::Interface::as_raw(self), sourceleft).ok()
}
pub unsafe fn SourceLeft(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.SourceLeft)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetSourceWidth(&self, sourcewidth: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetSourceWidth)(::windows::core::Interface::as_raw(self), sourcewidth).ok()
}
pub unsafe fn SourceWidth(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.SourceWidth)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetSourceTop(&self, sourcetop: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetSourceTop)(::windows::core::Interface::as_raw(self), sourcetop).ok()
}
pub unsafe fn SourceTop(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.SourceTop)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetSourceHeight(&self, sourceheight: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetSourceHeight)(::windows::core::Interface::as_raw(self), sourceheight).ok()
}
pub unsafe fn SourceHeight(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.SourceHeight)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDestinationLeft(&self, destinationleft: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetDestinationLeft)(::windows::core::Interface::as_raw(self), destinationleft).ok()
}
pub unsafe fn DestinationLeft(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.DestinationLeft)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDestinationWidth(&self, destinationwidth: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetDestinationWidth)(::windows::core::Interface::as_raw(self), destinationwidth).ok()
}
pub unsafe fn DestinationWidth(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.DestinationWidth)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDestinationTop(&self, destinationtop: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetDestinationTop)(::windows::core::Interface::as_raw(self), destinationtop).ok()
}
pub unsafe fn DestinationTop(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.DestinationTop)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDestinationHeight(&self, destinationheight: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetDestinationHeight)(::windows::core::Interface::as_raw(self), destinationheight).ok()
}
pub unsafe fn DestinationHeight(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.DestinationHeight)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetSourcePosition(&self, left: i32, top: i32, width: i32, height: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetSourcePosition)(::windows::core::Interface::as_raw(self), left, top, width, height).ok()
}
pub unsafe fn GetSourcePosition(&self, pleft: *mut i32, ptop: *mut i32, pwidth: *mut i32, pheight: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetSourcePosition)(::windows::core::Interface::as_raw(self), pleft, ptop, pwidth, pheight).ok()
}
pub unsafe fn SetDefaultSourcePosition(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetDefaultSourcePosition)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn SetDestinationPosition(&self, left: i32, top: i32, width: i32, height: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetDestinationPosition)(::windows::core::Interface::as_raw(self), left, top, width, height).ok()
}
pub unsafe fn GetDestinationPosition(&self, pleft: *mut i32, ptop: *mut i32, pwidth: *mut i32, pheight: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetDestinationPosition)(::windows::core::Interface::as_raw(self), pleft, ptop, pwidth, pheight).ok()
}
pub unsafe fn SetDefaultDestinationPosition(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetDefaultDestinationPosition)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn GetVideoSize(&self, pwidth: *mut i32, pheight: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetVideoSize)(::windows::core::Interface::as_raw(self), pwidth, pheight).ok()
}
pub unsafe fn GetVideoPaletteEntries(&self, startindex: i32, entries: i32, pretrieved: *mut i32, ppalette: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetVideoPaletteEntries)(::windows::core::Interface::as_raw(self), startindex, entries, pretrieved, ppalette).ok()
}
pub unsafe fn GetCurrentImage(&self, pbuffersize: *mut i32, pdibimage: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetCurrentImage)(::windows::core::Interface::as_raw(self), pbuffersize, pdibimage).ok()
}
pub unsafe fn IsUsingDefaultSource(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.IsUsingDefaultSource)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn IsUsingDefaultDestination(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.IsUsingDefaultDestination)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn GetPreferredAspectRatio(&self, plaspectx: *mut i32, plaspecty: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetPreferredAspectRatio)(::windows::core::Interface::as_raw(self), plaspectx, plaspecty).ok()
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IBasicVideo2, ::windows::core::IUnknown, super::super::System::Com::IDispatch, IBasicVideo);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IBasicVideo2 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IBasicVideo2 {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IBasicVideo2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBasicVideo2").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IBasicVideo2 {
type Vtable = IBasicVideo2_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IBasicVideo2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IBasicVideo2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x329bb360_f6ea_11d1_9038_00a0c9697298);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IBasicVideo2_Vtbl {
pub base__: IBasicVideo_Vtbl,
pub GetPreferredAspectRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plaspectx: *mut i32, plaspecty: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBroadcastEvent(::windows::core::IUnknown);
impl IBroadcastEvent {
pub unsafe fn Fire(&self, eventid: ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Fire)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(eventid)).ok()
}
}
::windows::imp::interface_hierarchy!(IBroadcastEvent, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBroadcastEvent {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBroadcastEvent {}
impl ::core::fmt::Debug for IBroadcastEvent {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBroadcastEvent").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBroadcastEvent {
type Vtable = IBroadcastEvent_Vtbl;
}
impl ::core::clone::Clone for IBroadcastEvent {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBroadcastEvent {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3b21263f_26e8_489d_aac4_924f7efd9511);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBroadcastEvent_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub Fire: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventid: ::windows::core::GUID) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBroadcastEventEx(::windows::core::IUnknown);
impl IBroadcastEventEx {
pub unsafe fn Fire(&self, eventid: ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.Fire)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(eventid)).ok()
}
pub unsafe fn FireEx(&self, eventid: ::windows::core::GUID, param1: u32, param2: u32, param3: u32, param4: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).FireEx)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(eventid), param1, param2, param3, param4).ok()
}
}
::windows::imp::interface_hierarchy!(IBroadcastEventEx, ::windows::core::IUnknown, IBroadcastEvent);
impl ::core::cmp::PartialEq for IBroadcastEventEx {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBroadcastEventEx {}
impl ::core::fmt::Debug for IBroadcastEventEx {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBroadcastEventEx").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBroadcastEventEx {
type Vtable = IBroadcastEventEx_Vtbl;
}
impl ::core::clone::Clone for IBroadcastEventEx {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBroadcastEventEx {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3d9e3887_1929_423f_8021_43682de95448);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBroadcastEventEx_Vtbl {
pub base__: IBroadcastEvent_Vtbl,
pub FireEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventid: ::windows::core::GUID, param1: u32, param2: u32, param3: u32, param4: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IBufferingTime(::windows::core::IUnknown);
impl IBufferingTime {
pub unsafe fn GetBufferingTime(&self, pdwmilliseconds: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetBufferingTime)(::windows::core::Interface::as_raw(self), pdwmilliseconds).ok()
}
pub unsafe fn SetBufferingTime(&self, dwmilliseconds: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetBufferingTime)(::windows::core::Interface::as_raw(self), dwmilliseconds).ok()
}
}
::windows::imp::interface_hierarchy!(IBufferingTime, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IBufferingTime {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IBufferingTime {}
impl ::core::fmt::Debug for IBufferingTime {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IBufferingTime").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IBufferingTime {
type Vtable = IBufferingTime_Vtbl;
}
impl ::core::clone::Clone for IBufferingTime {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IBufferingTime {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1e00486a_78dd_11d2_8dd3_006097c9a2b2);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBufferingTime_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetBufferingTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwmilliseconds: *mut u32) -> ::windows::core::HRESULT,
pub SetBufferingTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwmilliseconds: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct ICCSubStreamFiltering(::windows::core::IUnknown);
impl ICCSubStreamFiltering {
pub unsafe fn SubstreamTypes(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).SubstreamTypes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetSubstreamTypes(&self, types: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetSubstreamTypes)(::windows::core::Interface::as_raw(self), types).ok()
}
}
::windows::imp::interface_hierarchy!(ICCSubStreamFiltering, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for ICCSubStreamFiltering {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ICCSubStreamFiltering {}
impl ::core::fmt::Debug for ICCSubStreamFiltering {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ICCSubStreamFiltering").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for ICCSubStreamFiltering {
type Vtable = ICCSubStreamFiltering_Vtbl;
}
impl ::core::clone::Clone for ICCSubStreamFiltering {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICCSubStreamFiltering {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4b2bd7ea_8347_467b_8dbf_62f784929cc3);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICCSubStreamFiltering_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SubstreamTypes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptypes: *mut i32) -> ::windows::core::HRESULT,
pub SetSubstreamTypes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, types: i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct ICameraControl(::windows::core::IUnknown);
impl ICameraControl {
pub unsafe fn get_Exposure(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_Exposure)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_Exposure(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_Exposure)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_Exposure(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_Exposure)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_Focus(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_Focus)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_Focus(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_Focus)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_Focus(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_Focus)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_Iris(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_Iris)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_Iris(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_Iris)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_Iris(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_Iris)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_Zoom(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_Zoom)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_Zoom(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_Zoom)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_Zoom(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_Zoom)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_FocalLengths(&self, plocularfocallength: *mut i32, plobjectivefocallengthmin: *mut i32, plobjectivefocallengthmax: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_FocalLengths)(::windows::core::Interface::as_raw(self), plocularfocallength, plobjectivefocallengthmin, plobjectivefocallengthmax).ok()
}
pub unsafe fn get_Pan(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_Pan)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_Pan(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_Pan)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_Pan(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_Pan)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_Tilt(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_Tilt)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_Tilt(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_Tilt)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_Tilt(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_Tilt)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_PanTilt(&self, ppanvalue: *mut i32, ptiltvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_PanTilt)(::windows::core::Interface::as_raw(self), ppanvalue, ptiltvalue, pflags).ok()
}
pub unsafe fn put_PanTilt(&self, panvalue: i32, tiltvalue: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_PanTilt)(::windows::core::Interface::as_raw(self), panvalue, tiltvalue, flags).ok()
}
pub unsafe fn get_Roll(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_Roll)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_Roll(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_Roll)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_Roll(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_Roll)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_ExposureRelative(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_ExposureRelative)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_ExposureRelative(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_ExposureRelative)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_ExposureRelative(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_ExposureRelative)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_FocusRelative(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_FocusRelative)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_FocusRelative(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_FocusRelative)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_FocusRelative(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_FocusRelative)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_IrisRelative(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_IrisRelative)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_IrisRelative(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_IrisRelative)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_IrisRelative(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_IrisRelative)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_ZoomRelative(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_ZoomRelative)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_ZoomRelative(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_ZoomRelative)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_ZoomRelative(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_ZoomRelative)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_PanRelative(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_PanRelative)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_PanRelative(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_PanRelative)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn get_TiltRelative(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_TiltRelative)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_TiltRelative(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_TiltRelative)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_TiltRelative(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_TiltRelative)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_PanTiltRelative(&self, ppanvalue: *mut i32, ptiltvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_PanTiltRelative)(::windows::core::Interface::as_raw(self), ppanvalue, ptiltvalue, pflags).ok()
}
pub unsafe fn put_PanTiltRelative(&self, panvalue: i32, tiltvalue: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_PanTiltRelative)(::windows::core::Interface::as_raw(self), panvalue, tiltvalue, flags).ok()
}
pub unsafe fn getRange_PanRelative(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_PanRelative)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_RollRelative(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_RollRelative)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_RollRelative(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_RollRelative)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_RollRelative(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_RollRelative)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_ScanMode(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_ScanMode)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_ScanMode(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_ScanMode)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn get_PrivacyMode(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_PrivacyMode)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_PrivacyMode(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_PrivacyMode)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
}
::windows::imp::interface_hierarchy!(ICameraControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for ICameraControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ICameraControl {}
impl ::core::fmt::Debug for ICameraControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ICameraControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for ICameraControl {
type Vtable = ICameraControl_Vtbl;
}
impl ::core::clone::Clone for ICameraControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICameraControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2ba1785d_4d1b_44ef_85e8_c7f1d3f20184);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICameraControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub get_Exposure: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_Exposure: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_Exposure: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_Focus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_Focus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_Focus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_Iris: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_Iris: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_Iris: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_Zoom: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_Zoom: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_Zoom: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_FocalLengths: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plocularfocallength: *mut i32, plobjectivefocallengthmin: *mut i32, plobjectivefocallengthmax: *mut i32) -> ::windows::core::HRESULT,
pub get_Pan: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_Pan: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_Pan: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_Tilt: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_Tilt: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_Tilt: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_PanTilt: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppanvalue: *mut i32, ptiltvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_PanTilt: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, panvalue: i32, tiltvalue: i32, flags: i32) -> ::windows::core::HRESULT,
pub get_Roll: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_Roll: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_Roll: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_ExposureRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_ExposureRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_ExposureRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_FocusRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_FocusRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_FocusRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_IrisRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_IrisRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_IrisRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_ZoomRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_ZoomRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_ZoomRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_PanRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_PanRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub get_TiltRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_TiltRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_TiltRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_PanTiltRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppanvalue: *mut i32, ptiltvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_PanTiltRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, panvalue: i32, tiltvalue: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_PanRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_RollRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_RollRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_RollRelative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_ScanMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_ScanMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub get_PrivacyMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_PrivacyMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct ICaptureGraphBuilder(::windows::core::IUnknown);
impl ICaptureGraphBuilder {
pub unsafe fn SetFiltergraph<P0>(&self, pfg: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IGraphBuilder>,
{
(::windows::core::Interface::vtable(self).SetFiltergraph)(::windows::core::Interface::as_raw(self), pfg.into_param().abi()).ok()
}
pub unsafe fn GetFiltergraph(&self) -> ::windows::core::Result<IGraphBuilder> {
let mut result__ = ::windows::core::zeroed::<IGraphBuilder>();
(::windows::core::Interface::vtable(self).GetFiltergraph)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn SetOutputFileName<P0>(&self, ptype: *const ::windows::core::GUID, lpstrfile: P0, ppf: *mut ::core::option::Option<IBaseFilter>, ppsink: *mut ::core::option::Option<IFileSinkFilter>) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).SetOutputFileName)(::windows::core::Interface::as_raw(self), ptype, lpstrfile.into_param().abi(), ::core::mem::transmute(ppf), ::core::mem::transmute(ppsink)).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn FindInterface<P0>(&self, pcategory: ::core::option::Option<*const ::windows::core::GUID>, pf: P0, riid: *const ::windows::core::GUID, ppint: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).FindInterface)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pcategory.unwrap_or(::std::ptr::null())), pf.into_param().abi(), riid, ppint).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn RenderStream<P0, P1, P2>(&self, pcategory: ::core::option::Option<*const ::windows::core::GUID>, psource: P0, pfcompressor: P1, pfrenderer: P2) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
P1: ::windows::core::IntoParam<IBaseFilter>,
P2: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).RenderStream)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pcategory.unwrap_or(::std::ptr::null())), psource.into_param().abi(), pfcompressor.into_param().abi(), pfrenderer.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn ControlStream<P0>(&self, pcategory: ::core::option::Option<*const ::windows::core::GUID>, pfilter: P0, pstart: *mut i64, pstop: *mut i64, wstartcookie: u16, wstopcookie: u16) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).ControlStream)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pcategory.unwrap_or(::std::ptr::null())), pfilter.into_param().abi(), pstart, pstop, wstartcookie, wstopcookie).ok()
}
pub unsafe fn AllocCapFile<P0>(&self, lpstr: P0, dwlsize: u64) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).AllocCapFile)(::windows::core::Interface::as_raw(self), lpstr.into_param().abi(), dwlsize).ok()
}
pub unsafe fn CopyCaptureFile<P0, P1, P2>(&self, lpwstrold: P0, lpwstrnew: P1, fallowescabort: i32, pcallback: P2) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
P2: ::windows::core::IntoParam<IAMCopyCaptureFileProgress>,
{
(::windows::core::Interface::vtable(self).CopyCaptureFile)(::windows::core::Interface::as_raw(self), lpwstrold.into_param().abi(), lpwstrnew.into_param().abi(), fallowescabort, pcallback.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(ICaptureGraphBuilder, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for ICaptureGraphBuilder {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ICaptureGraphBuilder {}
impl ::core::fmt::Debug for ICaptureGraphBuilder {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ICaptureGraphBuilder").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for ICaptureGraphBuilder {
type Vtable = ICaptureGraphBuilder_Vtbl;
}
impl ::core::clone::Clone for ICaptureGraphBuilder {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICaptureGraphBuilder {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbf87b6e0_8c27_11d0_b3f0_00aa003761c5);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICaptureGraphBuilder_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetFiltergraph: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfg: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetFiltergraph: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppfg: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_System_Com")]
pub SetOutputFileName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptype: *const ::windows::core::GUID, lpstrfile: ::windows::core::PCWSTR, ppf: *mut *mut ::core::ffi::c_void, ppsink: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
SetOutputFileName: usize,
#[cfg(feature = "Win32_System_Com")]
pub FindInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcategory: *const ::windows::core::GUID, pf: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, ppint: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
FindInterface: usize,
#[cfg(feature = "Win32_System_Com")]
pub RenderStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcategory: *const ::windows::core::GUID, psource: *mut ::core::ffi::c_void, pfcompressor: *mut ::core::ffi::c_void, pfrenderer: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
RenderStream: usize,
#[cfg(feature = "Win32_System_Com")]
pub ControlStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcategory: *const ::windows::core::GUID, pfilter: *mut ::core::ffi::c_void, pstart: *mut i64, pstop: *mut i64, wstartcookie: u16, wstopcookie: u16) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
ControlStream: usize,
pub AllocCapFile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpstr: ::windows::core::PCWSTR, dwlsize: u64) -> ::windows::core::HRESULT,
pub CopyCaptureFile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpwstrold: ::windows::core::PCWSTR, lpwstrnew: ::windows::core::PCWSTR, fallowescabort: i32, pcallback: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct ICaptureGraphBuilder2(::windows::core::IUnknown);
impl ICaptureGraphBuilder2 {
pub unsafe fn SetFiltergraph<P0>(&self, pfg: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IGraphBuilder>,
{
(::windows::core::Interface::vtable(self).SetFiltergraph)(::windows::core::Interface::as_raw(self), pfg.into_param().abi()).ok()
}
pub unsafe fn GetFiltergraph(&self) -> ::windows::core::Result<IGraphBuilder> {
let mut result__ = ::windows::core::zeroed::<IGraphBuilder>();
(::windows::core::Interface::vtable(self).GetFiltergraph)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn SetOutputFileName<P0>(&self, ptype: *const ::windows::core::GUID, lpstrfile: P0, ppf: *mut ::core::option::Option<IBaseFilter>, ppsink: ::core::option::Option<*mut ::core::option::Option<IFileSinkFilter>>) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).SetOutputFileName)(::windows::core::Interface::as_raw(self), ptype, lpstrfile.into_param().abi(), ::core::mem::transmute(ppf), ::core::mem::transmute(ppsink.unwrap_or(::std::ptr::null_mut()))).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn FindInterface<P0>(&self, pcategory: ::core::option::Option<*const ::windows::core::GUID>, ptype: ::core::option::Option<*const ::windows::core::GUID>, pf: P0, riid: *const ::windows::core::GUID, ppint: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).FindInterface)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pcategory.unwrap_or(::std::ptr::null())), ::core::mem::transmute(ptype.unwrap_or(::std::ptr::null())), pf.into_param().abi(), riid, ppint).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn RenderStream<P0, P1, P2>(&self, pcategory: ::core::option::Option<*const ::windows::core::GUID>, ptype: *const ::windows::core::GUID, psource: P0, pfcompressor: P1, pfrenderer: P2) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
P1: ::windows::core::IntoParam<IBaseFilter>,
P2: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).RenderStream)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pcategory.unwrap_or(::std::ptr::null())), ptype, psource.into_param().abi(), pfcompressor.into_param().abi(), pfrenderer.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn ControlStream<P0>(&self, pcategory: *const ::windows::core::GUID, ptype: *const ::windows::core::GUID, pfilter: P0, pstart: ::core::option::Option<*const i64>, pstop: ::core::option::Option<*const i64>, wstartcookie: u16, wstopcookie: u16) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).ControlStream)(::windows::core::Interface::as_raw(self), pcategory, ptype, pfilter.into_param().abi(), ::core::mem::transmute(pstart.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pstop.unwrap_or(::std::ptr::null())), wstartcookie, wstopcookie).ok()
}
pub unsafe fn AllocCapFile<P0>(&self, lpstr: P0, dwlsize: u64) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).AllocCapFile)(::windows::core::Interface::as_raw(self), lpstr.into_param().abi(), dwlsize).ok()
}
pub unsafe fn CopyCaptureFile<P0, P1, P2>(&self, lpwstrold: P0, lpwstrnew: P1, fallowescabort: i32, pcallback: P2) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
P2: ::windows::core::IntoParam<IAMCopyCaptureFileProgress>,
{
(::windows::core::Interface::vtable(self).CopyCaptureFile)(::windows::core::Interface::as_raw(self), lpwstrold.into_param().abi(), lpwstrnew.into_param().abi(), fallowescabort, pcallback.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn FindPin<P0, P1>(&self, psource: P0, pindir: PIN_DIRECTION, pcategory: ::core::option::Option<*const ::windows::core::GUID>, ptype: ::core::option::Option<*const ::windows::core::GUID>, funconnected: P1, num: i32) -> ::windows::core::Result<IPin>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
let mut result__ = ::windows::core::zeroed::<IPin>();
(::windows::core::Interface::vtable(self).FindPin)(::windows::core::Interface::as_raw(self), psource.into_param().abi(), pindir, ::core::mem::transmute(pcategory.unwrap_or(::std::ptr::null())), ::core::mem::transmute(ptype.unwrap_or(::std::ptr::null())), funconnected.into_param().abi(), num, &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(ICaptureGraphBuilder2, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for ICaptureGraphBuilder2 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ICaptureGraphBuilder2 {}
impl ::core::fmt::Debug for ICaptureGraphBuilder2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ICaptureGraphBuilder2").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for ICaptureGraphBuilder2 {
type Vtable = ICaptureGraphBuilder2_Vtbl;
}
impl ::core::clone::Clone for ICaptureGraphBuilder2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICaptureGraphBuilder2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x93e5a4e0_2d50_11d2_abfa_00a0c9c6e38d);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICaptureGraphBuilder2_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetFiltergraph: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfg: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetFiltergraph: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppfg: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_System_Com")]
pub SetOutputFileName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptype: *const ::windows::core::GUID, lpstrfile: ::windows::core::PCWSTR, ppf: *mut *mut ::core::ffi::c_void, ppsink: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
SetOutputFileName: usize,
#[cfg(feature = "Win32_System_Com")]
pub FindInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcategory: *const ::windows::core::GUID, ptype: *const ::windows::core::GUID, pf: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, ppint: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
FindInterface: usize,
#[cfg(feature = "Win32_System_Com")]
pub RenderStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcategory: *const ::windows::core::GUID, ptype: *const ::windows::core::GUID, psource: *mut ::core::ffi::c_void, pfcompressor: *mut ::core::ffi::c_void, pfrenderer: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
RenderStream: usize,
#[cfg(feature = "Win32_System_Com")]
pub ControlStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcategory: *const ::windows::core::GUID, ptype: *const ::windows::core::GUID, pfilter: *mut ::core::ffi::c_void, pstart: *const i64, pstop: *const i64, wstartcookie: u16, wstopcookie: u16) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
ControlStream: usize,
pub AllocCapFile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpstr: ::windows::core::PCWSTR, dwlsize: u64) -> ::windows::core::HRESULT,
pub CopyCaptureFile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpwstrold: ::windows::core::PCWSTR, lpwstrnew: ::windows::core::PCWSTR, fallowescabort: i32, pcallback: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub FindPin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psource: *mut ::core::ffi::c_void, pindir: PIN_DIRECTION, pcategory: *const ::windows::core::GUID, ptype: *const ::windows::core::GUID, funconnected: super::super::Foundation::BOOL, num: i32, pppin: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
FindPin: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IConfigAsfWriter(::windows::core::IUnknown);
impl IConfigAsfWriter {
pub unsafe fn ConfigureFilterUsingProfileId(&self, dwprofileid: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ConfigureFilterUsingProfileId)(::windows::core::Interface::as_raw(self), dwprofileid).ok()
}
pub unsafe fn GetCurrentProfileId(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetCurrentProfileId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn ConfigureFilterUsingProfileGuid(&self, guidprofile: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ConfigureFilterUsingProfileGuid)(::windows::core::Interface::as_raw(self), guidprofile).ok()
}
pub unsafe fn GetCurrentProfileGuid(&self) -> ::windows::core::Result<::windows::core::GUID> {
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).GetCurrentProfileGuid)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Media_WindowsMediaFormat\"`*"]
#[cfg(feature = "Win32_Media_WindowsMediaFormat")]
pub unsafe fn ConfigureFilterUsingProfile<P0>(&self, pprofile: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::WindowsMediaFormat::IWMProfile>,
{
(::windows::core::Interface::vtable(self).ConfigureFilterUsingProfile)(::windows::core::Interface::as_raw(self), pprofile.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Media_WindowsMediaFormat\"`*"]
#[cfg(feature = "Win32_Media_WindowsMediaFormat")]
pub unsafe fn GetCurrentProfile(&self) -> ::windows::core::Result<super::WindowsMediaFormat::IWMProfile> {
let mut result__ = ::windows::core::zeroed::<super::WindowsMediaFormat::IWMProfile>();
(::windows::core::Interface::vtable(self).GetCurrentProfile)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetIndexMode<P0>(&self, bindexfile: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetIndexMode)(::windows::core::Interface::as_raw(self), bindexfile.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetIndexMode(&self) -> ::windows::core::Result<super::super::Foundation::BOOL> {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::BOOL>();
(::windows::core::Interface::vtable(self).GetIndexMode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IConfigAsfWriter, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IConfigAsfWriter {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IConfigAsfWriter {}
impl ::core::fmt::Debug for IConfigAsfWriter {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IConfigAsfWriter").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IConfigAsfWriter {
type Vtable = IConfigAsfWriter_Vtbl;
}
impl ::core::clone::Clone for IConfigAsfWriter {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IConfigAsfWriter {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x45086030_f7e4_486a_b504_826bb5792a3b);
}
#[repr(C)]
#[doc(hidden)]
pub struct IConfigAsfWriter_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub ConfigureFilterUsingProfileId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwprofileid: u32) -> ::windows::core::HRESULT,
pub GetCurrentProfileId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwprofileid: *mut u32) -> ::windows::core::HRESULT,
pub ConfigureFilterUsingProfileGuid: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guidprofile: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
pub GetCurrentProfileGuid: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprofileguid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Media_WindowsMediaFormat")]
pub ConfigureFilterUsingProfile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprofile: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Media_WindowsMediaFormat"))]
ConfigureFilterUsingProfile: usize,
#[cfg(feature = "Win32_Media_WindowsMediaFormat")]
pub GetCurrentProfile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppprofile: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Media_WindowsMediaFormat"))]
GetCurrentProfile: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetIndexMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bindexfile: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetIndexMode: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetIndexMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbindexfile: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetIndexMode: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IConfigAsfWriter2(::windows::core::IUnknown);
impl IConfigAsfWriter2 {
pub unsafe fn ConfigureFilterUsingProfileId(&self, dwprofileid: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.ConfigureFilterUsingProfileId)(::windows::core::Interface::as_raw(self), dwprofileid).ok()
}
pub unsafe fn GetCurrentProfileId(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).base__.GetCurrentProfileId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn ConfigureFilterUsingProfileGuid(&self, guidprofile: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.ConfigureFilterUsingProfileGuid)(::windows::core::Interface::as_raw(self), guidprofile).ok()
}
pub unsafe fn GetCurrentProfileGuid(&self) -> ::windows::core::Result<::windows::core::GUID> {
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).base__.GetCurrentProfileGuid)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Media_WindowsMediaFormat\"`*"]
#[cfg(feature = "Win32_Media_WindowsMediaFormat")]
pub unsafe fn ConfigureFilterUsingProfile<P0>(&self, pprofile: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::WindowsMediaFormat::IWMProfile>,
{
(::windows::core::Interface::vtable(self).base__.ConfigureFilterUsingProfile)(::windows::core::Interface::as_raw(self), pprofile.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Media_WindowsMediaFormat\"`*"]
#[cfg(feature = "Win32_Media_WindowsMediaFormat")]
pub unsafe fn GetCurrentProfile(&self) -> ::windows::core::Result<super::WindowsMediaFormat::IWMProfile> {
let mut result__ = ::windows::core::zeroed::<super::WindowsMediaFormat::IWMProfile>();
(::windows::core::Interface::vtable(self).base__.GetCurrentProfile)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetIndexMode<P0>(&self, bindexfile: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).base__.SetIndexMode)(::windows::core::Interface::as_raw(self), bindexfile.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetIndexMode(&self) -> ::windows::core::Result<super::super::Foundation::BOOL> {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::BOOL>();
(::windows::core::Interface::vtable(self).base__.GetIndexMode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn StreamNumFromPin<P0>(&self, ppin: P0) -> ::windows::core::Result<u16>
where
P0: ::windows::core::IntoParam<IPin>,
{
let mut result__ = ::windows::core::zeroed::<u16>();
(::windows::core::Interface::vtable(self).StreamNumFromPin)(::windows::core::Interface::as_raw(self), ppin.into_param().abi(), &mut result__).from_abi(result__)
}
pub unsafe fn SetParam(&self, dwparam: u32, dwparam1: u32, dwparam2: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetParam)(::windows::core::Interface::as_raw(self), dwparam, dwparam1, dwparam2).ok()
}
pub unsafe fn GetParam(&self, dwparam: u32, pdwparam1: *mut u32, pdwparam2: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetParam)(::windows::core::Interface::as_raw(self), dwparam, pdwparam1, pdwparam2).ok()
}
pub unsafe fn ResetMultiPassState(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ResetMultiPassState)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IConfigAsfWriter2, ::windows::core::IUnknown, IConfigAsfWriter);
impl ::core::cmp::PartialEq for IConfigAsfWriter2 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IConfigAsfWriter2 {}
impl ::core::fmt::Debug for IConfigAsfWriter2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IConfigAsfWriter2").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IConfigAsfWriter2 {
type Vtable = IConfigAsfWriter2_Vtbl;
}
impl ::core::clone::Clone for IConfigAsfWriter2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IConfigAsfWriter2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7989ccaa_53f0_44f0_884a_f3b03f6ae066);
}
#[repr(C)]
#[doc(hidden)]
pub struct IConfigAsfWriter2_Vtbl {
pub base__: IConfigAsfWriter_Vtbl,
pub StreamNumFromPin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppin: *mut ::core::ffi::c_void, pwstreamnum: *mut u16) -> ::windows::core::HRESULT,
pub SetParam: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwparam: u32, dwparam1: u32, dwparam2: u32) -> ::windows::core::HRESULT,
pub GetParam: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwparam: u32, pdwparam1: *mut u32, pdwparam2: *mut u32) -> ::windows::core::HRESULT,
pub ResetMultiPassState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IConfigAviMux(::windows::core::IUnknown);
impl IConfigAviMux {
pub unsafe fn SetMasterStream(&self, istream: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMasterStream)(::windows::core::Interface::as_raw(self), istream).ok()
}
pub unsafe fn GetMasterStream(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetMasterStream)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetOutputCompatibilityIndex<P0>(&self, foldindex: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetOutputCompatibilityIndex)(::windows::core::Interface::as_raw(self), foldindex.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetOutputCompatibilityIndex(&self) -> ::windows::core::Result<super::super::Foundation::BOOL> {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::BOOL>();
(::windows::core::Interface::vtable(self).GetOutputCompatibilityIndex)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IConfigAviMux, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IConfigAviMux {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IConfigAviMux {}
impl ::core::fmt::Debug for IConfigAviMux {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IConfigAviMux").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IConfigAviMux {
type Vtable = IConfigAviMux_Vtbl;
}
impl ::core::clone::Clone for IConfigAviMux {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IConfigAviMux {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5acd6aa0_f482_11ce_8b67_00aa00a3f1a6);
}
#[repr(C)]
#[doc(hidden)]
pub struct IConfigAviMux_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetMasterStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, istream: i32) -> ::windows::core::HRESULT,
pub GetMasterStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstream: *mut i32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetOutputCompatibilityIndex: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, foldindex: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetOutputCompatibilityIndex: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetOutputCompatibilityIndex: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfoldindex: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetOutputCompatibilityIndex: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IConfigInterleaving(::windows::core::IUnknown);
impl IConfigInterleaving {
pub unsafe fn SetMode(&self, mode: InterleavingMode) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMode)(::windows::core::Interface::as_raw(self), mode).ok()
}
pub unsafe fn Mode(&self) -> ::windows::core::Result<InterleavingMode> {
let mut result__ = ::windows::core::zeroed::<InterleavingMode>();
(::windows::core::Interface::vtable(self).Mode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn put_Interleaving(&self, prtinterleave: *const i64, prtpreroll: *const i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_Interleaving)(::windows::core::Interface::as_raw(self), prtinterleave, prtpreroll).ok()
}
pub unsafe fn get_Interleaving(&self, prtinterleave: *mut i64, prtpreroll: *mut i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_Interleaving)(::windows::core::Interface::as_raw(self), prtinterleave, prtpreroll).ok()
}
}
::windows::imp::interface_hierarchy!(IConfigInterleaving, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IConfigInterleaving {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IConfigInterleaving {}
impl ::core::fmt::Debug for IConfigInterleaving {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IConfigInterleaving").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IConfigInterleaving {
type Vtable = IConfigInterleaving_Vtbl;
}
impl ::core::clone::Clone for IConfigInterleaving {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IConfigInterleaving {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbee3d220_157b_11d0_bd23_00a0c911ce86);
}
#[repr(C)]
#[doc(hidden)]
pub struct IConfigInterleaving_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mode: InterleavingMode) -> ::windows::core::HRESULT,
pub Mode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmode: *mut InterleavingMode) -> ::windows::core::HRESULT,
pub put_Interleaving: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prtinterleave: *const i64, prtpreroll: *const i64) -> ::windows::core::HRESULT,
pub get_Interleaving: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prtinterleave: *mut i64, prtpreroll: *mut i64) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct ICreateDevEnum(::windows::core::IUnknown);
impl ICreateDevEnum {
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn CreateClassEnumerator(&self, clsiddeviceclass: *const ::windows::core::GUID, ppenummoniker: *mut ::core::option::Option<super::super::System::Com::IEnumMoniker>, dwflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).CreateClassEnumerator)(::windows::core::Interface::as_raw(self), clsiddeviceclass, ::core::mem::transmute(ppenummoniker), dwflags).ok()
}
}
::windows::imp::interface_hierarchy!(ICreateDevEnum, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for ICreateDevEnum {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ICreateDevEnum {}
impl ::core::fmt::Debug for ICreateDevEnum {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ICreateDevEnum").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for ICreateDevEnum {
type Vtable = ICreateDevEnum_Vtbl;
}
impl ::core::clone::Clone for ICreateDevEnum {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ICreateDevEnum {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x29840822_5b84_11d0_bd3b_00a0c911ce86);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICreateDevEnum_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_System_Com")]
pub CreateClassEnumerator: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clsiddeviceclass: *const ::windows::core::GUID, ppenummoniker: *mut *mut ::core::ffi::c_void, dwflags: u32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
CreateClassEnumerator: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDDrawExclModeVideo(::windows::core::IUnknown);
impl IDDrawExclModeVideo {
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn SetDDrawObject<P0>(&self, pddrawobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Graphics::DirectDraw::IDirectDraw>,
{
(::windows::core::Interface::vtable(self).SetDDrawObject)(::windows::core::Interface::as_raw(self), pddrawobject.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
pub unsafe fn GetDDrawObject(&self, ppddrawobject: *mut ::core::option::Option<super::super::Graphics::DirectDraw::IDirectDraw>, pbusingexternal: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDDrawObject)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ppddrawobject), pbusingexternal).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn SetDDrawSurface<P0>(&self, pddrawsurface: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Graphics::DirectDraw::IDirectDrawSurface>,
{
(::windows::core::Interface::vtable(self).SetDDrawSurface)(::windows::core::Interface::as_raw(self), pddrawsurface.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
pub unsafe fn GetDDrawSurface(&self, ppddrawsurface: *mut ::core::option::Option<super::super::Graphics::DirectDraw::IDirectDrawSurface>, pbusingexternal: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDDrawSurface)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ppddrawsurface), pbusingexternal).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetDrawParameters(&self, prcsource: *const super::super::Foundation::RECT, prctarget: *const super::super::Foundation::RECT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDrawParameters)(::windows::core::Interface::as_raw(self), prcsource, prctarget).ok()
}
pub unsafe fn GetNativeVideoProps(&self, pdwvideowidth: *mut u32, pdwvideoheight: *mut u32, pdwpictaspectratiox: *mut u32, pdwpictaspectratioy: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetNativeVideoProps)(::windows::core::Interface::as_raw(self), pdwvideowidth, pdwvideoheight, pdwpictaspectratiox, pdwpictaspectratioy).ok()
}
pub unsafe fn SetCallbackInterface<P0>(&self, pcallback: P0, dwflags: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IDDrawExclModeVideoCallback>,
{
(::windows::core::Interface::vtable(self).SetCallbackInterface)(::windows::core::Interface::as_raw(self), pcallback.into_param().abi(), dwflags).ok()
}
}
::windows::imp::interface_hierarchy!(IDDrawExclModeVideo, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDDrawExclModeVideo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDDrawExclModeVideo {}
impl ::core::fmt::Debug for IDDrawExclModeVideo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDDrawExclModeVideo").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDDrawExclModeVideo {
type Vtable = IDDrawExclModeVideo_Vtbl;
}
impl ::core::clone::Clone for IDDrawExclModeVideo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDDrawExclModeVideo {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x153acc21_d83b_11d1_82bf_00a0c9696c8f);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDDrawExclModeVideo_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub SetDDrawObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pddrawobject: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
SetDDrawObject: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
pub GetDDrawObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppddrawobject: *mut *mut ::core::ffi::c_void, pbusingexternal: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw")))]
GetDDrawObject: usize,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub SetDDrawSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pddrawsurface: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
SetDDrawSurface: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
pub GetDDrawSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppddrawsurface: *mut *mut ::core::ffi::c_void, pbusingexternal: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw")))]
GetDDrawSurface: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetDrawParameters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prcsource: *const super::super::Foundation::RECT, prctarget: *const super::super::Foundation::RECT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetDrawParameters: usize,
pub GetNativeVideoProps: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwvideowidth: *mut u32, pdwvideoheight: *mut u32, pdwpictaspectratiox: *mut u32, pdwpictaspectratioy: *mut u32) -> ::windows::core::HRESULT,
pub SetCallbackInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcallback: *mut ::core::ffi::c_void, dwflags: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDDrawExclModeVideoCallback(::windows::core::IUnknown);
impl IDDrawExclModeVideoCallback {
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn OnUpdateOverlay<P0, P1, P2>(&self, bbefore: P0, dwflags: u32, boldvisible: P1, prcoldsrc: *const super::super::Foundation::RECT, prcolddest: *const super::super::Foundation::RECT, bnewvisible: P2, prcnewsrc: *const super::super::Foundation::RECT, prcnewdest: *const super::super::Foundation::RECT) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
P2: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).OnUpdateOverlay)(::windows::core::Interface::as_raw(self), bbefore.into_param().abi(), dwflags, boldvisible.into_param().abi(), prcoldsrc, prcolddest, bnewvisible.into_param().abi(), prcnewsrc, prcnewdest).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn OnUpdateColorKey(&self, pkey: *const COLORKEY, dwcolor: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).OnUpdateColorKey)(::windows::core::Interface::as_raw(self), pkey, dwcolor).ok()
}
pub unsafe fn OnUpdateSize(&self, dwwidth: u32, dwheight: u32, dwarwidth: u32, dwarheight: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).OnUpdateSize)(::windows::core::Interface::as_raw(self), dwwidth, dwheight, dwarwidth, dwarheight).ok()
}
}
::windows::imp::interface_hierarchy!(IDDrawExclModeVideoCallback, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDDrawExclModeVideoCallback {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDDrawExclModeVideoCallback {}
impl ::core::fmt::Debug for IDDrawExclModeVideoCallback {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDDrawExclModeVideoCallback").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDDrawExclModeVideoCallback {
type Vtable = IDDrawExclModeVideoCallback_Vtbl;
}
impl ::core::clone::Clone for IDDrawExclModeVideoCallback {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDDrawExclModeVideoCallback {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x913c24a0_20ab_11d2_9038_00a0c9697298);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDDrawExclModeVideoCallback_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Foundation")]
pub OnUpdateOverlay: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bbefore: super::super::Foundation::BOOL, dwflags: u32, boldvisible: super::super::Foundation::BOOL, prcoldsrc: *const super::super::Foundation::RECT, prcolddest: *const super::super::Foundation::RECT, bnewvisible: super::super::Foundation::BOOL, prcnewsrc: *const super::super::Foundation::RECT, prcnewdest: *const super::super::Foundation::RECT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
OnUpdateOverlay: usize,
#[cfg(feature = "Win32_Foundation")]
pub OnUpdateColorKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pkey: *const COLORKEY, dwcolor: u32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
OnUpdateColorKey: usize,
pub OnUpdateSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwwidth: u32, dwheight: u32, dwarwidth: u32, dwarheight: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDMOWrapperFilter(::windows::core::IUnknown);
impl IDMOWrapperFilter {
pub unsafe fn Init(&self, clsiddmo: *const ::windows::core::GUID, catdmo: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Init)(::windows::core::Interface::as_raw(self), clsiddmo, catdmo).ok()
}
}
::windows::imp::interface_hierarchy!(IDMOWrapperFilter, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDMOWrapperFilter {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDMOWrapperFilter {}
impl ::core::fmt::Debug for IDMOWrapperFilter {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDMOWrapperFilter").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDMOWrapperFilter {
type Vtable = IDMOWrapperFilter_Vtbl;
}
impl ::core::clone::Clone for IDMOWrapperFilter {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDMOWrapperFilter {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x52d6f586_9f0f_4824_8fc8_e32ca04930c2);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDMOWrapperFilter_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub Init: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clsiddmo: *const ::windows::core::GUID, catdmo: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDShowPlugin(::windows::core::IUnknown);
impl IDShowPlugin {
pub unsafe fn URL(&self, purl: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).URL)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(purl)).ok()
}
pub unsafe fn UserAgent(&self, puseragent: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).UserAgent)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(puseragent)).ok()
}
}
::windows::imp::interface_hierarchy!(IDShowPlugin, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDShowPlugin {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDShowPlugin {}
impl ::core::fmt::Debug for IDShowPlugin {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDShowPlugin").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDShowPlugin {
type Vtable = IDShowPlugin_Vtbl;
}
impl ::core::clone::Clone for IDShowPlugin {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDShowPlugin {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4746b7c8_700e_11d1_becc_00c04fb6e937);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDShowPlugin_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub URL: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, purl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub UserAgent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, puseragent: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDVEnc(::windows::core::IUnknown);
impl IDVEnc {
pub unsafe fn get_IFormatResolution(&self, videoformat: *mut i32, dvformat: *mut i32, resolution: *mut i32, fdvinfo: u8, sdvinfo: *mut DVINFO) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_IFormatResolution)(::windows::core::Interface::as_raw(self), videoformat, dvformat, resolution, fdvinfo, sdvinfo).ok()
}
pub unsafe fn put_IFormatResolution(&self, videoformat: i32, dvformat: i32, resolution: i32, fdvinfo: u8, sdvinfo: *const DVINFO) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_IFormatResolution)(::windows::core::Interface::as_raw(self), videoformat, dvformat, resolution, fdvinfo, sdvinfo).ok()
}
}
::windows::imp::interface_hierarchy!(IDVEnc, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDVEnc {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDVEnc {}
impl ::core::fmt::Debug for IDVEnc {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDVEnc").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDVEnc {
type Vtable = IDVEnc_Vtbl;
}
impl ::core::clone::Clone for IDVEnc {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDVEnc {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd18e17a0_aacb_11d0_afb0_00aa00b67a42);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDVEnc_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub get_IFormatResolution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, videoformat: *mut i32, dvformat: *mut i32, resolution: *mut i32, fdvinfo: u8, sdvinfo: *mut DVINFO) -> ::windows::core::HRESULT,
pub put_IFormatResolution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, videoformat: i32, dvformat: i32, resolution: i32, fdvinfo: u8, sdvinfo: *const DVINFO) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDVRGB219(::windows::core::IUnknown);
impl IDVRGB219 {
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetRGB219<P0>(&self, bstate: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetRGB219)(::windows::core::Interface::as_raw(self), bstate.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IDVRGB219, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDVRGB219 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDVRGB219 {}
impl ::core::fmt::Debug for IDVRGB219 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDVRGB219").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDVRGB219 {
type Vtable = IDVRGB219_Vtbl;
}
impl ::core::clone::Clone for IDVRGB219 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDVRGB219 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x58473a19_2bc8_4663_8012_25f81babddd1);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDVRGB219_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Foundation")]
pub SetRGB219: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstate: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetRGB219: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDVSplitter(::windows::core::IUnknown);
impl IDVSplitter {
pub unsafe fn DiscardAlternateVideoFrames(&self, ndiscard: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).DiscardAlternateVideoFrames)(::windows::core::Interface::as_raw(self), ndiscard).ok()
}
}
::windows::imp::interface_hierarchy!(IDVSplitter, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDVSplitter {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDVSplitter {}
impl ::core::fmt::Debug for IDVSplitter {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDVSplitter").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDVSplitter {
type Vtable = IDVSplitter_Vtbl;
}
impl ::core::clone::Clone for IDVSplitter {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDVSplitter {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x92a3a302_da7c_4a1f_ba7e_1802bb5d2d02);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDVSplitter_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub DiscardAlternateVideoFrames: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ndiscard: i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDecimateVideoImage(::windows::core::IUnknown);
impl IDecimateVideoImage {
pub unsafe fn SetDecimationImageSize(&self, lwidth: i32, lheight: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDecimationImageSize)(::windows::core::Interface::as_raw(self), lwidth, lheight).ok()
}
pub unsafe fn ResetDecimationImageSize(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ResetDecimationImageSize)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IDecimateVideoImage, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDecimateVideoImage {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDecimateVideoImage {}
impl ::core::fmt::Debug for IDecimateVideoImage {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDecimateVideoImage").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDecimateVideoImage {
type Vtable = IDecimateVideoImage_Vtbl;
}
impl ::core::clone::Clone for IDecimateVideoImage {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDecimateVideoImage {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2e5ea3e0_e924_11d2_b6da_00a0c995e8df);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDecimateVideoImage_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetDecimationImageSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lwidth: i32, lheight: i32) -> ::windows::core::HRESULT,
pub ResetDecimationImageSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDeferredCommand(::windows::core::IUnknown);
impl IDeferredCommand {
pub unsafe fn Cancel(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Cancel)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Confidence(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).Confidence)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Postpone(&self, newtime: f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Postpone)(::windows::core::Interface::as_raw(self), newtime).ok()
}
pub unsafe fn GetHResult(&self) -> ::windows::core::Result<::windows::core::HRESULT> {
let mut result__ = ::windows::core::zeroed::<::windows::core::HRESULT>();
(::windows::core::Interface::vtable(self).GetHResult)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IDeferredCommand, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDeferredCommand {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDeferredCommand {}
impl ::core::fmt::Debug for IDeferredCommand {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDeferredCommand").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDeferredCommand {
type Vtable = IDeferredCommand_Vtbl;
}
impl ::core::clone::Clone for IDeferredCommand {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDeferredCommand {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868b8_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDeferredCommand_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub Cancel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Confidence: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pconfidence: *mut i32) -> ::windows::core::HRESULT,
pub Postpone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, newtime: f64) -> ::windows::core::HRESULT,
pub GetHResult: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phrresult: *mut ::windows::core::HRESULT) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDirectDrawMediaSample(::windows::core::IUnknown);
impl IDirectDrawMediaSample {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
pub unsafe fn GetSurfaceAndReleaseLock(&self, ppdirectdrawsurface: *mut ::core::option::Option<super::super::Graphics::DirectDraw::IDirectDrawSurface>, prect: *mut super::super::Foundation::RECT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetSurfaceAndReleaseLock)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ppdirectdrawsurface), prect).ok()
}
pub unsafe fn LockMediaSamplePointer(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).LockMediaSamplePointer)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IDirectDrawMediaSample, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDirectDrawMediaSample {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDirectDrawMediaSample {}
impl ::core::fmt::Debug for IDirectDrawMediaSample {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDirectDrawMediaSample").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDirectDrawMediaSample {
type Vtable = IDirectDrawMediaSample_Vtbl;
}
impl ::core::clone::Clone for IDirectDrawMediaSample {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDirectDrawMediaSample {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xab6b4afe_f6e4_11d0_900d_00c04fd9189d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDirectDrawMediaSample_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
pub GetSurfaceAndReleaseLock: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppdirectdrawsurface: *mut *mut ::core::ffi::c_void, prect: *mut super::super::Foundation::RECT) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw")))]
GetSurfaceAndReleaseLock: usize,
pub LockMediaSamplePointer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDirectDrawMediaSampleAllocator(::windows::core::IUnknown);
impl IDirectDrawMediaSampleAllocator {
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetDirectDraw(&self) -> ::windows::core::Result<super::super::Graphics::DirectDraw::IDirectDraw> {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::DirectDraw::IDirectDraw>();
(::windows::core::Interface::vtable(self).GetDirectDraw)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IDirectDrawMediaSampleAllocator, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDirectDrawMediaSampleAllocator {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDirectDrawMediaSampleAllocator {}
impl ::core::fmt::Debug for IDirectDrawMediaSampleAllocator {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDirectDrawMediaSampleAllocator").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDirectDrawMediaSampleAllocator {
type Vtable = IDirectDrawMediaSampleAllocator_Vtbl;
}
impl ::core::clone::Clone for IDirectDrawMediaSampleAllocator {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDirectDrawMediaSampleAllocator {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xab6b4afc_f6e4_11d0_900d_00c04fd9189d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDirectDrawMediaSampleAllocator_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetDirectDraw: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppdirectdraw: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetDirectDraw: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDirectDrawMediaStream(::windows::core::IUnknown);
impl IDirectDrawMediaStream {
pub unsafe fn GetMultiMediaStream(&self) -> ::windows::core::Result<IMultiMediaStream> {
let mut result__ = ::windows::core::zeroed::<IMultiMediaStream>();
(::windows::core::Interface::vtable(self).base__.GetMultiMediaStream)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetInformation(&self, ppurposeid: *mut ::windows::core::GUID, ptype: *mut STREAM_TYPE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetInformation)(::windows::core::Interface::as_raw(self), ppurposeid, ptype).ok()
}
pub unsafe fn SetSameFormat<P0>(&self, pstreamthathasdesiredformat: P0, dwflags: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IMediaStream>,
{
(::windows::core::Interface::vtable(self).base__.SetSameFormat)(::windows::core::Interface::as_raw(self), pstreamthathasdesiredformat.into_param().abi(), dwflags).ok()
}
pub unsafe fn AllocateSample(&self, dwflags: u32) -> ::windows::core::Result<IStreamSample> {
let mut result__ = ::windows::core::zeroed::<IStreamSample>();
(::windows::core::Interface::vtable(self).base__.AllocateSample)(::windows::core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn CreateSharedSample<P0>(&self, pexistingsample: P0, dwflags: u32) -> ::windows::core::Result<IStreamSample>
where
P0: ::windows::core::IntoParam<IStreamSample>,
{
let mut result__ = ::windows::core::zeroed::<IStreamSample>();
(::windows::core::Interface::vtable(self).base__.CreateSharedSample)(::windows::core::Interface::as_raw(self), pexistingsample.into_param().abi(), dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn SendEndOfStream(&self, dwflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SendEndOfStream)(::windows::core::Interface::as_raw(self), dwflags).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetFormat(&self, pddsdcurrent: *mut super::super::Graphics::DirectDraw::DDSURFACEDESC, ppdirectdrawpalette: *mut ::core::option::Option<super::super::Graphics::DirectDraw::IDirectDrawPalette>, pddsddesired: *mut super::super::Graphics::DirectDraw::DDSURFACEDESC, pdwflags: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetFormat)(::windows::core::Interface::as_raw(self), pddsdcurrent, ::core::mem::transmute(ppdirectdrawpalette), pddsddesired, pdwflags).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn SetFormat<P0>(&self, pddsurfacedesc: *const super::super::Graphics::DirectDraw::DDSURFACEDESC, pdirectdrawpalette: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Graphics::DirectDraw::IDirectDrawPalette>,
{
(::windows::core::Interface::vtable(self).SetFormat)(::windows::core::Interface::as_raw(self), pddsurfacedesc, pdirectdrawpalette.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetDirectDraw(&self) -> ::windows::core::Result<super::super::Graphics::DirectDraw::IDirectDraw> {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::DirectDraw::IDirectDraw>();
(::windows::core::Interface::vtable(self).GetDirectDraw)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn SetDirectDraw<P0>(&self, pdirectdraw: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Graphics::DirectDraw::IDirectDraw>,
{
(::windows::core::Interface::vtable(self).SetDirectDraw)(::windows::core::Interface::as_raw(self), pdirectdraw.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
pub unsafe fn CreateSample<P0>(&self, psurface: P0, prect: *const super::super::Foundation::RECT, dwflags: u32) -> ::windows::core::Result<IDirectDrawStreamSample>
where
P0: ::windows::core::IntoParam<super::super::Graphics::DirectDraw::IDirectDrawSurface>,
{
let mut result__ = ::windows::core::zeroed::<IDirectDrawStreamSample>();
(::windows::core::Interface::vtable(self).CreateSample)(::windows::core::Interface::as_raw(self), psurface.into_param().abi(), prect, dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn GetTimePerFrame(&self) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).GetTimePerFrame)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IDirectDrawMediaStream, ::windows::core::IUnknown, IMediaStream);
impl ::core::cmp::PartialEq for IDirectDrawMediaStream {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDirectDrawMediaStream {}
impl ::core::fmt::Debug for IDirectDrawMediaStream {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDirectDrawMediaStream").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDirectDrawMediaStream {
type Vtable = IDirectDrawMediaStream_Vtbl;
}
impl ::core::clone::Clone for IDirectDrawMediaStream {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDirectDrawMediaStream {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf4104fce_9a70_11d0_8fde_00c04fd9189d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDirectDrawMediaStream_Vtbl {
pub base__: IMediaStream_Vtbl,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pddsdcurrent: *mut super::super::Graphics::DirectDraw::DDSURFACEDESC, ppdirectdrawpalette: *mut *mut ::core::ffi::c_void, pddsddesired: *mut super::super::Graphics::DirectDraw::DDSURFACEDESC, pdwflags: *mut u32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetFormat: usize,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub SetFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pddsurfacedesc: *const super::super::Graphics::DirectDraw::DDSURFACEDESC, pdirectdrawpalette: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
SetFormat: usize,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetDirectDraw: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppdirectdraw: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetDirectDraw: usize,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub SetDirectDraw: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdirectdraw: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
SetDirectDraw: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
pub CreateSample: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psurface: *mut ::core::ffi::c_void, prect: *const super::super::Foundation::RECT, dwflags: u32, ppsample: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw")))]
CreateSample: usize,
pub GetTimePerFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pframetime: *mut i64) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDirectDrawStreamSample(::windows::core::IUnknown);
impl IDirectDrawStreamSample {
pub unsafe fn GetMediaStream(&self, ppmediastream: *const ::core::option::Option<IMediaStream>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetMediaStream)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ppmediastream)).ok()
}
pub unsafe fn GetSampleTimes(&self, pstarttime: *mut i64, pendtime: *mut i64, pcurrenttime: *mut i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetSampleTimes)(::windows::core::Interface::as_raw(self), pstarttime, pendtime, pcurrenttime).ok()
}
pub unsafe fn SetSampleTimes(&self, pstarttime: *const i64, pendtime: *const i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetSampleTimes)(::windows::core::Interface::as_raw(self), pstarttime, pendtime).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn Update<P0>(&self, dwflags: u32, hevent: P0, pfnapc: super::super::Foundation::PAPCFUNC, dwapcdata: usize) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
{
(::windows::core::Interface::vtable(self).base__.Update)(::windows::core::Interface::as_raw(self), dwflags, hevent.into_param().abi(), pfnapc, dwapcdata).ok()
}
pub unsafe fn CompletionStatus(&self, dwflags: u32, dwmilliseconds: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.CompletionStatus)(::windows::core::Interface::as_raw(self), dwflags, dwmilliseconds).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
pub unsafe fn GetSurface(&self, ppdirectdrawsurface: *mut ::core::option::Option<super::super::Graphics::DirectDraw::IDirectDrawSurface>, prect: *mut super::super::Foundation::RECT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetSurface)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ppdirectdrawsurface), prect).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetRect(&self, prect: *const super::super::Foundation::RECT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetRect)(::windows::core::Interface::as_raw(self), prect).ok()
}
}
::windows::imp::interface_hierarchy!(IDirectDrawStreamSample, ::windows::core::IUnknown, IStreamSample);
impl ::core::cmp::PartialEq for IDirectDrawStreamSample {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDirectDrawStreamSample {}
impl ::core::fmt::Debug for IDirectDrawStreamSample {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDirectDrawStreamSample").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDirectDrawStreamSample {
type Vtable = IDirectDrawStreamSample_Vtbl;
}
impl ::core::clone::Clone for IDirectDrawStreamSample {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDirectDrawStreamSample {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf4104fcf_9a70_11d0_8fde_00c04fd9189d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDirectDrawStreamSample_Vtbl {
pub base__: IStreamSample_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
pub GetSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppdirectdrawsurface: *mut *mut ::core::ffi::c_void, prect: *mut super::super::Foundation::RECT) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw")))]
GetSurface: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetRect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prect: *const super::super::Foundation::RECT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetRect: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDirectDrawVideo(::windows::core::IUnknown);
impl IDirectDrawVideo {
pub unsafe fn GetSwitches(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetSwitches)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetSwitches(&self, switches: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetSwitches)(::windows::core::Interface::as_raw(self), switches).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetCaps(&self, pcaps: *mut super::super::Graphics::DirectDraw::DDCAPS_DX7) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCaps)(::windows::core::Interface::as_raw(self), pcaps).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetEmulatedCaps(&self, pcaps: *mut super::super::Graphics::DirectDraw::DDCAPS_DX7) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetEmulatedCaps)(::windows::core::Interface::as_raw(self), pcaps).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetSurfaceDesc(&self, psurfacedesc: *mut super::super::Graphics::DirectDraw::DDSURFACEDESC) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetSurfaceDesc)(::windows::core::Interface::as_raw(self), psurfacedesc).ok()
}
pub unsafe fn GetFourCCCodes(&self, pcount: *mut u32, pcodes: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetFourCCCodes)(::windows::core::Interface::as_raw(self), pcount, pcodes).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn SetDirectDraw<P0>(&self, pdirectdraw: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Graphics::DirectDraw::IDirectDraw>,
{
(::windows::core::Interface::vtable(self).SetDirectDraw)(::windows::core::Interface::as_raw(self), pdirectdraw.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetDirectDraw(&self) -> ::windows::core::Result<super::super::Graphics::DirectDraw::IDirectDraw> {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::DirectDraw::IDirectDraw>();
(::windows::core::Interface::vtable(self).GetDirectDraw)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetSurfaceType(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetSurfaceType)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDefault(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDefault)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn UseScanLine(&self, usescanline: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).UseScanLine)(::windows::core::Interface::as_raw(self), usescanline).ok()
}
pub unsafe fn CanUseScanLine(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).CanUseScanLine)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn UseOverlayStretch(&self, useoverlaystretch: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).UseOverlayStretch)(::windows::core::Interface::as_raw(self), useoverlaystretch).ok()
}
pub unsafe fn CanUseOverlayStretch(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).CanUseOverlayStretch)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn UseWhenFullScreen(&self, usewhenfullscreen: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).UseWhenFullScreen)(::windows::core::Interface::as_raw(self), usewhenfullscreen).ok()
}
pub unsafe fn WillUseFullScreen(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).WillUseFullScreen)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IDirectDrawVideo, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDirectDrawVideo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDirectDrawVideo {}
impl ::core::fmt::Debug for IDirectDrawVideo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDirectDrawVideo").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDirectDrawVideo {
type Vtable = IDirectDrawVideo_Vtbl;
}
impl ::core::clone::Clone for IDirectDrawVideo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDirectDrawVideo {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x36d39eb0_dd75_11ce_bf0e_00aa0055595a);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDirectDrawVideo_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetSwitches: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pswitches: *mut u32) -> ::windows::core::HRESULT,
pub SetSwitches: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, switches: u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetCaps: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcaps: *mut super::super::Graphics::DirectDraw::DDCAPS_DX7) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetCaps: usize,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetEmulatedCaps: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcaps: *mut super::super::Graphics::DirectDraw::DDCAPS_DX7) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetEmulatedCaps: usize,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetSurfaceDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psurfacedesc: *mut super::super::Graphics::DirectDraw::DDSURFACEDESC) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetSurfaceDesc: usize,
pub GetFourCCCodes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcount: *mut u32, pcodes: *mut u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub SetDirectDraw: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdirectdraw: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
SetDirectDraw: usize,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetDirectDraw: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppdirectdraw: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetDirectDraw: usize,
pub GetSurfaceType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psurfacetype: *mut u32) -> ::windows::core::HRESULT,
pub SetDefault: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub UseScanLine: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, usescanline: i32) -> ::windows::core::HRESULT,
pub CanUseScanLine: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, usescanline: *mut i32) -> ::windows::core::HRESULT,
pub UseOverlayStretch: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, useoverlaystretch: i32) -> ::windows::core::HRESULT,
pub CanUseOverlayStretch: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, useoverlaystretch: *mut i32) -> ::windows::core::HRESULT,
pub UseWhenFullScreen: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, usewhenfullscreen: i32) -> ::windows::core::HRESULT,
pub WillUseFullScreen: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, usewhenfullscreen: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDistributorNotify(::windows::core::IUnknown);
impl IDistributorNotify {
pub unsafe fn Stop(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Stop)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Pause(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Pause)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Run(&self, tstart: i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Run)(::windows::core::Interface::as_raw(self), tstart).ok()
}
pub unsafe fn SetSyncSource<P0>(&self, pclock: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::IReferenceClock>,
{
(::windows::core::Interface::vtable(self).SetSyncSource)(::windows::core::Interface::as_raw(self), pclock.into_param().abi()).ok()
}
pub unsafe fn NotifyGraphChange(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).NotifyGraphChange)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IDistributorNotify, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDistributorNotify {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDistributorNotify {}
impl ::core::fmt::Debug for IDistributorNotify {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDistributorNotify").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDistributorNotify {
type Vtable = IDistributorNotify_Vtbl;
}
impl ::core::clone::Clone for IDistributorNotify {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDistributorNotify {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868af_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDistributorNotify_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub Stop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Pause: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Run: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, tstart: i64) -> ::windows::core::HRESULT,
pub SetSyncSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pclock: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub NotifyGraphChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDrawVideoImage(::windows::core::IUnknown);
impl IDrawVideoImage {
pub unsafe fn DrawVideoImageBegin(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).DrawVideoImageBegin)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn DrawVideoImageEnd(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).DrawVideoImageEnd)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn DrawVideoImageDraw<P0>(&self, hdc: P0, lprcsrc: *const super::super::Foundation::RECT, lprcdst: *const super::super::Foundation::RECT) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Graphics::Gdi::HDC>,
{
(::windows::core::Interface::vtable(self).DrawVideoImageDraw)(::windows::core::Interface::as_raw(self), hdc.into_param().abi(), lprcsrc, lprcdst).ok()
}
}
::windows::imp::interface_hierarchy!(IDrawVideoImage, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDrawVideoImage {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDrawVideoImage {}
impl ::core::fmt::Debug for IDrawVideoImage {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDrawVideoImage").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDrawVideoImage {
type Vtable = IDrawVideoImage_Vtbl;
}
impl ::core::clone::Clone for IDrawVideoImage {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDrawVideoImage {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x48efb120_ab49_11d2_aed2_00a0c995e8d5);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDrawVideoImage_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub DrawVideoImageBegin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub DrawVideoImageEnd: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub DrawVideoImageDraw: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hdc: super::super::Graphics::Gdi::HDC, lprcsrc: *const super::super::Foundation::RECT, lprcdst: *const super::super::Foundation::RECT) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi")))]
DrawVideoImageDraw: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDvdCmd(::windows::core::IUnknown);
impl IDvdCmd {
pub unsafe fn WaitForStart(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).WaitForStart)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn WaitForEnd(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).WaitForEnd)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IDvdCmd, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDvdCmd {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDvdCmd {}
impl ::core::fmt::Debug for IDvdCmd {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDvdCmd").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDvdCmd {
type Vtable = IDvdCmd_Vtbl;
}
impl ::core::clone::Clone for IDvdCmd {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDvdCmd {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5a4a97e4_94ee_4a55_9751_74b5643aa27d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDvdCmd_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub WaitForStart: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub WaitForEnd: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDvdControl(::windows::core::IUnknown);
impl IDvdControl {
pub unsafe fn TitlePlay(&self, ultitle: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).TitlePlay)(::windows::core::Interface::as_raw(self), ultitle).ok()
}
pub unsafe fn ChapterPlay(&self, ultitle: u32, ulchapter: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ChapterPlay)(::windows::core::Interface::as_raw(self), ultitle, ulchapter).ok()
}
pub unsafe fn TimePlay(&self, ultitle: u32, bcdtime: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).TimePlay)(::windows::core::Interface::as_raw(self), ultitle, bcdtime).ok()
}
pub unsafe fn StopForResume(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).StopForResume)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn GoUp(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GoUp)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn TimeSearch(&self, bcdtime: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).TimeSearch)(::windows::core::Interface::as_raw(self), bcdtime).ok()
}
pub unsafe fn ChapterSearch(&self, ulchapter: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ChapterSearch)(::windows::core::Interface::as_raw(self), ulchapter).ok()
}
pub unsafe fn PrevPGSearch(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PrevPGSearch)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn TopPGSearch(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).TopPGSearch)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn NextPGSearch(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).NextPGSearch)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn ForwardScan(&self, dwspeed: f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ForwardScan)(::windows::core::Interface::as_raw(self), dwspeed).ok()
}
pub unsafe fn BackwardScan(&self, dwspeed: f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).BackwardScan)(::windows::core::Interface::as_raw(self), dwspeed).ok()
}
pub unsafe fn MenuCall(&self, menuid: DVD_MENU_ID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).MenuCall)(::windows::core::Interface::as_raw(self), menuid).ok()
}
pub unsafe fn Resume(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Resume)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn UpperButtonSelect(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).UpperButtonSelect)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn LowerButtonSelect(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).LowerButtonSelect)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn LeftButtonSelect(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).LeftButtonSelect)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn RightButtonSelect(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).RightButtonSelect)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn ButtonActivate(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ButtonActivate)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn ButtonSelectAndActivate(&self, ulbutton: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ButtonSelectAndActivate)(::windows::core::Interface::as_raw(self), ulbutton).ok()
}
pub unsafe fn StillOff(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).StillOff)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn PauseOn(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PauseOn)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn PauseOff(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PauseOff)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn MenuLanguageSelect(&self, language: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).MenuLanguageSelect)(::windows::core::Interface::as_raw(self), language).ok()
}
pub unsafe fn AudioStreamChange(&self, ulaudio: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).AudioStreamChange)(::windows::core::Interface::as_raw(self), ulaudio).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SubpictureStreamChange<P0>(&self, ulsubpicture: u32, bdisplay: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SubpictureStreamChange)(::windows::core::Interface::as_raw(self), ulsubpicture, bdisplay.into_param().abi()).ok()
}
pub unsafe fn AngleChange(&self, ulangle: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).AngleChange)(::windows::core::Interface::as_raw(self), ulangle).ok()
}
pub unsafe fn ParentalLevelSelect(&self, ulparentallevel: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ParentalLevelSelect)(::windows::core::Interface::as_raw(self), ulparentallevel).ok()
}
pub unsafe fn ParentalCountrySelect(&self, wcountry: u16) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ParentalCountrySelect)(::windows::core::Interface::as_raw(self), wcountry).ok()
}
pub unsafe fn KaraokeAudioPresentationModeChange(&self, ulmode: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).KaraokeAudioPresentationModeChange)(::windows::core::Interface::as_raw(self), ulmode).ok()
}
pub unsafe fn VideoModePreferrence(&self, ulpreferreddisplaymode: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).VideoModePreferrence)(::windows::core::Interface::as_raw(self), ulpreferreddisplaymode).ok()
}
pub unsafe fn SetRoot<P0>(&self, pszpath: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).SetRoot)(::windows::core::Interface::as_raw(self), pszpath.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn MouseActivate(&self, point: super::super::Foundation::POINT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).MouseActivate)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(point)).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn MouseSelect(&self, point: super::super::Foundation::POINT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).MouseSelect)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(point)).ok()
}
pub unsafe fn ChapterPlayAutoStop(&self, ultitle: u32, ulchapter: u32, ulchapterstoplay: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ChapterPlayAutoStop)(::windows::core::Interface::as_raw(self), ultitle, ulchapter, ulchapterstoplay).ok()
}
}
::windows::imp::interface_hierarchy!(IDvdControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDvdControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDvdControl {}
impl ::core::fmt::Debug for IDvdControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDvdControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDvdControl {
type Vtable = IDvdControl_Vtbl;
}
impl ::core::clone::Clone for IDvdControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDvdControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa70efe61_e2a3_11d0_a9be_00aa0061be93);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDvdControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub TitlePlay: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ultitle: u32) -> ::windows::core::HRESULT,
pub ChapterPlay: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ultitle: u32, ulchapter: u32) -> ::windows::core::HRESULT,
pub TimePlay: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ultitle: u32, bcdtime: u32) -> ::windows::core::HRESULT,
pub StopForResume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GoUp: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub TimeSearch: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bcdtime: u32) -> ::windows::core::HRESULT,
pub ChapterSearch: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulchapter: u32) -> ::windows::core::HRESULT,
pub PrevPGSearch: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub TopPGSearch: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub NextPGSearch: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ForwardScan: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwspeed: f64) -> ::windows::core::HRESULT,
pub BackwardScan: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwspeed: f64) -> ::windows::core::HRESULT,
pub MenuCall: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, menuid: DVD_MENU_ID) -> ::windows::core::HRESULT,
pub Resume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub UpperButtonSelect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub LowerButtonSelect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub LeftButtonSelect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub RightButtonSelect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ButtonActivate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ButtonSelectAndActivate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulbutton: u32) -> ::windows::core::HRESULT,
pub StillOff: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub PauseOn: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub PauseOff: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub MenuLanguageSelect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, language: u32) -> ::windows::core::HRESULT,
pub AudioStreamChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulaudio: u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SubpictureStreamChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulsubpicture: u32, bdisplay: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SubpictureStreamChange: usize,
pub AngleChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulangle: u32) -> ::windows::core::HRESULT,
pub ParentalLevelSelect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulparentallevel: u32) -> ::windows::core::HRESULT,
pub ParentalCountrySelect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, wcountry: u16) -> ::windows::core::HRESULT,
pub KaraokeAudioPresentationModeChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulmode: u32) -> ::windows::core::HRESULT,
pub VideoModePreferrence: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulpreferreddisplaymode: u32) -> ::windows::core::HRESULT,
pub SetRoot: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub MouseActivate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, point: super::super::Foundation::POINT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
MouseActivate: usize,
#[cfg(feature = "Win32_Foundation")]
pub MouseSelect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, point: super::super::Foundation::POINT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
MouseSelect: usize,
pub ChapterPlayAutoStop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ultitle: u32, ulchapter: u32, ulchapterstoplay: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDvdControl2(::windows::core::IUnknown);
impl IDvdControl2 {
pub unsafe fn PlayTitle(&self, ultitle: u32, dwflags: u32) -> ::windows::core::Result<IDvdCmd> {
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).PlayTitle)(::windows::core::Interface::as_raw(self), ultitle, dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn PlayChapterInTitle(&self, ultitle: u32, ulchapter: u32, dwflags: u32) -> ::windows::core::Result<IDvdCmd> {
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).PlayChapterInTitle)(::windows::core::Interface::as_raw(self), ultitle, ulchapter, dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn PlayAtTimeInTitle(&self, ultitle: u32, pstarttime: *mut DVD_HMSF_TIMECODE, dwflags: u32, ppcmd: *mut ::core::option::Option<IDvdCmd>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PlayAtTimeInTitle)(::windows::core::Interface::as_raw(self), ultitle, pstarttime, dwflags, ::core::mem::transmute(ppcmd)).ok()
}
pub unsafe fn Stop(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Stop)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn ReturnFromSubmenu(&self, dwflags: u32) -> ::windows::core::Result<IDvdCmd> {
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).ReturnFromSubmenu)(::windows::core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn PlayAtTime(&self, ptime: *mut DVD_HMSF_TIMECODE, dwflags: u32, ppcmd: *mut ::core::option::Option<IDvdCmd>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PlayAtTime)(::windows::core::Interface::as_raw(self), ptime, dwflags, ::core::mem::transmute(ppcmd)).ok()
}
pub unsafe fn PlayChapter(&self, ulchapter: u32, dwflags: u32) -> ::windows::core::Result<IDvdCmd> {
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).PlayChapter)(::windows::core::Interface::as_raw(self), ulchapter, dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn PlayPrevChapter(&self, dwflags: u32) -> ::windows::core::Result<IDvdCmd> {
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).PlayPrevChapter)(::windows::core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn ReplayChapter(&self, dwflags: u32) -> ::windows::core::Result<IDvdCmd> {
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).ReplayChapter)(::windows::core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn PlayNextChapter(&self, dwflags: u32) -> ::windows::core::Result<IDvdCmd> {
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).PlayNextChapter)(::windows::core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn PlayForwards(&self, dspeed: f64, dwflags: u32) -> ::windows::core::Result<IDvdCmd> {
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).PlayForwards)(::windows::core::Interface::as_raw(self), dspeed, dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn PlayBackwards(&self, dspeed: f64, dwflags: u32) -> ::windows::core::Result<IDvdCmd> {
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).PlayBackwards)(::windows::core::Interface::as_raw(self), dspeed, dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn ShowMenu(&self, menuid: DVD_MENU_ID, dwflags: u32) -> ::windows::core::Result<IDvdCmd> {
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).ShowMenu)(::windows::core::Interface::as_raw(self), menuid, dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn Resume(&self, dwflags: u32) -> ::windows::core::Result<IDvdCmd> {
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).Resume)(::windows::core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn SelectRelativeButton(&self, buttondir: DVD_RELATIVE_BUTTON) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SelectRelativeButton)(::windows::core::Interface::as_raw(self), buttondir).ok()
}
pub unsafe fn ActivateButton(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ActivateButton)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn SelectButton(&self, ulbutton: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SelectButton)(::windows::core::Interface::as_raw(self), ulbutton).ok()
}
pub unsafe fn SelectAndActivateButton(&self, ulbutton: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SelectAndActivateButton)(::windows::core::Interface::as_raw(self), ulbutton).ok()
}
pub unsafe fn StillOff(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).StillOff)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn Pause<P0>(&self, bstate: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).Pause)(::windows::core::Interface::as_raw(self), bstate.into_param().abi()).ok()
}
pub unsafe fn SelectAudioStream(&self, ulaudio: u32, dwflags: u32) -> ::windows::core::Result<IDvdCmd> {
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).SelectAudioStream)(::windows::core::Interface::as_raw(self), ulaudio, dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn SelectSubpictureStream(&self, ulsubpicture: u32, dwflags: u32) -> ::windows::core::Result<IDvdCmd> {
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).SelectSubpictureStream)(::windows::core::Interface::as_raw(self), ulsubpicture, dwflags, &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetSubpictureState<P0>(&self, bstate: P0, dwflags: u32) -> ::windows::core::Result<IDvdCmd>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).SetSubpictureState)(::windows::core::Interface::as_raw(self), bstate.into_param().abi(), dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn SelectAngle(&self, ulangle: u32, dwflags: u32) -> ::windows::core::Result<IDvdCmd> {
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).SelectAngle)(::windows::core::Interface::as_raw(self), ulangle, dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn SelectParentalLevel(&self, ulparentallevel: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SelectParentalLevel)(::windows::core::Interface::as_raw(self), ulparentallevel).ok()
}
pub unsafe fn SelectParentalCountry(&self, bcountry: *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SelectParentalCountry)(::windows::core::Interface::as_raw(self), bcountry).ok()
}
pub unsafe fn SelectKaraokeAudioPresentationMode(&self, ulmode: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SelectKaraokeAudioPresentationMode)(::windows::core::Interface::as_raw(self), ulmode).ok()
}
pub unsafe fn SelectVideoModePreference(&self, ulpreferreddisplaymode: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SelectVideoModePreference)(::windows::core::Interface::as_raw(self), ulpreferreddisplaymode).ok()
}
pub unsafe fn SetDVDDirectory<P0>(&self, pszwpath: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).SetDVDDirectory)(::windows::core::Interface::as_raw(self), pszwpath.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn ActivateAtPosition(&self, point: super::super::Foundation::POINT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ActivateAtPosition)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(point)).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SelectAtPosition(&self, point: super::super::Foundation::POINT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SelectAtPosition)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(point)).ok()
}
pub unsafe fn PlayChaptersAutoStop(&self, ultitle: u32, ulchapter: u32, ulchapterstoplay: u32, dwflags: u32) -> ::windows::core::Result<IDvdCmd> {
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).PlayChaptersAutoStop)(::windows::core::Interface::as_raw(self), ultitle, ulchapter, ulchapterstoplay, dwflags, &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn AcceptParentalLevelChange<P0>(&self, baccept: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).AcceptParentalLevelChange)(::windows::core::Interface::as_raw(self), baccept.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetOption<P0>(&self, flag: DVD_OPTION_FLAG, fstate: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetOption)(::windows::core::Interface::as_raw(self), flag, fstate.into_param().abi()).ok()
}
pub unsafe fn SetState<P0>(&self, pstate: P0, dwflags: u32) -> ::windows::core::Result<IDvdCmd>
where
P0: ::windows::core::IntoParam<IDvdState>,
{
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).SetState)(::windows::core::Interface::as_raw(self), pstate.into_param().abi(), dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn PlayPeriodInTitleAutoStop(&self, ultitle: u32, pstarttime: *mut DVD_HMSF_TIMECODE, pendtime: *mut DVD_HMSF_TIMECODE, dwflags: u32, ppcmd: *mut ::core::option::Option<IDvdCmd>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PlayPeriodInTitleAutoStop)(::windows::core::Interface::as_raw(self), ultitle, pstarttime, pendtime, dwflags, ::core::mem::transmute(ppcmd)).ok()
}
pub unsafe fn SetGPRM(&self, ulindex: u32, wvalue: u16, dwflags: u32) -> ::windows::core::Result<IDvdCmd> {
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).SetGPRM)(::windows::core::Interface::as_raw(self), ulindex, wvalue, dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn SelectDefaultMenuLanguage(&self, language: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SelectDefaultMenuLanguage)(::windows::core::Interface::as_raw(self), language).ok()
}
pub unsafe fn SelectDefaultAudioLanguage(&self, language: u32, audioextension: DVD_AUDIO_LANG_EXT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SelectDefaultAudioLanguage)(::windows::core::Interface::as_raw(self), language, audioextension).ok()
}
pub unsafe fn SelectDefaultSubpictureLanguage(&self, language: u32, subpictureextension: DVD_SUBPICTURE_LANG_EXT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SelectDefaultSubpictureLanguage)(::windows::core::Interface::as_raw(self), language, subpictureextension).ok()
}
}
::windows::imp::interface_hierarchy!(IDvdControl2, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDvdControl2 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDvdControl2 {}
impl ::core::fmt::Debug for IDvdControl2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDvdControl2").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDvdControl2 {
type Vtable = IDvdControl2_Vtbl;
}
impl ::core::clone::Clone for IDvdControl2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDvdControl2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x33bc7430_eec0_11d2_8201_00a0c9d74842);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDvdControl2_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub PlayTitle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ultitle: u32, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub PlayChapterInTitle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ultitle: u32, ulchapter: u32, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub PlayAtTimeInTitle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ultitle: u32, pstarttime: *mut DVD_HMSF_TIMECODE, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Stop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ReturnFromSubmenu: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub PlayAtTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptime: *mut DVD_HMSF_TIMECODE, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub PlayChapter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulchapter: u32, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub PlayPrevChapter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ReplayChapter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub PlayNextChapter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub PlayForwards: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dspeed: f64, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub PlayBackwards: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dspeed: f64, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ShowMenu: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, menuid: DVD_MENU_ID, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Resume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SelectRelativeButton: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buttondir: DVD_RELATIVE_BUTTON) -> ::windows::core::HRESULT,
pub ActivateButton: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SelectButton: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulbutton: u32) -> ::windows::core::HRESULT,
pub SelectAndActivateButton: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulbutton: u32) -> ::windows::core::HRESULT,
pub StillOff: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub Pause: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstate: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
Pause: usize,
pub SelectAudioStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulaudio: u32, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SelectSubpictureStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulsubpicture: u32, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetSubpictureState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstate: super::super::Foundation::BOOL, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetSubpictureState: usize,
pub SelectAngle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulangle: u32, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SelectParentalLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulparentallevel: u32) -> ::windows::core::HRESULT,
pub SelectParentalCountry: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bcountry: *mut u8) -> ::windows::core::HRESULT,
pub SelectKaraokeAudioPresentationMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulmode: u32) -> ::windows::core::HRESULT,
pub SelectVideoModePreference: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulpreferreddisplaymode: u32) -> ::windows::core::HRESULT,
pub SetDVDDirectory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszwpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub ActivateAtPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, point: super::super::Foundation::POINT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
ActivateAtPosition: usize,
#[cfg(feature = "Win32_Foundation")]
pub SelectAtPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, point: super::super::Foundation::POINT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SelectAtPosition: usize,
pub PlayChaptersAutoStop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ultitle: u32, ulchapter: u32, ulchapterstoplay: u32, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub AcceptParentalLevelChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, baccept: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
AcceptParentalLevelChange: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetOption: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, flag: DVD_OPTION_FLAG, fstate: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetOption: usize,
pub SetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstate: *mut ::core::ffi::c_void, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub PlayPeriodInTitleAutoStop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ultitle: u32, pstarttime: *mut DVD_HMSF_TIMECODE, pendtime: *mut DVD_HMSF_TIMECODE, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetGPRM: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulindex: u32, wvalue: u16, dwflags: u32, ppcmd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SelectDefaultMenuLanguage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, language: u32) -> ::windows::core::HRESULT,
pub SelectDefaultAudioLanguage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, language: u32, audioextension: DVD_AUDIO_LANG_EXT) -> ::windows::core::HRESULT,
pub SelectDefaultSubpictureLanguage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, language: u32, subpictureextension: DVD_SUBPICTURE_LANG_EXT) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDvdGraphBuilder(::windows::core::IUnknown);
impl IDvdGraphBuilder {
pub unsafe fn GetFiltergraph(&self) -> ::windows::core::Result<IGraphBuilder> {
let mut result__ = ::windows::core::zeroed::<IGraphBuilder>();
(::windows::core::Interface::vtable(self).GetFiltergraph)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetDvdInterface(&self, riid: *const ::windows::core::GUID, ppvif: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDvdInterface)(::windows::core::Interface::as_raw(self), riid, ppvif).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn RenderDvdVideoVolume<P0>(&self, lpcwszpathname: P0, dwflags: u32, pstatus: *mut AM_DVD_RENDERSTATUS) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).RenderDvdVideoVolume)(::windows::core::Interface::as_raw(self), lpcwszpathname.into_param().abi(), dwflags, pstatus).ok()
}
}
::windows::imp::interface_hierarchy!(IDvdGraphBuilder, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDvdGraphBuilder {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDvdGraphBuilder {}
impl ::core::fmt::Debug for IDvdGraphBuilder {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDvdGraphBuilder").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDvdGraphBuilder {
type Vtable = IDvdGraphBuilder_Vtbl;
}
impl ::core::clone::Clone for IDvdGraphBuilder {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDvdGraphBuilder {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfcc152b6_f372_11d0_8e00_00c04fd7c08b);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDvdGraphBuilder_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetFiltergraph: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppgb: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetDvdInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, ppvif: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub RenderDvdVideoVolume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpcwszpathname: ::windows::core::PCWSTR, dwflags: u32, pstatus: *mut AM_DVD_RENDERSTATUS) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
RenderDvdVideoVolume: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDvdInfo(::windows::core::IUnknown);
impl IDvdInfo {
pub unsafe fn GetCurrentDomain(&self, pdomain: *mut DVD_DOMAIN) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurrentDomain)(::windows::core::Interface::as_raw(self), pdomain).ok()
}
pub unsafe fn GetCurrentLocation(&self) -> ::windows::core::Result<DVD_PLAYBACK_LOCATION> {
let mut result__ = ::windows::core::zeroed::<DVD_PLAYBACK_LOCATION>();
(::windows::core::Interface::vtable(self).GetCurrentLocation)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetTotalTitleTime(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetTotalTitleTime)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetCurrentButton(&self, pulbuttonsavailable: *mut u32, pulcurrentbutton: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurrentButton)(::windows::core::Interface::as_raw(self), pulbuttonsavailable, pulcurrentbutton).ok()
}
pub unsafe fn GetCurrentAngle(&self, pulanglesavailable: *mut u32, pulcurrentangle: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurrentAngle)(::windows::core::Interface::as_raw(self), pulanglesavailable, pulcurrentangle).ok()
}
pub unsafe fn GetCurrentAudio(&self, pulstreamsavailable: *mut u32, pulcurrentstream: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurrentAudio)(::windows::core::Interface::as_raw(self), pulstreamsavailable, pulcurrentstream).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetCurrentSubpicture(&self, pulstreamsavailable: *mut u32, pulcurrentstream: *mut u32, pisdisabled: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurrentSubpicture)(::windows::core::Interface::as_raw(self), pulstreamsavailable, pulcurrentstream, pisdisabled).ok()
}
pub unsafe fn GetCurrentUOPS(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetCurrentUOPS)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetAllSPRMs(&self) -> ::windows::core::Result<*mut u16> {
let mut result__ = ::windows::core::zeroed::<*mut u16>();
(::windows::core::Interface::vtable(self).GetAllSPRMs)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetAllGPRMs(&self) -> ::windows::core::Result<*mut u16> {
let mut result__ = ::windows::core::zeroed::<*mut u16>();
(::windows::core::Interface::vtable(self).GetAllGPRMs)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetAudioLanguage(&self, ulstream: u32) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetAudioLanguage)(::windows::core::Interface::as_raw(self), ulstream, &mut result__).from_abi(result__)
}
pub unsafe fn GetSubpictureLanguage(&self, ulstream: u32) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetSubpictureLanguage)(::windows::core::Interface::as_raw(self), ulstream, &mut result__).from_abi(result__)
}
pub unsafe fn GetTitleAttributes(&self, ultitle: u32, patr: *mut DVD_ATR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetTitleAttributes)(::windows::core::Interface::as_raw(self), ultitle, patr).ok()
}
pub unsafe fn GetVMGAttributes(&self, patr: *mut DVD_ATR) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetVMGAttributes)(::windows::core::Interface::as_raw(self), patr).ok()
}
pub unsafe fn GetCurrentVideoAttributes(&self) -> ::windows::core::Result<*mut u8> {
let mut result__ = ::windows::core::zeroed::<*mut u8>();
(::windows::core::Interface::vtable(self).GetCurrentVideoAttributes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetCurrentAudioAttributes(&self) -> ::windows::core::Result<*mut u8> {
let mut result__ = ::windows::core::zeroed::<*mut u8>();
(::windows::core::Interface::vtable(self).GetCurrentAudioAttributes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetCurrentSubpictureAttributes(&self) -> ::windows::core::Result<*mut u8> {
let mut result__ = ::windows::core::zeroed::<*mut u8>();
(::windows::core::Interface::vtable(self).GetCurrentSubpictureAttributes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetCurrentVolumeInfo(&self, pulnumofvol: *mut u32, pulthisvolnum: *mut u32, pside: *mut DVD_DISC_SIDE, pulnumoftitles: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurrentVolumeInfo)(::windows::core::Interface::as_raw(self), pulnumofvol, pulthisvolnum, pside, pulnumoftitles).ok()
}
pub unsafe fn GetDVDTextInfo(&self, ptextmanager: &mut [u8], pulactualsize: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDVDTextInfo)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ptextmanager.as_ptr()), ptextmanager.len() as _, pulactualsize).ok()
}
pub unsafe fn GetPlayerParentalLevel(&self, pulparentallevel: *mut u32, pulcountrycode: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetPlayerParentalLevel)(::windows::core::Interface::as_raw(self), pulparentallevel, pulcountrycode).ok()
}
pub unsafe fn GetNumberOfChapters(&self, ultitle: u32) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetNumberOfChapters)(::windows::core::Interface::as_raw(self), ultitle, &mut result__).from_abi(result__)
}
pub unsafe fn GetTitleParentalLevels(&self, ultitle: u32) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetTitleParentalLevels)(::windows::core::Interface::as_raw(self), ultitle, &mut result__).from_abi(result__)
}
pub unsafe fn GetRoot(&self, proot: &mut [u8], pulactualsize: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetRoot)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(proot.as_ptr()), proot.len() as _, pulactualsize).ok()
}
}
::windows::imp::interface_hierarchy!(IDvdInfo, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDvdInfo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDvdInfo {}
impl ::core::fmt::Debug for IDvdInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDvdInfo").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDvdInfo {
type Vtable = IDvdInfo_Vtbl;
}
impl ::core::clone::Clone for IDvdInfo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDvdInfo {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa70efe60_e2a3_11d0_a9be_00aa0061be93);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDvdInfo_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetCurrentDomain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdomain: *mut DVD_DOMAIN) -> ::windows::core::HRESULT,
pub GetCurrentLocation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plocation: *mut DVD_PLAYBACK_LOCATION) -> ::windows::core::HRESULT,
pub GetTotalTitleTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pultotaltime: *mut u32) -> ::windows::core::HRESULT,
pub GetCurrentButton: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulbuttonsavailable: *mut u32, pulcurrentbutton: *mut u32) -> ::windows::core::HRESULT,
pub GetCurrentAngle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulanglesavailable: *mut u32, pulcurrentangle: *mut u32) -> ::windows::core::HRESULT,
pub GetCurrentAudio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulstreamsavailable: *mut u32, pulcurrentstream: *mut u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub GetCurrentSubpicture: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulstreamsavailable: *mut u32, pulcurrentstream: *mut u32, pisdisabled: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetCurrentSubpicture: usize,
pub GetCurrentUOPS: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, puop: *mut u32) -> ::windows::core::HRESULT,
pub GetAllSPRMs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pregisterarray: *mut *mut u16) -> ::windows::core::HRESULT,
pub GetAllGPRMs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pregisterarray: *mut *mut u16) -> ::windows::core::HRESULT,
pub GetAudioLanguage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulstream: u32, planguage: *mut u32) -> ::windows::core::HRESULT,
pub GetSubpictureLanguage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulstream: u32, planguage: *mut u32) -> ::windows::core::HRESULT,
pub GetTitleAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ultitle: u32, patr: *mut DVD_ATR) -> ::windows::core::HRESULT,
pub GetVMGAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, patr: *mut DVD_ATR) -> ::windows::core::HRESULT,
pub GetCurrentVideoAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, patr: *mut *mut u8) -> ::windows::core::HRESULT,
pub GetCurrentAudioAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, patr: *mut *mut u8) -> ::windows::core::HRESULT,
pub GetCurrentSubpictureAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, patr: *mut *mut u8) -> ::windows::core::HRESULT,
pub GetCurrentVolumeInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulnumofvol: *mut u32, pulthisvolnum: *mut u32, pside: *mut DVD_DISC_SIDE, pulnumoftitles: *mut u32) -> ::windows::core::HRESULT,
pub GetDVDTextInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptextmanager: *mut u8, ulbufsize: u32, pulactualsize: *mut u32) -> ::windows::core::HRESULT,
pub GetPlayerParentalLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulparentallevel: *mut u32, pulcountrycode: *mut u32) -> ::windows::core::HRESULT,
pub GetNumberOfChapters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ultitle: u32, pulnumberofchapters: *mut u32) -> ::windows::core::HRESULT,
pub GetTitleParentalLevels: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ultitle: u32, pulparentallevels: *mut u32) -> ::windows::core::HRESULT,
pub GetRoot: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, proot: ::windows::core::PSTR, ulbufsize: u32, pulactualsize: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDvdInfo2(::windows::core::IUnknown);
impl IDvdInfo2 {
pub unsafe fn GetCurrentDomain(&self) -> ::windows::core::Result<DVD_DOMAIN> {
let mut result__ = ::windows::core::zeroed::<DVD_DOMAIN>();
(::windows::core::Interface::vtable(self).GetCurrentDomain)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetCurrentLocation(&self) -> ::windows::core::Result<DVD_PLAYBACK_LOCATION2> {
let mut result__ = ::windows::core::zeroed::<DVD_PLAYBACK_LOCATION2>();
(::windows::core::Interface::vtable(self).GetCurrentLocation)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetTotalTitleTime(&self, ptotaltime: *mut DVD_HMSF_TIMECODE, ultimecodeflags: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetTotalTitleTime)(::windows::core::Interface::as_raw(self), ptotaltime, ultimecodeflags).ok()
}
pub unsafe fn GetCurrentButton(&self, pulbuttonsavailable: *mut u32, pulcurrentbutton: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurrentButton)(::windows::core::Interface::as_raw(self), pulbuttonsavailable, pulcurrentbutton).ok()
}
pub unsafe fn GetCurrentAngle(&self, pulanglesavailable: *mut u32, pulcurrentangle: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurrentAngle)(::windows::core::Interface::as_raw(self), pulanglesavailable, pulcurrentangle).ok()
}
pub unsafe fn GetCurrentAudio(&self, pulstreamsavailable: *mut u32, pulcurrentstream: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurrentAudio)(::windows::core::Interface::as_raw(self), pulstreamsavailable, pulcurrentstream).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetCurrentSubpicture(&self, pulstreamsavailable: *mut u32, pulcurrentstream: *mut u32, pbisdisabled: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurrentSubpicture)(::windows::core::Interface::as_raw(self), pulstreamsavailable, pulcurrentstream, pbisdisabled).ok()
}
pub unsafe fn GetCurrentUOPS(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetCurrentUOPS)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetAllSPRMs(&self) -> ::windows::core::Result<*mut u16> {
let mut result__ = ::windows::core::zeroed::<*mut u16>();
(::windows::core::Interface::vtable(self).GetAllSPRMs)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetAllGPRMs(&self) -> ::windows::core::Result<*mut u16> {
let mut result__ = ::windows::core::zeroed::<*mut u16>();
(::windows::core::Interface::vtable(self).GetAllGPRMs)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetAudioLanguage(&self, ulstream: u32) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetAudioLanguage)(::windows::core::Interface::as_raw(self), ulstream, &mut result__).from_abi(result__)
}
pub unsafe fn GetSubpictureLanguage(&self, ulstream: u32) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetSubpictureLanguage)(::windows::core::Interface::as_raw(self), ulstream, &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetTitleAttributes(&self, ultitle: u32, pmenu: *mut DVD_MenuAttributes, ptitle: *mut DVD_TitleAttributes) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetTitleAttributes)(::windows::core::Interface::as_raw(self), ultitle, pmenu, ptitle).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetVMGAttributes(&self, patr: *mut DVD_MenuAttributes) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetVMGAttributes)(::windows::core::Interface::as_raw(self), patr).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetCurrentVideoAttributes(&self, patr: *mut DVD_VideoAttributes) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurrentVideoAttributes)(::windows::core::Interface::as_raw(self), patr).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetAudioAttributes(&self, ulstream: u32, patr: *mut DVD_AudioAttributes) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetAudioAttributes)(::windows::core::Interface::as_raw(self), ulstream, patr).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetKaraokeAttributes(&self, ulstream: u32, pattributes: *mut DVD_KaraokeAttributes) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetKaraokeAttributes)(::windows::core::Interface::as_raw(self), ulstream, pattributes).ok()
}
pub unsafe fn GetSubpictureAttributes(&self, ulstream: u32) -> ::windows::core::Result<DVD_SubpictureAttributes> {
let mut result__ = ::windows::core::zeroed::<DVD_SubpictureAttributes>();
(::windows::core::Interface::vtable(self).GetSubpictureAttributes)(::windows::core::Interface::as_raw(self), ulstream, &mut result__).from_abi(result__)
}
pub unsafe fn GetDVDVolumeInfo(&self, pulnumofvolumes: *mut u32, pulvolume: *mut u32, pside: *mut DVD_DISC_SIDE, pulnumoftitles: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDVDVolumeInfo)(::windows::core::Interface::as_raw(self), pulnumofvolumes, pulvolume, pside, pulnumoftitles).ok()
}
pub unsafe fn GetDVDTextNumberOfLanguages(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetDVDTextNumberOfLanguages)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetDVDTextLanguageInfo(&self, ullangindex: u32, pulnumofstrings: *mut u32, plangcode: *mut u32, pbcharacterset: *mut DVD_TextCharSet) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDVDTextLanguageInfo)(::windows::core::Interface::as_raw(self), ullangindex, pulnumofstrings, plangcode, pbcharacterset).ok()
}
pub unsafe fn GetDVDTextStringAsNative(&self, ullangindex: u32, ulstringindex: u32, pbbuffer: *mut u8, ulmaxbuffersize: u32, pulactualsize: *mut u32, ptype: *mut DVD_TextStringType) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDVDTextStringAsNative)(::windows::core::Interface::as_raw(self), ullangindex, ulstringindex, pbbuffer, ulmaxbuffersize, pulactualsize, ptype).ok()
}
pub unsafe fn GetDVDTextStringAsUnicode(&self, ullangindex: u32, ulstringindex: u32, pchwbuffer: ::windows::core::PWSTR, ulmaxbuffersize: u32, pulactualsize: *mut u32, ptype: *mut DVD_TextStringType) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDVDTextStringAsUnicode)(::windows::core::Interface::as_raw(self), ullangindex, ulstringindex, ::core::mem::transmute(pchwbuffer), ulmaxbuffersize, pulactualsize, ptype).ok()
}
pub unsafe fn GetPlayerParentalLevel(&self, pulparentallevel: *mut u32, pbcountrycode: *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetPlayerParentalLevel)(::windows::core::Interface::as_raw(self), pulparentallevel, pbcountrycode).ok()
}
pub unsafe fn GetNumberOfChapters(&self, ultitle: u32) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetNumberOfChapters)(::windows::core::Interface::as_raw(self), ultitle, &mut result__).from_abi(result__)
}
pub unsafe fn GetTitleParentalLevels(&self, ultitle: u32) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetTitleParentalLevels)(::windows::core::Interface::as_raw(self), ultitle, &mut result__).from_abi(result__)
}
pub unsafe fn GetDVDDirectory(&self, pszwpath: &mut [u16], pulactualsize: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDVDDirectory)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pszwpath.as_ptr()), pszwpath.len() as _, pulactualsize).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn IsAudioStreamEnabled(&self, ulstreamnum: u32) -> ::windows::core::Result<super::super::Foundation::BOOL> {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::BOOL>();
(::windows::core::Interface::vtable(self).IsAudioStreamEnabled)(::windows::core::Interface::as_raw(self), ulstreamnum, &mut result__).from_abi(result__)
}
pub unsafe fn GetDiscID<P0>(&self, pszwpath: P0) -> ::windows::core::Result<u64>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
let mut result__ = ::windows::core::zeroed::<u64>();
(::windows::core::Interface::vtable(self).GetDiscID)(::windows::core::Interface::as_raw(self), pszwpath.into_param().abi(), &mut result__).from_abi(result__)
}
pub unsafe fn GetState(&self) -> ::windows::core::Result<IDvdState> {
let mut result__ = ::windows::core::zeroed::<IDvdState>();
(::windows::core::Interface::vtable(self).GetState)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetMenuLanguages(&self, planguages: *mut u32, ulmaxlanguages: u32, pulactuallanguages: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMenuLanguages)(::windows::core::Interface::as_raw(self), planguages, ulmaxlanguages, pulactuallanguages).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetButtonAtPosition(&self, point: super::super::Foundation::POINT) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetButtonAtPosition)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(point), &mut result__).from_abi(result__)
}
pub unsafe fn GetCmdFromEvent(&self, lparam1: isize) -> ::windows::core::Result<IDvdCmd> {
let mut result__ = ::windows::core::zeroed::<IDvdCmd>();
(::windows::core::Interface::vtable(self).GetCmdFromEvent)(::windows::core::Interface::as_raw(self), lparam1, &mut result__).from_abi(result__)
}
pub unsafe fn GetDefaultMenuLanguage(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetDefaultMenuLanguage)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetDefaultAudioLanguage(&self, planguage: *mut u32, paudioextension: *mut DVD_AUDIO_LANG_EXT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDefaultAudioLanguage)(::windows::core::Interface::as_raw(self), planguage, paudioextension).ok()
}
pub unsafe fn GetDefaultSubpictureLanguage(&self, planguage: *mut u32, psubpictureextension: *mut DVD_SUBPICTURE_LANG_EXT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDefaultSubpictureLanguage)(::windows::core::Interface::as_raw(self), planguage, psubpictureextension).ok()
}
pub unsafe fn GetDecoderCaps(&self, pcaps: *mut DVD_DECODER_CAPS) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDecoderCaps)(::windows::core::Interface::as_raw(self), pcaps).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetButtonRect(&self, ulbutton: u32) -> ::windows::core::Result<super::super::Foundation::RECT> {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::RECT>();
(::windows::core::Interface::vtable(self).GetButtonRect)(::windows::core::Interface::as_raw(self), ulbutton, &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn IsSubpictureStreamEnabled(&self, ulstreamnum: u32) -> ::windows::core::Result<super::super::Foundation::BOOL> {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::BOOL>();
(::windows::core::Interface::vtable(self).IsSubpictureStreamEnabled)(::windows::core::Interface::as_raw(self), ulstreamnum, &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IDvdInfo2, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDvdInfo2 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDvdInfo2 {}
impl ::core::fmt::Debug for IDvdInfo2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDvdInfo2").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDvdInfo2 {
type Vtable = IDvdInfo2_Vtbl;
}
impl ::core::clone::Clone for IDvdInfo2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDvdInfo2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x34151510_eec0_11d2_8201_00a0c9d74842);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDvdInfo2_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetCurrentDomain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdomain: *mut DVD_DOMAIN) -> ::windows::core::HRESULT,
pub GetCurrentLocation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plocation: *mut DVD_PLAYBACK_LOCATION2) -> ::windows::core::HRESULT,
pub GetTotalTitleTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptotaltime: *mut DVD_HMSF_TIMECODE, ultimecodeflags: *mut u32) -> ::windows::core::HRESULT,
pub GetCurrentButton: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulbuttonsavailable: *mut u32, pulcurrentbutton: *mut u32) -> ::windows::core::HRESULT,
pub GetCurrentAngle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulanglesavailable: *mut u32, pulcurrentangle: *mut u32) -> ::windows::core::HRESULT,
pub GetCurrentAudio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulstreamsavailable: *mut u32, pulcurrentstream: *mut u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub GetCurrentSubpicture: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulstreamsavailable: *mut u32, pulcurrentstream: *mut u32, pbisdisabled: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetCurrentSubpicture: usize,
pub GetCurrentUOPS: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, puluops: *mut u32) -> ::windows::core::HRESULT,
pub GetAllSPRMs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pregisterarray: *mut *mut u16) -> ::windows::core::HRESULT,
pub GetAllGPRMs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pregisterarray: *mut *mut u16) -> ::windows::core::HRESULT,
pub GetAudioLanguage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulstream: u32, planguage: *mut u32) -> ::windows::core::HRESULT,
pub GetSubpictureLanguage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulstream: u32, planguage: *mut u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub GetTitleAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ultitle: u32, pmenu: *mut DVD_MenuAttributes, ptitle: *mut DVD_TitleAttributes) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetTitleAttributes: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetVMGAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, patr: *mut DVD_MenuAttributes) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetVMGAttributes: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetCurrentVideoAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, patr: *mut DVD_VideoAttributes) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetCurrentVideoAttributes: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetAudioAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulstream: u32, patr: *mut DVD_AudioAttributes) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetAudioAttributes: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetKaraokeAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulstream: u32, pattributes: *mut DVD_KaraokeAttributes) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetKaraokeAttributes: usize,
pub GetSubpictureAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulstream: u32, patr: *mut DVD_SubpictureAttributes) -> ::windows::core::HRESULT,
pub GetDVDVolumeInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulnumofvolumes: *mut u32, pulvolume: *mut u32, pside: *mut DVD_DISC_SIDE, pulnumoftitles: *mut u32) -> ::windows::core::HRESULT,
pub GetDVDTextNumberOfLanguages: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulnumoflangs: *mut u32) -> ::windows::core::HRESULT,
pub GetDVDTextLanguageInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ullangindex: u32, pulnumofstrings: *mut u32, plangcode: *mut u32, pbcharacterset: *mut DVD_TextCharSet) -> ::windows::core::HRESULT,
pub GetDVDTextStringAsNative: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ullangindex: u32, ulstringindex: u32, pbbuffer: *mut u8, ulmaxbuffersize: u32, pulactualsize: *mut u32, ptype: *mut DVD_TextStringType) -> ::windows::core::HRESULT,
pub GetDVDTextStringAsUnicode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ullangindex: u32, ulstringindex: u32, pchwbuffer: ::windows::core::PWSTR, ulmaxbuffersize: u32, pulactualsize: *mut u32, ptype: *mut DVD_TextStringType) -> ::windows::core::HRESULT,
pub GetPlayerParentalLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulparentallevel: *mut u32, pbcountrycode: *mut u8) -> ::windows::core::HRESULT,
pub GetNumberOfChapters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ultitle: u32, pulnumofchapters: *mut u32) -> ::windows::core::HRESULT,
pub GetTitleParentalLevels: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ultitle: u32, pulparentallevels: *mut u32) -> ::windows::core::HRESULT,
pub GetDVDDirectory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszwpath: ::windows::core::PWSTR, ulmaxsize: u32, pulactualsize: *mut u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub IsAudioStreamEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulstreamnum: u32, pbenabled: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
IsAudioStreamEnabled: usize,
pub GetDiscID: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszwpath: ::windows::core::PCWSTR, pulldiscid: *mut u64) -> ::windows::core::HRESULT,
pub GetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstatedata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetMenuLanguages: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, planguages: *mut u32, ulmaxlanguages: u32, pulactuallanguages: *mut u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub GetButtonAtPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, point: super::super::Foundation::POINT, pulbuttonindex: *mut u32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetButtonAtPosition: usize,
pub GetCmdFromEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lparam1: isize, pcmdobj: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetDefaultMenuLanguage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, planguage: *mut u32) -> ::windows::core::HRESULT,
pub GetDefaultAudioLanguage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, planguage: *mut u32, paudioextension: *mut DVD_AUDIO_LANG_EXT) -> ::windows::core::HRESULT,
pub GetDefaultSubpictureLanguage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, planguage: *mut u32, psubpictureextension: *mut DVD_SUBPICTURE_LANG_EXT) -> ::windows::core::HRESULT,
pub GetDecoderCaps: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcaps: *mut DVD_DECODER_CAPS) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub GetButtonRect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulbutton: u32, prect: *mut super::super::Foundation::RECT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetButtonRect: usize,
#[cfg(feature = "Win32_Foundation")]
pub IsSubpictureStreamEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulstreamnum: u32, pbenabled: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
IsSubpictureStreamEnabled: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IDvdState(::windows::core::IUnknown);
impl IDvdState {
pub unsafe fn GetDiscID(&self) -> ::windows::core::Result<u64> {
let mut result__ = ::windows::core::zeroed::<u64>();
(::windows::core::Interface::vtable(self).GetDiscID)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetParentalLevel(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetParentalLevel)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IDvdState, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IDvdState {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IDvdState {}
impl ::core::fmt::Debug for IDvdState {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IDvdState").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IDvdState {
type Vtable = IDvdState_Vtbl;
}
impl ::core::clone::Clone for IDvdState {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IDvdState {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x86303d6d_1c4a_4087_ab42_f711167048ef);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDvdState_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetDiscID: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulluniqueid: *mut u64) -> ::windows::core::HRESULT,
pub GetParentalLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulparentallevel: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IESEvent(::windows::core::IUnknown);
impl IESEvent {
pub unsafe fn GetEventId(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetEventId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetEventType(&self) -> ::windows::core::Result<::windows::core::GUID> {
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).GetEventType)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetCompletionStatus(&self, dwresult: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetCompletionStatus)(::windows::core::Interface::as_raw(self), dwresult).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn GetData(&self) -> ::windows::core::Result<*mut super::super::System::Com::SAFEARRAY> {
let mut result__ = ::windows::core::zeroed::<*mut super::super::System::Com::SAFEARRAY>();
(::windows::core::Interface::vtable(self).GetData)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetStringData(&self) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).GetStringData)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IESEvent, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IESEvent {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IESEvent {}
impl ::core::fmt::Debug for IESEvent {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IESEvent").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IESEvent {
type Vtable = IESEvent_Vtbl;
}
impl ::core::clone::Clone for IESEvent {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IESEvent {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1f0e5357_af43_44e6_8547_654c645145d2);
}
#[repr(C)]
#[doc(hidden)]
pub struct IESEvent_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetEventId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdweventid: *mut u32) -> ::windows::core::HRESULT,
pub GetEventType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguideventtype: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub SetCompletionStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwresult: u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_System_Com")]
pub GetData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbdata: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
GetData: usize,
pub GetStringData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrdata: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IESEvents(::windows::core::IUnknown);
impl IESEvents {
pub unsafe fn OnESEventReceived<P0>(&self, guideventtype: ::windows::core::GUID, pesevent: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IESEvent>,
{
(::windows::core::Interface::vtable(self).OnESEventReceived)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(guideventtype), pesevent.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IESEvents, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IESEvents {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IESEvents {}
impl ::core::fmt::Debug for IESEvents {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IESEvents").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IESEvents {
type Vtable = IESEvents_Vtbl;
}
impl ::core::clone::Clone for IESEvents {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IESEvents {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xabd414bf_cfe5_4e5e_af5b_4b4e49c5bfeb);
}
#[repr(C)]
#[doc(hidden)]
pub struct IESEvents_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub OnESEventReceived: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guideventtype: ::windows::core::GUID, pesevent: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IEncoderAPI(::windows::core::IUnknown);
impl IEncoderAPI {
pub unsafe fn IsSupported(&self, api: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsSupported)(::windows::core::Interface::as_raw(self), api).ok()
}
pub unsafe fn IsAvailable(&self, api: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsAvailable)(::windows::core::Interface::as_raw(self), api).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub unsafe fn GetParameterRange(&self, api: *const ::windows::core::GUID, valuemin: *mut super::super::System::Com::VARIANT, valuemax: *mut super::super::System::Com::VARIANT, steppingdelta: *mut super::super::System::Com::VARIANT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetParameterRange)(::windows::core::Interface::as_raw(self), api, valuemin, valuemax, steppingdelta).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub unsafe fn GetParameterValues(&self, api: *const ::windows::core::GUID, values: *mut *mut super::super::System::Com::VARIANT, valuescount: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetParameterValues)(::windows::core::Interface::as_raw(self), api, values, valuescount).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub unsafe fn GetDefaultValue(&self, api: *const ::windows::core::GUID) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
(::windows::core::Interface::vtable(self).GetDefaultValue)(::windows::core::Interface::as_raw(self), api, &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub unsafe fn GetValue(&self, api: *const ::windows::core::GUID) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
(::windows::core::Interface::vtable(self).GetValue)(::windows::core::Interface::as_raw(self), api, &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub unsafe fn SetValue(&self, api: *const ::windows::core::GUID, value: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetValue)(::windows::core::Interface::as_raw(self), api, value).ok()
}
}
::windows::imp::interface_hierarchy!(IEncoderAPI, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IEncoderAPI {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IEncoderAPI {}
impl ::core::fmt::Debug for IEncoderAPI {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IEncoderAPI").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IEncoderAPI {
type Vtable = IEncoderAPI_Vtbl;
}
impl ::core::clone::Clone for IEncoderAPI {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IEncoderAPI {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x70423839_6acc_4b23_b079_21dbf08156a5);
}
#[repr(C)]
#[doc(hidden)]
pub struct IEncoderAPI_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub IsSupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, api: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
pub IsAvailable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, api: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub GetParameterRange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, api: *const ::windows::core::GUID, valuemin: *mut super::super::System::Com::VARIANT, valuemax: *mut super::super::System::Com::VARIANT, steppingdelta: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
GetParameterRange: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub GetParameterValues: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, api: *const ::windows::core::GUID, values: *mut *mut super::super::System::Com::VARIANT, valuescount: *mut u32) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
GetParameterValues: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub GetDefaultValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, api: *const ::windows::core::GUID, value: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
GetDefaultValue: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub GetValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, api: *const ::windows::core::GUID, value: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
GetValue: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub SetValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, api: *const ::windows::core::GUID, value: *const super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
SetValue: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IEnumFilters(::windows::core::IUnknown);
impl IEnumFilters {
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn Next(&self, ppfilter: &mut [::core::option::Option<IBaseFilter>], pcfetched: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Next)(::windows::core::Interface::as_raw(self), ppfilter.len() as _, ::core::mem::transmute(ppfilter.as_ptr()), ::core::mem::transmute(pcfetched.unwrap_or(::std::ptr::null_mut()))).ok()
}
pub unsafe fn Skip(&self, cfilters: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Skip)(::windows::core::Interface::as_raw(self), cfilters).ok()
}
pub unsafe fn Reset(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Reset)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Clone(&self) -> ::windows::core::Result<IEnumFilters> {
let mut result__ = ::windows::core::zeroed::<IEnumFilters>();
(::windows::core::Interface::vtable(self).Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IEnumFilters, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IEnumFilters {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IEnumFilters {}
impl ::core::fmt::Debug for IEnumFilters {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IEnumFilters").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IEnumFilters {
type Vtable = IEnumFilters_Vtbl;
}
impl ::core::clone::Clone for IEnumFilters {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IEnumFilters {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a86893_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IEnumFilters_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_System_Com")]
pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cfilters: u32, ppfilter: *mut *mut ::core::ffi::c_void, pcfetched: *mut u32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
Next: usize,
pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cfilters: u32) -> ::windows::core::HRESULT,
pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IEnumMediaTypes(::windows::core::IUnknown);
impl IEnumMediaTypes {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn Next(&self, ppmediatypes: &mut [*mut super::MediaFoundation::AM_MEDIA_TYPE], pcfetched: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Next)(::windows::core::Interface::as_raw(self), ppmediatypes.len() as _, ::core::mem::transmute(ppmediatypes.as_ptr()), ::core::mem::transmute(pcfetched.unwrap_or(::std::ptr::null_mut()))).ok()
}
pub unsafe fn Skip(&self, cmediatypes: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Skip)(::windows::core::Interface::as_raw(self), cmediatypes).ok()
}
pub unsafe fn Reset(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Reset)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Clone(&self) -> ::windows::core::Result<IEnumMediaTypes> {
let mut result__ = ::windows::core::zeroed::<IEnumMediaTypes>();
(::windows::core::Interface::vtable(self).Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IEnumMediaTypes, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IEnumMediaTypes {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IEnumMediaTypes {}
impl ::core::fmt::Debug for IEnumMediaTypes {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IEnumMediaTypes").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IEnumMediaTypes {
type Vtable = IEnumMediaTypes_Vtbl;
}
impl ::core::clone::Clone for IEnumMediaTypes {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IEnumMediaTypes {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x89c31040_846b_11ce_97d3_00aa0055595a);
}
#[repr(C)]
#[doc(hidden)]
pub struct IEnumMediaTypes_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cmediatypes: u32, ppmediatypes: *mut *mut super::MediaFoundation::AM_MEDIA_TYPE, pcfetched: *mut u32) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
Next: usize,
pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cmediatypes: u32) -> ::windows::core::HRESULT,
pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IEnumPIDMap(::windows::core::IUnknown);
impl IEnumPIDMap {
pub unsafe fn Next(&self, ppidmap: &mut [PID_MAP], pcreceived: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Next)(::windows::core::Interface::as_raw(self), ppidmap.len() as _, ::core::mem::transmute(ppidmap.as_ptr()), pcreceived).ok()
}
pub unsafe fn Skip(&self, crecords: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Skip)(::windows::core::Interface::as_raw(self), crecords).ok()
}
pub unsafe fn Reset(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Reset)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Clone(&self) -> ::windows::core::Result<IEnumPIDMap> {
let mut result__ = ::windows::core::zeroed::<IEnumPIDMap>();
(::windows::core::Interface::vtable(self).Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IEnumPIDMap, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IEnumPIDMap {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IEnumPIDMap {}
impl ::core::fmt::Debug for IEnumPIDMap {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IEnumPIDMap").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IEnumPIDMap {
type Vtable = IEnumPIDMap_Vtbl;
}
impl ::core::clone::Clone for IEnumPIDMap {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IEnumPIDMap {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xafb6c2a2_2c41_11d3_8a60_0000f81e0e4a);
}
#[repr(C)]
#[doc(hidden)]
pub struct IEnumPIDMap_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, crequest: u32, ppidmap: *mut PID_MAP, pcreceived: *mut u32) -> ::windows::core::HRESULT,
pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, crecords: u32) -> ::windows::core::HRESULT,
pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppienumpidmap: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IEnumPins(::windows::core::IUnknown);
impl IEnumPins {
pub unsafe fn Next(&self, pppins: &mut [::core::option::Option<IPin>], pcfetched: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Next)(::windows::core::Interface::as_raw(self), pppins.len() as _, ::core::mem::transmute(pppins.as_ptr()), ::core::mem::transmute(pcfetched.unwrap_or(::std::ptr::null_mut()))).ok()
}
pub unsafe fn Skip(&self, cpins: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Skip)(::windows::core::Interface::as_raw(self), cpins).ok()
}
pub unsafe fn Reset(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Reset)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Clone(&self) -> ::windows::core::Result<IEnumPins> {
let mut result__ = ::windows::core::zeroed::<IEnumPins>();
(::windows::core::Interface::vtable(self).Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IEnumPins, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IEnumPins {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IEnumPins {}
impl ::core::fmt::Debug for IEnumPins {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IEnumPins").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IEnumPins {
type Vtable = IEnumPins_Vtbl;
}
impl ::core::clone::Clone for IEnumPins {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IEnumPins {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a86892_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IEnumPins_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cpins: u32, pppins: *mut *mut ::core::ffi::c_void, pcfetched: *mut u32) -> ::windows::core::HRESULT,
pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cpins: u32) -> ::windows::core::HRESULT,
pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IEnumRegFilters(::windows::core::IUnknown);
impl IEnumRegFilters {
pub unsafe fn Next(&self, apregfilter: &mut [*mut REGFILTER], pcfetched: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Next)(::windows::core::Interface::as_raw(self), apregfilter.len() as _, ::core::mem::transmute(apregfilter.as_ptr()), ::core::mem::transmute(pcfetched.unwrap_or(::std::ptr::null_mut()))).ok()
}
pub unsafe fn Skip(&self, cfilters: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Skip)(::windows::core::Interface::as_raw(self), cfilters).ok()
}
pub unsafe fn Reset(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Reset)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Clone(&self) -> ::windows::core::Result<IEnumRegFilters> {
let mut result__ = ::windows::core::zeroed::<IEnumRegFilters>();
(::windows::core::Interface::vtable(self).Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IEnumRegFilters, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IEnumRegFilters {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IEnumRegFilters {}
impl ::core::fmt::Debug for IEnumRegFilters {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IEnumRegFilters").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IEnumRegFilters {
type Vtable = IEnumRegFilters_Vtbl;
}
impl ::core::clone::Clone for IEnumRegFilters {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IEnumRegFilters {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868a4_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IEnumRegFilters_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cfilters: u32, apregfilter: *mut *mut REGFILTER, pcfetched: *mut u32) -> ::windows::core::HRESULT,
pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cfilters: u32) -> ::windows::core::HRESULT,
pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IEnumStreamIdMap(::windows::core::IUnknown);
impl IEnumStreamIdMap {
pub unsafe fn Next(&self, pstreamidmap: &mut [STREAM_ID_MAP], pcreceived: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Next)(::windows::core::Interface::as_raw(self), pstreamidmap.len() as _, ::core::mem::transmute(pstreamidmap.as_ptr()), ::core::mem::transmute(pcreceived.unwrap_or(::std::ptr::null_mut()))).ok()
}
pub unsafe fn Skip(&self, crecords: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Skip)(::windows::core::Interface::as_raw(self), crecords).ok()
}
pub unsafe fn Reset(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Reset)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Clone(&self) -> ::windows::core::Result<IEnumStreamIdMap> {
let mut result__ = ::windows::core::zeroed::<IEnumStreamIdMap>();
(::windows::core::Interface::vtable(self).Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IEnumStreamIdMap, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IEnumStreamIdMap {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IEnumStreamIdMap {}
impl ::core::fmt::Debug for IEnumStreamIdMap {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IEnumStreamIdMap").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IEnumStreamIdMap {
type Vtable = IEnumStreamIdMap_Vtbl;
}
impl ::core::clone::Clone for IEnumStreamIdMap {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IEnumStreamIdMap {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x945c1566_6202_46fc_96c7_d87f289c6534);
}
#[repr(C)]
#[doc(hidden)]
pub struct IEnumStreamIdMap_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, crequest: u32, pstreamidmap: *mut STREAM_ID_MAP, pcreceived: *mut u32) -> ::windows::core::HRESULT,
pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, crecords: u32) -> ::windows::core::HRESULT,
pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppienumstreamidmap: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IFileSinkFilter(::windows::core::IUnknown);
impl IFileSinkFilter {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn SetFileName<P0>(&self, pszfilename: P0, pmt: ::core::option::Option<*const super::MediaFoundation::AM_MEDIA_TYPE>) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).SetFileName)(::windows::core::Interface::as_raw(self), pszfilename.into_param().abi(), ::core::mem::transmute(pmt.unwrap_or(::std::ptr::null()))).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn GetCurFile(&self, ppszfilename: *mut ::windows::core::PWSTR, pmt: *mut super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurFile)(::windows::core::Interface::as_raw(self), ppszfilename, pmt).ok()
}
}
::windows::imp::interface_hierarchy!(IFileSinkFilter, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IFileSinkFilter {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IFileSinkFilter {}
impl ::core::fmt::Debug for IFileSinkFilter {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IFileSinkFilter").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IFileSinkFilter {
type Vtable = IFileSinkFilter_Vtbl;
}
impl ::core::clone::Clone for IFileSinkFilter {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IFileSinkFilter {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa2104830_7c70_11cf_8bce_00aa00a3f1a6);
}
#[repr(C)]
#[doc(hidden)]
pub struct IFileSinkFilter_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub SetFileName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszfilename: ::windows::core::PCWSTR, pmt: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
SetFileName: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub GetCurFile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppszfilename: *mut ::windows::core::PWSTR, pmt: *mut super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
GetCurFile: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IFileSinkFilter2(::windows::core::IUnknown);
impl IFileSinkFilter2 {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn SetFileName<P0>(&self, pszfilename: P0, pmt: ::core::option::Option<*const super::MediaFoundation::AM_MEDIA_TYPE>) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).base__.SetFileName)(::windows::core::Interface::as_raw(self), pszfilename.into_param().abi(), ::core::mem::transmute(pmt.unwrap_or(::std::ptr::null()))).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn GetCurFile(&self, ppszfilename: *mut ::windows::core::PWSTR, pmt: *mut super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetCurFile)(::windows::core::Interface::as_raw(self), ppszfilename, pmt).ok()
}
pub unsafe fn SetMode(&self, dwflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMode)(::windows::core::Interface::as_raw(self), dwflags).ok()
}
pub unsafe fn GetMode(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetMode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IFileSinkFilter2, ::windows::core::IUnknown, IFileSinkFilter);
impl ::core::cmp::PartialEq for IFileSinkFilter2 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IFileSinkFilter2 {}
impl ::core::fmt::Debug for IFileSinkFilter2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IFileSinkFilter2").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IFileSinkFilter2 {
type Vtable = IFileSinkFilter2_Vtbl;
}
impl ::core::clone::Clone for IFileSinkFilter2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IFileSinkFilter2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x00855b90_ce1b_11d0_bd4f_00a0c911ce86);
}
#[repr(C)]
#[doc(hidden)]
pub struct IFileSinkFilter2_Vtbl {
pub base__: IFileSinkFilter_Vtbl,
pub SetMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwflags: u32) -> ::windows::core::HRESULT,
pub GetMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwflags: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IFileSourceFilter(::windows::core::IUnknown);
impl IFileSourceFilter {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn Load<P0>(&self, pszfilename: P0, pmt: ::core::option::Option<*const super::MediaFoundation::AM_MEDIA_TYPE>) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).Load)(::windows::core::Interface::as_raw(self), pszfilename.into_param().abi(), ::core::mem::transmute(pmt.unwrap_or(::std::ptr::null()))).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn GetCurFile(&self, ppszfilename: *mut ::windows::core::PWSTR, pmt: ::core::option::Option<*mut super::MediaFoundation::AM_MEDIA_TYPE>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurFile)(::windows::core::Interface::as_raw(self), ppszfilename, ::core::mem::transmute(pmt.unwrap_or(::std::ptr::null_mut()))).ok()
}
}
::windows::imp::interface_hierarchy!(IFileSourceFilter, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IFileSourceFilter {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IFileSourceFilter {}
impl ::core::fmt::Debug for IFileSourceFilter {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IFileSourceFilter").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IFileSourceFilter {
type Vtable = IFileSourceFilter_Vtbl;
}
impl ::core::clone::Clone for IFileSourceFilter {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IFileSourceFilter {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868a6_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IFileSourceFilter_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub Load: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszfilename: ::windows::core::PCWSTR, pmt: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
Load: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub GetCurFile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppszfilename: *mut ::windows::core::PWSTR, pmt: *mut super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
GetCurFile: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IFilterChain(::windows::core::IUnknown);
impl IFilterChain {
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn StartChain<P0, P1>(&self, pstartfilter: P0, pendfilter: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
P1: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).StartChain)(::windows::core::Interface::as_raw(self), pstartfilter.into_param().abi(), pendfilter.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn PauseChain<P0, P1>(&self, pstartfilter: P0, pendfilter: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
P1: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).PauseChain)(::windows::core::Interface::as_raw(self), pstartfilter.into_param().abi(), pendfilter.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn StopChain<P0, P1>(&self, pstartfilter: P0, pendfilter: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
P1: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).StopChain)(::windows::core::Interface::as_raw(self), pstartfilter.into_param().abi(), pendfilter.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn RemoveChain<P0, P1>(&self, pstartfilter: P0, pendfilter: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
P1: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).RemoveChain)(::windows::core::Interface::as_raw(self), pstartfilter.into_param().abi(), pendfilter.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IFilterChain, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IFilterChain {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IFilterChain {}
impl ::core::fmt::Debug for IFilterChain {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IFilterChain").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IFilterChain {
type Vtable = IFilterChain_Vtbl;
}
impl ::core::clone::Clone for IFilterChain {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IFilterChain {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xdcfbdcf6_0dc2_45f5_9ab2_7c330ea09c29);
}
#[repr(C)]
#[doc(hidden)]
pub struct IFilterChain_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_System_Com")]
pub StartChain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstartfilter: *mut ::core::ffi::c_void, pendfilter: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
StartChain: usize,
#[cfg(feature = "Win32_System_Com")]
pub PauseChain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstartfilter: *mut ::core::ffi::c_void, pendfilter: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
PauseChain: usize,
#[cfg(feature = "Win32_System_Com")]
pub StopChain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstartfilter: *mut ::core::ffi::c_void, pendfilter: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
StopChain: usize,
#[cfg(feature = "Win32_System_Com")]
pub RemoveChain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstartfilter: *mut ::core::ffi::c_void, pendfilter: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
RemoveChain: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IFilterGraph(::windows::core::IUnknown);
impl IFilterGraph {
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn AddFilter<P0, P1>(&self, pfilter: P0, pname: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).AddFilter)(::windows::core::Interface::as_raw(self), pfilter.into_param().abi(), pname.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn RemoveFilter<P0>(&self, pfilter: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).RemoveFilter)(::windows::core::Interface::as_raw(self), pfilter.into_param().abi()).ok()
}
pub unsafe fn EnumFilters(&self) -> ::windows::core::Result<IEnumFilters> {
let mut result__ = ::windows::core::zeroed::<IEnumFilters>();
(::windows::core::Interface::vtable(self).EnumFilters)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn FindFilterByName<P0>(&self, pname: P0) -> ::windows::core::Result<IBaseFilter>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
let mut result__ = ::windows::core::zeroed::<IBaseFilter>();
(::windows::core::Interface::vtable(self).FindFilterByName)(::windows::core::Interface::as_raw(self), pname.into_param().abi(), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn ConnectDirect<P0, P1>(&self, ppinout: P0, ppinin: P1, pmt: ::core::option::Option<*const super::MediaFoundation::AM_MEDIA_TYPE>) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
P1: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).ConnectDirect)(::windows::core::Interface::as_raw(self), ppinout.into_param().abi(), ppinin.into_param().abi(), ::core::mem::transmute(pmt.unwrap_or(::std::ptr::null()))).ok()
}
pub unsafe fn Reconnect<P0>(&self, ppin: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).Reconnect)(::windows::core::Interface::as_raw(self), ppin.into_param().abi()).ok()
}
pub unsafe fn Disconnect<P0>(&self, ppin: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).Disconnect)(::windows::core::Interface::as_raw(self), ppin.into_param().abi()).ok()
}
pub unsafe fn SetDefaultSyncSource(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDefaultSyncSource)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IFilterGraph, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IFilterGraph {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IFilterGraph {}
impl ::core::fmt::Debug for IFilterGraph {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IFilterGraph").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IFilterGraph {
type Vtable = IFilterGraph_Vtbl;
}
impl ::core::clone::Clone for IFilterGraph {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IFilterGraph {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a8689f_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IFilterGraph_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_System_Com")]
pub AddFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfilter: *mut ::core::ffi::c_void, pname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
AddFilter: usize,
#[cfg(feature = "Win32_System_Com")]
pub RemoveFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfilter: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
RemoveFilter: usize,
pub EnumFilters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_System_Com")]
pub FindFilterByName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pname: ::windows::core::PCWSTR, ppfilter: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
FindFilterByName: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub ConnectDirect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppinout: *mut ::core::ffi::c_void, ppinin: *mut ::core::ffi::c_void, pmt: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
ConnectDirect: usize,
pub Reconnect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppin: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Disconnect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppin: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetDefaultSyncSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IFilterGraph2(::windows::core::IUnknown);
impl IFilterGraph2 {
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn AddFilter<P0, P1>(&self, pfilter: P0, pname: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).base__.base__.AddFilter)(::windows::core::Interface::as_raw(self), pfilter.into_param().abi(), pname.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn RemoveFilter<P0>(&self, pfilter: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).base__.base__.RemoveFilter)(::windows::core::Interface::as_raw(self), pfilter.into_param().abi()).ok()
}
pub unsafe fn EnumFilters(&self) -> ::windows::core::Result<IEnumFilters> {
let mut result__ = ::windows::core::zeroed::<IEnumFilters>();
(::windows::core::Interface::vtable(self).base__.base__.EnumFilters)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn FindFilterByName<P0>(&self, pname: P0) -> ::windows::core::Result<IBaseFilter>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
let mut result__ = ::windows::core::zeroed::<IBaseFilter>();
(::windows::core::Interface::vtable(self).base__.base__.FindFilterByName)(::windows::core::Interface::as_raw(self), pname.into_param().abi(), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn ConnectDirect<P0, P1>(&self, ppinout: P0, ppinin: P1, pmt: ::core::option::Option<*const super::MediaFoundation::AM_MEDIA_TYPE>) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
P1: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).base__.base__.ConnectDirect)(::windows::core::Interface::as_raw(self), ppinout.into_param().abi(), ppinin.into_param().abi(), ::core::mem::transmute(pmt.unwrap_or(::std::ptr::null()))).ok()
}
pub unsafe fn Reconnect<P0>(&self, ppin: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).base__.base__.Reconnect)(::windows::core::Interface::as_raw(self), ppin.into_param().abi()).ok()
}
pub unsafe fn Disconnect<P0>(&self, ppin: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).base__.base__.Disconnect)(::windows::core::Interface::as_raw(self), ppin.into_param().abi()).ok()
}
pub unsafe fn SetDefaultSyncSource(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.SetDefaultSyncSource)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Connect<P0, P1>(&self, ppinout: P0, ppinin: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
P1: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).base__.Connect)(::windows::core::Interface::as_raw(self), ppinout.into_param().abi(), ppinin.into_param().abi()).ok()
}
pub unsafe fn Render<P0>(&self, ppinout: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).base__.Render)(::windows::core::Interface::as_raw(self), ppinout.into_param().abi()).ok()
}
pub unsafe fn RenderFile<P0, P1>(&self, lpcwstrfile: P0, lpcwstrplaylist: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).base__.RenderFile)(::windows::core::Interface::as_raw(self), lpcwstrfile.into_param().abi(), lpcwstrplaylist.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn AddSourceFilter<P0, P1>(&self, lpcwstrfilename: P0, lpcwstrfiltername: P1) -> ::windows::core::Result<IBaseFilter>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
let mut result__ = ::windows::core::zeroed::<IBaseFilter>();
(::windows::core::Interface::vtable(self).base__.AddSourceFilter)(::windows::core::Interface::as_raw(self), lpcwstrfilename.into_param().abi(), lpcwstrfiltername.into_param().abi(), &mut result__).from_abi(result__)
}
pub unsafe fn SetLogFile(&self, hfile: usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetLogFile)(::windows::core::Interface::as_raw(self), hfile).ok()
}
pub unsafe fn Abort(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.Abort)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn ShouldOperationContinue(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.ShouldOperationContinue)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn AddSourceFilterForMoniker<P0, P1, P2>(&self, pmoniker: P0, pctx: P1, lpcwstrfiltername: P2) -> ::windows::core::Result<IBaseFilter>
where
P0: ::windows::core::IntoParam<super::super::System::Com::IMoniker>,
P1: ::windows::core::IntoParam<super::super::System::Com::IBindCtx>,
P2: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
let mut result__ = ::windows::core::zeroed::<IBaseFilter>();
(::windows::core::Interface::vtable(self).AddSourceFilterForMoniker)(::windows::core::Interface::as_raw(self), pmoniker.into_param().abi(), pctx.into_param().abi(), lpcwstrfiltername.into_param().abi(), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn ReconnectEx<P0>(&self, ppin: P0, pmt: ::core::option::Option<*const super::MediaFoundation::AM_MEDIA_TYPE>) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).ReconnectEx)(::windows::core::Interface::as_raw(self), ppin.into_param().abi(), ::core::mem::transmute(pmt.unwrap_or(::std::ptr::null()))).ok()
}
pub unsafe fn RenderEx<P0>(&self, ppinout: P0, dwflags: u32, pvcontext: ::core::option::Option<*const u32>) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).RenderEx)(::windows::core::Interface::as_raw(self), ppinout.into_param().abi(), dwflags, ::core::mem::transmute(pvcontext.unwrap_or(::std::ptr::null()))).ok()
}
}
::windows::imp::interface_hierarchy!(IFilterGraph2, ::windows::core::IUnknown, IFilterGraph, IGraphBuilder);
impl ::core::cmp::PartialEq for IFilterGraph2 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IFilterGraph2 {}
impl ::core::fmt::Debug for IFilterGraph2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IFilterGraph2").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IFilterGraph2 {
type Vtable = IFilterGraph2_Vtbl;
}
impl ::core::clone::Clone for IFilterGraph2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IFilterGraph2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x36b73882_c2c8_11cf_8b46_00805f6cef60);
}
#[repr(C)]
#[doc(hidden)]
pub struct IFilterGraph2_Vtbl {
pub base__: IGraphBuilder_Vtbl,
#[cfg(feature = "Win32_System_Com")]
pub AddSourceFilterForMoniker: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmoniker: *mut ::core::ffi::c_void, pctx: *mut ::core::ffi::c_void, lpcwstrfiltername: ::windows::core::PCWSTR, ppfilter: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
AddSourceFilterForMoniker: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub ReconnectEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppin: *mut ::core::ffi::c_void, pmt: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
ReconnectEx: usize,
pub RenderEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppinout: *mut ::core::ffi::c_void, dwflags: u32, pvcontext: *const u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IFilterGraph3(::windows::core::IUnknown);
impl IFilterGraph3 {
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn AddFilter<P0, P1>(&self, pfilter: P0, pname: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).base__.base__.base__.AddFilter)(::windows::core::Interface::as_raw(self), pfilter.into_param().abi(), pname.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn RemoveFilter<P0>(&self, pfilter: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).base__.base__.base__.RemoveFilter)(::windows::core::Interface::as_raw(self), pfilter.into_param().abi()).ok()
}
pub unsafe fn EnumFilters(&self) -> ::windows::core::Result<IEnumFilters> {
let mut result__ = ::windows::core::zeroed::<IEnumFilters>();
(::windows::core::Interface::vtable(self).base__.base__.base__.EnumFilters)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn FindFilterByName<P0>(&self, pname: P0) -> ::windows::core::Result<IBaseFilter>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
let mut result__ = ::windows::core::zeroed::<IBaseFilter>();
(::windows::core::Interface::vtable(self).base__.base__.base__.FindFilterByName)(::windows::core::Interface::as_raw(self), pname.into_param().abi(), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn ConnectDirect<P0, P1>(&self, ppinout: P0, ppinin: P1, pmt: ::core::option::Option<*const super::MediaFoundation::AM_MEDIA_TYPE>) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
P1: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).base__.base__.base__.ConnectDirect)(::windows::core::Interface::as_raw(self), ppinout.into_param().abi(), ppinin.into_param().abi(), ::core::mem::transmute(pmt.unwrap_or(::std::ptr::null()))).ok()
}
pub unsafe fn Reconnect<P0>(&self, ppin: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).base__.base__.base__.Reconnect)(::windows::core::Interface::as_raw(self), ppin.into_param().abi()).ok()
}
pub unsafe fn Disconnect<P0>(&self, ppin: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).base__.base__.base__.Disconnect)(::windows::core::Interface::as_raw(self), ppin.into_param().abi()).ok()
}
pub unsafe fn SetDefaultSyncSource(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.base__.SetDefaultSyncSource)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Connect<P0, P1>(&self, ppinout: P0, ppinin: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
P1: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).base__.base__.Connect)(::windows::core::Interface::as_raw(self), ppinout.into_param().abi(), ppinin.into_param().abi()).ok()
}
pub unsafe fn Render<P0>(&self, ppinout: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).base__.base__.Render)(::windows::core::Interface::as_raw(self), ppinout.into_param().abi()).ok()
}
pub unsafe fn RenderFile<P0, P1>(&self, lpcwstrfile: P0, lpcwstrplaylist: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).base__.base__.RenderFile)(::windows::core::Interface::as_raw(self), lpcwstrfile.into_param().abi(), lpcwstrplaylist.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn AddSourceFilter<P0, P1>(&self, lpcwstrfilename: P0, lpcwstrfiltername: P1) -> ::windows::core::Result<IBaseFilter>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
let mut result__ = ::windows::core::zeroed::<IBaseFilter>();
(::windows::core::Interface::vtable(self).base__.base__.AddSourceFilter)(::windows::core::Interface::as_raw(self), lpcwstrfilename.into_param().abi(), lpcwstrfiltername.into_param().abi(), &mut result__).from_abi(result__)
}
pub unsafe fn SetLogFile(&self, hfile: usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.SetLogFile)(::windows::core::Interface::as_raw(self), hfile).ok()
}
pub unsafe fn Abort(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.Abort)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn ShouldOperationContinue(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.ShouldOperationContinue)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn AddSourceFilterForMoniker<P0, P1, P2>(&self, pmoniker: P0, pctx: P1, lpcwstrfiltername: P2) -> ::windows::core::Result<IBaseFilter>
where
P0: ::windows::core::IntoParam<super::super::System::Com::IMoniker>,
P1: ::windows::core::IntoParam<super::super::System::Com::IBindCtx>,
P2: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
let mut result__ = ::windows::core::zeroed::<IBaseFilter>();
(::windows::core::Interface::vtable(self).base__.AddSourceFilterForMoniker)(::windows::core::Interface::as_raw(self), pmoniker.into_param().abi(), pctx.into_param().abi(), lpcwstrfiltername.into_param().abi(), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn ReconnectEx<P0>(&self, ppin: P0, pmt: ::core::option::Option<*const super::MediaFoundation::AM_MEDIA_TYPE>) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).base__.ReconnectEx)(::windows::core::Interface::as_raw(self), ppin.into_param().abi(), ::core::mem::transmute(pmt.unwrap_or(::std::ptr::null()))).ok()
}
pub unsafe fn RenderEx<P0>(&self, ppinout: P0, dwflags: u32, pvcontext: ::core::option::Option<*const u32>) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).base__.RenderEx)(::windows::core::Interface::as_raw(self), ppinout.into_param().abi(), dwflags, ::core::mem::transmute(pvcontext.unwrap_or(::std::ptr::null()))).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn SetSyncSourceEx<P0, P1, P2>(&self, pclockformostoffiltergraph: P0, pclockforfilter: P1, pfilter: P2) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::IReferenceClock>,
P1: ::windows::core::IntoParam<super::IReferenceClock>,
P2: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).SetSyncSourceEx)(::windows::core::Interface::as_raw(self), pclockformostoffiltergraph.into_param().abi(), pclockforfilter.into_param().abi(), pfilter.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IFilterGraph3, ::windows::core::IUnknown, IFilterGraph, IGraphBuilder, IFilterGraph2);
impl ::core::cmp::PartialEq for IFilterGraph3 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IFilterGraph3 {}
impl ::core::fmt::Debug for IFilterGraph3 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IFilterGraph3").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IFilterGraph3 {
type Vtable = IFilterGraph3_Vtbl;
}
impl ::core::clone::Clone for IFilterGraph3 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IFilterGraph3 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xaaf38154_b80b_422f_91e6_b66467509a07);
}
#[repr(C)]
#[doc(hidden)]
pub struct IFilterGraph3_Vtbl {
pub base__: IFilterGraph2_Vtbl,
#[cfg(feature = "Win32_System_Com")]
pub SetSyncSourceEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pclockformostoffiltergraph: *mut ::core::ffi::c_void, pclockforfilter: *mut ::core::ffi::c_void, pfilter: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
SetSyncSourceEx: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IFilterInfo(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IFilterInfo {
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn FindPin<P0>(&self, strpinid: P0) -> ::windows::core::Result<super::super::System::Com::IDispatch>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
let mut result__ = ::windows::core::zeroed::<super::super::System::Com::IDispatch>();
(::windows::core::Interface::vtable(self).FindPin)(::windows::core::Interface::as_raw(self), strpinid.into_param().abi(), &mut result__).from_abi(result__)
}
pub unsafe fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).Name)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn VendorInfo(&self) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).VendorInfo)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Filter(&self) -> ::windows::core::Result<::windows::core::IUnknown> {
let mut result__ = ::windows::core::zeroed::<::windows::core::IUnknown>();
(::windows::core::Interface::vtable(self).Filter)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn Pins(&self) -> ::windows::core::Result<super::super::System::Com::IDispatch> {
let mut result__ = ::windows::core::zeroed::<super::super::System::Com::IDispatch>();
(::windows::core::Interface::vtable(self).Pins)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn IsFileSource(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).IsFileSource)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Filename(&self) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).Filename)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetFilename<P0>(&self, strfilename: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
(::windows::core::Interface::vtable(self).SetFilename)(::windows::core::Interface::as_raw(self), strfilename.into_param().abi()).ok()
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IFilterInfo, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IFilterInfo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IFilterInfo {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IFilterInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IFilterInfo").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IFilterInfo {
type Vtable = IFilterInfo_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IFilterInfo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IFilterInfo {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868ba_0ad4_11ce_b03a_0020af0ba770);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IFilterInfo_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
#[cfg(feature = "Win32_System_Com")]
pub FindPin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strpinid: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
FindPin: usize,
pub Name: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub VendorInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strvendorinfo: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub Filter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_System_Com")]
pub Pins: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
Pins: usize,
pub IsFileSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbissource: *mut i32) -> ::windows::core::HRESULT,
pub Filename: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstrfilename: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub SetFilename: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strfilename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IFilterMapper(::windows::core::IUnknown);
impl IFilterMapper {
pub unsafe fn RegisterFilter<P0>(&self, clsid: ::windows::core::GUID, name: P0, dwmerit: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).RegisterFilter)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(clsid), name.into_param().abi(), dwmerit).ok()
}
pub unsafe fn RegisterFilterInstance<P0>(&self, clsid: ::windows::core::GUID, name: P0) -> ::windows::core::Result<::windows::core::GUID>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).RegisterFilterInstance)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(clsid), name.into_param().abi(), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn RegisterPin<P0, P1, P2, P3, P4, P5>(&self, filter: ::windows::core::GUID, name: P0, brendered: P1, boutput: P2, bzero: P3, bmany: P4, connectstofilter: ::windows::core::GUID, connectstopin: P5) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
P2: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
P3: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
P4: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
P5: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).RegisterPin)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(filter), name.into_param().abi(), brendered.into_param().abi(), boutput.into_param().abi(), bzero.into_param().abi(), bmany.into_param().abi(), ::core::mem::transmute(connectstofilter), connectstopin.into_param().abi()).ok()
}
pub unsafe fn RegisterPinType<P0>(&self, clsfilter: ::windows::core::GUID, strname: P0, clsmajortype: ::windows::core::GUID, clssubtype: ::windows::core::GUID) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).RegisterPinType)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(clsfilter), strname.into_param().abi(), ::core::mem::transmute(clsmajortype), ::core::mem::transmute(clssubtype)).ok()
}
pub unsafe fn UnregisterFilter(&self, filter: ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).UnregisterFilter)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(filter)).ok()
}
pub unsafe fn UnregisterFilterInstance(&self, mrid: ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).UnregisterFilterInstance)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(mrid)).ok()
}
pub unsafe fn UnregisterPin<P0>(&self, filter: ::windows::core::GUID, name: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).UnregisterPin)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(filter), name.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn EnumMatchingFilters<P0, P1, P2>(&self, ppenum: *mut ::core::option::Option<IEnumRegFilters>, dwmerit: u32, binputneeded: P0, clsinmaj: ::windows::core::GUID, clsinsub: ::windows::core::GUID, brender: P1, boututneeded: P2, clsoutmaj: ::windows::core::GUID, clsoutsub: ::windows::core::GUID) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
P2: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).EnumMatchingFilters)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ppenum), dwmerit, binputneeded.into_param().abi(), ::core::mem::transmute(clsinmaj), ::core::mem::transmute(clsinsub), brender.into_param().abi(), boututneeded.into_param().abi(), ::core::mem::transmute(clsoutmaj), ::core::mem::transmute(clsoutsub)).ok()
}
}
::windows::imp::interface_hierarchy!(IFilterMapper, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IFilterMapper {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IFilterMapper {}
impl ::core::fmt::Debug for IFilterMapper {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IFilterMapper").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IFilterMapper {
type Vtable = IFilterMapper_Vtbl;
}
impl ::core::clone::Clone for IFilterMapper {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IFilterMapper {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868a3_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IFilterMapper_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub RegisterFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clsid: ::windows::core::GUID, name: ::windows::core::PCWSTR, dwmerit: u32) -> ::windows::core::HRESULT,
pub RegisterFilterInstance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clsid: ::windows::core::GUID, name: ::windows::core::PCWSTR, mrid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub RegisterPin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, filter: ::windows::core::GUID, name: ::windows::core::PCWSTR, brendered: super::super::Foundation::BOOL, boutput: super::super::Foundation::BOOL, bzero: super::super::Foundation::BOOL, bmany: super::super::Foundation::BOOL, connectstofilter: ::windows::core::GUID, connectstopin: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
RegisterPin: usize,
pub RegisterPinType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clsfilter: ::windows::core::GUID, strname: ::windows::core::PCWSTR, clsmajortype: ::windows::core::GUID, clssubtype: ::windows::core::GUID) -> ::windows::core::HRESULT,
pub UnregisterFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, filter: ::windows::core::GUID) -> ::windows::core::HRESULT,
pub UnregisterFilterInstance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mrid: ::windows::core::GUID) -> ::windows::core::HRESULT,
pub UnregisterPin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, filter: ::windows::core::GUID, name: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub EnumMatchingFilters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void, dwmerit: u32, binputneeded: super::super::Foundation::BOOL, clsinmaj: ::windows::core::GUID, clsinsub: ::windows::core::GUID, brender: super::super::Foundation::BOOL, boututneeded: super::super::Foundation::BOOL, clsoutmaj: ::windows::core::GUID, clsoutsub: ::windows::core::GUID) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
EnumMatchingFilters: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IFilterMapper2(::windows::core::IUnknown);
impl IFilterMapper2 {
pub unsafe fn CreateCategory<P0>(&self, clsidcategory: *const ::windows::core::GUID, dwcategorymerit: u32, description: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).CreateCategory)(::windows::core::Interface::as_raw(self), clsidcategory, dwcategorymerit, description.into_param().abi()).ok()
}
pub unsafe fn UnregisterFilter<P0>(&self, pclsidcategory: *const ::windows::core::GUID, szinstance: P0, filter: *const ::windows::core::GUID) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).UnregisterFilter)(::windows::core::Interface::as_raw(self), pclsidcategory, szinstance.into_param().abi(), filter).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
pub unsafe fn RegisterFilter<P0, P1>(&self, clsidfilter: *const ::windows::core::GUID, name: P0, ppmoniker: ::core::option::Option<*mut ::core::option::Option<super::super::System::Com::IMoniker>>, pclsidcategory: *const ::windows::core::GUID, szinstance: P1, prf2: *const REGFILTER2) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).RegisterFilter)(::windows::core::Interface::as_raw(self), clsidfilter, name.into_param().abi(), ::core::mem::transmute(ppmoniker.unwrap_or(::std::ptr::null_mut())), pclsidcategory, szinstance.into_param().abi(), prf2).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
pub unsafe fn EnumMatchingFilters<P0, P1, P2, P3>(&self, ppenum: *mut ::core::option::Option<super::super::System::Com::IEnumMoniker>, dwflags: u32, bexactmatch: P0, dwmerit: u32, binputneeded: P1, cinputtypes: u32, pinputtypes: ::core::option::Option<*const ::windows::core::GUID>, pmedin: ::core::option::Option<*const REGPINMEDIUM>, ppincategoryin: ::core::option::Option<*const ::windows::core::GUID>, brender: P2, boutputneeded: P3, coutputtypes: u32, poutputtypes: ::core::option::Option<*const ::windows::core::GUID>, pmedout: ::core::option::Option<*const REGPINMEDIUM>, ppincategoryout: ::core::option::Option<*const ::windows::core::GUID>) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
P2: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
P3: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).EnumMatchingFilters)(
::windows::core::Interface::as_raw(self),
::core::mem::transmute(ppenum),
dwflags,
bexactmatch.into_param().abi(),
dwmerit,
binputneeded.into_param().abi(),
cinputtypes,
::core::mem::transmute(pinputtypes.unwrap_or(::std::ptr::null())),
::core::mem::transmute(pmedin.unwrap_or(::std::ptr::null())),
::core::mem::transmute(ppincategoryin.unwrap_or(::std::ptr::null())),
brender.into_param().abi(),
boutputneeded.into_param().abi(),
coutputtypes,
::core::mem::transmute(poutputtypes.unwrap_or(::std::ptr::null())),
::core::mem::transmute(pmedout.unwrap_or(::std::ptr::null())),
::core::mem::transmute(ppincategoryout.unwrap_or(::std::ptr::null())),
)
.ok()
}
}
::windows::imp::interface_hierarchy!(IFilterMapper2, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IFilterMapper2 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IFilterMapper2 {}
impl ::core::fmt::Debug for IFilterMapper2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IFilterMapper2").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IFilterMapper2 {
type Vtable = IFilterMapper2_Vtbl;
}
impl ::core::clone::Clone for IFilterMapper2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IFilterMapper2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb79bb0b0_33c1_11d1_abe1_00a0c905f375);
}
#[repr(C)]
#[doc(hidden)]
pub struct IFilterMapper2_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub CreateCategory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clsidcategory: *const ::windows::core::GUID, dwcategorymerit: u32, description: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
pub UnregisterFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pclsidcategory: *const ::windows::core::GUID, szinstance: ::windows::core::PCWSTR, filter: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
pub RegisterFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clsidfilter: *const ::windows::core::GUID, name: ::windows::core::PCWSTR, ppmoniker: *mut *mut ::core::ffi::c_void, pclsidcategory: *const ::windows::core::GUID, szinstance: ::windows::core::PCWSTR, prf2: *const REGFILTER2) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))]
RegisterFilter: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
pub EnumMatchingFilters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void, dwflags: u32, bexactmatch: super::super::Foundation::BOOL, dwmerit: u32, binputneeded: super::super::Foundation::BOOL, cinputtypes: u32, pinputtypes: *const ::windows::core::GUID, pmedin: *const REGPINMEDIUM, ppincategoryin: *const ::windows::core::GUID, brender: super::super::Foundation::BOOL, boutputneeded: super::super::Foundation::BOOL, coutputtypes: u32, poutputtypes: *const ::windows::core::GUID, pmedout: *const REGPINMEDIUM, ppincategoryout: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))]
EnumMatchingFilters: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IFilterMapper3(::windows::core::IUnknown);
impl IFilterMapper3 {
pub unsafe fn CreateCategory<P0>(&self, clsidcategory: *const ::windows::core::GUID, dwcategorymerit: u32, description: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).base__.CreateCategory)(::windows::core::Interface::as_raw(self), clsidcategory, dwcategorymerit, description.into_param().abi()).ok()
}
pub unsafe fn UnregisterFilter<P0>(&self, pclsidcategory: *const ::windows::core::GUID, szinstance: P0, filter: *const ::windows::core::GUID) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).base__.UnregisterFilter)(::windows::core::Interface::as_raw(self), pclsidcategory, szinstance.into_param().abi(), filter).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
pub unsafe fn RegisterFilter<P0, P1>(&self, clsidfilter: *const ::windows::core::GUID, name: P0, ppmoniker: ::core::option::Option<*mut ::core::option::Option<super::super::System::Com::IMoniker>>, pclsidcategory: *const ::windows::core::GUID, szinstance: P1, prf2: *const REGFILTER2) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).base__.RegisterFilter)(::windows::core::Interface::as_raw(self), clsidfilter, name.into_param().abi(), ::core::mem::transmute(ppmoniker.unwrap_or(::std::ptr::null_mut())), pclsidcategory, szinstance.into_param().abi(), prf2).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
pub unsafe fn EnumMatchingFilters<P0, P1, P2, P3>(&self, ppenum: *mut ::core::option::Option<super::super::System::Com::IEnumMoniker>, dwflags: u32, bexactmatch: P0, dwmerit: u32, binputneeded: P1, cinputtypes: u32, pinputtypes: ::core::option::Option<*const ::windows::core::GUID>, pmedin: ::core::option::Option<*const REGPINMEDIUM>, ppincategoryin: ::core::option::Option<*const ::windows::core::GUID>, brender: P2, boutputneeded: P3, coutputtypes: u32, poutputtypes: ::core::option::Option<*const ::windows::core::GUID>, pmedout: ::core::option::Option<*const REGPINMEDIUM>, ppincategoryout: ::core::option::Option<*const ::windows::core::GUID>) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
P2: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
P3: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).base__.EnumMatchingFilters)(
::windows::core::Interface::as_raw(self),
::core::mem::transmute(ppenum),
dwflags,
bexactmatch.into_param().abi(),
dwmerit,
binputneeded.into_param().abi(),
cinputtypes,
::core::mem::transmute(pinputtypes.unwrap_or(::std::ptr::null())),
::core::mem::transmute(pmedin.unwrap_or(::std::ptr::null())),
::core::mem::transmute(ppincategoryin.unwrap_or(::std::ptr::null())),
brender.into_param().abi(),
boutputneeded.into_param().abi(),
coutputtypes,
::core::mem::transmute(poutputtypes.unwrap_or(::std::ptr::null())),
::core::mem::transmute(pmedout.unwrap_or(::std::ptr::null())),
::core::mem::transmute(ppincategoryout.unwrap_or(::std::ptr::null())),
)
.ok()
}
pub unsafe fn GetICreateDevEnum(&self) -> ::windows::core::Result<ICreateDevEnum> {
let mut result__ = ::windows::core::zeroed::<ICreateDevEnum>();
(::windows::core::Interface::vtable(self).GetICreateDevEnum)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IFilterMapper3, ::windows::core::IUnknown, IFilterMapper2);
impl ::core::cmp::PartialEq for IFilterMapper3 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IFilterMapper3 {}
impl ::core::fmt::Debug for IFilterMapper3 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IFilterMapper3").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IFilterMapper3 {
type Vtable = IFilterMapper3_Vtbl;
}
impl ::core::clone::Clone for IFilterMapper3 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IFilterMapper3 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb79bb0b1_33c1_11d1_abe1_00a0c905f375);
}
#[repr(C)]
#[doc(hidden)]
pub struct IFilterMapper3_Vtbl {
pub base__: IFilterMapper2_Vtbl,
pub GetICreateDevEnum: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IFrequencyMap(::windows::core::IUnknown);
impl IFrequencyMap {
pub unsafe fn get_FrequencyMapping(&self, ulcount: *mut u32, ppullist: *mut *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_FrequencyMapping)(::windows::core::Interface::as_raw(self), ulcount, ppullist).ok()
}
pub unsafe fn put_FrequencyMapping(&self, plist: &[u32]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_FrequencyMapping)(::windows::core::Interface::as_raw(self), plist.len() as _, ::core::mem::transmute(plist.as_ptr())).ok()
}
pub unsafe fn CountryCode(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).CountryCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetCountryCode(&self, ulcountrycode: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetCountryCode)(::windows::core::Interface::as_raw(self), ulcountrycode).ok()
}
pub unsafe fn get_DefaultFrequencyMapping(&self, ulcountrycode: u32, pulcount: *mut u32, ppullist: *mut *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_DefaultFrequencyMapping)(::windows::core::Interface::as_raw(self), ulcountrycode, pulcount, ppullist).ok()
}
pub unsafe fn get_CountryCodeList(&self, pulcount: *mut u32, ppullist: *mut *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_CountryCodeList)(::windows::core::Interface::as_raw(self), pulcount, ppullist).ok()
}
}
::windows::imp::interface_hierarchy!(IFrequencyMap, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IFrequencyMap {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IFrequencyMap {}
impl ::core::fmt::Debug for IFrequencyMap {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IFrequencyMap").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IFrequencyMap {
type Vtable = IFrequencyMap_Vtbl;
}
impl ::core::clone::Clone for IFrequencyMap {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IFrequencyMap {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x06fb45c1_693c_4ea7_b79f_7a6a54d8def2);
}
#[repr(C)]
#[doc(hidden)]
pub struct IFrequencyMap_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub get_FrequencyMapping: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulcount: *mut u32, ppullist: *mut *mut u32) -> ::windows::core::HRESULT,
pub put_FrequencyMapping: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulcount: u32, plist: *const u32) -> ::windows::core::HRESULT,
pub CountryCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulcountrycode: *mut u32) -> ::windows::core::HRESULT,
pub SetCountryCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulcountrycode: u32) -> ::windows::core::HRESULT,
pub get_DefaultFrequencyMapping: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulcountrycode: u32, pulcount: *mut u32, ppullist: *mut *mut u32) -> ::windows::core::HRESULT,
pub get_CountryCodeList: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulcount: *mut u32, ppullist: *mut *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IFullScreenVideo(::windows::core::IUnknown);
impl IFullScreenVideo {
pub unsafe fn CountModes(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).CountModes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetModeInfo(&self, mode: i32, pwidth: *mut i32, pheight: *mut i32, pdepth: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetModeInfo)(::windows::core::Interface::as_raw(self), mode, pwidth, pheight, pdepth).ok()
}
pub unsafe fn GetCurrentMode(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetCurrentMode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn IsModeAvailable(&self, mode: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsModeAvailable)(::windows::core::Interface::as_raw(self), mode).ok()
}
pub unsafe fn IsModeEnabled(&self, mode: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsModeEnabled)(::windows::core::Interface::as_raw(self), mode).ok()
}
pub unsafe fn SetEnabled(&self, mode: i32, benabled: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetEnabled)(::windows::core::Interface::as_raw(self), mode, benabled).ok()
}
pub unsafe fn GetClipFactor(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetClipFactor)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetClipFactor(&self, clipfactor: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetClipFactor)(::windows::core::Interface::as_raw(self), clipfactor).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetMessageDrain<P0>(&self, hwnd: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
{
(::windows::core::Interface::vtable(self).SetMessageDrain)(::windows::core::Interface::as_raw(self), hwnd.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetMessageDrain(&self) -> ::windows::core::Result<super::super::Foundation::HWND> {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::HWND>();
(::windows::core::Interface::vtable(self).GetMessageDrain)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetMonitor(&self, monitor: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMonitor)(::windows::core::Interface::as_raw(self), monitor).ok()
}
pub unsafe fn GetMonitor(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetMonitor)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn HideOnDeactivate(&self, hide: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).HideOnDeactivate)(::windows::core::Interface::as_raw(self), hide).ok()
}
pub unsafe fn IsHideOnDeactivate(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsHideOnDeactivate)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn SetCaption<P0>(&self, strcaption: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
(::windows::core::Interface::vtable(self).SetCaption)(::windows::core::Interface::as_raw(self), strcaption.into_param().abi()).ok()
}
pub unsafe fn GetCaption(&self) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).GetCaption)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDefault(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDefault)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IFullScreenVideo, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IFullScreenVideo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IFullScreenVideo {}
impl ::core::fmt::Debug for IFullScreenVideo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IFullScreenVideo").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IFullScreenVideo {
type Vtable = IFullScreenVideo_Vtbl;
}
impl ::core::clone::Clone for IFullScreenVideo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IFullScreenVideo {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xdd1d7110_7836_11cf_bf47_00aa0055595a);
}
#[repr(C)]
#[doc(hidden)]
pub struct IFullScreenVideo_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub CountModes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmodes: *mut i32) -> ::windows::core::HRESULT,
pub GetModeInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mode: i32, pwidth: *mut i32, pheight: *mut i32, pdepth: *mut i32) -> ::windows::core::HRESULT,
pub GetCurrentMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmode: *mut i32) -> ::windows::core::HRESULT,
pub IsModeAvailable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mode: i32) -> ::windows::core::HRESULT,
pub IsModeEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mode: i32) -> ::windows::core::HRESULT,
pub SetEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mode: i32, benabled: i32) -> ::windows::core::HRESULT,
pub GetClipFactor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pclipfactor: *mut i32) -> ::windows::core::HRESULT,
pub SetClipFactor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clipfactor: i32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetMessageDrain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwnd: super::super::Foundation::HWND) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetMessageDrain: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetMessageDrain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwnd: *mut super::super::Foundation::HWND) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetMessageDrain: usize,
pub SetMonitor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, monitor: i32) -> ::windows::core::HRESULT,
pub GetMonitor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, monitor: *mut i32) -> ::windows::core::HRESULT,
pub HideOnDeactivate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hide: i32) -> ::windows::core::HRESULT,
pub IsHideOnDeactivate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetCaption: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strcaption: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub GetCaption: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstrcaption: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub SetDefault: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IFullScreenVideoEx(::windows::core::IUnknown);
impl IFullScreenVideoEx {
pub unsafe fn CountModes(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.CountModes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetModeInfo(&self, mode: i32, pwidth: *mut i32, pheight: *mut i32, pdepth: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetModeInfo)(::windows::core::Interface::as_raw(self), mode, pwidth, pheight, pdepth).ok()
}
pub unsafe fn GetCurrentMode(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.GetCurrentMode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn IsModeAvailable(&self, mode: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.IsModeAvailable)(::windows::core::Interface::as_raw(self), mode).ok()
}
pub unsafe fn IsModeEnabled(&self, mode: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.IsModeEnabled)(::windows::core::Interface::as_raw(self), mode).ok()
}
pub unsafe fn SetEnabled(&self, mode: i32, benabled: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetEnabled)(::windows::core::Interface::as_raw(self), mode, benabled).ok()
}
pub unsafe fn GetClipFactor(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.GetClipFactor)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetClipFactor(&self, clipfactor: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetClipFactor)(::windows::core::Interface::as_raw(self), clipfactor).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetMessageDrain<P0>(&self, hwnd: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
{
(::windows::core::Interface::vtable(self).base__.SetMessageDrain)(::windows::core::Interface::as_raw(self), hwnd.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetMessageDrain(&self) -> ::windows::core::Result<super::super::Foundation::HWND> {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::HWND>();
(::windows::core::Interface::vtable(self).base__.GetMessageDrain)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetMonitor(&self, monitor: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetMonitor)(::windows::core::Interface::as_raw(self), monitor).ok()
}
pub unsafe fn GetMonitor(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.GetMonitor)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn HideOnDeactivate(&self, hide: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.HideOnDeactivate)(::windows::core::Interface::as_raw(self), hide).ok()
}
pub unsafe fn IsHideOnDeactivate(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.IsHideOnDeactivate)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn SetCaption<P0>(&self, strcaption: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
(::windows::core::Interface::vtable(self).base__.SetCaption)(::windows::core::Interface::as_raw(self), strcaption.into_param().abi()).ok()
}
pub unsafe fn GetCaption(&self) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).base__.GetCaption)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDefault(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetDefault)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
pub unsafe fn SetAcceleratorTable<P0, P1>(&self, hwnd: P0, haccel: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
P1: ::windows::core::IntoParam<super::super::UI::WindowsAndMessaging::HACCEL>,
{
(::windows::core::Interface::vtable(self).SetAcceleratorTable)(::windows::core::Interface::as_raw(self), hwnd.into_param().abi(), haccel.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
pub unsafe fn GetAcceleratorTable(&self, phwnd: *mut super::super::Foundation::HWND, phaccel: *mut super::super::UI::WindowsAndMessaging::HACCEL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetAcceleratorTable)(::windows::core::Interface::as_raw(self), phwnd, phaccel).ok()
}
pub unsafe fn KeepPixelAspectRatio(&self, keepaspect: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).KeepPixelAspectRatio)(::windows::core::Interface::as_raw(self), keepaspect).ok()
}
pub unsafe fn IsKeepPixelAspectRatio(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).IsKeepPixelAspectRatio)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IFullScreenVideoEx, ::windows::core::IUnknown, IFullScreenVideo);
impl ::core::cmp::PartialEq for IFullScreenVideoEx {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IFullScreenVideoEx {}
impl ::core::fmt::Debug for IFullScreenVideoEx {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IFullScreenVideoEx").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IFullScreenVideoEx {
type Vtable = IFullScreenVideoEx_Vtbl;
}
impl ::core::clone::Clone for IFullScreenVideoEx {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IFullScreenVideoEx {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x53479470_f1dd_11cf_bc42_00aa00ac74f6);
}
#[repr(C)]
#[doc(hidden)]
pub struct IFullScreenVideoEx_Vtbl {
pub base__: IFullScreenVideo_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
pub SetAcceleratorTable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwnd: super::super::Foundation::HWND, haccel: super::super::UI::WindowsAndMessaging::HACCEL) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging")))]
SetAcceleratorTable: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
pub GetAcceleratorTable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phwnd: *mut super::super::Foundation::HWND, phaccel: *mut super::super::UI::WindowsAndMessaging::HACCEL) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging")))]
GetAcceleratorTable: usize,
pub KeepPixelAspectRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, keepaspect: i32) -> ::windows::core::HRESULT,
pub IsKeepPixelAspectRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pkeepaspect: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IGetCapabilitiesKey(::windows::core::IUnknown);
impl IGetCapabilitiesKey {
#[doc = "*Required features: `\"Win32_System_Registry\"`*"]
#[cfg(feature = "Win32_System_Registry")]
pub unsafe fn GetCapabilitiesKey(&self) -> ::windows::core::Result<super::super::System::Registry::HKEY> {
let mut result__ = ::windows::core::zeroed::<super::super::System::Registry::HKEY>();
(::windows::core::Interface::vtable(self).GetCapabilitiesKey)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IGetCapabilitiesKey, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IGetCapabilitiesKey {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IGetCapabilitiesKey {}
impl ::core::fmt::Debug for IGetCapabilitiesKey {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IGetCapabilitiesKey").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IGetCapabilitiesKey {
type Vtable = IGetCapabilitiesKey_Vtbl;
}
impl ::core::clone::Clone for IGetCapabilitiesKey {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IGetCapabilitiesKey {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa8809222_07bb_48ea_951c_33158100625b);
}
#[repr(C)]
#[doc(hidden)]
pub struct IGetCapabilitiesKey_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_System_Registry")]
pub GetCapabilitiesKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phkey: *mut super::super::System::Registry::HKEY) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Registry"))]
GetCapabilitiesKey: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IGraphBuilder(::windows::core::IUnknown);
impl IGraphBuilder {
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn AddFilter<P0, P1>(&self, pfilter: P0, pname: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).base__.AddFilter)(::windows::core::Interface::as_raw(self), pfilter.into_param().abi(), pname.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn RemoveFilter<P0>(&self, pfilter: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).base__.RemoveFilter)(::windows::core::Interface::as_raw(self), pfilter.into_param().abi()).ok()
}
pub unsafe fn EnumFilters(&self) -> ::windows::core::Result<IEnumFilters> {
let mut result__ = ::windows::core::zeroed::<IEnumFilters>();
(::windows::core::Interface::vtable(self).base__.EnumFilters)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn FindFilterByName<P0>(&self, pname: P0) -> ::windows::core::Result<IBaseFilter>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
let mut result__ = ::windows::core::zeroed::<IBaseFilter>();
(::windows::core::Interface::vtable(self).base__.FindFilterByName)(::windows::core::Interface::as_raw(self), pname.into_param().abi(), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn ConnectDirect<P0, P1>(&self, ppinout: P0, ppinin: P1, pmt: ::core::option::Option<*const super::MediaFoundation::AM_MEDIA_TYPE>) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
P1: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).base__.ConnectDirect)(::windows::core::Interface::as_raw(self), ppinout.into_param().abi(), ppinin.into_param().abi(), ::core::mem::transmute(pmt.unwrap_or(::std::ptr::null()))).ok()
}
pub unsafe fn Reconnect<P0>(&self, ppin: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).base__.Reconnect)(::windows::core::Interface::as_raw(self), ppin.into_param().abi()).ok()
}
pub unsafe fn Disconnect<P0>(&self, ppin: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).base__.Disconnect)(::windows::core::Interface::as_raw(self), ppin.into_param().abi()).ok()
}
pub unsafe fn SetDefaultSyncSource(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetDefaultSyncSource)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Connect<P0, P1>(&self, ppinout: P0, ppinin: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
P1: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).Connect)(::windows::core::Interface::as_raw(self), ppinout.into_param().abi(), ppinin.into_param().abi()).ok()
}
pub unsafe fn Render<P0>(&self, ppinout: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).Render)(::windows::core::Interface::as_raw(self), ppinout.into_param().abi()).ok()
}
pub unsafe fn RenderFile<P0, P1>(&self, lpcwstrfile: P0, lpcwstrplaylist: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).RenderFile)(::windows::core::Interface::as_raw(self), lpcwstrfile.into_param().abi(), lpcwstrplaylist.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn AddSourceFilter<P0, P1>(&self, lpcwstrfilename: P0, lpcwstrfiltername: P1) -> ::windows::core::Result<IBaseFilter>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
let mut result__ = ::windows::core::zeroed::<IBaseFilter>();
(::windows::core::Interface::vtable(self).AddSourceFilter)(::windows::core::Interface::as_raw(self), lpcwstrfilename.into_param().abi(), lpcwstrfiltername.into_param().abi(), &mut result__).from_abi(result__)
}
pub unsafe fn SetLogFile(&self, hfile: usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetLogFile)(::windows::core::Interface::as_raw(self), hfile).ok()
}
pub unsafe fn Abort(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Abort)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn ShouldOperationContinue(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ShouldOperationContinue)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IGraphBuilder, ::windows::core::IUnknown, IFilterGraph);
impl ::core::cmp::PartialEq for IGraphBuilder {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IGraphBuilder {}
impl ::core::fmt::Debug for IGraphBuilder {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IGraphBuilder").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IGraphBuilder {
type Vtable = IGraphBuilder_Vtbl;
}
impl ::core::clone::Clone for IGraphBuilder {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IGraphBuilder {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868a9_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IGraphBuilder_Vtbl {
pub base__: IFilterGraph_Vtbl,
pub Connect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppinout: *mut ::core::ffi::c_void, ppinin: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Render: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppinout: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub RenderFile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpcwstrfile: ::windows::core::PCWSTR, lpcwstrplaylist: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_System_Com")]
pub AddSourceFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpcwstrfilename: ::windows::core::PCWSTR, lpcwstrfiltername: ::windows::core::PCWSTR, ppfilter: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
AddSourceFilter: usize,
pub SetLogFile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hfile: usize) -> ::windows::core::HRESULT,
pub Abort: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ShouldOperationContinue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IGraphConfig(::windows::core::IUnknown);
impl IGraphConfig {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`, `\"Win32_System_Com\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com"))]
pub unsafe fn Reconnect<P0, P1, P2, P3>(&self, poutputpin: P0, pinputpin: P1, pmtfirstconnection: *const super::MediaFoundation::AM_MEDIA_TYPE, pusingfilter: P2, habortevent: P3, dwflags: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
P1: ::windows::core::IntoParam<IPin>,
P2: ::windows::core::IntoParam<IBaseFilter>,
P3: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
{
(::windows::core::Interface::vtable(self).Reconnect)(::windows::core::Interface::as_raw(self), poutputpin.into_param().abi(), pinputpin.into_param().abi(), pmtfirstconnection, pusingfilter.into_param().abi(), habortevent.into_param().abi(), dwflags).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn Reconfigure<P0, P1>(&self, pcallback: P0, pvcontext: *mut ::core::ffi::c_void, dwflags: u32, habortevent: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IGraphConfigCallback>,
P1: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
{
(::windows::core::Interface::vtable(self).Reconfigure)(::windows::core::Interface::as_raw(self), pcallback.into_param().abi(), pvcontext, dwflags, habortevent.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn AddFilterToCache<P0>(&self, pfilter: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).AddFilterToCache)(::windows::core::Interface::as_raw(self), pfilter.into_param().abi()).ok()
}
pub unsafe fn EnumCacheFilter(&self) -> ::windows::core::Result<IEnumFilters> {
let mut result__ = ::windows::core::zeroed::<IEnumFilters>();
(::windows::core::Interface::vtable(self).EnumCacheFilter)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn RemoveFilterFromCache<P0>(&self, pfilter: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).RemoveFilterFromCache)(::windows::core::Interface::as_raw(self), pfilter.into_param().abi()).ok()
}
pub unsafe fn GetStartTime(&self, prtstart: *mut i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetStartTime)(::windows::core::Interface::as_raw(self), prtstart).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn PushThroughData<P0, P1, P2>(&self, poutputpin: P0, pconnection: P1, heventabort: P2) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
P1: ::windows::core::IntoParam<IPinConnection>,
P2: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
{
(::windows::core::Interface::vtable(self).PushThroughData)(::windows::core::Interface::as_raw(self), poutputpin.into_param().abi(), pconnection.into_param().abi(), heventabort.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn SetFilterFlags<P0>(&self, pfilter: P0, dwflags: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).SetFilterFlags)(::windows::core::Interface::as_raw(self), pfilter.into_param().abi(), dwflags).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn GetFilterFlags<P0>(&self, pfilter: P0, pdwflags: *mut u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).GetFilterFlags)(::windows::core::Interface::as_raw(self), pfilter.into_param().abi(), pdwflags).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn RemoveFilterEx<P0>(&self, pfilter: P0, flags: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).RemoveFilterEx)(::windows::core::Interface::as_raw(self), pfilter.into_param().abi(), flags).ok()
}
}
::windows::imp::interface_hierarchy!(IGraphConfig, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IGraphConfig {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IGraphConfig {}
impl ::core::fmt::Debug for IGraphConfig {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IGraphConfig").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IGraphConfig {
type Vtable = IGraphConfig_Vtbl;
}
impl ::core::clone::Clone for IGraphConfig {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IGraphConfig {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x03a1eb8e_32bf_4245_8502_114d08a9cb88);
}
#[repr(C)]
#[doc(hidden)]
pub struct IGraphConfig_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com"))]
pub Reconnect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, poutputpin: *mut ::core::ffi::c_void, pinputpin: *mut ::core::ffi::c_void, pmtfirstconnection: *const super::MediaFoundation::AM_MEDIA_TYPE, pusingfilter: *mut ::core::ffi::c_void, habortevent: super::super::Foundation::HANDLE, dwflags: u32) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com")))]
Reconnect: usize,
#[cfg(feature = "Win32_Foundation")]
pub Reconfigure: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcallback: *mut ::core::ffi::c_void, pvcontext: *mut ::core::ffi::c_void, dwflags: u32, habortevent: super::super::Foundation::HANDLE) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
Reconfigure: usize,
#[cfg(feature = "Win32_System_Com")]
pub AddFilterToCache: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfilter: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
AddFilterToCache: usize,
pub EnumCacheFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_System_Com")]
pub RemoveFilterFromCache: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfilter: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
RemoveFilterFromCache: usize,
pub GetStartTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prtstart: *mut i64) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub PushThroughData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, poutputpin: *mut ::core::ffi::c_void, pconnection: *mut ::core::ffi::c_void, heventabort: super::super::Foundation::HANDLE) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
PushThroughData: usize,
#[cfg(feature = "Win32_System_Com")]
pub SetFilterFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfilter: *mut ::core::ffi::c_void, dwflags: u32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
SetFilterFlags: usize,
#[cfg(feature = "Win32_System_Com")]
pub GetFilterFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfilter: *mut ::core::ffi::c_void, pdwflags: *mut u32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
GetFilterFlags: usize,
#[cfg(feature = "Win32_System_Com")]
pub RemoveFilterEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfilter: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
RemoveFilterEx: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IGraphConfigCallback(::windows::core::IUnknown);
impl IGraphConfigCallback {
pub unsafe fn Reconfigure(&self, pvcontext: *mut ::core::ffi::c_void, dwflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Reconfigure)(::windows::core::Interface::as_raw(self), pvcontext, dwflags).ok()
}
}
::windows::imp::interface_hierarchy!(IGraphConfigCallback, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IGraphConfigCallback {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IGraphConfigCallback {}
impl ::core::fmt::Debug for IGraphConfigCallback {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IGraphConfigCallback").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IGraphConfigCallback {
type Vtable = IGraphConfigCallback_Vtbl;
}
impl ::core::clone::Clone for IGraphConfigCallback {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IGraphConfigCallback {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xade0fd60_d19d_11d2_abf6_00a0c905f375);
}
#[repr(C)]
#[doc(hidden)]
pub struct IGraphConfigCallback_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub Reconfigure: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvcontext: *mut ::core::ffi::c_void, dwflags: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IGraphVersion(::windows::core::IUnknown);
impl IGraphVersion {
pub unsafe fn QueryVersion(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).QueryVersion)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IGraphVersion, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IGraphVersion {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IGraphVersion {}
impl ::core::fmt::Debug for IGraphVersion {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IGraphVersion").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IGraphVersion {
type Vtable = IGraphVersion_Vtbl;
}
impl ::core::clone::Clone for IGraphVersion {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IGraphVersion {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868ab_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IGraphVersion_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub QueryVersion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pversion: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IIPDVDec(::windows::core::IUnknown);
impl IIPDVDec {
pub unsafe fn IPDisplay(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).IPDisplay)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetIPDisplay(&self, displaypix: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetIPDisplay)(::windows::core::Interface::as_raw(self), displaypix).ok()
}
}
::windows::imp::interface_hierarchy!(IIPDVDec, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IIPDVDec {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IIPDVDec {}
impl ::core::fmt::Debug for IIPDVDec {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IIPDVDec").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IIPDVDec {
type Vtable = IIPDVDec_Vtbl;
}
impl ::core::clone::Clone for IIPDVDec {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IIPDVDec {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb8e8bd60_0bfe_11d0_af91_00aa00b67a42);
}
#[repr(C)]
#[doc(hidden)]
pub struct IIPDVDec_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub IPDisplay: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, displaypix: *mut i32) -> ::windows::core::HRESULT,
pub SetIPDisplay: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, displaypix: i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IKsNodeControl(::windows::core::IUnknown);
impl IKsNodeControl {
pub unsafe fn SetNodeId(&self, dwnodeid: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetNodeId)(::windows::core::Interface::as_raw(self), dwnodeid).ok()
}
pub unsafe fn SetKsControl(&self, pkscontrol: *const ::core::ffi::c_void) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetKsControl)(::windows::core::Interface::as_raw(self), pkscontrol).ok()
}
}
::windows::imp::interface_hierarchy!(IKsNodeControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IKsNodeControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IKsNodeControl {}
impl ::core::fmt::Debug for IKsNodeControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IKsNodeControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IKsNodeControl {
type Vtable = IKsNodeControl_Vtbl;
}
impl ::core::clone::Clone for IKsNodeControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IKsNodeControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x11737c14_24a7_4bb5_81a0_0d003813b0c4);
}
#[repr(C)]
#[doc(hidden)]
pub struct IKsNodeControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetNodeId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwnodeid: u32) -> ::windows::core::HRESULT,
pub SetKsControl: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pkscontrol: *const ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IKsTopologyInfo(::windows::core::IUnknown);
impl IKsTopologyInfo {
pub unsafe fn NumCategories(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).NumCategories)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn get_Category(&self, dwindex: u32) -> ::windows::core::Result<::windows::core::GUID> {
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).get_Category)(::windows::core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__)
}
pub unsafe fn NumConnections(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).NumConnections)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Media_KernelStreaming\"`*"]
#[cfg(feature = "Win32_Media_KernelStreaming")]
pub unsafe fn get_ConnectionInfo(&self, dwindex: u32) -> ::windows::core::Result<super::KernelStreaming::KSTOPOLOGY_CONNECTION> {
let mut result__ = ::windows::core::zeroed::<super::KernelStreaming::KSTOPOLOGY_CONNECTION>();
(::windows::core::Interface::vtable(self).get_ConnectionInfo)(::windows::core::Interface::as_raw(self), dwindex, &mut result__).from_abi(result__)
}
pub unsafe fn get_NodeName(&self, dwnodeid: u32, pwchnodename: ::windows::core::PWSTR, dwbufsize: u32, pdwnamelen: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_NodeName)(::windows::core::Interface::as_raw(self), dwnodeid, ::core::mem::transmute(pwchnodename), dwbufsize, pdwnamelen).ok()
}
pub unsafe fn NumNodes(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).NumNodes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn get_NodeType(&self, dwnodeid: u32) -> ::windows::core::Result<::windows::core::GUID> {
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).get_NodeType)(::windows::core::Interface::as_raw(self), dwnodeid, &mut result__).from_abi(result__)
}
pub unsafe fn CreateNodeInstance(&self, dwnodeid: u32, iid: *const ::windows::core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).CreateNodeInstance)(::windows::core::Interface::as_raw(self), dwnodeid, iid, ppvobject).ok()
}
}
::windows::imp::interface_hierarchy!(IKsTopologyInfo, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IKsTopologyInfo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IKsTopologyInfo {}
impl ::core::fmt::Debug for IKsTopologyInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IKsTopologyInfo").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IKsTopologyInfo {
type Vtable = IKsTopologyInfo_Vtbl;
}
impl ::core::clone::Clone for IKsTopologyInfo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IKsTopologyInfo {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x720d4ac0_7533_11d0_a5d6_28db04c10000);
}
#[repr(C)]
#[doc(hidden)]
pub struct IKsTopologyInfo_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub NumCategories: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwnumcategories: *mut u32) -> ::windows::core::HRESULT,
pub get_Category: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwindex: u32, pcategory: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub NumConnections: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwnumconnections: *mut u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Media_KernelStreaming")]
pub get_ConnectionInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwindex: u32, pconnectioninfo: *mut super::KernelStreaming::KSTOPOLOGY_CONNECTION) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Media_KernelStreaming"))]
get_ConnectionInfo: usize,
pub get_NodeName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwnodeid: u32, pwchnodename: ::windows::core::PWSTR, dwbufsize: u32, pdwnamelen: *mut u32) -> ::windows::core::HRESULT,
pub NumNodes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwnumnodes: *mut u32) -> ::windows::core::HRESULT,
pub get_NodeType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwnodeid: u32, pnodetype: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub CreateNodeInstance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwnodeid: u32, iid: *const ::windows::core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMPEG2PIDMap(::windows::core::IUnknown);
impl IMPEG2PIDMap {
pub unsafe fn MapPID(&self, culpid: u32, pulpid: *const u32, mediasamplecontent: MEDIA_SAMPLE_CONTENT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).MapPID)(::windows::core::Interface::as_raw(self), culpid, pulpid, mediasamplecontent).ok()
}
pub unsafe fn UnmapPID(&self, culpid: u32, pulpid: *const u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).UnmapPID)(::windows::core::Interface::as_raw(self), culpid, pulpid).ok()
}
pub unsafe fn EnumPIDMap(&self) -> ::windows::core::Result<IEnumPIDMap> {
let mut result__ = ::windows::core::zeroed::<IEnumPIDMap>();
(::windows::core::Interface::vtable(self).EnumPIDMap)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IMPEG2PIDMap, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMPEG2PIDMap {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMPEG2PIDMap {}
impl ::core::fmt::Debug for IMPEG2PIDMap {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMPEG2PIDMap").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMPEG2PIDMap {
type Vtable = IMPEG2PIDMap_Vtbl;
}
impl ::core::clone::Clone for IMPEG2PIDMap {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMPEG2PIDMap {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xafb6c2a1_2c41_11d3_8a60_0000f81e0e4a);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMPEG2PIDMap_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub MapPID: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, culpid: u32, pulpid: *const u32, mediasamplecontent: MEDIA_SAMPLE_CONTENT) -> ::windows::core::HRESULT,
pub UnmapPID: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, culpid: u32, pulpid: *const u32) -> ::windows::core::HRESULT,
pub EnumPIDMap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pienumpidmap: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMPEG2StreamIdMap(::windows::core::IUnknown);
impl IMPEG2StreamIdMap {
pub unsafe fn MapStreamId(&self, ulstreamid: u32, mediasamplecontent: u32, ulsubstreamfiltervalue: u32, idataoffset: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).MapStreamId)(::windows::core::Interface::as_raw(self), ulstreamid, mediasamplecontent, ulsubstreamfiltervalue, idataoffset).ok()
}
pub unsafe fn UnmapStreamId(&self, pulstreamid: &[u32]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).UnmapStreamId)(::windows::core::Interface::as_raw(self), pulstreamid.len() as _, ::core::mem::transmute(pulstreamid.as_ptr())).ok()
}
pub unsafe fn EnumStreamIdMap(&self) -> ::windows::core::Result<IEnumStreamIdMap> {
let mut result__ = ::windows::core::zeroed::<IEnumStreamIdMap>();
(::windows::core::Interface::vtable(self).EnumStreamIdMap)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IMPEG2StreamIdMap, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMPEG2StreamIdMap {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMPEG2StreamIdMap {}
impl ::core::fmt::Debug for IMPEG2StreamIdMap {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMPEG2StreamIdMap").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMPEG2StreamIdMap {
type Vtable = IMPEG2StreamIdMap_Vtbl;
}
impl ::core::clone::Clone for IMPEG2StreamIdMap {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMPEG2StreamIdMap {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd0e04c47_25b8_4369_925a_362a01d95444);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMPEG2StreamIdMap_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub MapStreamId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulstreamid: u32, mediasamplecontent: u32, ulsubstreamfiltervalue: u32, idataoffset: i32) -> ::windows::core::HRESULT,
pub UnmapStreamId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, culstreamid: u32, pulstreamid: *const u32) -> ::windows::core::HRESULT,
pub EnumStreamIdMap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppienumstreamidmap: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IMediaControl(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IMediaControl {
pub unsafe fn Run(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Run)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Pause(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Pause)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Stop(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Stop)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn GetState(&self, mstimeout: i32) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetState)(::windows::core::Interface::as_raw(self), mstimeout, &mut result__).from_abi(result__)
}
pub unsafe fn RenderFile<P0>(&self, strfilename: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
(::windows::core::Interface::vtable(self).RenderFile)(::windows::core::Interface::as_raw(self), strfilename.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn AddSourceFilter<P0>(&self, strfilename: P0) -> ::windows::core::Result<super::super::System::Com::IDispatch>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
let mut result__ = ::windows::core::zeroed::<super::super::System::Com::IDispatch>();
(::windows::core::Interface::vtable(self).AddSourceFilter)(::windows::core::Interface::as_raw(self), strfilename.into_param().abi(), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn FilterCollection(&self) -> ::windows::core::Result<super::super::System::Com::IDispatch> {
let mut result__ = ::windows::core::zeroed::<super::super::System::Com::IDispatch>();
(::windows::core::Interface::vtable(self).FilterCollection)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn RegFilterCollection(&self) -> ::windows::core::Result<super::super::System::Com::IDispatch> {
let mut result__ = ::windows::core::zeroed::<super::super::System::Com::IDispatch>();
(::windows::core::Interface::vtable(self).RegFilterCollection)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn StopWhenReady(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).StopWhenReady)(::windows::core::Interface::as_raw(self)).ok()
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IMediaControl, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IMediaControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IMediaControl {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IMediaControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMediaControl").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IMediaControl {
type Vtable = IMediaControl_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IMediaControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IMediaControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868b1_0ad4_11ce_b03a_0020af0ba770);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IMediaControl_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
pub Run: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Pause: 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,
pub GetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mstimeout: i32, pfs: *mut i32) -> ::windows::core::HRESULT,
pub RenderFile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strfilename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_System_Com")]
pub AddSourceFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strfilename: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
AddSourceFilter: usize,
#[cfg(feature = "Win32_System_Com")]
pub FilterCollection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
FilterCollection: usize,
#[cfg(feature = "Win32_System_Com")]
pub RegFilterCollection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
RegFilterCollection: usize,
pub StopWhenReady: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IMediaEvent(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IMediaEvent {
pub unsafe fn GetEventHandle(&self) -> ::windows::core::Result<isize> {
let mut result__ = ::windows::core::zeroed::<isize>();
(::windows::core::Interface::vtable(self).GetEventHandle)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetEvent(&self, leventcode: *mut i32, lparam1: *mut isize, lparam2: *mut isize, mstimeout: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetEvent)(::windows::core::Interface::as_raw(self), leventcode, lparam1, lparam2, mstimeout).ok()
}
pub unsafe fn WaitForCompletion(&self, mstimeout: i32) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).WaitForCompletion)(::windows::core::Interface::as_raw(self), mstimeout, &mut result__).from_abi(result__)
}
pub unsafe fn CancelDefaultHandling(&self, levcode: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).CancelDefaultHandling)(::windows::core::Interface::as_raw(self), levcode).ok()
}
pub unsafe fn RestoreDefaultHandling(&self, levcode: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).RestoreDefaultHandling)(::windows::core::Interface::as_raw(self), levcode).ok()
}
pub unsafe fn FreeEventParams(&self, levcode: i32, lparam1: isize, lparam2: isize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).FreeEventParams)(::windows::core::Interface::as_raw(self), levcode, lparam1, lparam2).ok()
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IMediaEvent, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IMediaEvent {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IMediaEvent {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IMediaEvent {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMediaEvent").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IMediaEvent {
type Vtable = IMediaEvent_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IMediaEvent {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IMediaEvent {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868b6_0ad4_11ce_b03a_0020af0ba770);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IMediaEvent_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
pub GetEventHandle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hevent: *mut isize) -> ::windows::core::HRESULT,
pub GetEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, leventcode: *mut i32, lparam1: *mut isize, lparam2: *mut isize, mstimeout: i32) -> ::windows::core::HRESULT,
pub WaitForCompletion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mstimeout: i32, pevcode: *mut i32) -> ::windows::core::HRESULT,
pub CancelDefaultHandling: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, levcode: i32) -> ::windows::core::HRESULT,
pub RestoreDefaultHandling: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, levcode: i32) -> ::windows::core::HRESULT,
pub FreeEventParams: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, levcode: i32, lparam1: isize, lparam2: isize) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IMediaEventEx(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IMediaEventEx {
pub unsafe fn GetEventHandle(&self) -> ::windows::core::Result<isize> {
let mut result__ = ::windows::core::zeroed::<isize>();
(::windows::core::Interface::vtable(self).base__.GetEventHandle)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetEvent(&self, leventcode: *mut i32, lparam1: *mut isize, lparam2: *mut isize, mstimeout: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetEvent)(::windows::core::Interface::as_raw(self), leventcode, lparam1, lparam2, mstimeout).ok()
}
pub unsafe fn WaitForCompletion(&self, mstimeout: i32) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).base__.WaitForCompletion)(::windows::core::Interface::as_raw(self), mstimeout, &mut result__).from_abi(result__)
}
pub unsafe fn CancelDefaultHandling(&self, levcode: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.CancelDefaultHandling)(::windows::core::Interface::as_raw(self), levcode).ok()
}
pub unsafe fn RestoreDefaultHandling(&self, levcode: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.RestoreDefaultHandling)(::windows::core::Interface::as_raw(self), levcode).ok()
}
pub unsafe fn FreeEventParams(&self, levcode: i32, lparam1: isize, lparam2: isize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.FreeEventParams)(::windows::core::Interface::as_raw(self), levcode, lparam1, lparam2).ok()
}
pub unsafe fn SetNotifyWindow(&self, hwnd: isize, lmsg: i32, linstancedata: isize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetNotifyWindow)(::windows::core::Interface::as_raw(self), hwnd, lmsg, linstancedata).ok()
}
pub unsafe fn SetNotifyFlags(&self, lnonotifyflags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetNotifyFlags)(::windows::core::Interface::as_raw(self), lnonotifyflags).ok()
}
pub unsafe fn GetNotifyFlags(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetNotifyFlags)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IMediaEventEx, ::windows::core::IUnknown, super::super::System::Com::IDispatch, IMediaEvent);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IMediaEventEx {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IMediaEventEx {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IMediaEventEx {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMediaEventEx").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IMediaEventEx {
type Vtable = IMediaEventEx_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IMediaEventEx {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IMediaEventEx {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868c0_0ad4_11ce_b03a_0020af0ba770);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IMediaEventEx_Vtbl {
pub base__: IMediaEvent_Vtbl,
pub SetNotifyWindow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwnd: isize, lmsg: i32, linstancedata: isize) -> ::windows::core::HRESULT,
pub SetNotifyFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lnonotifyflags: i32) -> ::windows::core::HRESULT,
pub GetNotifyFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lplnonotifyflags: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMediaEventSink(::windows::core::IUnknown);
impl IMediaEventSink {
pub unsafe fn Notify(&self, eventcode: i32, eventparam1: isize, eventparam2: isize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Notify)(::windows::core::Interface::as_raw(self), eventcode, eventparam1, eventparam2).ok()
}
}
::windows::imp::interface_hierarchy!(IMediaEventSink, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMediaEventSink {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMediaEventSink {}
impl ::core::fmt::Debug for IMediaEventSink {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMediaEventSink").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMediaEventSink {
type Vtable = IMediaEventSink_Vtbl;
}
impl ::core::clone::Clone for IMediaEventSink {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMediaEventSink {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868a2_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMediaEventSink_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub Notify: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventcode: i32, eventparam1: isize, eventparam2: isize) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IMediaFilter(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IMediaFilter {
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn GetClassID(&self) -> ::windows::core::Result<::windows::core::GUID> {
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).base__.GetClassID)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Stop(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Stop)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Pause(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Pause)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Run(&self, tstart: i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Run)(::windows::core::Interface::as_raw(self), tstart).ok()
}
pub unsafe fn GetState(&self, dwmillisecstimeout: u32) -> ::windows::core::Result<FILTER_STATE> {
let mut result__ = ::windows::core::zeroed::<FILTER_STATE>();
(::windows::core::Interface::vtable(self).GetState)(::windows::core::Interface::as_raw(self), dwmillisecstimeout, &mut result__).from_abi(result__)
}
pub unsafe fn SetSyncSource<P0>(&self, pclock: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::IReferenceClock>,
{
(::windows::core::Interface::vtable(self).SetSyncSource)(::windows::core::Interface::as_raw(self), pclock.into_param().abi()).ok()
}
pub unsafe fn GetSyncSource(&self) -> ::windows::core::Result<super::IReferenceClock> {
let mut result__ = ::windows::core::zeroed::<super::IReferenceClock>();
(::windows::core::Interface::vtable(self).GetSyncSource)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IMediaFilter, ::windows::core::IUnknown, super::super::System::Com::IPersist);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IMediaFilter {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IMediaFilter {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IMediaFilter {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMediaFilter").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IMediaFilter {
type Vtable = IMediaFilter_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IMediaFilter {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IMediaFilter {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a86899_0ad4_11ce_b03a_0020af0ba770);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IMediaFilter_Vtbl {
pub base__: super::super::System::Com::IPersist_Vtbl,
pub Stop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Pause: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Run: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, tstart: i64) -> ::windows::core::HRESULT,
pub GetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwmillisecstimeout: u32, state: *mut FILTER_STATE) -> ::windows::core::HRESULT,
pub SetSyncSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pclock: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetSyncSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pclock: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMediaParamInfo(::windows::core::IUnknown);
impl IMediaParamInfo {
pub unsafe fn GetParamCount(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetParamCount)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetParamInfo(&self, dwparamindex: u32, pinfo: *mut MP_PARAMINFO) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetParamInfo)(::windows::core::Interface::as_raw(self), dwparamindex, pinfo).ok()
}
pub unsafe fn GetParamText(&self, dwparamindex: u32) -> ::windows::core::Result<*mut u16> {
let mut result__ = ::windows::core::zeroed::<*mut u16>();
(::windows::core::Interface::vtable(self).GetParamText)(::windows::core::Interface::as_raw(self), dwparamindex, &mut result__).from_abi(result__)
}
pub unsafe fn GetNumTimeFormats(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetNumTimeFormats)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetSupportedTimeFormat(&self, dwformatindex: u32) -> ::windows::core::Result<::windows::core::GUID> {
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).GetSupportedTimeFormat)(::windows::core::Interface::as_raw(self), dwformatindex, &mut result__).from_abi(result__)
}
pub unsafe fn GetCurrentTimeFormat(&self, pguidtimeformat: *mut ::windows::core::GUID, ptimedata: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurrentTimeFormat)(::windows::core::Interface::as_raw(self), pguidtimeformat, ptimedata).ok()
}
}
::windows::imp::interface_hierarchy!(IMediaParamInfo, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMediaParamInfo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMediaParamInfo {}
impl ::core::fmt::Debug for IMediaParamInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMediaParamInfo").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMediaParamInfo {
type Vtable = IMediaParamInfo_Vtbl;
}
impl ::core::clone::Clone for IMediaParamInfo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMediaParamInfo {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6d6cbb60_a223_44aa_842f_a2f06750be6d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMediaParamInfo_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetParamCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwparams: *mut u32) -> ::windows::core::HRESULT,
pub GetParamInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwparamindex: u32, pinfo: *mut MP_PARAMINFO) -> ::windows::core::HRESULT,
pub GetParamText: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwparamindex: u32, ppwchtext: *mut *mut u16) -> ::windows::core::HRESULT,
pub GetNumTimeFormats: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwnumtimeformats: *mut u32) -> ::windows::core::HRESULT,
pub GetSupportedTimeFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwformatindex: u32, pguidtimeformat: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub GetCurrentTimeFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguidtimeformat: *mut ::windows::core::GUID, ptimedata: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMediaParams(::windows::core::IUnknown);
impl IMediaParams {
pub unsafe fn GetParam(&self, dwparamindex: u32) -> ::windows::core::Result<f32> {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(self).GetParam)(::windows::core::Interface::as_raw(self), dwparamindex, &mut result__).from_abi(result__)
}
pub unsafe fn SetParam(&self, dwparamindex: u32, value: f32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetParam)(::windows::core::Interface::as_raw(self), dwparamindex, value).ok()
}
pub unsafe fn AddEnvelope(&self, dwparamindex: u32, csegments: u32, penvelopesegments: *const MP_ENVELOPE_SEGMENT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).AddEnvelope)(::windows::core::Interface::as_raw(self), dwparamindex, csegments, penvelopesegments).ok()
}
pub unsafe fn FlushEnvelope(&self, dwparamindex: u32, reftimestart: i64, reftimeend: i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).FlushEnvelope)(::windows::core::Interface::as_raw(self), dwparamindex, reftimestart, reftimeend).ok()
}
pub unsafe fn SetTimeFormat(&self, guidtimeformat: ::windows::core::GUID, mptimedata: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTimeFormat)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(guidtimeformat), mptimedata).ok()
}
}
::windows::imp::interface_hierarchy!(IMediaParams, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMediaParams {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMediaParams {}
impl ::core::fmt::Debug for IMediaParams {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMediaParams").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMediaParams {
type Vtable = IMediaParams_Vtbl;
}
impl ::core::clone::Clone for IMediaParams {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMediaParams {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6d6cbb61_a223_44aa_842f_a2f06750be6e);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMediaParams_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetParam: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwparamindex: u32, pvalue: *mut f32) -> ::windows::core::HRESULT,
pub SetParam: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwparamindex: u32, value: f32) -> ::windows::core::HRESULT,
pub AddEnvelope: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwparamindex: u32, csegments: u32, penvelopesegments: *const MP_ENVELOPE_SEGMENT) -> ::windows::core::HRESULT,
pub FlushEnvelope: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwparamindex: u32, reftimestart: i64, reftimeend: i64) -> ::windows::core::HRESULT,
pub SetTimeFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guidtimeformat: ::windows::core::GUID, mptimedata: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IMediaPosition(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IMediaPosition {
pub unsafe fn Duration(&self) -> ::windows::core::Result<f64> {
let mut result__ = ::windows::core::zeroed::<f64>();
(::windows::core::Interface::vtable(self).Duration)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetCurrentPosition(&self, lltime: f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetCurrentPosition)(::windows::core::Interface::as_raw(self), lltime).ok()
}
pub unsafe fn CurrentPosition(&self) -> ::windows::core::Result<f64> {
let mut result__ = ::windows::core::zeroed::<f64>();
(::windows::core::Interface::vtable(self).CurrentPosition)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn StopTime(&self) -> ::windows::core::Result<f64> {
let mut result__ = ::windows::core::zeroed::<f64>();
(::windows::core::Interface::vtable(self).StopTime)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetStopTime(&self, lltime: f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetStopTime)(::windows::core::Interface::as_raw(self), lltime).ok()
}
pub unsafe fn PrerollTime(&self) -> ::windows::core::Result<f64> {
let mut result__ = ::windows::core::zeroed::<f64>();
(::windows::core::Interface::vtable(self).PrerollTime)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetPrerollTime(&self, lltime: f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetPrerollTime)(::windows::core::Interface::as_raw(self), lltime).ok()
}
pub unsafe fn SetRate(&self, drate: f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetRate)(::windows::core::Interface::as_raw(self), drate).ok()
}
pub unsafe fn Rate(&self) -> ::windows::core::Result<f64> {
let mut result__ = ::windows::core::zeroed::<f64>();
(::windows::core::Interface::vtable(self).Rate)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn CanSeekForward(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).CanSeekForward)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn CanSeekBackward(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).CanSeekBackward)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IMediaPosition, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IMediaPosition {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IMediaPosition {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IMediaPosition {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMediaPosition").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IMediaPosition {
type Vtable = IMediaPosition_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IMediaPosition {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IMediaPosition {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868b2_0ad4_11ce_b03a_0020af0ba770);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IMediaPosition_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
pub Duration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plength: *mut f64) -> ::windows::core::HRESULT,
pub SetCurrentPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lltime: f64) -> ::windows::core::HRESULT,
pub CurrentPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plltime: *mut f64) -> ::windows::core::HRESULT,
pub StopTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plltime: *mut f64) -> ::windows::core::HRESULT,
pub SetStopTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lltime: f64) -> ::windows::core::HRESULT,
pub PrerollTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plltime: *mut f64) -> ::windows::core::HRESULT,
pub SetPrerollTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lltime: f64) -> ::windows::core::HRESULT,
pub SetRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, drate: f64) -> ::windows::core::HRESULT,
pub Rate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdrate: *mut f64) -> ::windows::core::HRESULT,
pub CanSeekForward: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcanseekforward: *mut i32) -> ::windows::core::HRESULT,
pub CanSeekBackward: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcanseekbackward: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com_StructuredStorage\"`*"]
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
#[repr(transparent)]
pub struct IMediaPropertyBag(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
impl IMediaPropertyBag {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com_StructuredStorage\"`, `\"Win32_System_Ole\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole"))]
pub unsafe fn Read<P0, P1>(&self, pszpropname: P0, pvar: *mut super::super::System::Com::VARIANT, perrorlog: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
P1: ::windows::core::IntoParam<super::super::System::Com::IErrorLog>,
{
(::windows::core::Interface::vtable(self).base__.Read)(::windows::core::Interface::as_raw(self), pszpropname.into_param().abi(), pvar, perrorlog.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com_StructuredStorage\"`, `\"Win32_System_Ole\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole"))]
pub unsafe fn Write<P0>(&self, pszpropname: P0, pvar: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).base__.Write)(::windows::core::Interface::as_raw(self), pszpropname.into_param().abi(), pvar).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub unsafe fn EnumProperty(&self, iproperty: u32, pvarpropertyname: *mut super::super::System::Com::VARIANT, pvarpropertyvalue: *mut super::super::System::Com::VARIANT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).EnumProperty)(::windows::core::Interface::as_raw(self), iproperty, pvarpropertyname, pvarpropertyvalue).ok()
}
}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
::windows::imp::interface_hierarchy!(IMediaPropertyBag, ::windows::core::IUnknown, super::super::System::Com::StructuredStorage::IPropertyBag);
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
impl ::core::cmp::PartialEq for IMediaPropertyBag {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
impl ::core::cmp::Eq for IMediaPropertyBag {}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
impl ::core::fmt::Debug for IMediaPropertyBag {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMediaPropertyBag").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
unsafe impl ::windows::core::Interface for IMediaPropertyBag {
type Vtable = IMediaPropertyBag_Vtbl;
}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
impl ::core::clone::Clone for IMediaPropertyBag {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
unsafe impl ::windows::core::ComInterface for IMediaPropertyBag {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6025a880_c0d5_11d0_bd4e_00a0c911ce86);
}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
#[repr(C)]
#[doc(hidden)]
pub struct IMediaPropertyBag_Vtbl {
pub base__: super::super::System::Com::StructuredStorage::IPropertyBag_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub EnumProperty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, iproperty: u32, pvarpropertyname: *mut super::super::System::Com::VARIANT, pvarpropertyvalue: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
EnumProperty: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMediaSample(::windows::core::IUnknown);
impl IMediaSample {
pub unsafe fn GetPointer(&self) -> ::windows::core::Result<*mut u8> {
let mut result__ = ::windows::core::zeroed::<*mut u8>();
(::windows::core::Interface::vtable(self).GetPointer)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetSize(&self) -> i32 {
(::windows::core::Interface::vtable(self).GetSize)(::windows::core::Interface::as_raw(self))
}
pub unsafe fn GetTime(&self, ptimestart: *mut i64, ptimeend: *mut i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetTime)(::windows::core::Interface::as_raw(self), ptimestart, ptimeend).ok()
}
pub unsafe fn SetTime(&self, ptimestart: ::core::option::Option<*const i64>, ptimeend: ::core::option::Option<*const i64>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTime)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ptimestart.unwrap_or(::std::ptr::null())), ::core::mem::transmute(ptimeend.unwrap_or(::std::ptr::null()))).ok()
}
pub unsafe fn IsSyncPoint(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsSyncPoint)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetSyncPoint<P0>(&self, bissyncpoint: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetSyncPoint)(::windows::core::Interface::as_raw(self), bissyncpoint.into_param().abi()).ok()
}
pub unsafe fn IsPreroll(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsPreroll)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetPreroll<P0>(&self, bispreroll: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetPreroll)(::windows::core::Interface::as_raw(self), bispreroll.into_param().abi()).ok()
}
pub unsafe fn GetActualDataLength(&self) -> i32 {
(::windows::core::Interface::vtable(self).GetActualDataLength)(::windows::core::Interface::as_raw(self))
}
pub unsafe fn SetActualDataLength(&self, __midl__imediasample0000: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetActualDataLength)(::windows::core::Interface::as_raw(self), __midl__imediasample0000).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn GetMediaType(&self) -> ::windows::core::Result<*mut super::MediaFoundation::AM_MEDIA_TYPE> {
let mut result__ = ::windows::core::zeroed::<*mut super::MediaFoundation::AM_MEDIA_TYPE>();
(::windows::core::Interface::vtable(self).GetMediaType)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn SetMediaType(&self, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMediaType)(::windows::core::Interface::as_raw(self), pmediatype).ok()
}
pub unsafe fn IsDiscontinuity(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsDiscontinuity)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetDiscontinuity<P0>(&self, bdiscontinuity: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetDiscontinuity)(::windows::core::Interface::as_raw(self), bdiscontinuity.into_param().abi()).ok()
}
pub unsafe fn GetMediaTime(&self, ptimestart: *mut i64, ptimeend: *mut i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMediaTime)(::windows::core::Interface::as_raw(self), ptimestart, ptimeend).ok()
}
pub unsafe fn SetMediaTime(&self, ptimestart: ::core::option::Option<*const i64>, ptimeend: ::core::option::Option<*const i64>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMediaTime)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ptimestart.unwrap_or(::std::ptr::null())), ::core::mem::transmute(ptimeend.unwrap_or(::std::ptr::null()))).ok()
}
}
::windows::imp::interface_hierarchy!(IMediaSample, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMediaSample {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMediaSample {}
impl ::core::fmt::Debug for IMediaSample {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMediaSample").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMediaSample {
type Vtable = IMediaSample_Vtbl;
}
impl ::core::clone::Clone for IMediaSample {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMediaSample {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a8689a_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMediaSample_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetPointer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppbuffer: *mut *mut u8) -> ::windows::core::HRESULT,
pub GetSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> i32,
pub GetTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptimestart: *mut i64, ptimeend: *mut i64) -> ::windows::core::HRESULT,
pub SetTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptimestart: *const i64, ptimeend: *const i64) -> ::windows::core::HRESULT,
pub IsSyncPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetSyncPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bissyncpoint: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetSyncPoint: usize,
pub IsPreroll: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetPreroll: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bispreroll: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetPreroll: usize,
pub GetActualDataLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> i32,
pub SetActualDataLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, __midl__imediasample0000: i32) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub GetMediaType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppmediatype: *mut *mut super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
GetMediaType: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub SetMediaType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
SetMediaType: usize,
pub IsDiscontinuity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetDiscontinuity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bdiscontinuity: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetDiscontinuity: usize,
pub GetMediaTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptimestart: *mut i64, ptimeend: *mut i64) -> ::windows::core::HRESULT,
pub SetMediaTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptimestart: *const i64, ptimeend: *const i64) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMediaSample2(::windows::core::IUnknown);
impl IMediaSample2 {
pub unsafe fn GetPointer(&self) -> ::windows::core::Result<*mut u8> {
let mut result__ = ::windows::core::zeroed::<*mut u8>();
(::windows::core::Interface::vtable(self).base__.GetPointer)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetSize(&self) -> i32 {
(::windows::core::Interface::vtable(self).base__.GetSize)(::windows::core::Interface::as_raw(self))
}
pub unsafe fn GetTime(&self, ptimestart: *mut i64, ptimeend: *mut i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetTime)(::windows::core::Interface::as_raw(self), ptimestart, ptimeend).ok()
}
pub unsafe fn SetTime(&self, ptimestart: ::core::option::Option<*const i64>, ptimeend: ::core::option::Option<*const i64>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetTime)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ptimestart.unwrap_or(::std::ptr::null())), ::core::mem::transmute(ptimeend.unwrap_or(::std::ptr::null()))).ok()
}
pub unsafe fn IsSyncPoint(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.IsSyncPoint)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetSyncPoint<P0>(&self, bissyncpoint: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).base__.SetSyncPoint)(::windows::core::Interface::as_raw(self), bissyncpoint.into_param().abi()).ok()
}
pub unsafe fn IsPreroll(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.IsPreroll)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetPreroll<P0>(&self, bispreroll: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).base__.SetPreroll)(::windows::core::Interface::as_raw(self), bispreroll.into_param().abi()).ok()
}
pub unsafe fn GetActualDataLength(&self) -> i32 {
(::windows::core::Interface::vtable(self).base__.GetActualDataLength)(::windows::core::Interface::as_raw(self))
}
pub unsafe fn SetActualDataLength(&self, __midl__imediasample0000: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetActualDataLength)(::windows::core::Interface::as_raw(self), __midl__imediasample0000).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn GetMediaType(&self) -> ::windows::core::Result<*mut super::MediaFoundation::AM_MEDIA_TYPE> {
let mut result__ = ::windows::core::zeroed::<*mut super::MediaFoundation::AM_MEDIA_TYPE>();
(::windows::core::Interface::vtable(self).base__.GetMediaType)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn SetMediaType(&self, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetMediaType)(::windows::core::Interface::as_raw(self), pmediatype).ok()
}
pub unsafe fn IsDiscontinuity(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.IsDiscontinuity)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetDiscontinuity<P0>(&self, bdiscontinuity: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).base__.SetDiscontinuity)(::windows::core::Interface::as_raw(self), bdiscontinuity.into_param().abi()).ok()
}
pub unsafe fn GetMediaTime(&self, ptimestart: *mut i64, ptimeend: *mut i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetMediaTime)(::windows::core::Interface::as_raw(self), ptimestart, ptimeend).ok()
}
pub unsafe fn SetMediaTime(&self, ptimestart: ::core::option::Option<*const i64>, ptimeend: ::core::option::Option<*const i64>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetMediaTime)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ptimestart.unwrap_or(::std::ptr::null())), ::core::mem::transmute(ptimeend.unwrap_or(::std::ptr::null()))).ok()
}
pub unsafe fn GetProperties(&self, pbproperties: &mut [u8]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetProperties)(::windows::core::Interface::as_raw(self), pbproperties.len() as _, ::core::mem::transmute(pbproperties.as_ptr())).ok()
}
pub unsafe fn SetProperties(&self, pbproperties: &[u8]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetProperties)(::windows::core::Interface::as_raw(self), pbproperties.len() as _, ::core::mem::transmute(pbproperties.as_ptr())).ok()
}
}
::windows::imp::interface_hierarchy!(IMediaSample2, ::windows::core::IUnknown, IMediaSample);
impl ::core::cmp::PartialEq for IMediaSample2 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMediaSample2 {}
impl ::core::fmt::Debug for IMediaSample2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMediaSample2").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMediaSample2 {
type Vtable = IMediaSample2_Vtbl;
}
impl ::core::clone::Clone for IMediaSample2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMediaSample2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x36b73884_c2c8_11cf_8b46_00805f6cef60);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMediaSample2_Vtbl {
pub base__: IMediaSample_Vtbl,
pub GetProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cbproperties: u32, pbproperties: *mut u8) -> ::windows::core::HRESULT,
pub SetProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cbproperties: u32, pbproperties: *const u8) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMediaSample2Config(::windows::core::IUnknown);
impl IMediaSample2Config {
pub unsafe fn GetSurface(&self) -> ::windows::core::Result<::windows::core::IUnknown> {
let mut result__ = ::windows::core::zeroed::<::windows::core::IUnknown>();
(::windows::core::Interface::vtable(self).GetSurface)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IMediaSample2Config, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMediaSample2Config {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMediaSample2Config {}
impl ::core::fmt::Debug for IMediaSample2Config {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMediaSample2Config").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMediaSample2Config {
type Vtable = IMediaSample2Config_Vtbl;
}
impl ::core::clone::Clone for IMediaSample2Config {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMediaSample2Config {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x68961e68_832b_41ea_bc91_63593f3e70e3);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMediaSample2Config_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppdirect3dsurface9: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMediaSeeking(::windows::core::IUnknown);
impl IMediaSeeking {
pub unsafe fn GetCapabilities(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetCapabilities)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn CheckCapabilities(&self, pcapabilities: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).CheckCapabilities)(::windows::core::Interface::as_raw(self), pcapabilities).ok()
}
pub unsafe fn IsFormatSupported(&self, pformat: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsFormatSupported)(::windows::core::Interface::as_raw(self), pformat).ok()
}
pub unsafe fn QueryPreferredFormat(&self) -> ::windows::core::Result<::windows::core::GUID> {
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).QueryPreferredFormat)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetTimeFormat(&self) -> ::windows::core::Result<::windows::core::GUID> {
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).GetTimeFormat)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn IsUsingTimeFormat(&self, pformat: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsUsingTimeFormat)(::windows::core::Interface::as_raw(self), pformat).ok()
}
pub unsafe fn SetTimeFormat(&self, pformat: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTimeFormat)(::windows::core::Interface::as_raw(self), pformat).ok()
}
pub unsafe fn GetDuration(&self) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).GetDuration)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetStopPosition(&self) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).GetStopPosition)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetCurrentPosition(&self) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).GetCurrentPosition)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn ConvertTimeFormat(&self, ptarget: *mut i64, ptargetformat: ::core::option::Option<*const ::windows::core::GUID>, source: i64, psourceformat: ::core::option::Option<*const ::windows::core::GUID>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ConvertTimeFormat)(::windows::core::Interface::as_raw(self), ptarget, ::core::mem::transmute(ptargetformat.unwrap_or(::std::ptr::null())), source, ::core::mem::transmute(psourceformat.unwrap_or(::std::ptr::null()))).ok()
}
pub unsafe fn SetPositions(&self, pcurrent: ::core::option::Option<*mut i64>, dwcurrentflags: u32, pstop: ::core::option::Option<*mut i64>, dwstopflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetPositions)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pcurrent.unwrap_or(::std::ptr::null_mut())), dwcurrentflags, ::core::mem::transmute(pstop.unwrap_or(::std::ptr::null_mut())), dwstopflags).ok()
}
pub unsafe fn GetPositions(&self, pcurrent: ::core::option::Option<*mut i64>, pstop: ::core::option::Option<*mut i64>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetPositions)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pcurrent.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstop.unwrap_or(::std::ptr::null_mut()))).ok()
}
pub unsafe fn GetAvailable(&self, pearliest: ::core::option::Option<*mut i64>, platest: ::core::option::Option<*mut i64>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetAvailable)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pearliest.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(platest.unwrap_or(::std::ptr::null_mut()))).ok()
}
pub unsafe fn SetRate(&self, drate: f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetRate)(::windows::core::Interface::as_raw(self), drate).ok()
}
pub unsafe fn GetRate(&self) -> ::windows::core::Result<f64> {
let mut result__ = ::windows::core::zeroed::<f64>();
(::windows::core::Interface::vtable(self).GetRate)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetPreroll(&self) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).GetPreroll)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IMediaSeeking, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMediaSeeking {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMediaSeeking {}
impl ::core::fmt::Debug for IMediaSeeking {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMediaSeeking").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMediaSeeking {
type Vtable = IMediaSeeking_Vtbl;
}
impl ::core::clone::Clone for IMediaSeeking {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMediaSeeking {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x36b73880_c2c8_11cf_8b46_00805f6cef60);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMediaSeeking_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetCapabilities: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcapabilities: *mut u32) -> ::windows::core::HRESULT,
pub CheckCapabilities: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcapabilities: *mut u32) -> ::windows::core::HRESULT,
pub IsFormatSupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pformat: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
pub QueryPreferredFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pformat: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub GetTimeFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pformat: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub IsUsingTimeFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pformat: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
pub SetTimeFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pformat: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
pub GetDuration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pduration: *mut i64) -> ::windows::core::HRESULT,
pub GetStopPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstop: *mut i64) -> ::windows::core::HRESULT,
pub GetCurrentPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcurrent: *mut i64) -> ::windows::core::HRESULT,
pub ConvertTimeFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptarget: *mut i64, ptargetformat: *const ::windows::core::GUID, source: i64, psourceformat: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
pub SetPositions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcurrent: *mut i64, dwcurrentflags: u32, pstop: *mut i64, dwstopflags: u32) -> ::windows::core::HRESULT,
pub GetPositions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcurrent: *mut i64, pstop: *mut i64) -> ::windows::core::HRESULT,
pub GetAvailable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pearliest: *mut i64, platest: *mut i64) -> ::windows::core::HRESULT,
pub SetRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, drate: f64) -> ::windows::core::HRESULT,
pub GetRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdrate: *mut f64) -> ::windows::core::HRESULT,
pub GetPreroll: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pllpreroll: *mut i64) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMediaStream(::windows::core::IUnknown);
impl IMediaStream {
pub unsafe fn GetMultiMediaStream(&self) -> ::windows::core::Result<IMultiMediaStream> {
let mut result__ = ::windows::core::zeroed::<IMultiMediaStream>();
(::windows::core::Interface::vtable(self).GetMultiMediaStream)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetInformation(&self, ppurposeid: *mut ::windows::core::GUID, ptype: *mut STREAM_TYPE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetInformation)(::windows::core::Interface::as_raw(self), ppurposeid, ptype).ok()
}
pub unsafe fn SetSameFormat<P0>(&self, pstreamthathasdesiredformat: P0, dwflags: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IMediaStream>,
{
(::windows::core::Interface::vtable(self).SetSameFormat)(::windows::core::Interface::as_raw(self), pstreamthathasdesiredformat.into_param().abi(), dwflags).ok()
}
pub unsafe fn AllocateSample(&self, dwflags: u32) -> ::windows::core::Result<IStreamSample> {
let mut result__ = ::windows::core::zeroed::<IStreamSample>();
(::windows::core::Interface::vtable(self).AllocateSample)(::windows::core::Interface::as_raw(self), dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn CreateSharedSample<P0>(&self, pexistingsample: P0, dwflags: u32) -> ::windows::core::Result<IStreamSample>
where
P0: ::windows::core::IntoParam<IStreamSample>,
{
let mut result__ = ::windows::core::zeroed::<IStreamSample>();
(::windows::core::Interface::vtable(self).CreateSharedSample)(::windows::core::Interface::as_raw(self), pexistingsample.into_param().abi(), dwflags, &mut result__).from_abi(result__)
}
pub unsafe fn SendEndOfStream(&self, dwflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SendEndOfStream)(::windows::core::Interface::as_raw(self), dwflags).ok()
}
}
::windows::imp::interface_hierarchy!(IMediaStream, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMediaStream {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMediaStream {}
impl ::core::fmt::Debug for IMediaStream {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMediaStream").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMediaStream {
type Vtable = IMediaStream_Vtbl;
}
impl ::core::clone::Clone for IMediaStream {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMediaStream {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb502d1bd_9a57_11d0_8fde_00c04fd9189d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMediaStream_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetMultiMediaStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppmultimediastream: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetInformation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppurposeid: *mut ::windows::core::GUID, ptype: *mut STREAM_TYPE) -> ::windows::core::HRESULT,
pub SetSameFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstreamthathasdesiredformat: *mut ::core::ffi::c_void, dwflags: u32) -> ::windows::core::HRESULT,
pub AllocateSample: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwflags: u32, ppsample: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CreateSharedSample: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pexistingsample: *mut ::core::ffi::c_void, dwflags: u32, ppnewsample: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SendEndOfStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwflags: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IMediaStreamFilter(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IMediaStreamFilter {
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn GetClassID(&self) -> ::windows::core::Result<::windows::core::GUID> {
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).base__.base__.base__.GetClassID)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Stop(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.Stop)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Pause(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.Pause)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Run(&self, tstart: i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.Run)(::windows::core::Interface::as_raw(self), tstart).ok()
}
pub unsafe fn GetState(&self, dwmillisecstimeout: u32) -> ::windows::core::Result<FILTER_STATE> {
let mut result__ = ::windows::core::zeroed::<FILTER_STATE>();
(::windows::core::Interface::vtable(self).base__.base__.GetState)(::windows::core::Interface::as_raw(self), dwmillisecstimeout, &mut result__).from_abi(result__)
}
pub unsafe fn SetSyncSource<P0>(&self, pclock: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::IReferenceClock>,
{
(::windows::core::Interface::vtable(self).base__.base__.SetSyncSource)(::windows::core::Interface::as_raw(self), pclock.into_param().abi()).ok()
}
pub unsafe fn GetSyncSource(&self) -> ::windows::core::Result<super::IReferenceClock> {
let mut result__ = ::windows::core::zeroed::<super::IReferenceClock>();
(::windows::core::Interface::vtable(self).base__.base__.GetSyncSource)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn EnumPins(&self) -> ::windows::core::Result<IEnumPins> {
let mut result__ = ::windows::core::zeroed::<IEnumPins>();
(::windows::core::Interface::vtable(self).base__.EnumPins)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn FindPin<P0>(&self, id: P0) -> ::windows::core::Result<IPin>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
let mut result__ = ::windows::core::zeroed::<IPin>();
(::windows::core::Interface::vtable(self).base__.FindPin)(::windows::core::Interface::as_raw(self), id.into_param().abi(), &mut result__).from_abi(result__)
}
pub unsafe fn QueryFilterInfo(&self, pinfo: *mut FILTER_INFO) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.QueryFilterInfo)(::windows::core::Interface::as_raw(self), pinfo).ok()
}
pub unsafe fn JoinFilterGraph<P0, P1>(&self, pgraph: P0, pname: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IFilterGraph>,
P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).base__.JoinFilterGraph)(::windows::core::Interface::as_raw(self), pgraph.into_param().abi(), pname.into_param().abi()).ok()
}
pub unsafe fn QueryVendorInfo(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
(::windows::core::Interface::vtable(self).base__.QueryVendorInfo)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn AddMediaStream<P0>(&self, pammediastream: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IAMMediaStream>,
{
(::windows::core::Interface::vtable(self).AddMediaStream)(::windows::core::Interface::as_raw(self), pammediastream.into_param().abi()).ok()
}
pub unsafe fn GetMediaStream(&self, idpurpose: *const ::windows::core::GUID) -> ::windows::core::Result<IMediaStream> {
let mut result__ = ::windows::core::zeroed::<IMediaStream>();
(::windows::core::Interface::vtable(self).GetMediaStream)(::windows::core::Interface::as_raw(self), idpurpose, &mut result__).from_abi(result__)
}
pub unsafe fn EnumMediaStreams(&self, index: i32) -> ::windows::core::Result<IMediaStream> {
let mut result__ = ::windows::core::zeroed::<IMediaStream>();
(::windows::core::Interface::vtable(self).EnumMediaStreams)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SupportSeeking<P0>(&self, brenderer: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SupportSeeking)(::windows::core::Interface::as_raw(self), brenderer.into_param().abi()).ok()
}
pub unsafe fn ReferenceTimeToStreamTime(&self) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).ReferenceTimeToStreamTime)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetCurrentStreamTime(&self) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).GetCurrentStreamTime)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn WaitUntil(&self, waitstreamtime: i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).WaitUntil)(::windows::core::Interface::as_raw(self), waitstreamtime).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn Flush<P0>(&self, bcanceleos: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).Flush)(::windows::core::Interface::as_raw(self), bcanceleos.into_param().abi()).ok()
}
pub unsafe fn EndOfStream(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).EndOfStream)(::windows::core::Interface::as_raw(self)).ok()
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IMediaStreamFilter, ::windows::core::IUnknown, super::super::System::Com::IPersist, IMediaFilter, IBaseFilter);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IMediaStreamFilter {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IMediaStreamFilter {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IMediaStreamFilter {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMediaStreamFilter").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IMediaStreamFilter {
type Vtable = IMediaStreamFilter_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IMediaStreamFilter {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IMediaStreamFilter {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbebe595e_9a6f_11d0_8fde_00c04fd9189d);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IMediaStreamFilter_Vtbl {
pub base__: IBaseFilter_Vtbl,
pub AddMediaStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pammediastream: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetMediaStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, idpurpose: *const ::windows::core::GUID, ppmediastream: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub EnumMediaStreams: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: i32, ppmediastream: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SupportSeeking: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, brenderer: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SupportSeeking: usize,
pub ReferenceTimeToStreamTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptime: *mut i64) -> ::windows::core::HRESULT,
pub GetCurrentStreamTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcurrentstreamtime: *mut i64) -> ::windows::core::HRESULT,
pub WaitUntil: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, waitstreamtime: i64) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub Flush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bcanceleos: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
Flush: usize,
pub EndOfStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IMediaTypeInfo(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IMediaTypeInfo {
pub unsafe fn Type(&self) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).Type)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Subtype(&self) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).Subtype)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IMediaTypeInfo, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IMediaTypeInfo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IMediaTypeInfo {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IMediaTypeInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMediaTypeInfo").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IMediaTypeInfo {
type Vtable = IMediaTypeInfo_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IMediaTypeInfo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IMediaTypeInfo {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868bc_0ad4_11ce_b03a_0020af0ba770);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IMediaTypeInfo_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
pub Type: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strtype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub Subtype: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strtype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMemAllocator(::windows::core::IUnknown);
impl IMemAllocator {
pub unsafe fn SetProperties(&self, prequest: *const ALLOCATOR_PROPERTIES) -> ::windows::core::Result<ALLOCATOR_PROPERTIES> {
let mut result__ = ::windows::core::zeroed::<ALLOCATOR_PROPERTIES>();
(::windows::core::Interface::vtable(self).SetProperties)(::windows::core::Interface::as_raw(self), prequest, &mut result__).from_abi(result__)
}
pub unsafe fn GetProperties(&self) -> ::windows::core::Result<ALLOCATOR_PROPERTIES> {
let mut result__ = ::windows::core::zeroed::<ALLOCATOR_PROPERTIES>();
(::windows::core::Interface::vtable(self).GetProperties)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Commit(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Commit)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Decommit(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Decommit)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn GetBuffer(&self, ppbuffer: *mut ::core::option::Option<IMediaSample>, pstarttime: ::core::option::Option<*const i64>, pendtime: ::core::option::Option<*const i64>, dwflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetBuffer)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ppbuffer), ::core::mem::transmute(pstarttime.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pendtime.unwrap_or(::std::ptr::null())), dwflags).ok()
}
pub unsafe fn ReleaseBuffer<P0>(&self, pbuffer: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IMediaSample>,
{
(::windows::core::Interface::vtable(self).ReleaseBuffer)(::windows::core::Interface::as_raw(self), pbuffer.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IMemAllocator, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMemAllocator {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMemAllocator {}
impl ::core::fmt::Debug for IMemAllocator {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMemAllocator").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMemAllocator {
type Vtable = IMemAllocator_Vtbl;
}
impl ::core::clone::Clone for IMemAllocator {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMemAllocator {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a8689c_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMemAllocator_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prequest: *const ALLOCATOR_PROPERTIES, pactual: *mut ALLOCATOR_PROPERTIES) -> ::windows::core::HRESULT,
pub GetProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprops: *mut ALLOCATOR_PROPERTIES) -> ::windows::core::HRESULT,
pub Commit: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Decommit: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetBuffer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppbuffer: *mut *mut ::core::ffi::c_void, pstarttime: *const i64, pendtime: *const i64, dwflags: u32) -> ::windows::core::HRESULT,
pub ReleaseBuffer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbuffer: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMemAllocatorCallbackTemp(::windows::core::IUnknown);
impl IMemAllocatorCallbackTemp {
pub unsafe fn SetProperties(&self, prequest: *const ALLOCATOR_PROPERTIES) -> ::windows::core::Result<ALLOCATOR_PROPERTIES> {
let mut result__ = ::windows::core::zeroed::<ALLOCATOR_PROPERTIES>();
(::windows::core::Interface::vtable(self).base__.SetProperties)(::windows::core::Interface::as_raw(self), prequest, &mut result__).from_abi(result__)
}
pub unsafe fn GetProperties(&self) -> ::windows::core::Result<ALLOCATOR_PROPERTIES> {
let mut result__ = ::windows::core::zeroed::<ALLOCATOR_PROPERTIES>();
(::windows::core::Interface::vtable(self).base__.GetProperties)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Commit(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.Commit)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Decommit(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.Decommit)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn GetBuffer(&self, ppbuffer: *mut ::core::option::Option<IMediaSample>, pstarttime: ::core::option::Option<*const i64>, pendtime: ::core::option::Option<*const i64>, dwflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetBuffer)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ppbuffer), ::core::mem::transmute(pstarttime.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pendtime.unwrap_or(::std::ptr::null())), dwflags).ok()
}
pub unsafe fn ReleaseBuffer<P0>(&self, pbuffer: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IMediaSample>,
{
(::windows::core::Interface::vtable(self).base__.ReleaseBuffer)(::windows::core::Interface::as_raw(self), pbuffer.into_param().abi()).ok()
}
pub unsafe fn SetNotify<P0>(&self, pnotify: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IMemAllocatorNotifyCallbackTemp>,
{
(::windows::core::Interface::vtable(self).SetNotify)(::windows::core::Interface::as_raw(self), pnotify.into_param().abi()).ok()
}
pub unsafe fn GetFreeCount(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).GetFreeCount)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IMemAllocatorCallbackTemp, ::windows::core::IUnknown, IMemAllocator);
impl ::core::cmp::PartialEq for IMemAllocatorCallbackTemp {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMemAllocatorCallbackTemp {}
impl ::core::fmt::Debug for IMemAllocatorCallbackTemp {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMemAllocatorCallbackTemp").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMemAllocatorCallbackTemp {
type Vtable = IMemAllocatorCallbackTemp_Vtbl;
}
impl ::core::clone::Clone for IMemAllocatorCallbackTemp {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMemAllocatorCallbackTemp {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x379a0cf0_c1de_11d2_abf5_00a0c905f375);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMemAllocatorCallbackTemp_Vtbl {
pub base__: IMemAllocator_Vtbl,
pub SetNotify: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pnotify: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetFreeCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plbuffersfree: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMemAllocatorNotifyCallbackTemp(::windows::core::IUnknown);
impl IMemAllocatorNotifyCallbackTemp {
pub unsafe fn NotifyRelease(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).NotifyRelease)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IMemAllocatorNotifyCallbackTemp, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMemAllocatorNotifyCallbackTemp {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMemAllocatorNotifyCallbackTemp {}
impl ::core::fmt::Debug for IMemAllocatorNotifyCallbackTemp {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMemAllocatorNotifyCallbackTemp").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMemAllocatorNotifyCallbackTemp {
type Vtable = IMemAllocatorNotifyCallbackTemp_Vtbl;
}
impl ::core::clone::Clone for IMemAllocatorNotifyCallbackTemp {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMemAllocatorNotifyCallbackTemp {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x92980b30_c1de_11d2_abf5_00a0c905f375);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMemAllocatorNotifyCallbackTemp_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub NotifyRelease: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMemInputPin(::windows::core::IUnknown);
impl IMemInputPin {
pub unsafe fn GetAllocator(&self) -> ::windows::core::Result<IMemAllocator> {
let mut result__ = ::windows::core::zeroed::<IMemAllocator>();
(::windows::core::Interface::vtable(self).GetAllocator)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn NotifyAllocator<P0, P1>(&self, pallocator: P0, breadonly: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IMemAllocator>,
P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).NotifyAllocator)(::windows::core::Interface::as_raw(self), pallocator.into_param().abi(), breadonly.into_param().abi()).ok()
}
pub unsafe fn GetAllocatorRequirements(&self) -> ::windows::core::Result<ALLOCATOR_PROPERTIES> {
let mut result__ = ::windows::core::zeroed::<ALLOCATOR_PROPERTIES>();
(::windows::core::Interface::vtable(self).GetAllocatorRequirements)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Receive<P0>(&self, psample: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IMediaSample>,
{
(::windows::core::Interface::vtable(self).Receive)(::windows::core::Interface::as_raw(self), psample.into_param().abi()).ok()
}
pub unsafe fn ReceiveMultiple(&self, psamples: &[::core::option::Option<IMediaSample>]) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).ReceiveMultiple)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(psamples.as_ptr()), psamples.len() as _, &mut result__).from_abi(result__)
}
pub unsafe fn ReceiveCanBlock(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ReceiveCanBlock)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IMemInputPin, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMemInputPin {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMemInputPin {}
impl ::core::fmt::Debug for IMemInputPin {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMemInputPin").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMemInputPin {
type Vtable = IMemInputPin_Vtbl;
}
impl ::core::clone::Clone for IMemInputPin {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMemInputPin {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a8689d_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMemInputPin_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetAllocator: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppallocator: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub NotifyAllocator: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pallocator: *mut ::core::ffi::c_void, breadonly: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
NotifyAllocator: usize,
pub GetAllocatorRequirements: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprops: *mut ALLOCATOR_PROPERTIES) -> ::windows::core::HRESULT,
pub Receive: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psample: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ReceiveMultiple: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psamples: *const *mut ::core::ffi::c_void, nsamples: i32, nsamplesprocessed: *mut i32) -> ::windows::core::HRESULT,
pub ReceiveCanBlock: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMemoryData(::windows::core::IUnknown);
impl IMemoryData {
pub unsafe fn SetBuffer(&self, cbsize: u32, pbdata: *const u8, dwflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetBuffer)(::windows::core::Interface::as_raw(self), cbsize, pbdata, dwflags).ok()
}
pub unsafe fn GetInfo(&self, pdwlength: *mut u32, ppbdata: *mut *mut u8, pcbactualdata: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetInfo)(::windows::core::Interface::as_raw(self), pdwlength, ppbdata, pcbactualdata).ok()
}
pub unsafe fn SetActual(&self, cbdatavalid: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetActual)(::windows::core::Interface::as_raw(self), cbdatavalid).ok()
}
}
::windows::imp::interface_hierarchy!(IMemoryData, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMemoryData {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMemoryData {}
impl ::core::fmt::Debug for IMemoryData {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMemoryData").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMemoryData {
type Vtable = IMemoryData_Vtbl;
}
impl ::core::clone::Clone for IMemoryData {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMemoryData {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x327fc560_af60_11d0_8212_00c04fc32c45);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMemoryData_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetBuffer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cbsize: u32, pbdata: *const u8, dwflags: u32) -> ::windows::core::HRESULT,
pub GetInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwlength: *mut u32, ppbdata: *mut *mut u8, pcbactualdata: *mut u32) -> ::windows::core::HRESULT,
pub SetActual: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cbdatavalid: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMixerOCX(::windows::core::IUnknown);
impl IMixerOCX {
pub unsafe fn OnDisplayChange(&self, ulbitsperpixel: u32, ulscreenwidth: u32, ulscreenheight: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).OnDisplayChange)(::windows::core::Interface::as_raw(self), ulbitsperpixel, ulscreenwidth, ulscreenheight).ok()
}
pub unsafe fn GetAspectRatio(&self, pdwpictaspectratiox: *mut u32, pdwpictaspectratioy: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetAspectRatio)(::windows::core::Interface::as_raw(self), pdwpictaspectratiox, pdwpictaspectratioy).ok()
}
pub unsafe fn GetVideoSize(&self, pdwvideowidth: *mut u32, pdwvideoheight: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetVideoSize)(::windows::core::Interface::as_raw(self), pdwvideowidth, pdwvideoheight).ok()
}
pub unsafe fn GetStatus(&self) -> ::windows::core::Result<*mut u32> {
let mut result__ = ::windows::core::zeroed::<*mut u32>();
(::windows::core::Interface::vtable(self).GetStatus)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn OnDraw<P0>(&self, hdcdraw: P0, prcdraw: *const super::super::Foundation::RECT) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Graphics::Gdi::HDC>,
{
(::windows::core::Interface::vtable(self).OnDraw)(::windows::core::Interface::as_raw(self), hdcdraw.into_param().abi(), prcdraw).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetDrawRegion(&self, lppttopleftsc: *const super::super::Foundation::POINT, prcdrawcc: *const super::super::Foundation::RECT, lprcclip: *const super::super::Foundation::RECT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDrawRegion)(::windows::core::Interface::as_raw(self), lppttopleftsc, prcdrawcc, lprcclip).ok()
}
pub unsafe fn Advise<P0>(&self, pmdns: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IMixerOCXNotify>,
{
(::windows::core::Interface::vtable(self).Advise)(::windows::core::Interface::as_raw(self), pmdns.into_param().abi()).ok()
}
pub unsafe fn UnAdvise(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).UnAdvise)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IMixerOCX, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMixerOCX {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMixerOCX {}
impl ::core::fmt::Debug for IMixerOCX {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMixerOCX").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMixerOCX {
type Vtable = IMixerOCX_Vtbl;
}
impl ::core::clone::Clone for IMixerOCX {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMixerOCX {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x81a3bd32_dee1_11d1_8508_00a0c91f9ca0);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMixerOCX_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub OnDisplayChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulbitsperpixel: u32, ulscreenwidth: u32, ulscreenheight: u32) -> ::windows::core::HRESULT,
pub GetAspectRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwpictaspectratiox: *mut u32, pdwpictaspectratioy: *mut u32) -> ::windows::core::HRESULT,
pub GetVideoSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwvideowidth: *mut u32, pdwvideoheight: *mut u32) -> ::windows::core::HRESULT,
pub GetStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwstatus: *mut *mut u32) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub OnDraw: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hdcdraw: super::super::Graphics::Gdi::HDC, prcdraw: *const super::super::Foundation::RECT) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi")))]
OnDraw: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetDrawRegion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lppttopleftsc: *const super::super::Foundation::POINT, prcdrawcc: *const super::super::Foundation::RECT, lprcclip: *const super::super::Foundation::RECT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetDrawRegion: usize,
pub Advise: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmdns: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub UnAdvise: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMixerOCXNotify(::windows::core::IUnknown);
impl IMixerOCXNotify {
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn OnInvalidateRect(&self, lpcrect: *const super::super::Foundation::RECT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).OnInvalidateRect)(::windows::core::Interface::as_raw(self), lpcrect).ok()
}
pub unsafe fn OnStatusChange(&self, ulstatusflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).OnStatusChange)(::windows::core::Interface::as_raw(self), ulstatusflags).ok()
}
pub unsafe fn OnDataChange(&self, uldataflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).OnDataChange)(::windows::core::Interface::as_raw(self), uldataflags).ok()
}
}
::windows::imp::interface_hierarchy!(IMixerOCXNotify, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMixerOCXNotify {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMixerOCXNotify {}
impl ::core::fmt::Debug for IMixerOCXNotify {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMixerOCXNotify").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMixerOCXNotify {
type Vtable = IMixerOCXNotify_Vtbl;
}
impl ::core::clone::Clone for IMixerOCXNotify {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMixerOCXNotify {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x81a3bd31_dee1_11d1_8508_00a0c91f9ca0);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMixerOCXNotify_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Foundation")]
pub OnInvalidateRect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpcrect: *const super::super::Foundation::RECT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
OnInvalidateRect: usize,
pub OnStatusChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulstatusflags: u32) -> ::windows::core::HRESULT,
pub OnDataChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uldataflags: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMixerPinConfig(::windows::core::IUnknown);
impl IMixerPinConfig {
pub unsafe fn SetRelativePosition(&self, dwleft: u32, dwtop: u32, dwright: u32, dwbottom: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetRelativePosition)(::windows::core::Interface::as_raw(self), dwleft, dwtop, dwright, dwbottom).ok()
}
pub unsafe fn GetRelativePosition(&self, pdwleft: *mut u32, pdwtop: *mut u32, pdwright: *mut u32, pdwbottom: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetRelativePosition)(::windows::core::Interface::as_raw(self), pdwleft, pdwtop, pdwright, pdwbottom).ok()
}
pub unsafe fn SetZOrder(&self, dwzorder: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetZOrder)(::windows::core::Interface::as_raw(self), dwzorder).ok()
}
pub unsafe fn GetZOrder(&self, pdwzorder: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetZOrder)(::windows::core::Interface::as_raw(self), pdwzorder).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetColorKey(&self, pcolorkey: *mut COLORKEY) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetColorKey)(::windows::core::Interface::as_raw(self), pcolorkey).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetColorKey(&self, pcolorkey: *mut COLORKEY, pcolor: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetColorKey)(::windows::core::Interface::as_raw(self), pcolorkey, pcolor).ok()
}
pub unsafe fn SetBlendingParameter(&self, dwblendingparameter: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetBlendingParameter)(::windows::core::Interface::as_raw(self), dwblendingparameter).ok()
}
pub unsafe fn GetBlendingParameter(&self, pdwblendingparameter: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetBlendingParameter)(::windows::core::Interface::as_raw(self), pdwblendingparameter).ok()
}
pub unsafe fn SetAspectRatioMode(&self, amaspectratiomode: AM_ASPECT_RATIO_MODE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetAspectRatioMode)(::windows::core::Interface::as_raw(self), amaspectratiomode).ok()
}
pub unsafe fn GetAspectRatioMode(&self, pamaspectratiomode: *mut AM_ASPECT_RATIO_MODE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetAspectRatioMode)(::windows::core::Interface::as_raw(self), pamaspectratiomode).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetStreamTransparent<P0>(&self, bstreamtransparent: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetStreamTransparent)(::windows::core::Interface::as_raw(self), bstreamtransparent.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetStreamTransparent(&self, pbstreamtransparent: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetStreamTransparent)(::windows::core::Interface::as_raw(self), pbstreamtransparent).ok()
}
}
::windows::imp::interface_hierarchy!(IMixerPinConfig, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMixerPinConfig {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMixerPinConfig {}
impl ::core::fmt::Debug for IMixerPinConfig {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMixerPinConfig").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMixerPinConfig {
type Vtable = IMixerPinConfig_Vtbl;
}
impl ::core::clone::Clone for IMixerPinConfig {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMixerPinConfig {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x593cdde1_0759_11d1_9e69_00c04fd7c15b);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMixerPinConfig_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetRelativePosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwleft: u32, dwtop: u32, dwright: u32, dwbottom: u32) -> ::windows::core::HRESULT,
pub GetRelativePosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwleft: *mut u32, pdwtop: *mut u32, pdwright: *mut u32, pdwbottom: *mut u32) -> ::windows::core::HRESULT,
pub SetZOrder: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwzorder: u32) -> ::windows::core::HRESULT,
pub GetZOrder: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwzorder: *mut u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetColorKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcolorkey: *mut COLORKEY) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetColorKey: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetColorKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcolorkey: *mut COLORKEY, pcolor: *mut u32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetColorKey: usize,
pub SetBlendingParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwblendingparameter: u32) -> ::windows::core::HRESULT,
pub GetBlendingParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwblendingparameter: *mut u32) -> ::windows::core::HRESULT,
pub SetAspectRatioMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, amaspectratiomode: AM_ASPECT_RATIO_MODE) -> ::windows::core::HRESULT,
pub GetAspectRatioMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pamaspectratiomode: *mut AM_ASPECT_RATIO_MODE) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetStreamTransparent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstreamtransparent: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetStreamTransparent: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetStreamTransparent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstreamtransparent: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetStreamTransparent: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMixerPinConfig2(::windows::core::IUnknown);
impl IMixerPinConfig2 {
pub unsafe fn SetRelativePosition(&self, dwleft: u32, dwtop: u32, dwright: u32, dwbottom: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetRelativePosition)(::windows::core::Interface::as_raw(self), dwleft, dwtop, dwright, dwbottom).ok()
}
pub unsafe fn GetRelativePosition(&self, pdwleft: *mut u32, pdwtop: *mut u32, pdwright: *mut u32, pdwbottom: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetRelativePosition)(::windows::core::Interface::as_raw(self), pdwleft, pdwtop, pdwright, pdwbottom).ok()
}
pub unsafe fn SetZOrder(&self, dwzorder: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetZOrder)(::windows::core::Interface::as_raw(self), dwzorder).ok()
}
pub unsafe fn GetZOrder(&self, pdwzorder: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetZOrder)(::windows::core::Interface::as_raw(self), pdwzorder).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetColorKey(&self, pcolorkey: *mut COLORKEY) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetColorKey)(::windows::core::Interface::as_raw(self), pcolorkey).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetColorKey(&self, pcolorkey: *mut COLORKEY, pcolor: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetColorKey)(::windows::core::Interface::as_raw(self), pcolorkey, pcolor).ok()
}
pub unsafe fn SetBlendingParameter(&self, dwblendingparameter: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetBlendingParameter)(::windows::core::Interface::as_raw(self), dwblendingparameter).ok()
}
pub unsafe fn GetBlendingParameter(&self, pdwblendingparameter: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetBlendingParameter)(::windows::core::Interface::as_raw(self), pdwblendingparameter).ok()
}
pub unsafe fn SetAspectRatioMode(&self, amaspectratiomode: AM_ASPECT_RATIO_MODE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetAspectRatioMode)(::windows::core::Interface::as_raw(self), amaspectratiomode).ok()
}
pub unsafe fn GetAspectRatioMode(&self, pamaspectratiomode: *mut AM_ASPECT_RATIO_MODE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetAspectRatioMode)(::windows::core::Interface::as_raw(self), pamaspectratiomode).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetStreamTransparent<P0>(&self, bstreamtransparent: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).base__.SetStreamTransparent)(::windows::core::Interface::as_raw(self), bstreamtransparent.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetStreamTransparent(&self, pbstreamtransparent: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetStreamTransparent)(::windows::core::Interface::as_raw(self), pbstreamtransparent).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn SetOverlaySurfaceColorControls(&self, pcolorcontrol: *mut super::super::Graphics::DirectDraw::DDCOLORCONTROL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetOverlaySurfaceColorControls)(::windows::core::Interface::as_raw(self), pcolorcontrol).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetOverlaySurfaceColorControls(&self, pcolorcontrol: *mut super::super::Graphics::DirectDraw::DDCOLORCONTROL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetOverlaySurfaceColorControls)(::windows::core::Interface::as_raw(self), pcolorcontrol).ok()
}
}
::windows::imp::interface_hierarchy!(IMixerPinConfig2, ::windows::core::IUnknown, IMixerPinConfig);
impl ::core::cmp::PartialEq for IMixerPinConfig2 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMixerPinConfig2 {}
impl ::core::fmt::Debug for IMixerPinConfig2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMixerPinConfig2").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMixerPinConfig2 {
type Vtable = IMixerPinConfig2_Vtbl;
}
impl ::core::clone::Clone for IMixerPinConfig2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMixerPinConfig2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xebf47182_8764_11d1_9e69_00c04fd7c15b);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMixerPinConfig2_Vtbl {
pub base__: IMixerPinConfig_Vtbl,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub SetOverlaySurfaceColorControls: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcolorcontrol: *mut super::super::Graphics::DirectDraw::DDCOLORCONTROL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
SetOverlaySurfaceColorControls: usize,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetOverlaySurfaceColorControls: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcolorcontrol: *mut super::super::Graphics::DirectDraw::DDCOLORCONTROL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetOverlaySurfaceColorControls: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMpeg2Demultiplexer(::windows::core::IUnknown);
impl IMpeg2Demultiplexer {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn CreateOutputPin<P0>(&self, pmediatype: *mut super::MediaFoundation::AM_MEDIA_TYPE, pszpinname: P0, ppipin: *mut ::core::option::Option<IPin>) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).CreateOutputPin)(::windows::core::Interface::as_raw(self), pmediatype, pszpinname.into_param().abi(), ::core::mem::transmute(ppipin)).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn SetOutputPinMediaType<P0>(&self, pszpinname: P0, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).SetOutputPinMediaType)(::windows::core::Interface::as_raw(self), pszpinname.into_param().abi(), pmediatype).ok()
}
pub unsafe fn DeleteOutputPin<P0>(&self, pszpinname: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
(::windows::core::Interface::vtable(self).DeleteOutputPin)(::windows::core::Interface::as_raw(self), pszpinname.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IMpeg2Demultiplexer, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMpeg2Demultiplexer {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMpeg2Demultiplexer {}
impl ::core::fmt::Debug for IMpeg2Demultiplexer {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMpeg2Demultiplexer").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMpeg2Demultiplexer {
type Vtable = IMpeg2Demultiplexer_Vtbl;
}
impl ::core::clone::Clone for IMpeg2Demultiplexer {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMpeg2Demultiplexer {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x436eee9c_264f_4242_90e1_4e330c107512);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMpeg2Demultiplexer_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub CreateOutputPin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmediatype: *mut super::MediaFoundation::AM_MEDIA_TYPE, pszpinname: ::windows::core::PCWSTR, ppipin: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
CreateOutputPin: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub SetOutputPinMediaType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszpinname: ::windows::core::PCWSTR, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
SetOutputPinMediaType: usize,
pub DeleteOutputPin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszpinname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMpegAudioDecoder(::windows::core::IUnknown);
impl IMpegAudioDecoder {
pub unsafe fn FrequencyDivider(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).FrequencyDivider)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetFrequencyDivider(&self, divider: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetFrequencyDivider)(::windows::core::Interface::as_raw(self), divider).ok()
}
pub unsafe fn DecoderAccuracy(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).DecoderAccuracy)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDecoderAccuracy(&self, accuracy: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDecoderAccuracy)(::windows::core::Interface::as_raw(self), accuracy).ok()
}
pub unsafe fn Stereo(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).Stereo)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetStereo(&self, stereo: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetStereo)(::windows::core::Interface::as_raw(self), stereo).ok()
}
pub unsafe fn DecoderWordSize(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).DecoderWordSize)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDecoderWordSize(&self, wordsize: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDecoderWordSize)(::windows::core::Interface::as_raw(self), wordsize).ok()
}
pub unsafe fn IntegerDecode(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).IntegerDecode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetIntegerDecode(&self, intdecode: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetIntegerDecode)(::windows::core::Interface::as_raw(self), intdecode).ok()
}
pub unsafe fn DualMode(&self, pintdecode: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).DualMode)(::windows::core::Interface::as_raw(self), pintdecode).ok()
}
pub unsafe fn SetDualMode(&self, intdecode: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDualMode)(::windows::core::Interface::as_raw(self), intdecode).ok()
}
#[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
#[cfg(feature = "Win32_Media_Audio")]
pub unsafe fn AudioFormat(&self, lpfmt: *mut MPEG1WAVEFORMAT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).AudioFormat)(::windows::core::Interface::as_raw(self), lpfmt).ok()
}
}
::windows::imp::interface_hierarchy!(IMpegAudioDecoder, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMpegAudioDecoder {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMpegAudioDecoder {}
impl ::core::fmt::Debug for IMpegAudioDecoder {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMpegAudioDecoder").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMpegAudioDecoder {
type Vtable = IMpegAudioDecoder_Vtbl;
}
impl ::core::clone::Clone for IMpegAudioDecoder {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMpegAudioDecoder {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb45dd570_3c77_11d1_abe1_00a0c905f375);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMpegAudioDecoder_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub FrequencyDivider: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdivider: *mut u32) -> ::windows::core::HRESULT,
pub SetFrequencyDivider: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, divider: u32) -> ::windows::core::HRESULT,
pub DecoderAccuracy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, paccuracy: *mut u32) -> ::windows::core::HRESULT,
pub SetDecoderAccuracy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, accuracy: u32) -> ::windows::core::HRESULT,
pub Stereo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstereo: *mut u32) -> ::windows::core::HRESULT,
pub SetStereo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, stereo: u32) -> ::windows::core::HRESULT,
pub DecoderWordSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwordsize: *mut u32) -> ::windows::core::HRESULT,
pub SetDecoderWordSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, wordsize: u32) -> ::windows::core::HRESULT,
pub IntegerDecode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pintdecode: *mut u32) -> ::windows::core::HRESULT,
pub SetIntegerDecode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, intdecode: u32) -> ::windows::core::HRESULT,
pub DualMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pintdecode: *mut u32) -> ::windows::core::HRESULT,
pub SetDualMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, intdecode: u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Media_Audio")]
pub AudioFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpfmt: *mut MPEG1WAVEFORMAT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Media_Audio"))]
AudioFormat: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IMultiMediaStream(::windows::core::IUnknown);
impl IMultiMediaStream {
pub unsafe fn GetInformation(&self, pdwflags: *mut MMSSF_GET_INFORMATION_FLAGS, pstreamtype: *mut STREAM_TYPE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetInformation)(::windows::core::Interface::as_raw(self), pdwflags, pstreamtype).ok()
}
pub unsafe fn GetMediaStream(&self, idpurpose: *const ::windows::core::GUID) -> ::windows::core::Result<IMediaStream> {
let mut result__ = ::windows::core::zeroed::<IMediaStream>();
(::windows::core::Interface::vtable(self).GetMediaStream)(::windows::core::Interface::as_raw(self), idpurpose, &mut result__).from_abi(result__)
}
pub unsafe fn EnumMediaStreams(&self, index: i32) -> ::windows::core::Result<IMediaStream> {
let mut result__ = ::windows::core::zeroed::<IMediaStream>();
(::windows::core::Interface::vtable(self).EnumMediaStreams)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
}
pub unsafe fn GetState(&self) -> ::windows::core::Result<STREAM_STATE> {
let mut result__ = ::windows::core::zeroed::<STREAM_STATE>();
(::windows::core::Interface::vtable(self).GetState)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetState(&self, newstate: STREAM_STATE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetState)(::windows::core::Interface::as_raw(self), newstate).ok()
}
pub unsafe fn GetTime(&self) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).GetTime)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn GetDuration(&self) -> ::windows::core::Result<i64> {
let mut result__ = ::windows::core::zeroed::<i64>();
(::windows::core::Interface::vtable(self).GetDuration)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Seek(&self, seektime: i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Seek)(::windows::core::Interface::as_raw(self), seektime).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetEndOfStreamEventHandle(&self) -> ::windows::core::Result<super::super::Foundation::HANDLE> {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::HANDLE>();
(::windows::core::Interface::vtable(self).GetEndOfStreamEventHandle)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IMultiMediaStream, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IMultiMediaStream {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IMultiMediaStream {}
impl ::core::fmt::Debug for IMultiMediaStream {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IMultiMediaStream").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IMultiMediaStream {
type Vtable = IMultiMediaStream_Vtbl;
}
impl ::core::clone::Clone for IMultiMediaStream {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IMultiMediaStream {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb502d1bc_9a57_11d0_8fde_00c04fd9189d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMultiMediaStream_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetInformation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwflags: *mut MMSSF_GET_INFORMATION_FLAGS, pstreamtype: *mut STREAM_TYPE) -> ::windows::core::HRESULT,
pub GetMediaStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, idpurpose: *const ::windows::core::GUID, ppmediastream: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub EnumMediaStreams: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: i32, ppmediastream: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcurrentstate: *mut STREAM_STATE) -> ::windows::core::HRESULT,
pub SetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, newstate: STREAM_STATE) -> ::windows::core::HRESULT,
pub GetTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcurrenttime: *mut i64) -> ::windows::core::HRESULT,
pub GetDuration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pduration: *mut i64) -> ::windows::core::HRESULT,
pub Seek: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, seektime: i64) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub GetEndOfStreamEventHandle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pheos: *mut super::super::Foundation::HANDLE) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetEndOfStreamEventHandle: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IOverlay(::windows::core::IUnknown);
impl IOverlay {
#[doc = "*Required features: `\"Win32_Graphics_Gdi\"`*"]
#[cfg(feature = "Win32_Graphics_Gdi")]
pub unsafe fn GetPalette(&self, pdwcolors: *mut u32, pppalette: *mut *mut super::super::Graphics::Gdi::PALETTEENTRY) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetPalette)(::windows::core::Interface::as_raw(self), pdwcolors, pppalette).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_Gdi\"`*"]
#[cfg(feature = "Win32_Graphics_Gdi")]
pub unsafe fn SetPalette(&self, ppalette: &[super::super::Graphics::Gdi::PALETTEENTRY]) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetPalette)(::windows::core::Interface::as_raw(self), ppalette.len() as _, ::core::mem::transmute(ppalette.as_ptr())).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetDefaultColorKey(&self) -> ::windows::core::Result<COLORKEY> {
let mut result__ = ::windows::core::zeroed::<COLORKEY>();
(::windows::core::Interface::vtable(self).GetDefaultColorKey)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetColorKey(&self) -> ::windows::core::Result<COLORKEY> {
let mut result__ = ::windows::core::zeroed::<COLORKEY>();
(::windows::core::Interface::vtable(self).GetColorKey)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetColorKey(&self, pcolorkey: *mut COLORKEY) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetColorKey)(::windows::core::Interface::as_raw(self), pcolorkey).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetWindowHandle(&self) -> ::windows::core::Result<super::super::Foundation::HWND> {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::HWND>();
(::windows::core::Interface::vtable(self).GetWindowHandle)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn GetClipList(&self, psourcerect: *mut super::super::Foundation::RECT, pdestinationrect: *mut super::super::Foundation::RECT, pprgndata: *mut *mut super::super::Graphics::Gdi::RGNDATA) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetClipList)(::windows::core::Interface::as_raw(self), psourcerect, pdestinationrect, pprgndata).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetVideoPosition(&self, psourcerect: *mut super::super::Foundation::RECT, pdestinationrect: *mut super::super::Foundation::RECT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetVideoPosition)(::windows::core::Interface::as_raw(self), psourcerect, pdestinationrect).ok()
}
pub unsafe fn Advise<P0>(&self, poverlaynotify: P0, dwinterests: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IOverlayNotify>,
{
(::windows::core::Interface::vtable(self).Advise)(::windows::core::Interface::as_raw(self), poverlaynotify.into_param().abi(), dwinterests).ok()
}
pub unsafe fn Unadvise(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Unadvise)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IOverlay, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IOverlay {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IOverlay {}
impl ::core::fmt::Debug for IOverlay {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IOverlay").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IOverlay {
type Vtable = IOverlay_Vtbl;
}
impl ::core::clone::Clone for IOverlay {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IOverlay {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868a1_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IOverlay_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Graphics_Gdi")]
pub GetPalette: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwcolors: *mut u32, pppalette: *mut *mut super::super::Graphics::Gdi::PALETTEENTRY) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_Gdi"))]
GetPalette: usize,
#[cfg(feature = "Win32_Graphics_Gdi")]
pub SetPalette: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwcolors: u32, ppalette: *const super::super::Graphics::Gdi::PALETTEENTRY) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_Gdi"))]
SetPalette: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetDefaultColorKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcolorkey: *mut COLORKEY) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetDefaultColorKey: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetColorKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcolorkey: *mut COLORKEY) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetColorKey: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetColorKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcolorkey: *mut COLORKEY) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetColorKey: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetWindowHandle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phwnd: *mut super::super::Foundation::HWND) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetWindowHandle: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub GetClipList: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psourcerect: *mut super::super::Foundation::RECT, pdestinationrect: *mut super::super::Foundation::RECT, pprgndata: *mut *mut super::super::Graphics::Gdi::RGNDATA) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi")))]
GetClipList: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetVideoPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psourcerect: *mut super::super::Foundation::RECT, pdestinationrect: *mut super::super::Foundation::RECT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetVideoPosition: usize,
pub Advise: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, poverlaynotify: *mut ::core::ffi::c_void, dwinterests: u32) -> ::windows::core::HRESULT,
pub Unadvise: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IOverlayNotify(::windows::core::IUnknown);
impl IOverlayNotify {
#[doc = "*Required features: `\"Win32_Graphics_Gdi\"`*"]
#[cfg(feature = "Win32_Graphics_Gdi")]
pub unsafe fn OnPaletteChange(&self, dwcolors: u32, ppalette: *const super::super::Graphics::Gdi::PALETTEENTRY) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).OnPaletteChange)(::windows::core::Interface::as_raw(self), dwcolors, ppalette).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn OnClipChange(&self, psourcerect: *const super::super::Foundation::RECT, pdestinationrect: *const super::super::Foundation::RECT, prgndata: *const super::super::Graphics::Gdi::RGNDATA) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).OnClipChange)(::windows::core::Interface::as_raw(self), psourcerect, pdestinationrect, prgndata).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn OnColorKeyChange(&self, pcolorkey: *const COLORKEY) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).OnColorKeyChange)(::windows::core::Interface::as_raw(self), pcolorkey).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn OnPositionChange(&self, psourcerect: *const super::super::Foundation::RECT, pdestinationrect: *const super::super::Foundation::RECT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).OnPositionChange)(::windows::core::Interface::as_raw(self), psourcerect, pdestinationrect).ok()
}
}
::windows::imp::interface_hierarchy!(IOverlayNotify, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IOverlayNotify {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IOverlayNotify {}
impl ::core::fmt::Debug for IOverlayNotify {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IOverlayNotify").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IOverlayNotify {
type Vtable = IOverlayNotify_Vtbl;
}
impl ::core::clone::Clone for IOverlayNotify {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IOverlayNotify {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868a0_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IOverlayNotify_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Graphics_Gdi")]
pub OnPaletteChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwcolors: u32, ppalette: *const super::super::Graphics::Gdi::PALETTEENTRY) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_Gdi"))]
OnPaletteChange: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub OnClipChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psourcerect: *const super::super::Foundation::RECT, pdestinationrect: *const super::super::Foundation::RECT, prgndata: *const super::super::Graphics::Gdi::RGNDATA) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi")))]
OnClipChange: usize,
#[cfg(feature = "Win32_Foundation")]
pub OnColorKeyChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcolorkey: *const COLORKEY) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
OnColorKeyChange: usize,
#[cfg(feature = "Win32_Foundation")]
pub OnPositionChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psourcerect: *const super::super::Foundation::RECT, pdestinationrect: *const super::super::Foundation::RECT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
OnPositionChange: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IOverlayNotify2(::windows::core::IUnknown);
impl IOverlayNotify2 {
#[doc = "*Required features: `\"Win32_Graphics_Gdi\"`*"]
#[cfg(feature = "Win32_Graphics_Gdi")]
pub unsafe fn OnPaletteChange(&self, dwcolors: u32, ppalette: *const super::super::Graphics::Gdi::PALETTEENTRY) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.OnPaletteChange)(::windows::core::Interface::as_raw(self), dwcolors, ppalette).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn OnClipChange(&self, psourcerect: *const super::super::Foundation::RECT, pdestinationrect: *const super::super::Foundation::RECT, prgndata: *const super::super::Graphics::Gdi::RGNDATA) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.OnClipChange)(::windows::core::Interface::as_raw(self), psourcerect, pdestinationrect, prgndata).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn OnColorKeyChange(&self, pcolorkey: *const COLORKEY) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.OnColorKeyChange)(::windows::core::Interface::as_raw(self), pcolorkey).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn OnPositionChange(&self, psourcerect: *const super::super::Foundation::RECT, pdestinationrect: *const super::super::Foundation::RECT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.OnPositionChange)(::windows::core::Interface::as_raw(self), psourcerect, pdestinationrect).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_Gdi\"`*"]
#[cfg(feature = "Win32_Graphics_Gdi")]
pub unsafe fn OnDisplayChange<P0>(&self, hmonitor: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Graphics::Gdi::HMONITOR>,
{
(::windows::core::Interface::vtable(self).OnDisplayChange)(::windows::core::Interface::as_raw(self), hmonitor.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IOverlayNotify2, ::windows::core::IUnknown, IOverlayNotify);
impl ::core::cmp::PartialEq for IOverlayNotify2 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IOverlayNotify2 {}
impl ::core::fmt::Debug for IOverlayNotify2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IOverlayNotify2").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IOverlayNotify2 {
type Vtable = IOverlayNotify2_Vtbl;
}
impl ::core::clone::Clone for IOverlayNotify2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IOverlayNotify2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x680efa10_d535_11d1_87c8_00a0c9223196);
}
#[repr(C)]
#[doc(hidden)]
pub struct IOverlayNotify2_Vtbl {
pub base__: IOverlayNotify_Vtbl,
#[cfg(feature = "Win32_Graphics_Gdi")]
pub OnDisplayChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hmonitor: super::super::Graphics::Gdi::HMONITOR) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_Gdi"))]
OnDisplayChange: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IPersistMediaPropertyBag(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IPersistMediaPropertyBag {
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn GetClassID(&self) -> ::windows::core::Result<::windows::core::GUID> {
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).base__.GetClassID)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn InitNew(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).InitNew)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_System_Com_StructuredStorage\"`*"]
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
pub unsafe fn Load<P0, P1>(&self, ppropbag: P0, perrorlog: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IMediaPropertyBag>,
P1: ::windows::core::IntoParam<super::super::System::Com::IErrorLog>,
{
(::windows::core::Interface::vtable(self).Load)(::windows::core::Interface::as_raw(self), ppropbag.into_param().abi(), perrorlog.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com_StructuredStorage\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage"))]
pub unsafe fn Save<P0, P1, P2>(&self, ppropbag: P0, fcleardirty: P1, fsaveallproperties: P2) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IMediaPropertyBag>,
P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
P2: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).Save)(::windows::core::Interface::as_raw(self), ppropbag.into_param().abi(), fcleardirty.into_param().abi(), fsaveallproperties.into_param().abi()).ok()
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IPersistMediaPropertyBag, ::windows::core::IUnknown, super::super::System::Com::IPersist);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IPersistMediaPropertyBag {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IPersistMediaPropertyBag {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IPersistMediaPropertyBag {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IPersistMediaPropertyBag").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IPersistMediaPropertyBag {
type Vtable = IPersistMediaPropertyBag_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IPersistMediaPropertyBag {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IPersistMediaPropertyBag {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5738e040_b67f_11d0_bd4d_00a0c911ce86);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IPersistMediaPropertyBag_Vtbl {
pub base__: super::super::System::Com::IPersist_Vtbl,
pub InitNew: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
pub Load: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppropbag: *mut ::core::ffi::c_void, perrorlog: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com_StructuredStorage"))]
Load: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage"))]
pub Save: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppropbag: *mut ::core::ffi::c_void, fcleardirty: super::super::Foundation::BOOL, fsaveallproperties: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage")))]
Save: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IPin(::windows::core::IUnknown);
impl IPin {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn Connect<P0>(&self, preceivepin: P0, pmt: ::core::option::Option<*const super::MediaFoundation::AM_MEDIA_TYPE>) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).Connect)(::windows::core::Interface::as_raw(self), preceivepin.into_param().abi(), ::core::mem::transmute(pmt.unwrap_or(::std::ptr::null()))).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn ReceiveConnection<P0>(&self, pconnector: P0, pmt: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).ReceiveConnection)(::windows::core::Interface::as_raw(self), pconnector.into_param().abi(), pmt).ok()
}
pub unsafe fn Disconnect(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Disconnect)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn ConnectedTo(&self) -> ::windows::core::Result<IPin> {
let mut result__ = ::windows::core::zeroed::<IPin>();
(::windows::core::Interface::vtable(self).ConnectedTo)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn ConnectionMediaType(&self, pmt: *mut super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ConnectionMediaType)(::windows::core::Interface::as_raw(self), pmt).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn QueryPinInfo(&self, pinfo: *mut PIN_INFO) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).QueryPinInfo)(::windows::core::Interface::as_raw(self), pinfo).ok()
}
pub unsafe fn QueryDirection(&self) -> ::windows::core::Result<PIN_DIRECTION> {
let mut result__ = ::windows::core::zeroed::<PIN_DIRECTION>();
(::windows::core::Interface::vtable(self).QueryDirection)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn QueryId(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
(::windows::core::Interface::vtable(self).QueryId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn QueryAccept(&self, pmt: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).QueryAccept)(::windows::core::Interface::as_raw(self), pmt).ok()
}
pub unsafe fn EnumMediaTypes(&self) -> ::windows::core::Result<IEnumMediaTypes> {
let mut result__ = ::windows::core::zeroed::<IEnumMediaTypes>();
(::windows::core::Interface::vtable(self).EnumMediaTypes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn QueryInternalConnections(&self, appin: ::core::option::Option<*mut ::core::option::Option<IPin>>, npin: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).QueryInternalConnections)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(appin.unwrap_or(::std::ptr::null_mut())), npin).ok()
}
pub unsafe fn EndOfStream(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).EndOfStream)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn BeginFlush(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).BeginFlush)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn EndFlush(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).EndFlush)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn NewSegment(&self, tstart: i64, tstop: i64, drate: f64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).NewSegment)(::windows::core::Interface::as_raw(self), tstart, tstop, drate).ok()
}
}
::windows::imp::interface_hierarchy!(IPin, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IPin {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IPin {}
impl ::core::fmt::Debug for IPin {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IPin").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IPin {
type Vtable = IPin_Vtbl;
}
impl ::core::clone::Clone for IPin {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IPin {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a86891_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPin_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub Connect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, preceivepin: *mut ::core::ffi::c_void, pmt: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
Connect: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub ReceiveConnection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pconnector: *mut ::core::ffi::c_void, pmt: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
ReceiveConnection: usize,
pub Disconnect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ConnectedTo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppin: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub ConnectionMediaType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmt: *mut super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
ConnectionMediaType: usize,
#[cfg(feature = "Win32_System_Com")]
pub QueryPinInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pinfo: *mut PIN_INFO) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
QueryPinInfo: usize,
pub QueryDirection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppindir: *mut PIN_DIRECTION) -> ::windows::core::HRESULT,
pub QueryId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, id: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub QueryAccept: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmt: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
QueryAccept: usize,
pub EnumMediaTypes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub QueryInternalConnections: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, appin: *mut *mut ::core::ffi::c_void, npin: *mut u32) -> ::windows::core::HRESULT,
pub EndOfStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub BeginFlush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub EndFlush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub NewSegment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, tstart: i64, tstop: i64, drate: f64) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IPinConnection(::windows::core::IUnknown);
impl IPinConnection {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn DynamicQueryAccept(&self, pmt: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).DynamicQueryAccept)(::windows::core::Interface::as_raw(self), pmt).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn NotifyEndOfStream<P0>(&self, hnotifyevent: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
{
(::windows::core::Interface::vtable(self).NotifyEndOfStream)(::windows::core::Interface::as_raw(self), hnotifyevent.into_param().abi()).ok()
}
pub unsafe fn IsEndPin(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsEndPin)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn DynamicDisconnect(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).DynamicDisconnect)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IPinConnection, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IPinConnection {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IPinConnection {}
impl ::core::fmt::Debug for IPinConnection {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IPinConnection").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IPinConnection {
type Vtable = IPinConnection_Vtbl;
}
impl ::core::clone::Clone for IPinConnection {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IPinConnection {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4a9a62d3_27d4_403d_91e9_89f540e55534);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPinConnection_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub DynamicQueryAccept: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmt: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
DynamicQueryAccept: usize,
#[cfg(feature = "Win32_Foundation")]
pub NotifyEndOfStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hnotifyevent: super::super::Foundation::HANDLE) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
NotifyEndOfStream: usize,
pub IsEndPin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub DynamicDisconnect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IPinFlowControl(::windows::core::IUnknown);
impl IPinFlowControl {
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn Block<P0>(&self, dwblockflags: u32, hevent: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
{
(::windows::core::Interface::vtable(self).Block)(::windows::core::Interface::as_raw(self), dwblockflags, hevent.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IPinFlowControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IPinFlowControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IPinFlowControl {}
impl ::core::fmt::Debug for IPinFlowControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IPinFlowControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IPinFlowControl {
type Vtable = IPinFlowControl_Vtbl;
}
impl ::core::clone::Clone for IPinFlowControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IPinFlowControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc56e9858_dbf3_4f6b_8119_384af2060deb);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPinFlowControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Foundation")]
pub Block: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwblockflags: u32, hevent: super::super::Foundation::HANDLE) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
Block: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IPinInfo(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IPinInfo {
pub unsafe fn Pin(&self) -> ::windows::core::Result<::windows::core::IUnknown> {
let mut result__ = ::windows::core::zeroed::<::windows::core::IUnknown>();
(::windows::core::Interface::vtable(self).Pin)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn ConnectedTo(&self) -> ::windows::core::Result<super::super::System::Com::IDispatch> {
let mut result__ = ::windows::core::zeroed::<super::super::System::Com::IDispatch>();
(::windows::core::Interface::vtable(self).ConnectedTo)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn ConnectionMediaType(&self) -> ::windows::core::Result<super::super::System::Com::IDispatch> {
let mut result__ = ::windows::core::zeroed::<super::super::System::Com::IDispatch>();
(::windows::core::Interface::vtable(self).ConnectionMediaType)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn FilterInfo(&self) -> ::windows::core::Result<super::super::System::Com::IDispatch> {
let mut result__ = ::windows::core::zeroed::<super::super::System::Com::IDispatch>();
(::windows::core::Interface::vtable(self).FilterInfo)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).Name)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Direction(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).Direction)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn PinID(&self) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).PinID)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn MediaTypes(&self) -> ::windows::core::Result<super::super::System::Com::IDispatch> {
let mut result__ = ::windows::core::zeroed::<super::super::System::Com::IDispatch>();
(::windows::core::Interface::vtable(self).MediaTypes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Connect<P0>(&self, ppin: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
{
(::windows::core::Interface::vtable(self).Connect)(::windows::core::Interface::as_raw(self), ppin.into_param().abi()).ok()
}
pub unsafe fn ConnectDirect<P0>(&self, ppin: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
{
(::windows::core::Interface::vtable(self).ConnectDirect)(::windows::core::Interface::as_raw(self), ppin.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn ConnectWithType<P0, P1>(&self, ppin: P0, pmediatype: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
P1: ::windows::core::IntoParam<super::super::System::Com::IDispatch>,
{
(::windows::core::Interface::vtable(self).ConnectWithType)(::windows::core::Interface::as_raw(self), ppin.into_param().abi(), pmediatype.into_param().abi()).ok()
}
pub unsafe fn Disconnect(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Disconnect)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn Render(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).Render)(::windows::core::Interface::as_raw(self)).ok()
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IPinInfo, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IPinInfo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IPinInfo {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IPinInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IPinInfo").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IPinInfo {
type Vtable = IPinInfo_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IPinInfo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IPinInfo {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868bd_0ad4_11ce_b03a_0020af0ba770);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IPinInfo_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
pub Pin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_System_Com")]
pub ConnectedTo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
ConnectedTo: usize,
#[cfg(feature = "Win32_System_Com")]
pub ConnectionMediaType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
ConnectionMediaType: usize,
#[cfg(feature = "Win32_System_Com")]
pub FilterInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
FilterInfo: usize,
pub Name: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppunk: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub Direction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppdirection: *mut i32) -> ::windows::core::HRESULT,
pub PinID: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strpinid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_System_Com")]
pub MediaTypes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
MediaTypes: usize,
pub Connect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppin: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ConnectDirect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppin: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_System_Com")]
pub ConnectWithType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppin: *mut ::core::ffi::c_void, pmediatype: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
ConnectWithType: usize,
pub Disconnect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Render: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IQualProp(::windows::core::IUnknown);
impl IQualProp {
pub unsafe fn FramesDroppedInRenderer(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).FramesDroppedInRenderer)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn FramesDrawn(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).FramesDrawn)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn AvgFrameRate(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).AvgFrameRate)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn Jitter(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).Jitter)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn AvgSyncOffset(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).AvgSyncOffset)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn DevSyncOffset(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).DevSyncOffset)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IQualProp, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IQualProp {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IQualProp {}
impl ::core::fmt::Debug for IQualProp {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IQualProp").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IQualProp {
type Vtable = IQualProp_Vtbl;
}
impl ::core::clone::Clone for IQualProp {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IQualProp {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1bd0ecb0_f8e2_11ce_aac6_0020af0b99a3);
}
#[repr(C)]
#[doc(hidden)]
pub struct IQualProp_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub FramesDroppedInRenderer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcframes: *mut i32) -> ::windows::core::HRESULT,
pub FramesDrawn: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcframesdrawn: *mut i32) -> ::windows::core::HRESULT,
pub AvgFrameRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, piavgframerate: *mut i32) -> ::windows::core::HRESULT,
pub Jitter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ijitter: *mut i32) -> ::windows::core::HRESULT,
pub AvgSyncOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, piavg: *mut i32) -> ::windows::core::HRESULT,
pub DevSyncOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pidev: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IQualityControl(::windows::core::IUnknown);
impl IQualityControl {
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn Notify<P0>(&self, pself: P0, q: Quality) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IBaseFilter>,
{
(::windows::core::Interface::vtable(self).Notify)(::windows::core::Interface::as_raw(self), pself.into_param().abi(), ::core::mem::transmute(q)).ok()
}
pub unsafe fn SetSink<P0>(&self, piqc: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IQualityControl>,
{
(::windows::core::Interface::vtable(self).SetSink)(::windows::core::Interface::as_raw(self), piqc.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IQualityControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IQualityControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IQualityControl {}
impl ::core::fmt::Debug for IQualityControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IQualityControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IQualityControl {
type Vtable = IQualityControl_Vtbl;
}
impl ::core::clone::Clone for IQualityControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IQualityControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868a5_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IQualityControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_System_Com")]
pub Notify: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pself: *mut ::core::ffi::c_void, q: Quality) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
Notify: usize,
pub SetSink: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, piqc: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IQueueCommand(::windows::core::IUnknown);
impl IQueueCommand {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub unsafe fn InvokeAtStreamTime(&self, pcmd: *mut ::core::option::Option<IDeferredCommand>, time: f64, iid: *const ::windows::core::GUID, dispidmethod: i32, wflags: i16, cargs: i32, pdispparams: *const super::super::System::Com::VARIANT, pvarresult: *mut super::super::System::Com::VARIANT, puargerr: *mut i16) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).InvokeAtStreamTime)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pcmd), time, iid, dispidmethod, wflags, cargs, pdispparams, pvarresult, puargerr).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub unsafe fn InvokeAtPresentationTime(&self, pcmd: *mut ::core::option::Option<IDeferredCommand>, time: f64, iid: *const ::windows::core::GUID, dispidmethod: i32, wflags: i16, cargs: i32, pdispparams: *const super::super::System::Com::VARIANT, pvarresult: *mut super::super::System::Com::VARIANT, puargerr: *mut i16) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).InvokeAtPresentationTime)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pcmd), time, iid, dispidmethod, wflags, cargs, pdispparams, pvarresult, puargerr).ok()
}
}
::windows::imp::interface_hierarchy!(IQueueCommand, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IQueueCommand {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IQueueCommand {}
impl ::core::fmt::Debug for IQueueCommand {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IQueueCommand").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IQueueCommand {
type Vtable = IQueueCommand_Vtbl;
}
impl ::core::clone::Clone for IQueueCommand {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IQueueCommand {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868b7_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IQueueCommand_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub InvokeAtStreamTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcmd: *mut *mut ::core::ffi::c_void, time: f64, iid: *const ::windows::core::GUID, dispidmethod: i32, wflags: i16, cargs: i32, pdispparams: *const super::super::System::Com::VARIANT, pvarresult: *mut super::super::System::Com::VARIANT, puargerr: *mut i16) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
InvokeAtStreamTime: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub InvokeAtPresentationTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcmd: *mut *mut ::core::ffi::c_void, time: f64, iid: *const ::windows::core::GUID, dispidmethod: i32, wflags: i16, cargs: i32, pdispparams: *const super::super::System::Com::VARIANT, pvarresult: *mut super::super::System::Com::VARIANT, puargerr: *mut i16) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
InvokeAtPresentationTime: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IRegFilterInfo(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IRegFilterInfo {
pub unsafe fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).Name)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub unsafe fn Filter(&self) -> ::windows::core::Result<super::super::System::Com::IDispatch> {
let mut result__ = ::windows::core::zeroed::<super::super::System::Com::IDispatch>();
(::windows::core::Interface::vtable(self).Filter)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IRegFilterInfo, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IRegFilterInfo {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IRegFilterInfo {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IRegFilterInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IRegFilterInfo").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IRegFilterInfo {
type Vtable = IRegFilterInfo_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IRegFilterInfo {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IRegFilterInfo {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868bb_0ad4_11ce_b03a_0020af0ba770);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IRegFilterInfo_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
pub Name: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_System_Com")]
pub Filter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Com"))]
Filter: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IRegisterServiceProvider(::windows::core::IUnknown);
impl IRegisterServiceProvider {
pub unsafe fn RegisterService<P0>(&self, guidservice: *const ::windows::core::GUID, punkobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
{
(::windows::core::Interface::vtable(self).RegisterService)(::windows::core::Interface::as_raw(self), guidservice, punkobject.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IRegisterServiceProvider, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IRegisterServiceProvider {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IRegisterServiceProvider {}
impl ::core::fmt::Debug for IRegisterServiceProvider {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IRegisterServiceProvider").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IRegisterServiceProvider {
type Vtable = IRegisterServiceProvider_Vtbl;
}
impl ::core::clone::Clone for IRegisterServiceProvider {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IRegisterServiceProvider {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7b3a2f01_0751_48dd_b556_004785171c54);
}
#[repr(C)]
#[doc(hidden)]
pub struct IRegisterServiceProvider_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub RegisterService: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guidservice: *const ::windows::core::GUID, punkobject: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IResourceConsumer(::windows::core::IUnknown);
impl IResourceConsumer {
pub unsafe fn AcquireResource(&self, idresource: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).AcquireResource)(::windows::core::Interface::as_raw(self), idresource).ok()
}
pub unsafe fn ReleaseResource(&self, idresource: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).ReleaseResource)(::windows::core::Interface::as_raw(self), idresource).ok()
}
}
::windows::imp::interface_hierarchy!(IResourceConsumer, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IResourceConsumer {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IResourceConsumer {}
impl ::core::fmt::Debug for IResourceConsumer {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IResourceConsumer").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IResourceConsumer {
type Vtable = IResourceConsumer_Vtbl;
}
impl ::core::clone::Clone for IResourceConsumer {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IResourceConsumer {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868ad_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IResourceConsumer_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub AcquireResource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, idresource: i32) -> ::windows::core::HRESULT,
pub ReleaseResource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, idresource: i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IResourceManager(::windows::core::IUnknown);
impl IResourceManager {
pub unsafe fn Register<P0>(&self, pname: P0, cresource: i32) -> ::windows::core::Result<i32>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).Register)(::windows::core::Interface::as_raw(self), pname.into_param().abi(), cresource, &mut result__).from_abi(result__)
}
pub unsafe fn RegisterGroup<P0>(&self, pname: P0, paltokens: &[i32]) -> ::windows::core::Result<i32>
where
P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
{
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).RegisterGroup)(::windows::core::Interface::as_raw(self), pname.into_param().abi(), paltokens.len() as _, ::core::mem::transmute(paltokens.as_ptr()), &mut result__).from_abi(result__)
}
pub unsafe fn RequestResource<P0, P1>(&self, idresource: i32, pfocusobject: P0, pconsumer: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
P1: ::windows::core::IntoParam<IResourceConsumer>,
{
(::windows::core::Interface::vtable(self).RequestResource)(::windows::core::Interface::as_raw(self), idresource, pfocusobject.into_param().abi(), pconsumer.into_param().abi()).ok()
}
pub unsafe fn NotifyAcquire<P0>(&self, idresource: i32, pconsumer: P0, hr: ::windows::core::HRESULT) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IResourceConsumer>,
{
(::windows::core::Interface::vtable(self).NotifyAcquire)(::windows::core::Interface::as_raw(self), idresource, pconsumer.into_param().abi(), hr).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn NotifyRelease<P0, P1>(&self, idresource: i32, pconsumer: P0, bstillwant: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IResourceConsumer>,
P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).NotifyRelease)(::windows::core::Interface::as_raw(self), idresource, pconsumer.into_param().abi(), bstillwant.into_param().abi()).ok()
}
pub unsafe fn CancelRequest<P0>(&self, idresource: i32, pconsumer: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IResourceConsumer>,
{
(::windows::core::Interface::vtable(self).CancelRequest)(::windows::core::Interface::as_raw(self), idresource, pconsumer.into_param().abi()).ok()
}
pub unsafe fn SetFocus<P0>(&self, pfocusobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
{
(::windows::core::Interface::vtable(self).SetFocus)(::windows::core::Interface::as_raw(self), pfocusobject.into_param().abi()).ok()
}
pub unsafe fn ReleaseFocus<P0>(&self, pfocusobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
{
(::windows::core::Interface::vtable(self).ReleaseFocus)(::windows::core::Interface::as_raw(self), pfocusobject.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IResourceManager, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IResourceManager {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IResourceManager {}
impl ::core::fmt::Debug for IResourceManager {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IResourceManager").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IResourceManager {
type Vtable = IResourceManager_Vtbl;
}
impl ::core::clone::Clone for IResourceManager {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IResourceManager {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868ac_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IResourceManager_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub Register: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pname: ::windows::core::PCWSTR, cresource: i32, pltoken: *mut i32) -> ::windows::core::HRESULT,
pub RegisterGroup: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pname: ::windows::core::PCWSTR, cresource: i32, paltokens: *const i32, pltoken: *mut i32) -> ::windows::core::HRESULT,
pub RequestResource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, idresource: i32, pfocusobject: *mut ::core::ffi::c_void, pconsumer: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub NotifyAcquire: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, idresource: i32, pconsumer: *mut ::core::ffi::c_void, hr: ::windows::core::HRESULT) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub NotifyRelease: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, idresource: i32, pconsumer: *mut ::core::ffi::c_void, bstillwant: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
NotifyRelease: usize,
pub CancelRequest: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, idresource: i32, pconsumer: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetFocus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfocusobject: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub ReleaseFocus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfocusobject: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct ISeekingPassThru(::windows::core::IUnknown);
impl ISeekingPassThru {
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn Init<P0, P1>(&self, bsupportrendering: P0, ppin: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
P1: ::windows::core::IntoParam<IPin>,
{
(::windows::core::Interface::vtable(self).Init)(::windows::core::Interface::as_raw(self), bsupportrendering.into_param().abi(), ppin.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(ISeekingPassThru, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for ISeekingPassThru {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ISeekingPassThru {}
impl ::core::fmt::Debug for ISeekingPassThru {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ISeekingPassThru").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for ISeekingPassThru {
type Vtable = ISeekingPassThru_Vtbl;
}
impl ::core::clone::Clone for ISeekingPassThru {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ISeekingPassThru {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x36b73883_c2c8_11cf_8b46_00805f6cef60);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISeekingPassThru_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Foundation")]
pub Init: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bsupportrendering: super::super::Foundation::BOOL, ppin: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
Init: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct ISelector(::windows::core::IUnknown);
impl ISelector {
pub unsafe fn NumSources(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).NumSources)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SourceNodeId(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).SourceNodeId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetSourceNodeId(&self, dwpinid: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetSourceNodeId)(::windows::core::Interface::as_raw(self), dwpinid).ok()
}
}
::windows::imp::interface_hierarchy!(ISelector, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for ISelector {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ISelector {}
impl ::core::fmt::Debug for ISelector {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ISelector").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for ISelector {
type Vtable = ISelector_Vtbl;
}
impl ::core::clone::Clone for ISelector {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ISelector {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1abdaeca_68b6_4f83_9371_b413907c7b9f);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISelector_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub NumSources: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwnumsources: *mut u32) -> ::windows::core::HRESULT,
pub SourceNodeId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwpinid: *mut u32) -> ::windows::core::HRESULT,
pub SetSourceNodeId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwpinid: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct ISpecifyParticularPages(::windows::core::IUnknown);
impl ISpecifyParticularPages {
#[doc = "*Required features: `\"Win32_System_Ole\"`*"]
#[cfg(feature = "Win32_System_Ole")]
pub unsafe fn GetPages(&self, guidwhatpages: *const ::windows::core::GUID) -> ::windows::core::Result<super::super::System::Ole::CAUUID> {
let mut result__ = ::windows::core::zeroed::<super::super::System::Ole::CAUUID>();
(::windows::core::Interface::vtable(self).GetPages)(::windows::core::Interface::as_raw(self), guidwhatpages, &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(ISpecifyParticularPages, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for ISpecifyParticularPages {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for ISpecifyParticularPages {}
impl ::core::fmt::Debug for ISpecifyParticularPages {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ISpecifyParticularPages").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for ISpecifyParticularPages {
type Vtable = ISpecifyParticularPages_Vtbl;
}
impl ::core::clone::Clone for ISpecifyParticularPages {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for ISpecifyParticularPages {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4c437b91_6e9e_11d1_a704_006097c4e476);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISpecifyParticularPages_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_System_Ole")]
pub GetPages: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guidwhatpages: *const ::windows::core::GUID, ppages: *mut super::super::System::Ole::CAUUID) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_System_Ole"))]
GetPages: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IStreamBuilder(::windows::core::IUnknown);
impl IStreamBuilder {
pub unsafe fn Render<P0, P1>(&self, ppinout: P0, pgraph: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
P1: ::windows::core::IntoParam<IGraphBuilder>,
{
(::windows::core::Interface::vtable(self).Render)(::windows::core::Interface::as_raw(self), ppinout.into_param().abi(), pgraph.into_param().abi()).ok()
}
pub unsafe fn Backout<P0, P1>(&self, ppinout: P0, pgraph: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IPin>,
P1: ::windows::core::IntoParam<IGraphBuilder>,
{
(::windows::core::Interface::vtable(self).Backout)(::windows::core::Interface::as_raw(self), ppinout.into_param().abi(), pgraph.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IStreamBuilder, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IStreamBuilder {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IStreamBuilder {}
impl ::core::fmt::Debug for IStreamBuilder {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IStreamBuilder").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IStreamBuilder {
type Vtable = IStreamBuilder_Vtbl;
}
impl ::core::clone::Clone for IStreamBuilder {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IStreamBuilder {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868bf_0ad4_11ce_b03a_0020af0ba770);
}
#[repr(C)]
#[doc(hidden)]
pub struct IStreamBuilder_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub Render: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppinout: *mut ::core::ffi::c_void, pgraph: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub Backout: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppinout: *mut ::core::ffi::c_void, pgraph: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IStreamSample(::windows::core::IUnknown);
impl IStreamSample {
pub unsafe fn GetMediaStream(&self, ppmediastream: *const ::core::option::Option<IMediaStream>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMediaStream)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ppmediastream)).ok()
}
pub unsafe fn GetSampleTimes(&self, pstarttime: *mut i64, pendtime: *mut i64, pcurrenttime: *mut i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetSampleTimes)(::windows::core::Interface::as_raw(self), pstarttime, pendtime, pcurrenttime).ok()
}
pub unsafe fn SetSampleTimes(&self, pstarttime: *const i64, pendtime: *const i64) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetSampleTimes)(::windows::core::Interface::as_raw(self), pstarttime, pendtime).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn Update<P0>(&self, dwflags: u32, hevent: P0, pfnapc: super::super::Foundation::PAPCFUNC, dwapcdata: usize) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
{
(::windows::core::Interface::vtable(self).Update)(::windows::core::Interface::as_raw(self), dwflags, hevent.into_param().abi(), pfnapc, dwapcdata).ok()
}
pub unsafe fn CompletionStatus(&self, dwflags: u32, dwmilliseconds: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).CompletionStatus)(::windows::core::Interface::as_raw(self), dwflags, dwmilliseconds).ok()
}
}
::windows::imp::interface_hierarchy!(IStreamSample, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IStreamSample {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IStreamSample {}
impl ::core::fmt::Debug for IStreamSample {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IStreamSample").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IStreamSample {
type Vtable = IStreamSample_Vtbl;
}
impl ::core::clone::Clone for IStreamSample {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IStreamSample {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb502d1be_9a57_11d0_8fde_00c04fd9189d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IStreamSample_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetMediaStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppmediastream: *const *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetSampleTimes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstarttime: *mut i64, pendtime: *mut i64, pcurrenttime: *mut i64) -> ::windows::core::HRESULT,
pub SetSampleTimes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstarttime: *const i64, pendtime: *const i64) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub Update: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwflags: u32, hevent: super::super::Foundation::HANDLE, pfnapc: super::super::Foundation::PAPCFUNC, dwapcdata: usize) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
Update: usize,
pub CompletionStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwflags: u32, dwmilliseconds: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRAspectRatioControl(::windows::core::IUnknown);
impl IVMRAspectRatioControl {
pub unsafe fn GetAspectRatioMode(&self, lpdwarmode: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetAspectRatioMode)(::windows::core::Interface::as_raw(self), lpdwarmode).ok()
}
pub unsafe fn SetAspectRatioMode(&self, dwarmode: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetAspectRatioMode)(::windows::core::Interface::as_raw(self), dwarmode).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRAspectRatioControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRAspectRatioControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRAspectRatioControl {}
impl ::core::fmt::Debug for IVMRAspectRatioControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRAspectRatioControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRAspectRatioControl {
type Vtable = IVMRAspectRatioControl_Vtbl;
}
impl ::core::clone::Clone for IVMRAspectRatioControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRAspectRatioControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xede80b5c_bad6_4623_b537_65586c9f8dfd);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRAspectRatioControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetAspectRatioMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpdwarmode: *mut u32) -> ::windows::core::HRESULT,
pub SetAspectRatioMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwarmode: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRAspectRatioControl9(::windows::core::IUnknown);
impl IVMRAspectRatioControl9 {
pub unsafe fn GetAspectRatioMode(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetAspectRatioMode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetAspectRatioMode(&self, dwarmode: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetAspectRatioMode)(::windows::core::Interface::as_raw(self), dwarmode).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRAspectRatioControl9, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRAspectRatioControl9 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRAspectRatioControl9 {}
impl ::core::fmt::Debug for IVMRAspectRatioControl9 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRAspectRatioControl9").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRAspectRatioControl9 {
type Vtable = IVMRAspectRatioControl9_Vtbl;
}
impl ::core::clone::Clone for IVMRAspectRatioControl9 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRAspectRatioControl9 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x00d96c29_bbde_4efc_9901_bb5036392146);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRAspectRatioControl9_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetAspectRatioMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpdwarmode: *mut u32) -> ::windows::core::HRESULT,
pub SetAspectRatioMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwarmode: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRDeinterlaceControl(::windows::core::IUnknown);
impl IVMRDeinterlaceControl {
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetNumberOfDeinterlaceModes(&self, lpvideodescription: *mut VMRVideoDesc, lpdwnumdeinterlacemodes: *mut u32, lpdeinterlacemodes: *mut ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetNumberOfDeinterlaceModes)(::windows::core::Interface::as_raw(self), lpvideodescription, lpdwnumdeinterlacemodes, lpdeinterlacemodes).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetDeinterlaceModeCaps(&self, lpdeinterlacemode: *mut ::windows::core::GUID, lpvideodescription: *mut VMRVideoDesc, lpdeinterlacecaps: *mut VMRDeinterlaceCaps) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDeinterlaceModeCaps)(::windows::core::Interface::as_raw(self), lpdeinterlacemode, lpvideodescription, lpdeinterlacecaps).ok()
}
pub unsafe fn GetDeinterlaceMode(&self, dwstreamid: u32, lpdeinterlacemode: *mut ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDeinterlaceMode)(::windows::core::Interface::as_raw(self), dwstreamid, lpdeinterlacemode).ok()
}
pub unsafe fn SetDeinterlaceMode(&self, dwstreamid: u32, lpdeinterlacemode: *mut ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDeinterlaceMode)(::windows::core::Interface::as_raw(self), dwstreamid, lpdeinterlacemode).ok()
}
pub unsafe fn GetDeinterlacePrefs(&self, lpdwdeinterlaceprefs: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDeinterlacePrefs)(::windows::core::Interface::as_raw(self), lpdwdeinterlaceprefs).ok()
}
pub unsafe fn SetDeinterlacePrefs(&self, dwdeinterlaceprefs: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDeinterlacePrefs)(::windows::core::Interface::as_raw(self), dwdeinterlaceprefs).ok()
}
pub unsafe fn GetActualDeinterlaceMode(&self, dwstreamid: u32, lpdeinterlacemode: *mut ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetActualDeinterlaceMode)(::windows::core::Interface::as_raw(self), dwstreamid, lpdeinterlacemode).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRDeinterlaceControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRDeinterlaceControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRDeinterlaceControl {}
impl ::core::fmt::Debug for IVMRDeinterlaceControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRDeinterlaceControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRDeinterlaceControl {
type Vtable = IVMRDeinterlaceControl_Vtbl;
}
impl ::core::clone::Clone for IVMRDeinterlaceControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRDeinterlaceControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbb057577_0db8_4e6a_87a7_1a8c9a505a0f);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRDeinterlaceControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Foundation")]
pub GetNumberOfDeinterlaceModes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpvideodescription: *mut VMRVideoDesc, lpdwnumdeinterlacemodes: *mut u32, lpdeinterlacemodes: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetNumberOfDeinterlaceModes: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetDeinterlaceModeCaps: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpdeinterlacemode: *mut ::windows::core::GUID, lpvideodescription: *mut VMRVideoDesc, lpdeinterlacecaps: *mut VMRDeinterlaceCaps) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetDeinterlaceModeCaps: usize,
pub GetDeinterlaceMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, lpdeinterlacemode: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub SetDeinterlaceMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, lpdeinterlacemode: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub GetDeinterlacePrefs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpdwdeinterlaceprefs: *mut u32) -> ::windows::core::HRESULT,
pub SetDeinterlacePrefs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwdeinterlaceprefs: u32) -> ::windows::core::HRESULT,
pub GetActualDeinterlaceMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, lpdeinterlacemode: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRDeinterlaceControl9(::windows::core::IUnknown);
impl IVMRDeinterlaceControl9 {
pub unsafe fn GetNumberOfDeinterlaceModes(&self, lpvideodescription: *const VMR9VideoDesc, lpdwnumdeinterlacemodes: *mut u32, lpdeinterlacemodes: *mut ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetNumberOfDeinterlaceModes)(::windows::core::Interface::as_raw(self), lpvideodescription, lpdwnumdeinterlacemodes, lpdeinterlacemodes).ok()
}
pub unsafe fn GetDeinterlaceModeCaps(&self, lpdeinterlacemode: *const ::windows::core::GUID, lpvideodescription: *const VMR9VideoDesc, lpdeinterlacecaps: *mut VMR9DeinterlaceCaps) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDeinterlaceModeCaps)(::windows::core::Interface::as_raw(self), lpdeinterlacemode, lpvideodescription, lpdeinterlacecaps).ok()
}
pub unsafe fn GetDeinterlaceMode(&self, dwstreamid: u32) -> ::windows::core::Result<::windows::core::GUID> {
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).GetDeinterlaceMode)(::windows::core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__)
}
pub unsafe fn SetDeinterlaceMode(&self, dwstreamid: u32, lpdeinterlacemode: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDeinterlaceMode)(::windows::core::Interface::as_raw(self), dwstreamid, lpdeinterlacemode).ok()
}
pub unsafe fn GetDeinterlacePrefs(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetDeinterlacePrefs)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDeinterlacePrefs(&self, dwdeinterlaceprefs: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDeinterlacePrefs)(::windows::core::Interface::as_raw(self), dwdeinterlaceprefs).ok()
}
pub unsafe fn GetActualDeinterlaceMode(&self, dwstreamid: u32) -> ::windows::core::Result<::windows::core::GUID> {
let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
(::windows::core::Interface::vtable(self).GetActualDeinterlaceMode)(::windows::core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IVMRDeinterlaceControl9, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRDeinterlaceControl9 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRDeinterlaceControl9 {}
impl ::core::fmt::Debug for IVMRDeinterlaceControl9 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRDeinterlaceControl9").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRDeinterlaceControl9 {
type Vtable = IVMRDeinterlaceControl9_Vtbl;
}
impl ::core::clone::Clone for IVMRDeinterlaceControl9 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRDeinterlaceControl9 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa215fb8d_13c2_4f7f_993c_003d6271a459);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRDeinterlaceControl9_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetNumberOfDeinterlaceModes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpvideodescription: *const VMR9VideoDesc, lpdwnumdeinterlacemodes: *mut u32, lpdeinterlacemodes: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub GetDeinterlaceModeCaps: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpdeinterlacemode: *const ::windows::core::GUID, lpvideodescription: *const VMR9VideoDesc, lpdeinterlacecaps: *mut VMR9DeinterlaceCaps) -> ::windows::core::HRESULT,
pub GetDeinterlaceMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, lpdeinterlacemode: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
pub SetDeinterlaceMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, lpdeinterlacemode: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
pub GetDeinterlacePrefs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpdwdeinterlaceprefs: *mut u32) -> ::windows::core::HRESULT,
pub SetDeinterlacePrefs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwdeinterlaceprefs: u32) -> ::windows::core::HRESULT,
pub GetActualDeinterlaceMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, lpdeinterlacemode: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRFilterConfig(::windows::core::IUnknown);
impl IVMRFilterConfig {
pub unsafe fn SetImageCompositor<P0>(&self, lpvmrimgcompositor: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IVMRImageCompositor>,
{
(::windows::core::Interface::vtable(self).SetImageCompositor)(::windows::core::Interface::as_raw(self), lpvmrimgcompositor.into_param().abi()).ok()
}
pub unsafe fn SetNumberOfStreams(&self, dwmaxstreams: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetNumberOfStreams)(::windows::core::Interface::as_raw(self), dwmaxstreams).ok()
}
pub unsafe fn GetNumberOfStreams(&self, pdwmaxstreams: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetNumberOfStreams)(::windows::core::Interface::as_raw(self), pdwmaxstreams).ok()
}
pub unsafe fn SetRenderingPrefs(&self, dwrenderflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetRenderingPrefs)(::windows::core::Interface::as_raw(self), dwrenderflags).ok()
}
pub unsafe fn GetRenderingPrefs(&self, pdwrenderflags: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetRenderingPrefs)(::windows::core::Interface::as_raw(self), pdwrenderflags).ok()
}
pub unsafe fn SetRenderingMode(&self, mode: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetRenderingMode)(::windows::core::Interface::as_raw(self), mode).ok()
}
pub unsafe fn GetRenderingMode(&self, pmode: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetRenderingMode)(::windows::core::Interface::as_raw(self), pmode).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRFilterConfig, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRFilterConfig {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRFilterConfig {}
impl ::core::fmt::Debug for IVMRFilterConfig {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRFilterConfig").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRFilterConfig {
type Vtable = IVMRFilterConfig_Vtbl;
}
impl ::core::clone::Clone for IVMRFilterConfig {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRFilterConfig {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9e5530c5_7034_48b4_bb46_0b8a6efc8e36);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRFilterConfig_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetImageCompositor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpvmrimgcompositor: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetNumberOfStreams: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwmaxstreams: u32) -> ::windows::core::HRESULT,
pub GetNumberOfStreams: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwmaxstreams: *mut u32) -> ::windows::core::HRESULT,
pub SetRenderingPrefs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwrenderflags: u32) -> ::windows::core::HRESULT,
pub GetRenderingPrefs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwrenderflags: *mut u32) -> ::windows::core::HRESULT,
pub SetRenderingMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mode: u32) -> ::windows::core::HRESULT,
pub GetRenderingMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmode: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRFilterConfig9(::windows::core::IUnknown);
impl IVMRFilterConfig9 {
pub unsafe fn SetImageCompositor<P0>(&self, lpvmrimgcompositor: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IVMRImageCompositor9>,
{
(::windows::core::Interface::vtable(self).SetImageCompositor)(::windows::core::Interface::as_raw(self), lpvmrimgcompositor.into_param().abi()).ok()
}
pub unsafe fn SetNumberOfStreams(&self, dwmaxstreams: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetNumberOfStreams)(::windows::core::Interface::as_raw(self), dwmaxstreams).ok()
}
pub unsafe fn GetNumberOfStreams(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetNumberOfStreams)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetRenderingPrefs(&self, dwrenderflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetRenderingPrefs)(::windows::core::Interface::as_raw(self), dwrenderflags).ok()
}
pub unsafe fn GetRenderingPrefs(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetRenderingPrefs)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetRenderingMode(&self, mode: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetRenderingMode)(::windows::core::Interface::as_raw(self), mode).ok()
}
pub unsafe fn GetRenderingMode(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetRenderingMode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IVMRFilterConfig9, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRFilterConfig9 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRFilterConfig9 {}
impl ::core::fmt::Debug for IVMRFilterConfig9 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRFilterConfig9").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRFilterConfig9 {
type Vtable = IVMRFilterConfig9_Vtbl;
}
impl ::core::clone::Clone for IVMRFilterConfig9 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRFilterConfig9 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5a804648_4f66_4867_9c43_4f5c822cf1b8);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRFilterConfig9_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetImageCompositor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpvmrimgcompositor: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub SetNumberOfStreams: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwmaxstreams: u32) -> ::windows::core::HRESULT,
pub GetNumberOfStreams: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwmaxstreams: *mut u32) -> ::windows::core::HRESULT,
pub SetRenderingPrefs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwrenderflags: u32) -> ::windows::core::HRESULT,
pub GetRenderingPrefs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwrenderflags: *mut u32) -> ::windows::core::HRESULT,
pub SetRenderingMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mode: u32) -> ::windows::core::HRESULT,
pub GetRenderingMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmode: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRImageCompositor(::windows::core::IUnknown);
impl IVMRImageCompositor {
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn InitCompositionTarget<P0, P1>(&self, pd3ddevice: P0, pddsrendertarget: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
P1: ::windows::core::IntoParam<super::super::Graphics::DirectDraw::IDirectDrawSurface7>,
{
(::windows::core::Interface::vtable(self).InitCompositionTarget)(::windows::core::Interface::as_raw(self), pd3ddevice.into_param().abi(), pddsrendertarget.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn TermCompositionTarget<P0, P1>(&self, pd3ddevice: P0, pddsrendertarget: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
P1: ::windows::core::IntoParam<super::super::Graphics::DirectDraw::IDirectDrawSurface7>,
{
(::windows::core::Interface::vtable(self).TermCompositionTarget)(::windows::core::Interface::as_raw(self), pd3ddevice.into_param().abi(), pddsrendertarget.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn SetStreamMediaType<P0>(&self, dwstrmid: u32, pmt: *mut super::MediaFoundation::AM_MEDIA_TYPE, ftexture: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetStreamMediaType)(::windows::core::Interface::as_raw(self), dwstrmid, pmt, ftexture.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_DirectDraw\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn CompositeImage<P0, P1>(&self, pd3ddevice: P0, pddsrendertarget: P1, pmtrendertarget: *mut super::MediaFoundation::AM_MEDIA_TYPE, rtstart: i64, rtend: i64, dwclrbkgnd: u32, pvideostreaminfo: *mut VMRVIDEOSTREAMINFO, cstreams: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
P1: ::windows::core::IntoParam<super::super::Graphics::DirectDraw::IDirectDrawSurface7>,
{
(::windows::core::Interface::vtable(self).CompositeImage)(::windows::core::Interface::as_raw(self), pd3ddevice.into_param().abi(), pddsrendertarget.into_param().abi(), pmtrendertarget, rtstart, rtend, dwclrbkgnd, pvideostreaminfo, cstreams).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRImageCompositor, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRImageCompositor {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRImageCompositor {}
impl ::core::fmt::Debug for IVMRImageCompositor {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRImageCompositor").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRImageCompositor {
type Vtable = IVMRImageCompositor_Vtbl;
}
impl ::core::clone::Clone for IVMRImageCompositor {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRImageCompositor {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7a4fb5af_479f_4074_bb40_ce6722e43c82);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRImageCompositor_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub InitCompositionTarget: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pd3ddevice: *mut ::core::ffi::c_void, pddsrendertarget: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
InitCompositionTarget: usize,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub TermCompositionTarget: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pd3ddevice: *mut ::core::ffi::c_void, pddsrendertarget: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
TermCompositionTarget: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub SetStreamMediaType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstrmid: u32, pmt: *mut super::MediaFoundation::AM_MEDIA_TYPE, ftexture: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
SetStreamMediaType: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Media_MediaFoundation"))]
pub CompositeImage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pd3ddevice: *mut ::core::ffi::c_void, pddsrendertarget: *mut ::core::ffi::c_void, pmtrendertarget: *mut super::MediaFoundation::AM_MEDIA_TYPE, rtstart: i64, rtend: i64, dwclrbkgnd: u32, pvideostreaminfo: *mut VMRVIDEOSTREAMINFO, cstreams: u32) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Media_MediaFoundation")))]
CompositeImage: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRImageCompositor9(::windows::core::IUnknown);
impl IVMRImageCompositor9 {
pub unsafe fn InitCompositionDevice<P0>(&self, pd3ddevice: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
{
(::windows::core::Interface::vtable(self).InitCompositionDevice)(::windows::core::Interface::as_raw(self), pd3ddevice.into_param().abi()).ok()
}
pub unsafe fn TermCompositionDevice<P0>(&self, pd3ddevice: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
{
(::windows::core::Interface::vtable(self).TermCompositionDevice)(::windows::core::Interface::as_raw(self), pd3ddevice.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn SetStreamMediaType<P0>(&self, dwstrmid: u32, pmt: *const super::MediaFoundation::AM_MEDIA_TYPE, ftexture: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetStreamMediaType)(::windows::core::Interface::as_raw(self), dwstrmid, pmt, ftexture.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D9\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn CompositeImage<P0, P1>(&self, pd3ddevice: P0, pddsrendertarget: P1, pmtrendertarget: *const super::MediaFoundation::AM_MEDIA_TYPE, rtstart: i64, rtend: i64, dwclrbkgnd: u32, pvideostreaminfo: *const VMR9VideoStreamInfo, cstreams: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
P1: ::windows::core::IntoParam<super::super::Graphics::Direct3D9::IDirect3DSurface9>,
{
(::windows::core::Interface::vtable(self).CompositeImage)(::windows::core::Interface::as_raw(self), pd3ddevice.into_param().abi(), pddsrendertarget.into_param().abi(), pmtrendertarget, rtstart, rtend, dwclrbkgnd, pvideostreaminfo, cstreams).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRImageCompositor9, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRImageCompositor9 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRImageCompositor9 {}
impl ::core::fmt::Debug for IVMRImageCompositor9 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRImageCompositor9").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRImageCompositor9 {
type Vtable = IVMRImageCompositor9_Vtbl;
}
impl ::core::clone::Clone for IVMRImageCompositor9 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRImageCompositor9 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4a5c89eb_df51_4654_ac2a_e48e02bbabf6);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRImageCompositor9_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub InitCompositionDevice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pd3ddevice: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub TermCompositionDevice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pd3ddevice: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub SetStreamMediaType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstrmid: u32, pmt: *const super::MediaFoundation::AM_MEDIA_TYPE, ftexture: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
SetStreamMediaType: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Media_MediaFoundation"))]
pub CompositeImage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pd3ddevice: *mut ::core::ffi::c_void, pddsrendertarget: *mut ::core::ffi::c_void, pmtrendertarget: *const super::MediaFoundation::AM_MEDIA_TYPE, rtstart: i64, rtend: i64, dwclrbkgnd: u32, pvideostreaminfo: *const VMR9VideoStreamInfo, cstreams: u32) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Media_MediaFoundation")))]
CompositeImage: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRImagePresenter(::windows::core::IUnknown);
impl IVMRImagePresenter {
pub unsafe fn StartPresenting(&self, dwuserid: usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).StartPresenting)(::windows::core::Interface::as_raw(self), dwuserid).ok()
}
pub unsafe fn StopPresenting(&self, dwuserid: usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).StopPresenting)(::windows::core::Interface::as_raw(self), dwuserid).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
pub unsafe fn PresentImage(&self, dwuserid: usize, lppresinfo: *mut VMRPRESENTATIONINFO) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PresentImage)(::windows::core::Interface::as_raw(self), dwuserid, lppresinfo).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRImagePresenter, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRImagePresenter {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRImagePresenter {}
impl ::core::fmt::Debug for IVMRImagePresenter {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRImagePresenter").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRImagePresenter {
type Vtable = IVMRImagePresenter_Vtbl;
}
impl ::core::clone::Clone for IVMRImagePresenter {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRImagePresenter {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xce704fe7_e71e_41fb_baa2_c4403e1182f5);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRImagePresenter_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub StartPresenting: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwuserid: usize) -> ::windows::core::HRESULT,
pub StopPresenting: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwuserid: usize) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
pub PresentImage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwuserid: usize, lppresinfo: *mut VMRPRESENTATIONINFO) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw")))]
PresentImage: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRImagePresenter9(::windows::core::IUnknown);
impl IVMRImagePresenter9 {
pub unsafe fn StartPresenting(&self, dwuserid: usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).StartPresenting)(::windows::core::Interface::as_raw(self), dwuserid).ok()
}
pub unsafe fn StopPresenting(&self, dwuserid: usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).StopPresenting)(::windows::core::Interface::as_raw(self), dwuserid).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D9\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
pub unsafe fn PresentImage(&self, dwuserid: usize, lppresinfo: *const VMR9PresentationInfo) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).PresentImage)(::windows::core::Interface::as_raw(self), dwuserid, lppresinfo).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRImagePresenter9, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRImagePresenter9 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRImagePresenter9 {}
impl ::core::fmt::Debug for IVMRImagePresenter9 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRImagePresenter9").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRImagePresenter9 {
type Vtable = IVMRImagePresenter9_Vtbl;
}
impl ::core::clone::Clone for IVMRImagePresenter9 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRImagePresenter9 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x69188c61_12a3_40f0_8ffc_342e7b433fd7);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRImagePresenter9_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub StartPresenting: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwuserid: usize) -> ::windows::core::HRESULT,
pub StopPresenting: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwuserid: usize) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
pub PresentImage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwuserid: usize, lppresinfo: *const VMR9PresentationInfo) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9")))]
PresentImage: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRImagePresenterConfig(::windows::core::IUnknown);
impl IVMRImagePresenterConfig {
pub unsafe fn SetRenderingPrefs(&self, dwrenderflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetRenderingPrefs)(::windows::core::Interface::as_raw(self), dwrenderflags).ok()
}
pub unsafe fn GetRenderingPrefs(&self, dwrenderflags: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetRenderingPrefs)(::windows::core::Interface::as_raw(self), dwrenderflags).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRImagePresenterConfig, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRImagePresenterConfig {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRImagePresenterConfig {}
impl ::core::fmt::Debug for IVMRImagePresenterConfig {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRImagePresenterConfig").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRImagePresenterConfig {
type Vtable = IVMRImagePresenterConfig_Vtbl;
}
impl ::core::clone::Clone for IVMRImagePresenterConfig {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRImagePresenterConfig {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9f3a1c85_8555_49ba_935f_be5b5b29d178);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRImagePresenterConfig_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetRenderingPrefs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwrenderflags: u32) -> ::windows::core::HRESULT,
pub GetRenderingPrefs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwrenderflags: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRImagePresenterConfig9(::windows::core::IUnknown);
impl IVMRImagePresenterConfig9 {
pub unsafe fn SetRenderingPrefs(&self, dwrenderflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetRenderingPrefs)(::windows::core::Interface::as_raw(self), dwrenderflags).ok()
}
pub unsafe fn GetRenderingPrefs(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetRenderingPrefs)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IVMRImagePresenterConfig9, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRImagePresenterConfig9 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRImagePresenterConfig9 {}
impl ::core::fmt::Debug for IVMRImagePresenterConfig9 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRImagePresenterConfig9").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRImagePresenterConfig9 {
type Vtable = IVMRImagePresenterConfig9_Vtbl;
}
impl ::core::clone::Clone for IVMRImagePresenterConfig9 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRImagePresenterConfig9 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x45c15cab_6e22_420a_8043_ae1f0ac02c7d);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRImagePresenterConfig9_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetRenderingPrefs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwrenderflags: u32) -> ::windows::core::HRESULT,
pub GetRenderingPrefs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwrenderflags: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRImagePresenterExclModeConfig(::windows::core::IUnknown);
impl IVMRImagePresenterExclModeConfig {
pub unsafe fn SetRenderingPrefs(&self, dwrenderflags: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetRenderingPrefs)(::windows::core::Interface::as_raw(self), dwrenderflags).ok()
}
pub unsafe fn GetRenderingPrefs(&self, dwrenderflags: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetRenderingPrefs)(::windows::core::Interface::as_raw(self), dwrenderflags).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn SetXlcModeDDObjAndPrimarySurface<P0, P1>(&self, lpddobj: P0, lpprimarysurf: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Graphics::DirectDraw::IDirectDraw7>,
P1: ::windows::core::IntoParam<super::super::Graphics::DirectDraw::IDirectDrawSurface7>,
{
(::windows::core::Interface::vtable(self).SetXlcModeDDObjAndPrimarySurface)(::windows::core::Interface::as_raw(self), lpddobj.into_param().abi(), lpprimarysurf.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetXlcModeDDObjAndPrimarySurface(&self, lpddobj: *mut ::core::option::Option<super::super::Graphics::DirectDraw::IDirectDraw7>, lpprimarysurf: *mut ::core::option::Option<super::super::Graphics::DirectDraw::IDirectDrawSurface7>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetXlcModeDDObjAndPrimarySurface)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(lpddobj), ::core::mem::transmute(lpprimarysurf)).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRImagePresenterExclModeConfig, ::windows::core::IUnknown, IVMRImagePresenterConfig);
impl ::core::cmp::PartialEq for IVMRImagePresenterExclModeConfig {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRImagePresenterExclModeConfig {}
impl ::core::fmt::Debug for IVMRImagePresenterExclModeConfig {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRImagePresenterExclModeConfig").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRImagePresenterExclModeConfig {
type Vtable = IVMRImagePresenterExclModeConfig_Vtbl;
}
impl ::core::clone::Clone for IVMRImagePresenterExclModeConfig {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRImagePresenterExclModeConfig {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe6f7ce40_4673_44f1_8f77_5499d68cb4ea);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRImagePresenterExclModeConfig_Vtbl {
pub base__: IVMRImagePresenterConfig_Vtbl,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub SetXlcModeDDObjAndPrimarySurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpddobj: *mut ::core::ffi::c_void, lpprimarysurf: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
SetXlcModeDDObjAndPrimarySurface: usize,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetXlcModeDDObjAndPrimarySurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpddobj: *mut *mut ::core::ffi::c_void, lpprimarysurf: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetXlcModeDDObjAndPrimarySurface: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRMixerBitmap(::windows::core::IUnknown);
impl IVMRMixerBitmap {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_DirectDraw\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn SetAlphaBitmap(&self, pbmpparms: *const VMRALPHABITMAP) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetAlphaBitmap)(::windows::core::Interface::as_raw(self), pbmpparms).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_DirectDraw\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn UpdateAlphaBitmapParameters(&self, pbmpparms: *mut VMRALPHABITMAP) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).UpdateAlphaBitmapParameters)(::windows::core::Interface::as_raw(self), pbmpparms).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_DirectDraw\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn GetAlphaBitmapParameters(&self, pbmpparms: *mut VMRALPHABITMAP) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetAlphaBitmapParameters)(::windows::core::Interface::as_raw(self), pbmpparms).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRMixerBitmap, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRMixerBitmap {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRMixerBitmap {}
impl ::core::fmt::Debug for IVMRMixerBitmap {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRMixerBitmap").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRMixerBitmap {
type Vtable = IVMRMixerBitmap_Vtbl;
}
impl ::core::clone::Clone for IVMRMixerBitmap {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRMixerBitmap {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1e673275_0257_40aa_af20_7c608d4a0428);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRMixerBitmap_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
pub SetAlphaBitmap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbmpparms: *const VMRALPHABITMAP) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi")))]
SetAlphaBitmap: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
pub UpdateAlphaBitmapParameters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbmpparms: *mut VMRALPHABITMAP) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi")))]
UpdateAlphaBitmapParameters: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
pub GetAlphaBitmapParameters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbmpparms: *mut VMRALPHABITMAP) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi")))]
GetAlphaBitmapParameters: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRMixerBitmap9(::windows::core::IUnknown);
impl IVMRMixerBitmap9 {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D9\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn SetAlphaBitmap(&self, pbmpparms: *const VMR9AlphaBitmap) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetAlphaBitmap)(::windows::core::Interface::as_raw(self), pbmpparms).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D9\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn UpdateAlphaBitmapParameters(&self, pbmpparms: *const VMR9AlphaBitmap) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).UpdateAlphaBitmapParameters)(::windows::core::Interface::as_raw(self), pbmpparms).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D9\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn GetAlphaBitmapParameters(&self, pbmpparms: *mut VMR9AlphaBitmap) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetAlphaBitmapParameters)(::windows::core::Interface::as_raw(self), pbmpparms).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRMixerBitmap9, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRMixerBitmap9 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRMixerBitmap9 {}
impl ::core::fmt::Debug for IVMRMixerBitmap9 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRMixerBitmap9").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRMixerBitmap9 {
type Vtable = IVMRMixerBitmap9_Vtbl;
}
impl ::core::clone::Clone for IVMRMixerBitmap9 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRMixerBitmap9 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xced175e5_1935_4820_81bd_ff6ad00c9108);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRMixerBitmap9_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi"))]
pub SetAlphaBitmap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbmpparms: *const VMR9AlphaBitmap) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi")))]
SetAlphaBitmap: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi"))]
pub UpdateAlphaBitmapParameters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbmpparms: *const VMR9AlphaBitmap) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi")))]
UpdateAlphaBitmapParameters: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi"))]
pub GetAlphaBitmapParameters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbmpparms: *mut VMR9AlphaBitmap) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi")))]
GetAlphaBitmapParameters: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRMixerControl(::windows::core::IUnknown);
impl IVMRMixerControl {
pub unsafe fn SetAlpha(&self, dwstreamid: u32, alpha: f32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetAlpha)(::windows::core::Interface::as_raw(self), dwstreamid, alpha).ok()
}
pub unsafe fn GetAlpha(&self, dwstreamid: u32, palpha: *mut f32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetAlpha)(::windows::core::Interface::as_raw(self), dwstreamid, palpha).ok()
}
pub unsafe fn SetZOrder(&self, dwstreamid: u32, dwz: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetZOrder)(::windows::core::Interface::as_raw(self), dwstreamid, dwz).ok()
}
pub unsafe fn GetZOrder(&self, dwstreamid: u32, pz: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetZOrder)(::windows::core::Interface::as_raw(self), dwstreamid, pz).ok()
}
pub unsafe fn SetOutputRect(&self, dwstreamid: u32, prect: *const NORMALIZEDRECT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetOutputRect)(::windows::core::Interface::as_raw(self), dwstreamid, prect).ok()
}
pub unsafe fn GetOutputRect(&self, dwstreamid: u32, prect: *mut NORMALIZEDRECT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetOutputRect)(::windows::core::Interface::as_raw(self), dwstreamid, prect).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetBackgroundClr<P0>(&self, clrbkg: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::COLORREF>,
{
(::windows::core::Interface::vtable(self).SetBackgroundClr)(::windows::core::Interface::as_raw(self), clrbkg.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetBackgroundClr(&self, lpclrbkg: *mut super::super::Foundation::COLORREF) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetBackgroundClr)(::windows::core::Interface::as_raw(self), lpclrbkg).ok()
}
pub unsafe fn SetMixingPrefs(&self, dwmixerprefs: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMixingPrefs)(::windows::core::Interface::as_raw(self), dwmixerprefs).ok()
}
pub unsafe fn GetMixingPrefs(&self, pdwmixerprefs: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMixingPrefs)(::windows::core::Interface::as_raw(self), pdwmixerprefs).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRMixerControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRMixerControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRMixerControl {}
impl ::core::fmt::Debug for IVMRMixerControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRMixerControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRMixerControl {
type Vtable = IVMRMixerControl_Vtbl;
}
impl ::core::clone::Clone for IVMRMixerControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRMixerControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1c1a17b0_bed0_415d_974b_dc6696131599);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRMixerControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetAlpha: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, alpha: f32) -> ::windows::core::HRESULT,
pub GetAlpha: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, palpha: *mut f32) -> ::windows::core::HRESULT,
pub SetZOrder: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, dwz: u32) -> ::windows::core::HRESULT,
pub GetZOrder: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, pz: *mut u32) -> ::windows::core::HRESULT,
pub SetOutputRect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, prect: *const NORMALIZEDRECT) -> ::windows::core::HRESULT,
pub GetOutputRect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, prect: *mut NORMALIZEDRECT) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetBackgroundClr: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clrbkg: super::super::Foundation::COLORREF) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetBackgroundClr: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetBackgroundClr: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpclrbkg: *mut super::super::Foundation::COLORREF) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetBackgroundClr: usize,
pub SetMixingPrefs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwmixerprefs: u32) -> ::windows::core::HRESULT,
pub GetMixingPrefs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwmixerprefs: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRMixerControl9(::windows::core::IUnknown);
impl IVMRMixerControl9 {
pub unsafe fn SetAlpha(&self, dwstreamid: u32, alpha: f32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetAlpha)(::windows::core::Interface::as_raw(self), dwstreamid, alpha).ok()
}
pub unsafe fn GetAlpha(&self, dwstreamid: u32) -> ::windows::core::Result<f32> {
let mut result__ = ::windows::core::zeroed::<f32>();
(::windows::core::Interface::vtable(self).GetAlpha)(::windows::core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__)
}
pub unsafe fn SetZOrder(&self, dwstreamid: u32, dwz: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetZOrder)(::windows::core::Interface::as_raw(self), dwstreamid, dwz).ok()
}
pub unsafe fn GetZOrder(&self, dwstreamid: u32) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetZOrder)(::windows::core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__)
}
pub unsafe fn SetOutputRect(&self, dwstreamid: u32, prect: *const VMR9NormalizedRect) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetOutputRect)(::windows::core::Interface::as_raw(self), dwstreamid, prect).ok()
}
pub unsafe fn GetOutputRect(&self, dwstreamid: u32) -> ::windows::core::Result<VMR9NormalizedRect> {
let mut result__ = ::windows::core::zeroed::<VMR9NormalizedRect>();
(::windows::core::Interface::vtable(self).GetOutputRect)(::windows::core::Interface::as_raw(self), dwstreamid, &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetBackgroundClr<P0>(&self, clrbkg: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::COLORREF>,
{
(::windows::core::Interface::vtable(self).SetBackgroundClr)(::windows::core::Interface::as_raw(self), clrbkg.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetBackgroundClr(&self, lpclrbkg: *const super::super::Foundation::COLORREF) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetBackgroundClr)(::windows::core::Interface::as_raw(self), lpclrbkg).ok()
}
pub unsafe fn SetMixingPrefs(&self, dwmixerprefs: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMixingPrefs)(::windows::core::Interface::as_raw(self), dwmixerprefs).ok()
}
pub unsafe fn GetMixingPrefs(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetMixingPrefs)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetProcAmpControl(&self, dwstreamid: u32, lpclrcontrol: *const VMR9ProcAmpControl) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetProcAmpControl)(::windows::core::Interface::as_raw(self), dwstreamid, lpclrcontrol).ok()
}
pub unsafe fn GetProcAmpControl(&self, dwstreamid: u32, lpclrcontrol: *mut VMR9ProcAmpControl) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetProcAmpControl)(::windows::core::Interface::as_raw(self), dwstreamid, lpclrcontrol).ok()
}
pub unsafe fn GetProcAmpControlRange(&self, dwstreamid: u32, lpclrcontrol: *mut VMR9ProcAmpControlRange) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetProcAmpControlRange)(::windows::core::Interface::as_raw(self), dwstreamid, lpclrcontrol).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRMixerControl9, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRMixerControl9 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRMixerControl9 {}
impl ::core::fmt::Debug for IVMRMixerControl9 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRMixerControl9").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRMixerControl9 {
type Vtable = IVMRMixerControl9_Vtbl;
}
impl ::core::clone::Clone for IVMRMixerControl9 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRMixerControl9 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1a777eaa_47c8_4930_b2c9_8fee1c1b0f3b);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRMixerControl9_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetAlpha: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, alpha: f32) -> ::windows::core::HRESULT,
pub GetAlpha: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, palpha: *mut f32) -> ::windows::core::HRESULT,
pub SetZOrder: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, dwz: u32) -> ::windows::core::HRESULT,
pub GetZOrder: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, pz: *mut u32) -> ::windows::core::HRESULT,
pub SetOutputRect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, prect: *const VMR9NormalizedRect) -> ::windows::core::HRESULT,
pub GetOutputRect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, prect: *mut VMR9NormalizedRect) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetBackgroundClr: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clrbkg: super::super::Foundation::COLORREF) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetBackgroundClr: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetBackgroundClr: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpclrbkg: *const super::super::Foundation::COLORREF) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetBackgroundClr: usize,
pub SetMixingPrefs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwmixerprefs: u32) -> ::windows::core::HRESULT,
pub GetMixingPrefs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwmixerprefs: *mut u32) -> ::windows::core::HRESULT,
pub SetProcAmpControl: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, lpclrcontrol: *const VMR9ProcAmpControl) -> ::windows::core::HRESULT,
pub GetProcAmpControl: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, lpclrcontrol: *mut VMR9ProcAmpControl) -> ::windows::core::HRESULT,
pub GetProcAmpControlRange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwstreamid: u32, lpclrcontrol: *mut VMR9ProcAmpControlRange) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRMonitorConfig(::windows::core::IUnknown);
impl IVMRMonitorConfig {
pub unsafe fn SetMonitor(&self, pguid: *const VMRGUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMonitor)(::windows::core::Interface::as_raw(self), pguid).ok()
}
pub unsafe fn GetMonitor(&self, pguid: *mut VMRGUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMonitor)(::windows::core::Interface::as_raw(self), pguid).ok()
}
pub unsafe fn SetDefaultMonitor(&self, pguid: *const VMRGUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDefaultMonitor)(::windows::core::Interface::as_raw(self), pguid).ok()
}
pub unsafe fn GetDefaultMonitor(&self, pguid: *mut VMRGUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDefaultMonitor)(::windows::core::Interface::as_raw(self), pguid).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn GetAvailableMonitors(&self, pinfo: *mut VMRMONITORINFO, dwmaxinfoarraysize: u32, pdwnumdevices: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetAvailableMonitors)(::windows::core::Interface::as_raw(self), pinfo, dwmaxinfoarraysize, pdwnumdevices).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRMonitorConfig, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRMonitorConfig {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRMonitorConfig {}
impl ::core::fmt::Debug for IVMRMonitorConfig {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRMonitorConfig").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRMonitorConfig {
type Vtable = IVMRMonitorConfig_Vtbl;
}
impl ::core::clone::Clone for IVMRMonitorConfig {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRMonitorConfig {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9cf0b1b6_fbaa_4b7f_88cf_cf1f130a0dce);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRMonitorConfig_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetMonitor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguid: *const VMRGUID) -> ::windows::core::HRESULT,
pub GetMonitor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguid: *mut VMRGUID) -> ::windows::core::HRESULT,
pub SetDefaultMonitor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguid: *const VMRGUID) -> ::windows::core::HRESULT,
pub GetDefaultMonitor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguid: *mut VMRGUID) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub GetAvailableMonitors: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pinfo: *mut VMRMONITORINFO, dwmaxinfoarraysize: u32, pdwnumdevices: *mut u32) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi")))]
GetAvailableMonitors: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRMonitorConfig9(::windows::core::IUnknown);
impl IVMRMonitorConfig9 {
pub unsafe fn SetMonitor(&self, udev: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMonitor)(::windows::core::Interface::as_raw(self), udev).ok()
}
pub unsafe fn GetMonitor(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetMonitor)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDefaultMonitor(&self, udev: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDefaultMonitor)(::windows::core::Interface::as_raw(self), udev).ok()
}
pub unsafe fn GetDefaultMonitor(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetDefaultMonitor)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn GetAvailableMonitors(&self, pinfo: &mut [VMR9MonitorInfo], pdwnumdevices: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetAvailableMonitors)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pinfo.as_ptr()), pinfo.len() as _, pdwnumdevices).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRMonitorConfig9, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRMonitorConfig9 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRMonitorConfig9 {}
impl ::core::fmt::Debug for IVMRMonitorConfig9 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRMonitorConfig9").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRMonitorConfig9 {
type Vtable = IVMRMonitorConfig9_Vtbl;
}
impl ::core::clone::Clone for IVMRMonitorConfig9 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRMonitorConfig9 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x46c2e457_8ba0_4eef_b80b_0680f0978749);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRMonitorConfig9_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetMonitor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, udev: u32) -> ::windows::core::HRESULT,
pub GetMonitor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pudev: *mut u32) -> ::windows::core::HRESULT,
pub SetDefaultMonitor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, udev: u32) -> ::windows::core::HRESULT,
pub GetDefaultMonitor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pudev: *mut u32) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub GetAvailableMonitors: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pinfo: *mut VMR9MonitorInfo, dwmaxinfoarraysize: u32, pdwnumdevices: *mut u32) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi")))]
GetAvailableMonitors: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRSurface(::windows::core::IUnknown);
impl IVMRSurface {
pub unsafe fn IsSurfaceLocked(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsSurfaceLocked)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn LockSurface(&self, lpsurface: *mut *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).LockSurface)(::windows::core::Interface::as_raw(self), lpsurface).ok()
}
pub unsafe fn UnlockSurface(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).UnlockSurface)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetSurface(&self) -> ::windows::core::Result<super::super::Graphics::DirectDraw::IDirectDrawSurface7> {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::DirectDraw::IDirectDrawSurface7>();
(::windows::core::Interface::vtable(self).GetSurface)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IVMRSurface, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRSurface {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRSurface {}
impl ::core::fmt::Debug for IVMRSurface {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRSurface").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRSurface {
type Vtable = IVMRSurface_Vtbl;
}
impl ::core::clone::Clone for IVMRSurface {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRSurface {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa9849bbe_9ec8_4263_b764_62730f0d15d0);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRSurface_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub IsSurfaceLocked: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub LockSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpsurface: *mut *mut u8) -> ::windows::core::HRESULT,
pub UnlockSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lplpsurface: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetSurface: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRSurface9(::windows::core::IUnknown);
impl IVMRSurface9 {
pub unsafe fn IsSurfaceLocked(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsSurfaceLocked)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn LockSurface(&self) -> ::windows::core::Result<*mut u8> {
let mut result__ = ::windows::core::zeroed::<*mut u8>();
(::windows::core::Interface::vtable(self).LockSurface)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn UnlockSurface(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).UnlockSurface)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_Direct3D9\"`*"]
#[cfg(feature = "Win32_Graphics_Direct3D9")]
pub unsafe fn GetSurface(&self) -> ::windows::core::Result<super::super::Graphics::Direct3D9::IDirect3DSurface9> {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::Direct3D9::IDirect3DSurface9>();
(::windows::core::Interface::vtable(self).GetSurface)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IVMRSurface9, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRSurface9 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRSurface9 {}
impl ::core::fmt::Debug for IVMRSurface9 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRSurface9").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRSurface9 {
type Vtable = IVMRSurface9_Vtbl;
}
impl ::core::clone::Clone for IVMRSurface9 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRSurface9 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xdfc581a1_6e1f_4c3a_8d0a_5e9792ea2afc);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRSurface9_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub IsSurfaceLocked: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub LockSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpsurface: *mut *mut u8) -> ::windows::core::HRESULT,
pub UnlockSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Graphics_Direct3D9")]
pub GetSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lplpsurface: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_Direct3D9"))]
GetSurface: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRSurfaceAllocator(::windows::core::IUnknown);
impl IVMRSurfaceAllocator {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_DirectDraw\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn AllocateSurface(&self, dwuserid: usize, lpallocinfo: *mut VMRALLOCATIONINFO, lpdwactualbuffers: *mut u32, lplpsurface: *mut ::core::option::Option<super::super::Graphics::DirectDraw::IDirectDrawSurface7>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).AllocateSurface)(::windows::core::Interface::as_raw(self), dwuserid, lpallocinfo, lpdwactualbuffers, ::core::mem::transmute(lplpsurface)).ok()
}
pub unsafe fn FreeSurface(&self, dwid: usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).FreeSurface)(::windows::core::Interface::as_raw(self), dwid).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn PrepareSurface<P0>(&self, dwuserid: usize, lpsurface: P0, dwsurfaceflags: u32) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Graphics::DirectDraw::IDirectDrawSurface7>,
{
(::windows::core::Interface::vtable(self).PrepareSurface)(::windows::core::Interface::as_raw(self), dwuserid, lpsurface.into_param().abi(), dwsurfaceflags).ok()
}
pub unsafe fn AdviseNotify<P0>(&self, lpivmrsurfallocnotify: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IVMRSurfaceAllocatorNotify>,
{
(::windows::core::Interface::vtable(self).AdviseNotify)(::windows::core::Interface::as_raw(self), lpivmrsurfallocnotify.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRSurfaceAllocator, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRSurfaceAllocator {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRSurfaceAllocator {}
impl ::core::fmt::Debug for IVMRSurfaceAllocator {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRSurfaceAllocator").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRSurfaceAllocator {
type Vtable = IVMRSurfaceAllocator_Vtbl;
}
impl ::core::clone::Clone for IVMRSurfaceAllocator {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRSurfaceAllocator {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x31ce832e_4484_458b_8cca_f4d7e3db0b52);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRSurfaceAllocator_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
pub AllocateSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwuserid: usize, lpallocinfo: *mut VMRALLOCATIONINFO, lpdwactualbuffers: *mut u32, lplpsurface: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi")))]
AllocateSurface: usize,
pub FreeSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwid: usize) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub PrepareSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwuserid: usize, lpsurface: *mut ::core::ffi::c_void, dwsurfaceflags: u32) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
PrepareSurface: usize,
pub AdviseNotify: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpivmrsurfallocnotify: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRSurfaceAllocator9(::windows::core::IUnknown);
impl IVMRSurfaceAllocator9 {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D9\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
pub unsafe fn InitializeDevice(&self, dwuserid: usize, lpallocinfo: *const VMR9AllocationInfo, lpnumbuffers: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).InitializeDevice)(::windows::core::Interface::as_raw(self), dwuserid, lpallocinfo, lpnumbuffers).ok()
}
pub unsafe fn TerminateDevice(&self, dwid: usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).TerminateDevice)(::windows::core::Interface::as_raw(self), dwid).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_Direct3D9\"`*"]
#[cfg(feature = "Win32_Graphics_Direct3D9")]
pub unsafe fn GetSurface(&self, dwuserid: usize, surfaceindex: u32, surfaceflags: u32) -> ::windows::core::Result<super::super::Graphics::Direct3D9::IDirect3DSurface9> {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::Direct3D9::IDirect3DSurface9>();
(::windows::core::Interface::vtable(self).GetSurface)(::windows::core::Interface::as_raw(self), dwuserid, surfaceindex, surfaceflags, &mut result__).from_abi(result__)
}
pub unsafe fn AdviseNotify<P0>(&self, lpivmrsurfallocnotify: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IVMRSurfaceAllocatorNotify9>,
{
(::windows::core::Interface::vtable(self).AdviseNotify)(::windows::core::Interface::as_raw(self), lpivmrsurfallocnotify.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRSurfaceAllocator9, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRSurfaceAllocator9 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRSurfaceAllocator9 {}
impl ::core::fmt::Debug for IVMRSurfaceAllocator9 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRSurfaceAllocator9").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRSurfaceAllocator9 {
type Vtable = IVMRSurfaceAllocator9_Vtbl;
}
impl ::core::clone::Clone for IVMRSurfaceAllocator9 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRSurfaceAllocator9 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8d5148ea_3f5d_46cf_9df1_d1b896eedb1f);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRSurfaceAllocator9_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
pub InitializeDevice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwuserid: usize, lpallocinfo: *const VMR9AllocationInfo, lpnumbuffers: *mut u32) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9")))]
InitializeDevice: usize,
pub TerminateDevice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwid: usize) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Graphics_Direct3D9")]
pub GetSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwuserid: usize, surfaceindex: u32, surfaceflags: u32, lplpsurface: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_Direct3D9"))]
GetSurface: usize,
pub AdviseNotify: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpivmrsurfallocnotify: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRSurfaceAllocatorEx9(::windows::core::IUnknown);
impl IVMRSurfaceAllocatorEx9 {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D9\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
pub unsafe fn InitializeDevice(&self, dwuserid: usize, lpallocinfo: *const VMR9AllocationInfo, lpnumbuffers: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.InitializeDevice)(::windows::core::Interface::as_raw(self), dwuserid, lpallocinfo, lpnumbuffers).ok()
}
pub unsafe fn TerminateDevice(&self, dwid: usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.TerminateDevice)(::windows::core::Interface::as_raw(self), dwid).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_Direct3D9\"`*"]
#[cfg(feature = "Win32_Graphics_Direct3D9")]
pub unsafe fn GetSurface(&self, dwuserid: usize, surfaceindex: u32, surfaceflags: u32) -> ::windows::core::Result<super::super::Graphics::Direct3D9::IDirect3DSurface9> {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::Direct3D9::IDirect3DSurface9>();
(::windows::core::Interface::vtable(self).base__.GetSurface)(::windows::core::Interface::as_raw(self), dwuserid, surfaceindex, surfaceflags, &mut result__).from_abi(result__)
}
pub unsafe fn AdviseNotify<P0>(&self, lpivmrsurfallocnotify: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IVMRSurfaceAllocatorNotify9>,
{
(::windows::core::Interface::vtable(self).base__.AdviseNotify)(::windows::core::Interface::as_raw(self), lpivmrsurfallocnotify.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D9\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
pub unsafe fn GetSurfaceEx(&self, dwuserid: usize, surfaceindex: u32, surfaceflags: u32, lplpsurface: *mut ::core::option::Option<super::super::Graphics::Direct3D9::IDirect3DSurface9>, lprcdst: *mut super::super::Foundation::RECT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetSurfaceEx)(::windows::core::Interface::as_raw(self), dwuserid, surfaceindex, surfaceflags, ::core::mem::transmute(lplpsurface), lprcdst).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRSurfaceAllocatorEx9, ::windows::core::IUnknown, IVMRSurfaceAllocator9);
impl ::core::cmp::PartialEq for IVMRSurfaceAllocatorEx9 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRSurfaceAllocatorEx9 {}
impl ::core::fmt::Debug for IVMRSurfaceAllocatorEx9 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRSurfaceAllocatorEx9").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRSurfaceAllocatorEx9 {
type Vtable = IVMRSurfaceAllocatorEx9_Vtbl;
}
impl ::core::clone::Clone for IVMRSurfaceAllocatorEx9 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRSurfaceAllocatorEx9 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6de9a68a_a928_4522_bf57_655ae3866456);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRSurfaceAllocatorEx9_Vtbl {
pub base__: IVMRSurfaceAllocator9_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
pub GetSurfaceEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwuserid: usize, surfaceindex: u32, surfaceflags: u32, lplpsurface: *mut *mut ::core::ffi::c_void, lprcdst: *mut super::super::Foundation::RECT) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9")))]
GetSurfaceEx: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRSurfaceAllocatorNotify(::windows::core::IUnknown);
impl IVMRSurfaceAllocatorNotify {
pub unsafe fn AdviseSurfaceAllocator<P0>(&self, dwuserid: usize, lpivrmsurfaceallocator: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IVMRSurfaceAllocator>,
{
(::windows::core::Interface::vtable(self).AdviseSurfaceAllocator)(::windows::core::Interface::as_raw(self), dwuserid, lpivrmsurfaceallocator.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn SetDDrawDevice<P0, P1>(&self, lpddrawdevice: P0, hmonitor: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Graphics::DirectDraw::IDirectDraw7>,
P1: ::windows::core::IntoParam<super::super::Graphics::Gdi::HMONITOR>,
{
(::windows::core::Interface::vtable(self).SetDDrawDevice)(::windows::core::Interface::as_raw(self), lpddrawdevice.into_param().abi(), hmonitor.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn ChangeDDrawDevice<P0, P1>(&self, lpddrawdevice: P0, hmonitor: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Graphics::DirectDraw::IDirectDraw7>,
P1: ::windows::core::IntoParam<super::super::Graphics::Gdi::HMONITOR>,
{
(::windows::core::Interface::vtable(self).ChangeDDrawDevice)(::windows::core::Interface::as_raw(self), lpddrawdevice.into_param().abi(), hmonitor.into_param().abi()).ok()
}
pub unsafe fn RestoreDDrawSurfaces(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).RestoreDDrawSurfaces)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn NotifyEvent(&self, eventcode: i32, param1: isize, param2: isize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).NotifyEvent)(::windows::core::Interface::as_raw(self), eventcode, param1, param2).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetBorderColor<P0>(&self, clrborder: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::COLORREF>,
{
(::windows::core::Interface::vtable(self).SetBorderColor)(::windows::core::Interface::as_raw(self), clrborder.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRSurfaceAllocatorNotify, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRSurfaceAllocatorNotify {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRSurfaceAllocatorNotify {}
impl ::core::fmt::Debug for IVMRSurfaceAllocatorNotify {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRSurfaceAllocatorNotify").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRSurfaceAllocatorNotify {
type Vtable = IVMRSurfaceAllocatorNotify_Vtbl;
}
impl ::core::clone::Clone for IVMRSurfaceAllocatorNotify {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRSurfaceAllocatorNotify {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xaada05a8_5a4e_4729_af0b_cea27aed51e2);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRSurfaceAllocatorNotify_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub AdviseSurfaceAllocator: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwuserid: usize, lpivrmsurfaceallocator: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
pub SetDDrawDevice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpddrawdevice: *mut ::core::ffi::c_void, hmonitor: super::super::Graphics::Gdi::HMONITOR) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi")))]
SetDDrawDevice: usize,
#[cfg(all(feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
pub ChangeDDrawDevice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpddrawdevice: *mut ::core::ffi::c_void, hmonitor: super::super::Graphics::Gdi::HMONITOR) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi")))]
ChangeDDrawDevice: usize,
pub RestoreDDrawSurfaces: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub NotifyEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventcode: i32, param1: isize, param2: isize) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetBorderColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clrborder: super::super::Foundation::COLORREF) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetBorderColor: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRSurfaceAllocatorNotify9(::windows::core::IUnknown);
impl IVMRSurfaceAllocatorNotify9 {
pub unsafe fn AdviseSurfaceAllocator<P0>(&self, dwuserid: usize, lpivrmsurfaceallocator: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IVMRSurfaceAllocator9>,
{
(::windows::core::Interface::vtable(self).AdviseSurfaceAllocator)(::windows::core::Interface::as_raw(self), dwuserid, lpivrmsurfaceallocator.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_Direct3D9\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn SetD3DDevice<P0, P1>(&self, lpd3ddevice: P0, hmonitor: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Graphics::Direct3D9::IDirect3DDevice9>,
P1: ::windows::core::IntoParam<super::super::Graphics::Gdi::HMONITOR>,
{
(::windows::core::Interface::vtable(self).SetD3DDevice)(::windows::core::Interface::as_raw(self), lpd3ddevice.into_param().abi(), hmonitor.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_Direct3D9\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn ChangeD3DDevice<P0, P1>(&self, lpd3ddevice: P0, hmonitor: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Graphics::Direct3D9::IDirect3DDevice9>,
P1: ::windows::core::IntoParam<super::super::Graphics::Gdi::HMONITOR>,
{
(::windows::core::Interface::vtable(self).ChangeD3DDevice)(::windows::core::Interface::as_raw(self), lpd3ddevice.into_param().abi(), hmonitor.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D9\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
pub unsafe fn AllocateSurfaceHelper(&self, lpallocinfo: *const VMR9AllocationInfo, lpnumbuffers: *mut u32, lplpsurface: *mut ::core::option::Option<super::super::Graphics::Direct3D9::IDirect3DSurface9>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).AllocateSurfaceHelper)(::windows::core::Interface::as_raw(self), lpallocinfo, lpnumbuffers, ::core::mem::transmute(lplpsurface)).ok()
}
pub unsafe fn NotifyEvent(&self, eventcode: i32, param1: isize, param2: isize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).NotifyEvent)(::windows::core::Interface::as_raw(self), eventcode, param1, param2).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRSurfaceAllocatorNotify9, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRSurfaceAllocatorNotify9 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRSurfaceAllocatorNotify9 {}
impl ::core::fmt::Debug for IVMRSurfaceAllocatorNotify9 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRSurfaceAllocatorNotify9").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRSurfaceAllocatorNotify9 {
type Vtable = IVMRSurfaceAllocatorNotify9_Vtbl;
}
impl ::core::clone::Clone for IVMRSurfaceAllocatorNotify9 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRSurfaceAllocatorNotify9 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xdca3f5df_bb3a_4d03_bd81_84614bfbfa0c);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRSurfaceAllocatorNotify9_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub AdviseSurfaceAllocator: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwuserid: usize, lpivrmsurfaceallocator: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi"))]
pub SetD3DDevice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpd3ddevice: *mut ::core::ffi::c_void, hmonitor: super::super::Graphics::Gdi::HMONITOR) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi")))]
SetD3DDevice: usize,
#[cfg(all(feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi"))]
pub ChangeD3DDevice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpd3ddevice: *mut ::core::ffi::c_void, hmonitor: super::super::Graphics::Gdi::HMONITOR) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi")))]
ChangeD3DDevice: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
pub AllocateSurfaceHelper: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpallocinfo: *const VMR9AllocationInfo, lpnumbuffers: *mut u32, lplpsurface: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9")))]
AllocateSurfaceHelper: usize,
pub NotifyEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventcode: i32, param1: isize, param2: isize) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRVideoStreamControl(::windows::core::IUnknown);
impl IVMRVideoStreamControl {
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn SetColorKey(&self, lpclrkey: *mut super::super::Graphics::DirectDraw::DDCOLORKEY) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetColorKey)(::windows::core::Interface::as_raw(self), lpclrkey).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetColorKey(&self, lpclrkey: *mut super::super::Graphics::DirectDraw::DDCOLORKEY) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetColorKey)(::windows::core::Interface::as_raw(self), lpclrkey).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetStreamActiveState<P0>(&self, factive: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetStreamActiveState)(::windows::core::Interface::as_raw(self), factive.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetStreamActiveState(&self, lpfactive: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetStreamActiveState)(::windows::core::Interface::as_raw(self), lpfactive).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRVideoStreamControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRVideoStreamControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRVideoStreamControl {}
impl ::core::fmt::Debug for IVMRVideoStreamControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRVideoStreamControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRVideoStreamControl {
type Vtable = IVMRVideoStreamControl_Vtbl;
}
impl ::core::clone::Clone for IVMRVideoStreamControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRVideoStreamControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x058d1f11_2a54_4bef_bd54_df706626b727);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRVideoStreamControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub SetColorKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpclrkey: *mut super::super::Graphics::DirectDraw::DDCOLORKEY) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
SetColorKey: usize,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetColorKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpclrkey: *mut super::super::Graphics::DirectDraw::DDCOLORKEY) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetColorKey: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetStreamActiveState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, factive: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetStreamActiveState: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetStreamActiveState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpfactive: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetStreamActiveState: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRVideoStreamControl9(::windows::core::IUnknown);
impl IVMRVideoStreamControl9 {
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetStreamActiveState<P0>(&self, factive: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetStreamActiveState)(::windows::core::Interface::as_raw(self), factive.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetStreamActiveState(&self) -> ::windows::core::Result<super::super::Foundation::BOOL> {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::BOOL>();
(::windows::core::Interface::vtable(self).GetStreamActiveState)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IVMRVideoStreamControl9, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRVideoStreamControl9 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRVideoStreamControl9 {}
impl ::core::fmt::Debug for IVMRVideoStreamControl9 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRVideoStreamControl9").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRVideoStreamControl9 {
type Vtable = IVMRVideoStreamControl9_Vtbl;
}
impl ::core::clone::Clone for IVMRVideoStreamControl9 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRVideoStreamControl9 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd0cfe38b_93e7_4772_8957_0400c49a4485);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRVideoStreamControl9_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Foundation")]
pub SetStreamActiveState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, factive: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetStreamActiveState: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetStreamActiveState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpfactive: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetStreamActiveState: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRWindowlessControl(::windows::core::IUnknown);
impl IVMRWindowlessControl {
pub unsafe fn GetNativeVideoSize(&self, lpwidth: *mut i32, lpheight: *mut i32, lparwidth: *mut i32, lparheight: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetNativeVideoSize)(::windows::core::Interface::as_raw(self), lpwidth, lpheight, lparwidth, lparheight).ok()
}
pub unsafe fn GetMinIdealVideoSize(&self, lpwidth: *mut i32, lpheight: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMinIdealVideoSize)(::windows::core::Interface::as_raw(self), lpwidth, lpheight).ok()
}
pub unsafe fn GetMaxIdealVideoSize(&self, lpwidth: *mut i32, lpheight: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMaxIdealVideoSize)(::windows::core::Interface::as_raw(self), lpwidth, lpheight).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetVideoPosition(&self, lpsrcrect: *const super::super::Foundation::RECT, lpdstrect: *const super::super::Foundation::RECT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetVideoPosition)(::windows::core::Interface::as_raw(self), lpsrcrect, lpdstrect).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetVideoPosition(&self, lpsrcrect: *mut super::super::Foundation::RECT, lpdstrect: *mut super::super::Foundation::RECT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetVideoPosition)(::windows::core::Interface::as_raw(self), lpsrcrect, lpdstrect).ok()
}
pub unsafe fn GetAspectRatioMode(&self, lpaspectratiomode: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetAspectRatioMode)(::windows::core::Interface::as_raw(self), lpaspectratiomode).ok()
}
pub unsafe fn SetAspectRatioMode(&self, aspectratiomode: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetAspectRatioMode)(::windows::core::Interface::as_raw(self), aspectratiomode).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetVideoClippingWindow<P0>(&self, hwnd: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
{
(::windows::core::Interface::vtable(self).SetVideoClippingWindow)(::windows::core::Interface::as_raw(self), hwnd.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn RepaintVideo<P0, P1>(&self, hwnd: P0, hdc: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
P1: ::windows::core::IntoParam<super::super::Graphics::Gdi::HDC>,
{
(::windows::core::Interface::vtable(self).RepaintVideo)(::windows::core::Interface::as_raw(self), hwnd.into_param().abi(), hdc.into_param().abi()).ok()
}
pub unsafe fn DisplayModeChanged(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).DisplayModeChanged)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn GetCurrentImage(&self, lpdib: *mut *mut u8) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetCurrentImage)(::windows::core::Interface::as_raw(self), lpdib).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetBorderColor<P0>(&self, clr: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::COLORREF>,
{
(::windows::core::Interface::vtable(self).SetBorderColor)(::windows::core::Interface::as_raw(self), clr.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetBorderColor(&self, lpclr: *mut super::super::Foundation::COLORREF) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetBorderColor)(::windows::core::Interface::as_raw(self), lpclr).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetColorKey<P0>(&self, clr: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::COLORREF>,
{
(::windows::core::Interface::vtable(self).SetColorKey)(::windows::core::Interface::as_raw(self), clr.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetColorKey(&self, lpclr: *mut super::super::Foundation::COLORREF) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetColorKey)(::windows::core::Interface::as_raw(self), lpclr).ok()
}
}
::windows::imp::interface_hierarchy!(IVMRWindowlessControl, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRWindowlessControl {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRWindowlessControl {}
impl ::core::fmt::Debug for IVMRWindowlessControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRWindowlessControl").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRWindowlessControl {
type Vtable = IVMRWindowlessControl_Vtbl;
}
impl ::core::clone::Clone for IVMRWindowlessControl {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRWindowlessControl {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0eb1088c_4dcd_46f0_878f_39dae86a51b7);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRWindowlessControl_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetNativeVideoSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpwidth: *mut i32, lpheight: *mut i32, lparwidth: *mut i32, lparheight: *mut i32) -> ::windows::core::HRESULT,
pub GetMinIdealVideoSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpwidth: *mut i32, lpheight: *mut i32) -> ::windows::core::HRESULT,
pub GetMaxIdealVideoSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpwidth: *mut i32, lpheight: *mut i32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetVideoPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpsrcrect: *const super::super::Foundation::RECT, lpdstrect: *const super::super::Foundation::RECT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetVideoPosition: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetVideoPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpsrcrect: *mut super::super::Foundation::RECT, lpdstrect: *mut super::super::Foundation::RECT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetVideoPosition: usize,
pub GetAspectRatioMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpaspectratiomode: *mut u32) -> ::windows::core::HRESULT,
pub SetAspectRatioMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, aspectratiomode: u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetVideoClippingWindow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwnd: super::super::Foundation::HWND) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetVideoClippingWindow: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub RepaintVideo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwnd: super::super::Foundation::HWND, hdc: super::super::Graphics::Gdi::HDC) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi")))]
RepaintVideo: usize,
pub DisplayModeChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetCurrentImage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpdib: *mut *mut u8) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetBorderColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clr: super::super::Foundation::COLORREF) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetBorderColor: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetBorderColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpclr: *mut super::super::Foundation::COLORREF) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetBorderColor: usize,
#[cfg(feature = "Win32_Foundation")]
pub SetColorKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clr: super::super::Foundation::COLORREF) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetColorKey: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetColorKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpclr: *mut super::super::Foundation::COLORREF) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetColorKey: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVMRWindowlessControl9(::windows::core::IUnknown);
impl IVMRWindowlessControl9 {
pub unsafe fn GetNativeVideoSize(&self, lpwidth: *mut i32, lpheight: *mut i32, lparwidth: *mut i32, lparheight: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetNativeVideoSize)(::windows::core::Interface::as_raw(self), lpwidth, lpheight, lparwidth, lparheight).ok()
}
pub unsafe fn GetMinIdealVideoSize(&self, lpwidth: *mut i32, lpheight: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMinIdealVideoSize)(::windows::core::Interface::as_raw(self), lpwidth, lpheight).ok()
}
pub unsafe fn GetMaxIdealVideoSize(&self, lpwidth: *mut i32, lpheight: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMaxIdealVideoSize)(::windows::core::Interface::as_raw(self), lpwidth, lpheight).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetVideoPosition(&self, lpsrcrect: *const super::super::Foundation::RECT, lpdstrect: *const super::super::Foundation::RECT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetVideoPosition)(::windows::core::Interface::as_raw(self), lpsrcrect, lpdstrect).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetVideoPosition(&self, lpsrcrect: *mut super::super::Foundation::RECT, lpdstrect: *mut super::super::Foundation::RECT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetVideoPosition)(::windows::core::Interface::as_raw(self), lpsrcrect, lpdstrect).ok()
}
pub unsafe fn GetAspectRatioMode(&self) -> ::windows::core::Result<u32> {
let mut result__ = ::windows::core::zeroed::<u32>();
(::windows::core::Interface::vtable(self).GetAspectRatioMode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetAspectRatioMode(&self, aspectratiomode: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetAspectRatioMode)(::windows::core::Interface::as_raw(self), aspectratiomode).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetVideoClippingWindow<P0>(&self, hwnd: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
{
(::windows::core::Interface::vtable(self).SetVideoClippingWindow)(::windows::core::Interface::as_raw(self), hwnd.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub unsafe fn RepaintVideo<P0, P1>(&self, hwnd: P0, hdc: P1) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
P1: ::windows::core::IntoParam<super::super::Graphics::Gdi::HDC>,
{
(::windows::core::Interface::vtable(self).RepaintVideo)(::windows::core::Interface::as_raw(self), hwnd.into_param().abi(), hdc.into_param().abi()).ok()
}
pub unsafe fn DisplayModeChanged(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).DisplayModeChanged)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn GetCurrentImage(&self) -> ::windows::core::Result<*mut u8> {
let mut result__ = ::windows::core::zeroed::<*mut u8>();
(::windows::core::Interface::vtable(self).GetCurrentImage)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetBorderColor<P0>(&self, clr: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::COLORREF>,
{
(::windows::core::Interface::vtable(self).SetBorderColor)(::windows::core::Interface::as_raw(self), clr.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetBorderColor(&self) -> ::windows::core::Result<super::super::Foundation::COLORREF> {
let mut result__ = ::windows::core::zeroed::<super::super::Foundation::COLORREF>();
(::windows::core::Interface::vtable(self).GetBorderColor)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
::windows::imp::interface_hierarchy!(IVMRWindowlessControl9, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVMRWindowlessControl9 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVMRWindowlessControl9 {}
impl ::core::fmt::Debug for IVMRWindowlessControl9 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVMRWindowlessControl9").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVMRWindowlessControl9 {
type Vtable = IVMRWindowlessControl9_Vtbl;
}
impl ::core::clone::Clone for IVMRWindowlessControl9 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVMRWindowlessControl9 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8f537d09_f85e_4414_b23b_502e54c79927);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVMRWindowlessControl9_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub GetNativeVideoSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpwidth: *mut i32, lpheight: *mut i32, lparwidth: *mut i32, lparheight: *mut i32) -> ::windows::core::HRESULT,
pub GetMinIdealVideoSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpwidth: *mut i32, lpheight: *mut i32) -> ::windows::core::HRESULT,
pub GetMaxIdealVideoSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpwidth: *mut i32, lpheight: *mut i32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetVideoPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpsrcrect: *const super::super::Foundation::RECT, lpdstrect: *const super::super::Foundation::RECT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetVideoPosition: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetVideoPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpsrcrect: *mut super::super::Foundation::RECT, lpdstrect: *mut super::super::Foundation::RECT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetVideoPosition: usize,
pub GetAspectRatioMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpaspectratiomode: *mut u32) -> ::windows::core::HRESULT,
pub SetAspectRatioMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, aspectratiomode: u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetVideoClippingWindow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwnd: super::super::Foundation::HWND) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetVideoClippingWindow: usize,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub RepaintVideo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwnd: super::super::Foundation::HWND, hdc: super::super::Graphics::Gdi::HDC) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi")))]
RepaintVideo: usize,
pub DisplayModeChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub GetCurrentImage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpdib: *mut *mut u8) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub SetBorderColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clr: super::super::Foundation::COLORREF) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetBorderColor: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetBorderColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpclr: *mut super::super::Foundation::COLORREF) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetBorderColor: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVPBaseConfig(::windows::core::IUnknown);
impl IVPBaseConfig {
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetConnectInfo(&self, pdwnumconnectinfo: *mut u32, pddvpconnectinfo: ::core::option::Option<*mut super::super::Graphics::DirectDraw::DDVIDEOPORTCONNECT>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetConnectInfo)(::windows::core::Interface::as_raw(self), pdwnumconnectinfo, ::core::mem::transmute(pddvpconnectinfo.unwrap_or(::std::ptr::null_mut()))).ok()
}
pub unsafe fn SetConnectInfo(&self, dwchosenentry: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetConnectInfo)(::windows::core::Interface::as_raw(self), dwchosenentry).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetVPDataInfo(&self, pamvpdatainfo: *mut AMVPDATAINFO) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetVPDataInfo)(::windows::core::Interface::as_raw(self), pamvpdatainfo).ok()
}
pub unsafe fn GetMaxPixelRate(&self, pamvpsize: *mut AMVPSIZE, pdwmaxpixelspersecond: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMaxPixelRate)(::windows::core::Interface::as_raw(self), pamvpsize, pdwmaxpixelspersecond).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn InformVPInputFormats(&self, dwnumformats: u32, pddpixelformats: *mut super::super::Graphics::DirectDraw::DDPIXELFORMAT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).InformVPInputFormats)(::windows::core::Interface::as_raw(self), dwnumformats, pddpixelformats).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetVideoFormats(&self, pdwnumformats: *mut u32, pddpixelformats: ::core::option::Option<*mut super::super::Graphics::DirectDraw::DDPIXELFORMAT>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetVideoFormats)(::windows::core::Interface::as_raw(self), pdwnumformats, ::core::mem::transmute(pddpixelformats.unwrap_or(::std::ptr::null_mut()))).ok()
}
pub unsafe fn SetVideoFormat(&self, dwchosenentry: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetVideoFormat)(::windows::core::Interface::as_raw(self), dwchosenentry).ok()
}
pub unsafe fn SetInvertPolarity(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetInvertPolarity)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetOverlaySurface(&self) -> ::windows::core::Result<super::super::Graphics::DirectDraw::IDirectDrawSurface> {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::DirectDraw::IDirectDrawSurface>();
(::windows::core::Interface::vtable(self).GetOverlaySurface)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDirectDrawKernelHandle(&self, dwddkernelhandle: usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDirectDrawKernelHandle)(::windows::core::Interface::as_raw(self), dwddkernelhandle).ok()
}
pub unsafe fn SetVideoPortID(&self, dwvideoportid: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetVideoPortID)(::windows::core::Interface::as_raw(self), dwvideoportid).ok()
}
pub unsafe fn SetDDSurfaceKernelHandles(&self, chandles: u32, rgddkernelhandles: *mut usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDDSurfaceKernelHandles)(::windows::core::Interface::as_raw(self), chandles, rgddkernelhandles).ok()
}
pub unsafe fn SetSurfaceParameters(&self, dwpitch: u32, dwxorigin: u32, dwyorigin: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetSurfaceParameters)(::windows::core::Interface::as_raw(self), dwpitch, dwxorigin, dwyorigin).ok()
}
}
::windows::imp::interface_hierarchy!(IVPBaseConfig, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVPBaseConfig {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVPBaseConfig {}
impl ::core::fmt::Debug for IVPBaseConfig {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVPBaseConfig").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVPBaseConfig {
type Vtable = IVPBaseConfig_Vtbl;
}
impl ::core::clone::Clone for IVPBaseConfig {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVPBaseConfig {
const IID: ::windows::core::GUID = ::windows::core::GUID::zeroed();
}
#[repr(C)]
#[doc(hidden)]
pub struct IVPBaseConfig_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetConnectInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwnumconnectinfo: *mut u32, pddvpconnectinfo: *mut super::super::Graphics::DirectDraw::DDVIDEOPORTCONNECT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetConnectInfo: usize,
pub SetConnectInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwchosenentry: u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Foundation")]
pub GetVPDataInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pamvpdatainfo: *mut AMVPDATAINFO) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetVPDataInfo: usize,
pub GetMaxPixelRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pamvpsize: *mut AMVPSIZE, pdwmaxpixelspersecond: *mut u32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub InformVPInputFormats: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwnumformats: u32, pddpixelformats: *mut super::super::Graphics::DirectDraw::DDPIXELFORMAT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
InformVPInputFormats: usize,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetVideoFormats: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwnumformats: *mut u32, pddpixelformats: *mut super::super::Graphics::DirectDraw::DDPIXELFORMAT) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetVideoFormats: usize,
pub SetVideoFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwchosenentry: u32) -> ::windows::core::HRESULT,
pub SetInvertPolarity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub GetOverlaySurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppddoverlaysurface: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_DirectDraw"))]
GetOverlaySurface: usize,
pub SetDirectDrawKernelHandle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwddkernelhandle: usize) -> ::windows::core::HRESULT,
pub SetVideoPortID: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwvideoportid: u32) -> ::windows::core::HRESULT,
pub SetDDSurfaceKernelHandles: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, chandles: u32, rgddkernelhandles: *mut usize) -> ::windows::core::HRESULT,
pub SetSurfaceParameters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwpitch: u32, dwxorigin: u32, dwyorigin: u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVPBaseNotify(::windows::core::IUnknown);
impl IVPBaseNotify {
pub unsafe fn RenegotiateVPParameters(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).RenegotiateVPParameters)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IVPBaseNotify, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVPBaseNotify {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVPBaseNotify {}
impl ::core::fmt::Debug for IVPBaseNotify {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVPBaseNotify").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVPBaseNotify {
type Vtable = IVPBaseNotify_Vtbl;
}
impl ::core::clone::Clone for IVPBaseNotify {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVPBaseNotify {
const IID: ::windows::core::GUID = ::windows::core::GUID::zeroed();
}
#[repr(C)]
#[doc(hidden)]
pub struct IVPBaseNotify_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub RenegotiateVPParameters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVPConfig(::windows::core::IUnknown);
impl IVPConfig {
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetConnectInfo(&self, pdwnumconnectinfo: *mut u32, pddvpconnectinfo: ::core::option::Option<*mut super::super::Graphics::DirectDraw::DDVIDEOPORTCONNECT>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetConnectInfo)(::windows::core::Interface::as_raw(self), pdwnumconnectinfo, ::core::mem::transmute(pddvpconnectinfo.unwrap_or(::std::ptr::null_mut()))).ok()
}
pub unsafe fn SetConnectInfo(&self, dwchosenentry: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetConnectInfo)(::windows::core::Interface::as_raw(self), dwchosenentry).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetVPDataInfo(&self, pamvpdatainfo: *mut AMVPDATAINFO) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetVPDataInfo)(::windows::core::Interface::as_raw(self), pamvpdatainfo).ok()
}
pub unsafe fn GetMaxPixelRate(&self, pamvpsize: *mut AMVPSIZE, pdwmaxpixelspersecond: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetMaxPixelRate)(::windows::core::Interface::as_raw(self), pamvpsize, pdwmaxpixelspersecond).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn InformVPInputFormats(&self, dwnumformats: u32, pddpixelformats: *mut super::super::Graphics::DirectDraw::DDPIXELFORMAT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.InformVPInputFormats)(::windows::core::Interface::as_raw(self), dwnumformats, pddpixelformats).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetVideoFormats(&self, pdwnumformats: *mut u32, pddpixelformats: ::core::option::Option<*mut super::super::Graphics::DirectDraw::DDPIXELFORMAT>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetVideoFormats)(::windows::core::Interface::as_raw(self), pdwnumformats, ::core::mem::transmute(pddpixelformats.unwrap_or(::std::ptr::null_mut()))).ok()
}
pub unsafe fn SetVideoFormat(&self, dwchosenentry: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetVideoFormat)(::windows::core::Interface::as_raw(self), dwchosenentry).ok()
}
pub unsafe fn SetInvertPolarity(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetInvertPolarity)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetOverlaySurface(&self) -> ::windows::core::Result<super::super::Graphics::DirectDraw::IDirectDrawSurface> {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::DirectDraw::IDirectDrawSurface>();
(::windows::core::Interface::vtable(self).base__.GetOverlaySurface)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDirectDrawKernelHandle(&self, dwddkernelhandle: usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetDirectDrawKernelHandle)(::windows::core::Interface::as_raw(self), dwddkernelhandle).ok()
}
pub unsafe fn SetVideoPortID(&self, dwvideoportid: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetVideoPortID)(::windows::core::Interface::as_raw(self), dwvideoportid).ok()
}
pub unsafe fn SetDDSurfaceKernelHandles(&self, chandles: u32, rgddkernelhandles: *mut usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetDDSurfaceKernelHandles)(::windows::core::Interface::as_raw(self), chandles, rgddkernelhandles).ok()
}
pub unsafe fn SetSurfaceParameters(&self, dwpitch: u32, dwxorigin: u32, dwyorigin: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetSurfaceParameters)(::windows::core::Interface::as_raw(self), dwpitch, dwxorigin, dwyorigin).ok()
}
pub unsafe fn IsVPDecimationAllowed(&self, pbisdecimationallowed: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).IsVPDecimationAllowed)(::windows::core::Interface::as_raw(self), pbisdecimationallowed).ok()
}
pub unsafe fn SetScalingFactors(&self, pamvpsize: *mut AMVPSIZE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetScalingFactors)(::windows::core::Interface::as_raw(self), pamvpsize).ok()
}
}
::windows::imp::interface_hierarchy!(IVPConfig, ::windows::core::IUnknown, IVPBaseConfig);
impl ::core::cmp::PartialEq for IVPConfig {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVPConfig {}
impl ::core::fmt::Debug for IVPConfig {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVPConfig").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVPConfig {
type Vtable = IVPConfig_Vtbl;
}
impl ::core::clone::Clone for IVPConfig {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVPConfig {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbc29a660_30e3_11d0_9e69_00c04fd7c15b);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVPConfig_Vtbl {
pub base__: IVPBaseConfig_Vtbl,
pub IsVPDecimationAllowed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbisdecimationallowed: *mut i32) -> ::windows::core::HRESULT,
pub SetScalingFactors: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pamvpsize: *mut AMVPSIZE) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVPManager(::windows::core::IUnknown);
impl IVPManager {
pub unsafe fn SetVideoPortIndex(&self, dwvideoportindex: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetVideoPortIndex)(::windows::core::Interface::as_raw(self), dwvideoportindex).ok()
}
pub unsafe fn GetVideoPortIndex(&self, pdwvideoportindex: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetVideoPortIndex)(::windows::core::Interface::as_raw(self), pdwvideoportindex).ok()
}
}
::windows::imp::interface_hierarchy!(IVPManager, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVPManager {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVPManager {}
impl ::core::fmt::Debug for IVPManager {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVPManager").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVPManager {
type Vtable = IVPManager_Vtbl;
}
impl ::core::clone::Clone for IVPManager {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVPManager {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xaac18c18_e186_46d2_825d_a1f8dc8e395a);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVPManager_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetVideoPortIndex: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwvideoportindex: u32) -> ::windows::core::HRESULT,
pub GetVideoPortIndex: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwvideoportindex: *mut u32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVPNotify(::windows::core::IUnknown);
impl IVPNotify {
pub unsafe fn RenegotiateVPParameters(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.RenegotiateVPParameters)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn SetDeinterlaceMode(&self, mode: AMVP_MODE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetDeinterlaceMode)(::windows::core::Interface::as_raw(self), mode).ok()
}
pub unsafe fn GetDeinterlaceMode(&self, pmode: *mut AMVP_MODE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetDeinterlaceMode)(::windows::core::Interface::as_raw(self), pmode).ok()
}
}
::windows::imp::interface_hierarchy!(IVPNotify, ::windows::core::IUnknown, IVPBaseNotify);
impl ::core::cmp::PartialEq for IVPNotify {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVPNotify {}
impl ::core::fmt::Debug for IVPNotify {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVPNotify").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVPNotify {
type Vtable = IVPNotify_Vtbl;
}
impl ::core::clone::Clone for IVPNotify {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVPNotify {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc76794a1_d6c5_11d0_9e69_00c04fd7c15b);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVPNotify_Vtbl {
pub base__: IVPBaseNotify_Vtbl,
pub SetDeinterlaceMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mode: AMVP_MODE) -> ::windows::core::HRESULT,
pub GetDeinterlaceMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmode: *mut AMVP_MODE) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVPNotify2(::windows::core::IUnknown);
impl IVPNotify2 {
pub unsafe fn RenegotiateVPParameters(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.base__.RenegotiateVPParameters)(::windows::core::Interface::as_raw(self)).ok()
}
pub unsafe fn SetDeinterlaceMode(&self, mode: AMVP_MODE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetDeinterlaceMode)(::windows::core::Interface::as_raw(self), mode).ok()
}
pub unsafe fn GetDeinterlaceMode(&self, pmode: *mut AMVP_MODE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetDeinterlaceMode)(::windows::core::Interface::as_raw(self), pmode).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn SetVPSyncMaster<P0>(&self, bvpsyncmaster: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
{
(::windows::core::Interface::vtable(self).SetVPSyncMaster)(::windows::core::Interface::as_raw(self), bvpsyncmaster.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetVPSyncMaster(&self, pbvpsyncmaster: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetVPSyncMaster)(::windows::core::Interface::as_raw(self), pbvpsyncmaster).ok()
}
}
::windows::imp::interface_hierarchy!(IVPNotify2, ::windows::core::IUnknown, IVPBaseNotify, IVPNotify);
impl ::core::cmp::PartialEq for IVPNotify2 {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVPNotify2 {}
impl ::core::fmt::Debug for IVPNotify2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVPNotify2").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVPNotify2 {
type Vtable = IVPNotify2_Vtbl;
}
impl ::core::clone::Clone for IVPNotify2 {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVPNotify2 {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xebf47183_8764_11d1_9e69_00c04fd7c15b);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVPNotify2_Vtbl {
pub base__: IVPNotify_Vtbl,
#[cfg(feature = "Win32_Foundation")]
pub SetVPSyncMaster: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bvpsyncmaster: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
SetVPSyncMaster: usize,
#[cfg(feature = "Win32_Foundation")]
pub GetVPSyncMaster: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbvpsyncmaster: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Foundation"))]
GetVPSyncMaster: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVPVBIConfig(::windows::core::IUnknown);
impl IVPVBIConfig {
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetConnectInfo(&self, pdwnumconnectinfo: *mut u32, pddvpconnectinfo: ::core::option::Option<*mut super::super::Graphics::DirectDraw::DDVIDEOPORTCONNECT>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetConnectInfo)(::windows::core::Interface::as_raw(self), pdwnumconnectinfo, ::core::mem::transmute(pddvpconnectinfo.unwrap_or(::std::ptr::null_mut()))).ok()
}
pub unsafe fn SetConnectInfo(&self, dwchosenentry: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetConnectInfo)(::windows::core::Interface::as_raw(self), dwchosenentry).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub unsafe fn GetVPDataInfo(&self, pamvpdatainfo: *mut AMVPDATAINFO) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetVPDataInfo)(::windows::core::Interface::as_raw(self), pamvpdatainfo).ok()
}
pub unsafe fn GetMaxPixelRate(&self, pamvpsize: *mut AMVPSIZE, pdwmaxpixelspersecond: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetMaxPixelRate)(::windows::core::Interface::as_raw(self), pamvpsize, pdwmaxpixelspersecond).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn InformVPInputFormats(&self, dwnumformats: u32, pddpixelformats: *mut super::super::Graphics::DirectDraw::DDPIXELFORMAT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.InformVPInputFormats)(::windows::core::Interface::as_raw(self), dwnumformats, pddpixelformats).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetVideoFormats(&self, pdwnumformats: *mut u32, pddpixelformats: ::core::option::Option<*mut super::super::Graphics::DirectDraw::DDPIXELFORMAT>) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetVideoFormats)(::windows::core::Interface::as_raw(self), pdwnumformats, ::core::mem::transmute(pddpixelformats.unwrap_or(::std::ptr::null_mut()))).ok()
}
pub unsafe fn SetVideoFormat(&self, dwchosenentry: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetVideoFormat)(::windows::core::Interface::as_raw(self), dwchosenentry).ok()
}
pub unsafe fn SetInvertPolarity(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetInvertPolarity)(::windows::core::Interface::as_raw(self)).ok()
}
#[doc = "*Required features: `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub unsafe fn GetOverlaySurface(&self) -> ::windows::core::Result<super::super::Graphics::DirectDraw::IDirectDrawSurface> {
let mut result__ = ::windows::core::zeroed::<super::super::Graphics::DirectDraw::IDirectDrawSurface>();
(::windows::core::Interface::vtable(self).base__.GetOverlaySurface)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetDirectDrawKernelHandle(&self, dwddkernelhandle: usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetDirectDrawKernelHandle)(::windows::core::Interface::as_raw(self), dwddkernelhandle).ok()
}
pub unsafe fn SetVideoPortID(&self, dwvideoportid: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetVideoPortID)(::windows::core::Interface::as_raw(self), dwvideoportid).ok()
}
pub unsafe fn SetDDSurfaceKernelHandles(&self, chandles: u32, rgddkernelhandles: *mut usize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetDDSurfaceKernelHandles)(::windows::core::Interface::as_raw(self), chandles, rgddkernelhandles).ok()
}
pub unsafe fn SetSurfaceParameters(&self, dwpitch: u32, dwxorigin: u32, dwyorigin: u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetSurfaceParameters)(::windows::core::Interface::as_raw(self), dwpitch, dwxorigin, dwyorigin).ok()
}
}
::windows::imp::interface_hierarchy!(IVPVBIConfig, ::windows::core::IUnknown, IVPBaseConfig);
impl ::core::cmp::PartialEq for IVPVBIConfig {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVPVBIConfig {}
impl ::core::fmt::Debug for IVPVBIConfig {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVPVBIConfig").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVPVBIConfig {
type Vtable = IVPVBIConfig_Vtbl;
}
impl ::core::clone::Clone for IVPVBIConfig {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVPVBIConfig {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xec529b00_1a1f_11d1_bad9_00609744111a);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVPVBIConfig_Vtbl {
pub base__: IVPBaseConfig_Vtbl,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVPVBINotify(::windows::core::IUnknown);
impl IVPVBINotify {
pub unsafe fn RenegotiateVPParameters(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.RenegotiateVPParameters)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IVPVBINotify, ::windows::core::IUnknown, IVPBaseNotify);
impl ::core::cmp::PartialEq for IVPVBINotify {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVPVBINotify {}
impl ::core::fmt::Debug for IVPVBINotify {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVPVBINotify").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVPVBINotify {
type Vtable = IVPVBINotify_Vtbl;
}
impl ::core::clone::Clone for IVPVBINotify {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVPVBINotify {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xec529b01_1a1f_11d1_bad9_00609744111a);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVPVBINotify_Vtbl {
pub base__: IVPBaseNotify_Vtbl,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVideoEncoder(::windows::core::IUnknown);
impl IVideoEncoder {
pub unsafe fn IsSupported(&self, api: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.IsSupported)(::windows::core::Interface::as_raw(self), api).ok()
}
pub unsafe fn IsAvailable(&self, api: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.IsAvailable)(::windows::core::Interface::as_raw(self), api).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub unsafe fn GetParameterRange(&self, api: *const ::windows::core::GUID, valuemin: *mut super::super::System::Com::VARIANT, valuemax: *mut super::super::System::Com::VARIANT, steppingdelta: *mut super::super::System::Com::VARIANT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetParameterRange)(::windows::core::Interface::as_raw(self), api, valuemin, valuemax, steppingdelta).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub unsafe fn GetParameterValues(&self, api: *const ::windows::core::GUID, values: *mut *mut super::super::System::Com::VARIANT, valuescount: *mut u32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.GetParameterValues)(::windows::core::Interface::as_raw(self), api, values, valuescount).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub unsafe fn GetDefaultValue(&self, api: *const ::windows::core::GUID) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
(::windows::core::Interface::vtable(self).base__.GetDefaultValue)(::windows::core::Interface::as_raw(self), api, &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub unsafe fn GetValue(&self, api: *const ::windows::core::GUID) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
(::windows::core::Interface::vtable(self).base__.GetValue)(::windows::core::Interface::as_raw(self), api, &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub unsafe fn SetValue(&self, api: *const ::windows::core::GUID, value: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).base__.SetValue)(::windows::core::Interface::as_raw(self), api, value).ok()
}
}
::windows::imp::interface_hierarchy!(IVideoEncoder, ::windows::core::IUnknown, IEncoderAPI);
impl ::core::cmp::PartialEq for IVideoEncoder {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVideoEncoder {}
impl ::core::fmt::Debug for IVideoEncoder {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVideoEncoder").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVideoEncoder {
type Vtable = IVideoEncoder_Vtbl;
}
impl ::core::clone::Clone for IVideoEncoder {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVideoEncoder {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x02997c3b_8e1b_460e_9270_545e0de9563e);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVideoEncoder_Vtbl {
pub base__: IEncoderAPI_Vtbl,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVideoFrameStep(::windows::core::IUnknown);
impl IVideoFrameStep {
pub unsafe fn Step<P0>(&self, dwframes: u32, pstepobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
{
(::windows::core::Interface::vtable(self).Step)(::windows::core::Interface::as_raw(self), dwframes, pstepobject.into_param().abi()).ok()
}
pub unsafe fn CanStep<P0>(&self, bmultiple: i32, pstepobject: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
{
(::windows::core::Interface::vtable(self).CanStep)(::windows::core::Interface::as_raw(self), bmultiple, pstepobject.into_param().abi()).ok()
}
pub unsafe fn CancelStep(&self) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).CancelStep)(::windows::core::Interface::as_raw(self)).ok()
}
}
::windows::imp::interface_hierarchy!(IVideoFrameStep, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVideoFrameStep {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVideoFrameStep {}
impl ::core::fmt::Debug for IVideoFrameStep {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVideoFrameStep").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVideoFrameStep {
type Vtable = IVideoFrameStep_Vtbl;
}
impl ::core::clone::Clone for IVideoFrameStep {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVideoFrameStep {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe46a9787_2b71_444d_a4b5_1fab7b708d6a);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVideoFrameStep_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub Step: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwframes: u32, pstepobject: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CanStep: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bmultiple: i32, pstepobject: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
pub CancelStep: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IVideoProcAmp(::windows::core::IUnknown);
impl IVideoProcAmp {
pub unsafe fn get_BacklightCompensation(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_BacklightCompensation)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_BacklightCompensation(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_BacklightCompensation)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_BacklightCompensation(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_BacklightCompensation)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_Brightness(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_Brightness)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_Brightness(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_Brightness)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_Brightness(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_Brightness)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_ColorEnable(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_ColorEnable)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_ColorEnable(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_ColorEnable)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_ColorEnable(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_ColorEnable)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_Contrast(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_Contrast)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_Contrast(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_Contrast)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_Contrast(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_Contrast)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_Gamma(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_Gamma)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_Gamma(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_Gamma)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_Gamma(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_Gamma)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_Saturation(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_Saturation)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_Saturation(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_Saturation)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_Saturation(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_Saturation)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_Sharpness(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_Sharpness)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_Sharpness(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_Sharpness)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_Sharpness(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_Sharpness)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_WhiteBalance(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_WhiteBalance)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_WhiteBalance(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_WhiteBalance)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_WhiteBalance(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_WhiteBalance)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_Gain(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_Gain)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_Gain(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_Gain)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_Gain(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_Gain)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_Hue(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_Hue)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_Hue(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_Hue)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_Hue(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_Hue)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_DigitalMultiplier(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_DigitalMultiplier)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_DigitalMultiplier(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_DigitalMultiplier)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_DigitalMultiplier(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_DigitalMultiplier)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_PowerlineFrequency(&self, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_PowerlineFrequency)(::windows::core::Interface::as_raw(self), pvalue, pflags).ok()
}
pub unsafe fn put_PowerlineFrequency(&self, value: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_PowerlineFrequency)(::windows::core::Interface::as_raw(self), value, flags).ok()
}
pub unsafe fn getRange_PowerlineFrequency(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_PowerlineFrequency)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
pub unsafe fn get_WhiteBalanceComponent(&self, pvalue1: *mut i32, pvalue2: *mut i32, pflags: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).get_WhiteBalanceComponent)(::windows::core::Interface::as_raw(self), pvalue1, pvalue2, pflags).ok()
}
pub unsafe fn put_WhiteBalanceComponent(&self, value1: i32, value2: i32, flags: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).put_WhiteBalanceComponent)(::windows::core::Interface::as_raw(self), value1, value2, flags).ok()
}
pub unsafe fn getRange_WhiteBalanceComponent(&self, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).getRange_WhiteBalanceComponent)(::windows::core::Interface::as_raw(self), pmin, pmax, psteppingdelta, pdefault, pcapsflag).ok()
}
}
::windows::imp::interface_hierarchy!(IVideoProcAmp, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IVideoProcAmp {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IVideoProcAmp {}
impl ::core::fmt::Debug for IVideoProcAmp {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVideoProcAmp").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IVideoProcAmp {
type Vtable = IVideoProcAmp_Vtbl;
}
impl ::core::clone::Clone for IVideoProcAmp {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IVideoProcAmp {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4050560e_42a7_413a_85c2_09269a2d0f44);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVideoProcAmp_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub get_BacklightCompensation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_BacklightCompensation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_BacklightCompensation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_Brightness: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_Brightness: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_Brightness: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_ColorEnable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_ColorEnable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_ColorEnable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_Contrast: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_Contrast: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_Contrast: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_Gamma: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_Gamma: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_Gamma: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_Saturation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_Saturation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_Saturation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_Sharpness: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_Sharpness: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_Sharpness: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_WhiteBalance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_WhiteBalance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_WhiteBalance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_Gain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_Gain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_Gain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_Hue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_Hue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_Hue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_DigitalMultiplier: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_DigitalMultiplier: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_DigitalMultiplier: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_PowerlineFrequency: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_PowerlineFrequency: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_PowerlineFrequency: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
pub get_WhiteBalanceComponent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvalue1: *mut i32, pvalue2: *mut i32, pflags: *mut i32) -> ::windows::core::HRESULT,
pub put_WhiteBalanceComponent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value1: i32, value2: i32, flags: i32) -> ::windows::core::HRESULT,
pub getRange_WhiteBalanceComponent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmin: *mut i32, pmax: *mut i32, psteppingdelta: *mut i32, pdefault: *mut i32, pcapsflag: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
#[repr(transparent)]
pub struct IVideoWindow(::windows::core::IUnknown);
#[cfg(feature = "Win32_System_Com")]
impl IVideoWindow {
pub unsafe fn SetCaption<P0>(&self, strcaption: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<::windows::core::BSTR>,
{
(::windows::core::Interface::vtable(self).SetCaption)(::windows::core::Interface::as_raw(self), strcaption.into_param().abi()).ok()
}
pub unsafe fn Caption(&self) -> ::windows::core::Result<::windows::core::BSTR> {
let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
(::windows::core::Interface::vtable(self).Caption)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetWindowStyle(&self, windowstyle: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetWindowStyle)(::windows::core::Interface::as_raw(self), windowstyle).ok()
}
pub unsafe fn WindowStyle(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).WindowStyle)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetWindowStyleEx(&self, windowstyleex: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetWindowStyleEx)(::windows::core::Interface::as_raw(self), windowstyleex).ok()
}
pub unsafe fn WindowStyleEx(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).WindowStyleEx)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetAutoShow(&self, autoshow: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetAutoShow)(::windows::core::Interface::as_raw(self), autoshow).ok()
}
pub unsafe fn AutoShow(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).AutoShow)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetWindowState(&self, windowstate: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetWindowState)(::windows::core::Interface::as_raw(self), windowstate).ok()
}
#[doc = "*Required features: `\"Win32_UI_WindowsAndMessaging\"`*"]
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
pub unsafe fn WindowState(&self) -> ::windows::core::Result<super::super::UI::WindowsAndMessaging::SHOW_WINDOW_CMD> {
let mut result__ = ::windows::core::zeroed::<super::super::UI::WindowsAndMessaging::SHOW_WINDOW_CMD>();
(::windows::core::Interface::vtable(self).WindowState)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetBackgroundPalette(&self, backgroundpalette: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetBackgroundPalette)(::windows::core::Interface::as_raw(self), backgroundpalette).ok()
}
pub unsafe fn BackgroundPalette(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).BackgroundPalette)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetVisible(&self, visible: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetVisible)(::windows::core::Interface::as_raw(self), visible).ok()
}
pub unsafe fn Visible(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).Visible)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetLeft(&self, left: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetLeft)(::windows::core::Interface::as_raw(self), left).ok()
}
pub unsafe fn Left(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).Left)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetWidth(&self, width: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetWidth)(::windows::core::Interface::as_raw(self), width).ok()
}
pub unsafe fn Width(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).Width)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetTop(&self, top: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetTop)(::windows::core::Interface::as_raw(self), top).ok()
}
pub unsafe fn Top(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).Top)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetHeight(&self, height: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetHeight)(::windows::core::Interface::as_raw(self), height).ok()
}
pub unsafe fn Height(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).Height)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetOwner(&self, owner: isize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetOwner)(::windows::core::Interface::as_raw(self), owner).ok()
}
pub unsafe fn Owner(&self) -> ::windows::core::Result<isize> {
let mut result__ = ::windows::core::zeroed::<isize>();
(::windows::core::Interface::vtable(self).Owner)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetMessageDrain(&self, drain: isize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetMessageDrain)(::windows::core::Interface::as_raw(self), drain).ok()
}
pub unsafe fn MessageDrain(&self) -> ::windows::core::Result<isize> {
let mut result__ = ::windows::core::zeroed::<isize>();
(::windows::core::Interface::vtable(self).MessageDrain)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn BorderColor(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).BorderColor)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetBorderColor(&self, color: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetBorderColor)(::windows::core::Interface::as_raw(self), color).ok()
}
pub unsafe fn FullScreenMode(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).FullScreenMode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
pub unsafe fn SetFullScreenMode(&self, fullscreenmode: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetFullScreenMode)(::windows::core::Interface::as_raw(self), fullscreenmode).ok()
}
pub unsafe fn SetWindowForeground(&self, focus: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetWindowForeground)(::windows::core::Interface::as_raw(self), focus).ok()
}
pub unsafe fn NotifyOwnerMessage(&self, hwnd: isize, umsg: i32, wparam: isize, lparam: isize) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).NotifyOwnerMessage)(::windows::core::Interface::as_raw(self), hwnd, umsg, wparam, lparam).ok()
}
pub unsafe fn SetWindowPosition(&self, left: i32, top: i32, width: i32, height: i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).SetWindowPosition)(::windows::core::Interface::as_raw(self), left, top, width, height).ok()
}
pub unsafe fn GetWindowPosition(&self, pleft: *mut i32, ptop: *mut i32, pwidth: *mut i32, pheight: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetWindowPosition)(::windows::core::Interface::as_raw(self), pleft, ptop, pwidth, pheight).ok()
}
pub unsafe fn GetMinIdealImageSize(&self, pwidth: *mut i32, pheight: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMinIdealImageSize)(::windows::core::Interface::as_raw(self), pwidth, pheight).ok()
}
pub unsafe fn GetMaxIdealImageSize(&self, pwidth: *mut i32, pheight: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetMaxIdealImageSize)(::windows::core::Interface::as_raw(self), pwidth, pheight).ok()
}
pub unsafe fn GetRestorePosition(&self, pleft: *mut i32, ptop: *mut i32, pwidth: *mut i32, pheight: *mut i32) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).GetRestorePosition)(::windows::core::Interface::as_raw(self), pleft, ptop, pwidth, pheight).ok()
}
pub unsafe fn HideCursor(&self, hidecursor: OA_BOOL) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).HideCursor)(::windows::core::Interface::as_raw(self), hidecursor).ok()
}
pub unsafe fn IsCursorHidden(&self) -> ::windows::core::Result<i32> {
let mut result__ = ::windows::core::zeroed::<i32>();
(::windows::core::Interface::vtable(self).IsCursorHidden)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
}
}
#[cfg(feature = "Win32_System_Com")]
::windows::imp::interface_hierarchy!(IVideoWindow, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for IVideoWindow {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for IVideoWindow {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for IVideoWindow {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IVideoWindow").field(&self.0).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::Interface for IVideoWindow {
type Vtable = IVideoWindow_Vtbl;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for IVideoWindow {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
#[cfg(feature = "Win32_System_Com")]
unsafe impl ::windows::core::ComInterface for IVideoWindow {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868b4_0ad4_11ce_b03a_0020af0ba770);
}
#[cfg(feature = "Win32_System_Com")]
#[repr(C)]
#[doc(hidden)]
pub struct IVideoWindow_Vtbl {
pub base__: super::super::System::Com::IDispatch_Vtbl,
pub SetCaption: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strcaption: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub Caption: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strcaption: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
pub SetWindowStyle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, windowstyle: i32) -> ::windows::core::HRESULT,
pub WindowStyle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, windowstyle: *mut i32) -> ::windows::core::HRESULT,
pub SetWindowStyleEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, windowstyleex: i32) -> ::windows::core::HRESULT,
pub WindowStyleEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, windowstyleex: *mut i32) -> ::windows::core::HRESULT,
pub SetAutoShow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, autoshow: i32) -> ::windows::core::HRESULT,
pub AutoShow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, autoshow: *mut i32) -> ::windows::core::HRESULT,
pub SetWindowState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, windowstate: i32) -> ::windows::core::HRESULT,
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
pub WindowState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, windowstate: *mut super::super::UI::WindowsAndMessaging::SHOW_WINDOW_CMD) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_UI_WindowsAndMessaging"))]
WindowState: usize,
pub SetBackgroundPalette: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, backgroundpalette: i32) -> ::windows::core::HRESULT,
pub BackgroundPalette: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbackgroundpalette: *mut i32) -> ::windows::core::HRESULT,
pub SetVisible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, visible: i32) -> ::windows::core::HRESULT,
pub Visible: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvisible: *mut i32) -> ::windows::core::HRESULT,
pub SetLeft: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, left: i32) -> ::windows::core::HRESULT,
pub Left: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pleft: *mut i32) -> ::windows::core::HRESULT,
pub SetWidth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, width: i32) -> ::windows::core::HRESULT,
pub Width: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwidth: *mut i32) -> ::windows::core::HRESULT,
pub SetTop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, top: i32) -> ::windows::core::HRESULT,
pub Top: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptop: *mut i32) -> ::windows::core::HRESULT,
pub SetHeight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, height: i32) -> ::windows::core::HRESULT,
pub Height: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pheight: *mut i32) -> ::windows::core::HRESULT,
pub SetOwner: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, owner: isize) -> ::windows::core::HRESULT,
pub Owner: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, owner: *mut isize) -> ::windows::core::HRESULT,
pub SetMessageDrain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, drain: isize) -> ::windows::core::HRESULT,
pub MessageDrain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, drain: *mut isize) -> ::windows::core::HRESULT,
pub BorderColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, color: *mut i32) -> ::windows::core::HRESULT,
pub SetBorderColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, color: i32) -> ::windows::core::HRESULT,
pub FullScreenMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fullscreenmode: *mut i32) -> ::windows::core::HRESULT,
pub SetFullScreenMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fullscreenmode: i32) -> ::windows::core::HRESULT,
pub SetWindowForeground: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, focus: i32) -> ::windows::core::HRESULT,
pub NotifyOwnerMessage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwnd: isize, umsg: i32, wparam: isize, lparam: isize) -> ::windows::core::HRESULT,
pub SetWindowPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, left: i32, top: i32, width: i32, height: i32) -> ::windows::core::HRESULT,
pub GetWindowPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pleft: *mut i32, ptop: *mut i32, pwidth: *mut i32, pheight: *mut i32) -> ::windows::core::HRESULT,
pub GetMinIdealImageSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwidth: *mut i32, pheight: *mut i32) -> ::windows::core::HRESULT,
pub GetMaxIdealImageSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwidth: *mut i32, pheight: *mut i32) -> ::windows::core::HRESULT,
pub GetRestorePosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pleft: *mut i32, ptop: *mut i32, pwidth: *mut i32, pheight: *mut i32) -> ::windows::core::HRESULT,
pub HideCursor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hidecursor: OA_BOOL) -> ::windows::core::HRESULT,
pub IsCursorHidden: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cursorhidden: *mut i32) -> ::windows::core::HRESULT,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IWMCodecAMVideoAccelerator(::windows::core::IUnknown);
impl IWMCodecAMVideoAccelerator {
pub unsafe fn SetAcceleratorInterface<P0>(&self, piamva: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IAMVideoAccelerator>,
{
(::windows::core::Interface::vtable(self).SetAcceleratorInterface)(::windows::core::Interface::as_raw(self), piamva.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn NegotiateConnection(&self, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::Result<()> {
(::windows::core::Interface::vtable(self).NegotiateConnection)(::windows::core::Interface::as_raw(self), pmediatype).ok()
}
#[doc = "*Required features: `\"Win32_Media_WindowsMediaFormat\"`*"]
#[cfg(feature = "Win32_Media_WindowsMediaFormat")]
pub unsafe fn SetPlayerNotify<P0>(&self, phook: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::WindowsMediaFormat::IWMPlayerTimestampHook>,
{
(::windows::core::Interface::vtable(self).SetPlayerNotify)(::windows::core::Interface::as_raw(self), phook.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IWMCodecAMVideoAccelerator, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IWMCodecAMVideoAccelerator {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IWMCodecAMVideoAccelerator {}
impl ::core::fmt::Debug for IWMCodecAMVideoAccelerator {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IWMCodecAMVideoAccelerator").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IWMCodecAMVideoAccelerator {
type Vtable = IWMCodecAMVideoAccelerator_Vtbl;
}
impl ::core::clone::Clone for IWMCodecAMVideoAccelerator {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IWMCodecAMVideoAccelerator {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd98ee251_34e0_4a2d_9312_9b4c788d9fa1);
}
#[repr(C)]
#[doc(hidden)]
pub struct IWMCodecAMVideoAccelerator_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
pub SetAcceleratorInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, piamva: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub NegotiateConnection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
NegotiateConnection: usize,
#[cfg(feature = "Win32_Media_WindowsMediaFormat")]
pub SetPlayerNotify: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phook: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Media_WindowsMediaFormat"))]
SetPlayerNotify: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
pub struct IWMCodecVideoAccelerator(::windows::core::IUnknown);
impl IWMCodecVideoAccelerator {
#[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub unsafe fn NegotiateConnection<P0>(&self, piamva: P0, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<IAMVideoAccelerator>,
{
(::windows::core::Interface::vtable(self).NegotiateConnection)(::windows::core::Interface::as_raw(self), piamva.into_param().abi(), pmediatype).ok()
}
#[doc = "*Required features: `\"Win32_Media_WindowsMediaFormat\"`*"]
#[cfg(feature = "Win32_Media_WindowsMediaFormat")]
pub unsafe fn SetPlayerNotify<P0>(&self, phook: P0) -> ::windows::core::Result<()>
where
P0: ::windows::core::IntoParam<super::WindowsMediaFormat::IWMPlayerTimestampHook>,
{
(::windows::core::Interface::vtable(self).SetPlayerNotify)(::windows::core::Interface::as_raw(self), phook.into_param().abi()).ok()
}
}
::windows::imp::interface_hierarchy!(IWMCodecVideoAccelerator, ::windows::core::IUnknown);
impl ::core::cmp::PartialEq for IWMCodecVideoAccelerator {
fn eq(&self, other: &Self) -> bool {
self.0 == other.0
}
}
impl ::core::cmp::Eq for IWMCodecVideoAccelerator {}
impl ::core::fmt::Debug for IWMCodecVideoAccelerator {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IWMCodecVideoAccelerator").field(&self.0).finish()
}
}
unsafe impl ::windows::core::Interface for IWMCodecVideoAccelerator {
type Vtable = IWMCodecVideoAccelerator_Vtbl;
}
impl ::core::clone::Clone for IWMCodecVideoAccelerator {
fn clone(&self) -> Self {
Self(self.0.clone())
}
}
unsafe impl ::windows::core::ComInterface for IWMCodecVideoAccelerator {
const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x990641b0_739f_4e94_a808_9888da8f75af);
}
#[repr(C)]
#[doc(hidden)]
pub struct IWMCodecVideoAccelerator_Vtbl {
pub base__: ::windows::core::IUnknown_Vtbl,
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub NegotiateConnection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, piamva: *mut ::core::ffi::c_void, pmediatype: *const super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows::core::HRESULT,
#[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation")))]
NegotiateConnection: usize,
#[cfg(feature = "Win32_Media_WindowsMediaFormat")]
pub SetPlayerNotify: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phook: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
#[cfg(not(feature = "Win32_Media_WindowsMediaFormat"))]
SetPlayerNotify: usize,
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMCONTROL_COLORINFO_PRESENT: u32 = 128u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMCONTROL_PAD_TO_16x9: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMCONTROL_PAD_TO_4x3: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMCONTROL_USED: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMCOPYPROTECT_RestrictDuplication: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMDDS_ALL: u32 = 255u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMDDS_DCIPS: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMDDS_DEFAULT: u32 = 255u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMDDS_NONE: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMDDS_PS: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMDDS_RGBFLP: u32 = 64u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMDDS_RGBOFF: u32 = 16u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMDDS_RGBOVR: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMDDS_YUVFLP: u32 = 128u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMDDS_YUVOFF: u32 = 32u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMDDS_YUVOVR: u32 = 8u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMF_AUTOMATICGAIN: f64 = -1f64;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMINTERLACE_1FieldPerSample: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMINTERLACE_DisplayModeBobOnly: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMINTERLACE_DisplayModeBobOrWeave: u32 = 128u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMINTERLACE_DisplayModeMask: u32 = 192u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMINTERLACE_DisplayModeWeaveOnly: u32 = 64u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMINTERLACE_Field1First: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMINTERLACE_FieldPatBothIrregular: u32 = 48u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMINTERLACE_FieldPatBothRegular: u32 = 32u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMINTERLACE_FieldPatField1Only: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMINTERLACE_FieldPatField2Only: u32 = 16u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMINTERLACE_FieldPatternMask: u32 = 48u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMINTERLACE_IsInterlaced: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMINTERLACE_UNUSED: u32 = 8u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMVA_QUERYRENDERSTATUSF_READ: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMVA_TYPEINDEX_OUTPUTFRAME: u32 = 4294967295u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AC3_ALTERNATE_AUDIO_1: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AC3_ALTERNATE_AUDIO_2: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AC3_ALTERNATE_AUDIO_BOTH: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AC3_SERVICE_COMMENTARY: u32 = 5u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AC3_SERVICE_DIALOG_ONLY: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AC3_SERVICE_EMERGENCY_FLASH: u32 = 6u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AC3_SERVICE_HEARING_IMPAIRED: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AC3_SERVICE_MAIN_AUDIO: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AC3_SERVICE_NO_DIALOG: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AC3_SERVICE_VISUALLY_IMPAIRED: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AC3_SERVICE_VOICE_OVER: u32 = 7u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_CONTENTPROPERTY_AUTHOR: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_CONTENTPROPERTY_COPYRIGHT: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_CONTENTPROPERTY_DESCRIPTION: u32 = 8u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_CONTENTPROPERTY_TITLE: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_CGMS_COPY_ONCE: u32 = 16u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_CGMS_COPY_PERMITTED: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_CGMS_COPY_PROTECT_MASK: u32 = 24u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_CGMS_NO_COPY: u32 = 24u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_CGMS_RESERVED_MASK: u32 = 120u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_COPYRIGHTED: u32 = 64u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_COPYRIGHT_MASK: u32 = 64u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_NOT_COPYRIGHTED: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_SECTOR_NOT_PROTECTED: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_SECTOR_PROTECTED: u32 = 32u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_SECTOR_PROTECT_MASK: u32 = 32u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_GBF_NODDSURFACELOCK: u32 = 8u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_GBF_NOTASYNCPOINT: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_GBF_NOWAIT: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_GBF_PREVFRAMESKIPPED: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_GETDECODERCAP_QUERY_EVR_SUPPORT: u32 = 7u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_GETDECODERCAP_QUERY_VMR9_SUPPORT: u32 = 6u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_GETDECODERCAP_QUERY_VMR_SUPPORT: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_INTERFACESETID_Standard: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1a8766a0_62ce_11cf_a5d6_28db04c10000);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSCATEGORY_AUDIO: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6994ad04_93ef_11d0_a3cc_00a0c9223196);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSCATEGORY_CAPTURE: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x65e8773d_8f56_11d0_a3b9_00a0c9223196);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSCATEGORY_CROSSBAR: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa799a801_a46d_11d0_a18c_00a02401dcd4);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSCATEGORY_DATACOMPRESSOR: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1e84c900_7e70_11d0_a5d6_28db04c10000);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSCATEGORY_RENDER: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x65e8773e_8f56_11d0_a3b9_00a0c9223196);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSCATEGORY_SPLITTER: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0a4252a0_7e70_11d0_a5d6_28db04c10000);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSCATEGORY_TVAUDIO: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa799a802_a46d_11d0_a18c_00a02401dcd4);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSCATEGORY_TVTUNER: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa799a800_a46d_11d0_a18c_00a02401dcd4);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSCATEGORY_VBICODEC: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x07dad660_22f1_11d1_a9f4_00c04fbbde8f);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSCATEGORY_VBICODEC_MI: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9c24a977_0951_451a_8006_0e49bd28cd5f);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSCATEGORY_VIDEO: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6994ad05_93ef_11d0_a3cc_00a0c9223196);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSPROPSETID_AC3: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbfabe720_6e1f_11d0_bcf2_444553540000);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSPROPSETID_CopyProt: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0e8a0a40_6aef_11d0_9ed0_00a024ca19b3);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSPROPSETID_DVD_RateChange: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3577eb09_9582_477f_b29c_b0c452a4ff9a);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSPROPSETID_DvdKaraoke: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xae4720ae_aa71_42d8_b82a_fffdf58b76fd);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSPROPSETID_DvdSubPic: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xac390460_43af_11d0_bd6a_003505c103a9);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSPROPSETID_FrameStep: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc830acbd_ab07_492f_8852_45b6987c2979);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSPROPSETID_MPEG4_MediaType_Attributes: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xff6c4bfa_07a9_4c7b_a237_672f9d68065f);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_KSPROPSETID_TSRateChange: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa503c5c0_1d1d_11d1_ad80_444553540000);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_LOADSTATUS_CLOSED: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_LOADSTATUS_CONNECTING: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_LOADSTATUS_LOADINGDESCR: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_LOADSTATUS_LOADINGMCAST: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_LOADSTATUS_LOCATING: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_LOADSTATUS_OPEN: u32 = 6u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_LOADSTATUS_OPENING: u32 = 5u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_MPEG_AUDIO_DUAL_LEFT: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_MPEG_AUDIO_DUAL_MERGE: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_MPEG_AUDIO_DUAL_RIGHT: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_QUERY_DECODER_ATSC_HD_SUPPORT: u32 = 5u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_QUERY_DECODER_ATSC_SD_SUPPORT: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_QUERY_DECODER_DVD_SUPPORT: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_QUERY_DECODER_DXVA_1_SUPPORT: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_QUERY_DECODER_VMR_SUPPORT: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_ReverseBlockEnd: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_ReverseBlockStart: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_UseNewCSSKey: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_VIDEO_FLAG_B_SAMPLE: i32 = 32i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_VIDEO_FLAG_FIELD1: i32 = 1i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_VIDEO_FLAG_FIELD1FIRST: i32 = 4i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_VIDEO_FLAG_FIELD2: i32 = 2i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_VIDEO_FLAG_FIELD_MASK: i32 = 3i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_VIDEO_FLAG_INTERLEAVED_FRAME: i32 = 0i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_VIDEO_FLAG_IPB_MASK: i32 = 48i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_VIDEO_FLAG_I_SAMPLE: i32 = 0i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_VIDEO_FLAG_P_SAMPLE: i32 = 16i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_VIDEO_FLAG_REPEAT_FIELD: i32 = 64i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_VIDEO_FLAG_WEAVE: i32 = 8i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVIF_COPYRIGHTED: u32 = 131072u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVIF_HASINDEX: u32 = 16u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVIF_ISINTERLEAVED: u32 = 256u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVIF_MUSTUSEINDEX: u32 = 32u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVIF_TRUSTCKTYPE: u32 = 2048u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVIF_WASCAPTUREFILE: u32 = 65536u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVIIF_COMPRESSOR: u32 = 268369920u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVIIF_COMPUSE: i32 = 268369920i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVIIF_FIRSTPART: i32 = 32i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVIIF_KEYFRAME: i32 = 16i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVIIF_LASTPART: i32 = 64i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVIIF_LIST: i32 = 1i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVIIF_NOTIME: i32 = 256i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVIIF_NO_TIME: u32 = 256u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVISF_DISABLED: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVISF_VIDEO_PALCHANGES: u32 = 65536u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVISTDINDEX_DELTAFRAME: u32 = 2147483648u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVI_HEADERSIZE: u32 = 2048u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVI_INDEX_IS_DATA: u32 = 128u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVI_INDEX_OF_CHUNKS: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVI_INDEX_OF_INDEXES: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVI_INDEX_OF_SUB_2FIELD: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVI_INDEX_OF_TIMED_CHUNKS: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVI_INDEX_SUB_2FIELD: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AVI_INDEX_SUB_DEFAULT: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_NTSC_Mask: u32 = 7u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_PAL_Mask: u32 = 1052656u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_SECAM_Mask: u32 = 1044480u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_ACCESS_DENIED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073479671i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_BUFFER_TOO_SMALL: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073479669i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_DISABLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073479666i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_FAILURE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073479679i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_INVALID_CAPTURE_TOKEN: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073463294i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_INVALID_ENTITLEMENT_TOKEN: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073463295i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_INVALID_HANDLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073479674i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_INVALID_LANGUAGE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073479664i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_INVALID_PURCHASE_TOKEN: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073463292i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_INVALID_SCHEMA: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073479675i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_INVALID_TUNE_REQUEST: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073467388i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_INVALID_TYPE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073479673i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_IPNETWORK_ADDRESS_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073459198i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_IPNETWORK_ERROR: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073459199i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_IPNETWORK_TIMEOUT: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073459197i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_IPNETWORK_UNAVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073459196i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073479670i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_NOT_IMPLEMENTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073479678i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_NO_HANDLER: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073479665i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_NO_MORE_DATA: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073475582i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_NO_MORE_EVENTS: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073475583i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_NO_SUCH_COMMAND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073479677i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_OUT_OF_BOUNDS: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073479676i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_OUT_OF_MEMORY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073479667i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_OUT_OF_RESOURCES: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073479668i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_READ_ONLY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073479672i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_TIMEOUT_ELAPSED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073479663i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_TUNER_CONFLICT: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073467389i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_TUNER_INITIALIZING: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073467391i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_TUNER_REQUIRED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073467390i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_TUNE_FAILED_SDV01: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073455103i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_TUNE_FAILED_SDV02: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073455102i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_TUNE_FAILED_SDV03: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073455101i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_TUNE_FAILED_SDV04: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073455100i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_TUNE_FAILED_SDV05: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073455099i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_TUNE_FAILED_SDV06: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073455098i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_TUNE_FAILED_SDV07: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073455097i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_TUNE_FAILED_SDV08: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073455096i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_TUNE_FAILED_SDVFF: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073454849i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_WMDRM_INVALID_CERTIFICATE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418238i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_WMDRM_INVALID_DATE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418235i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_WMDRM_INVALID_PROXIMITY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418234i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_WMDRM_INVALID_SIGNATURE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418239i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_WMDRM_INVALID_VERSION: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418236i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_WMDRM_KEY_ID_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418232i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_E_WOULD_DISRUPT_STREAMING: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073463293i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_PLP_ID_NOT_SET: i32 = -1i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CDEF_BYPASS_CLASS_MANAGER: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CDEF_CLASS_DEFAULT: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CDEF_DEVMON_CMGR_DEVICE: u32 = 16u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CDEF_DEVMON_DMO: u32 = 32u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CDEF_DEVMON_FILTER: u32 = 128u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CDEF_DEVMON_PNP_DEVICE: u32 = 64u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CDEF_DEVMON_SELECTIVE_MASK: u32 = 240u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CDEF_MERIT_ABOVE_DO_NOT_USE: u32 = 8u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CFSTR_VFW_FILTERLIST: ::windows::core::PCSTR = ::windows::core::s!("Video for Windows 4 Filters");
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CHARS_IN_GUID: u32 = 39u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CLSID_AMAudioData: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf2468580_af8a_11d0_8212_00c04fc32c45);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CLSID_AMAudioStream: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8496e040_af4c_11d0_8212_00c04fc32c45);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CLSID_AMDirectDrawStream: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x49c47ce4_9ba4_11d0_8212_00c04fc32c45);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CLSID_AMMediaTypeStream: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xcf0f2f7c_f7bf_11d0_900d_00c04fd9189d);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CLSID_AMMultiMediaStream: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x49c47ce5_9ba4_11d0_8212_00c04fc32c45);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CLSID_DMOFilterCategory: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbcd5796c_bd52_4d30_ab76_70f975b89199);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CLSID_DMOWrapperFilter: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x94297043_bd82_4dfd_b0de_8177739c6d20);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CLSID_PBDA_AUX_DATA_TYPE: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfd456373_3323_4090_adca_8ed45f55cf10);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CLSID_PBDA_Encoder_DATA_TYPE: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x728fd6bc_5546_4716_b103_f899f5a1fa68);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CLSID_PBDA_FDC_DATA_TYPE: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe7dbf9a0_22ab_4047_8e67_ef9ad504e729);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CLSID_PBDA_GDDS_DATA_TYPE: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc80c0df3_6052_4c16_9f56_c44c21f73c45);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_DefaultProtectionLevel: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ImageAspectRatio_EN300294_Mask: u32 = 7u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_NoProtectionLevelAvailable: i32 = -1i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DECODER_CAP_NOTSUPPORTED: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DECODER_CAP_SUPPORTED: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AUDIO_CAPS_AC3: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AUDIO_CAPS_DTS: u32 = 8u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AUDIO_CAPS_LPCM: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AUDIO_CAPS_MPEG2: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AUDIO_CAPS_SDDS: u32 = 16u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_DEFAULT_AUDIO_STREAM: u32 = 15u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_STREAM_DATA_CURRENT: u32 = 2048u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_STREAM_DATA_VMGM: u32 = 1024u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_STREAM_DATA_VTSM: u32 = 1025u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_TITLE_MENU: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DWORD_ALLPARAMS: i32 = -1i32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2Trace_Control: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa0386e75_f70c_464c_a9ce_33c44e091623);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2Trace_DecodeDevBeginFrame: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9fd1acf6_44cb_4637_bc62_2c11a9608f90);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2Trace_DecodeDevCreated: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb4de17a1_c5b2_44fe_86d5_d97a648114ff);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2Trace_DecodeDevDestroyed: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x853ebdf2_4160_421d_8893_63dcea4f18bb);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2Trace_DecodeDevEndFrame: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9fb3cb33_47dc_4899_98c8_c0c6cd7cd3cb);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2Trace_DecodeDevExecute: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x850aeb4c_d19a_4609_b3b4_bcbf0e22121e);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2Trace_DecodeDevGetBuffer: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x57b128fb_72cb_4137_a575_d91fa3160897);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2Trace_VideoProcessBlt: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x69089cc0_71ab_42d0_953a_2887bf05a8af);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2Trace_VideoProcessDevCreated: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x895508c6_540d_4c87_98f8_8dcbf2dabb2a);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2Trace_VideoProcessDevDestroyed: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf97f30b1_fb49_42c7_8ee8_88bdfa92d4e2);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ALPHA_BLEND_COMBINATION_BUFFER: u32 = 13u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ALPHA_BLEND_COMBINATION_FUNCTION: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ALPHA_BLEND_DATA_LOAD_FUNCTION: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_AYUV_BUFFER: u32 = 8u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_BIDIRECTIONAL_AVERAGING_H263_TRUNC: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_BIDIRECTIONAL_AVERAGING_MPEG2_ROUND: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_BITSTREAM_CONCEALMENT_METHOD_BACKWARD: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_BITSTREAM_CONCEALMENT_METHOD_FORWARD: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_BITSTREAM_CONCEALMENT_METHOD_INTRA: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_BITSTREAM_CONCEALMENT_METHOD_UNSPECIFIED: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_BITSTREAM_CONCEALMENT_NEED_LIKELY: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_BITSTREAM_CONCEALMENT_NEED_MILD: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_BITSTREAM_CONCEALMENT_NEED_SEVERE: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_BITSTREAM_CONCEALMENT_NEED_UNLIKELY: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_BITSTREAM_DATA_BUFFER: u32 = 7u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_CHROMA_FORMAT_420: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_CHROMA_FORMAT_422: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_CHROMA_FORMAT_444: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_COMPBUFFER_TYPE_THAT_IS_NOT_USED: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_CONFIG_BLEND_TYPE_BACK_HARDWARE: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_CONFIG_BLEND_TYPE_FRONT_BUFFER: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_CONFIG_DATA_TYPE_AI44: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_CONFIG_DATA_TYPE_AYUV: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_CONFIG_DATA_TYPE_DPXD: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_CONFIG_DATA_TYPE_IA44: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_COPPCommandFnCode: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_COPPDevice: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd2457add_8999_45ed_8a8a_d1aa047ba4d5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_COPPGetCertificateLengthFnCode: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_COPPKeyExchangeFnCode: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_COPPQueryBusData: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc6f4d673_6174_4184_8e35_f6db5200bcba);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_COPPQueryConnectorType: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x81d0bfd5_6afe_48c2_99c0_95a08f97c5da);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_COPPQueryDisplayData: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd7bf1ba3_ad13_4f8e_af98_0dcb3ca204cc);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_COPPQueryGlobalProtectionLevel: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1957210a_7766_452a_b99a_d27aed54f03a);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_COPPQueryHDCPKeyData: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0db59d74_a992_492e_a0bd_c23fda564e00);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_COPPQueryLocalProtectionLevel: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb2075857_3eda_4d5d_88db_748f8c1a0549);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_COPPQueryProtectionType: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x38f2a801_9a6c_48bb_9107_b6696e6f1797);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_COPPQuerySignaling: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6629a591_3b79_4cf3_924a_11e8e7811671);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_COPPQueryStatusFnCode: u32 = 5u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_COPPSequenceStartFnCode: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_COPPSetProtectionLevel: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9bb9327c_4eb5_4727_9f00_b42b0919c0da);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_COPPSetSignaling: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x09a631a5_d684_4c60_8e4d_d3bb0f0be3ee);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_DCCMD_SURFACE_BUFFER: u32 = 12u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_DEBLOCKING_CONTROL_BUFFER: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_DEBLOCKING_FILTER_FUNCTION: u32 = 5u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_DPXD_SURFACE_BUFFER: u32 = 10u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_DeinterlaceBltExFnCode: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_DeinterlaceBltFnCode: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_DeinterlaceBobDevice: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x335aa36e_7884_43a4_9c91_7f87faf3e37e);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_DeinterlaceContainerDevice: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0e85cb93_3046_4ff0_aecc_d58cb5f035fd);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_DeinterlaceQueryAvailableModesFnCode: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_DeinterlaceQueryModeCapsFnCode: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ENCRYPTPROTOCOLFUNCFLAG_ACCEL: u32 = 16776968u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ENCRYPTPROTOCOLFUNCFLAG_HOST: u32 = 16776960u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_EXECUTE_RETURN_DATA_ERROR_MINOR: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_EXECUTE_RETURN_DATA_ERROR_SEVERE: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_EXECUTE_RETURN_DATA_ERROR_SIGNIF: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_EXECUTE_RETURN_OK: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_EXECUTE_RETURN_OTHER_ERROR_SEVERE: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ExtColorData_ShiftBase: u32 = 8u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_FILM_GRAIN_BUFFER: u32 = 17u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_FILM_GRAIN_SYNTHESIS_FUNCTION: u32 = 6u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_HIGHLIGHT_BUFFER: u32 = 11u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_IA44_SURFACE_BUFFER: u32 = 9u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_INVERSE_QUANTIZATION_MATRIX_BUFFER: u32 = 5u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_MACROBLOCK_CONTROL_BUFFER: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_MOTION_VECTOR_BUFFER: u32 = 16u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_MV_PRECISION_AND_CHROMA_RELATION_H261: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_MV_PRECISION_AND_CHROMA_RELATION_H263: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_MV_PRECISION_AND_CHROMA_RELATION_MPEG2: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeAV1_VLD_12bit_Profile2: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x17127009_a00f_4ce1_994e_bf4081f6f3f0);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeAV1_VLD_12bit_Profile2_420: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2d80bed6_9cac_4835_9e91_327bbc4f9ee8);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeAV1_VLD_Profile0: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb8be4ccb_cf53_46ba_8d59_d6b8a6da5d2a);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeAV1_VLD_Profile1: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6936ff0f_45b1_4163_9cc1_646ef6946108);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeAV1_VLD_Profile2: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0c5f2aa1_e541_4089_bb7b_98110a19d7c8);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeH261_A: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be01_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeH261_B: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be02_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeH263_A: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be03_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeH263_B: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be04_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeH263_C: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be05_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeH263_D: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be06_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeH263_E: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be07_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeH263_F: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be08_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeH264_A: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be64_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeH264_B: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be65_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeH264_C: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be66_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeH264_D: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be67_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeH264_E: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be68_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeH264_F: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be69_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeH264_VLD_Multiview_NoFGT: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x705b9d82_76cf_49d6_b7e6_ac8872db013c);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeH264_VLD_Stereo_NoFGT: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf9aaccbb_c2b6_4cfc_8779_5707b1760552);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeH264_VLD_Stereo_Progressive_NoFGT: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd79be8da_0cf1_4c81_b82a_69a4e236f43d);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeH264_VLD_WithFMOASO_NoFGT: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd5f04ff9_3418_45d8_9561_32a76aae2ddd);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeHEVC_VLD_Main: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5b11d51b_2f4c_4452_bcc3_09f2a1160cc0);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeHEVC_VLD_Main10: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x107af0e0_ef1a_4d19_aba8_67a163073d13);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeMPEG1_A: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be09_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeMPEG1_VLD: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6f3ec719_3735_42cc_8063_65cc3cb36616);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeMPEG2_A: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be0a_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeMPEG2_B: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be0b_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeMPEG2_C: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be0c_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeMPEG2_D: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be0d_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeMPEG2and1_VLD: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x86695f12_340e_4f04_9fd3_9253dd327460);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeMPEG4pt2_VLD_AdvSimple_GMC: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xab998b5b_4258_44a9_9feb_94e597a6baae);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeMPEG4pt2_VLD_AdvSimple_NoGMC: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xed418a9f_010d_4eda_9ae3_9a65358d8d2e);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeMPEG4pt2_VLD_Simple: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xefd64d74_c9e8_41d7_a5e9_e9b0e39fa319);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeNone: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be00_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeVC1_A: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81bea0_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeVC1_B: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81bea1_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeVC1_C: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81bea2_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeVC1_D: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81bea3_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeVC1_D2010: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81bea4_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeVP8_VLD: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x90b899ea_3a62_4705_88b3_8df04b2744e7);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeVP9_VLD_10bit_Profile2: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa4c749ef_6ecf_48aa_8448_50a7a1165ff7);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeVP9_VLD_Profile0: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x463707f8_a1d0_4585_876d_83aa6d60b89e);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeWMV8_A: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be80_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeWMV8_B: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be81_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeWMV9_A: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be90_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeWMV9_B: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be91_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ModeWMV9_C: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81be94_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_NUM_TYPES_COMP_BUFFERS: u32 = 18u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_NoEncrypt: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b81bed0_a0c7_11d3_b984_00c04f2e73c5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_NumMV_OBMC_off_BinPBwith4MV_off: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_NumMV_OBMC_off_BinPBwith4MV_on: u32 = 5u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_NumMV_OBMC_on__BinPB_off: u32 = 10u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_NumMV_OBMC_on__BinPB_on: u32 = 11u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_PICTURE_DECODE_BUFFER: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_PICTURE_DECODING_FUNCTION: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_PICTURE_RESAMPLE_BUFFER: u32 = 14u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_PICTURE_RESAMPLE_FUNCTION: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_PICTURE_STRUCTURE_BOTTOM_FIELD: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_PICTURE_STRUCTURE_FRAME: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_PICTURE_STRUCTURE_TOP_FIELD: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ProcAmpControlBltFnCode: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ProcAmpControlDevice: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9f200913_2ffd_4056_9f1e_e1b508f22dcf);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ProcAmpControlQueryCapsFnCode: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_ProcAmpControlQueryRangeFnCode: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_QUERYORREPLYFUNCFLAG_ACCEL_LOCK_FALSE_PLUS: u32 = 16777215u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_QUERYORREPLYFUNCFLAG_ACCEL_LOCK_OK_COPY: u32 = 16777212u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_QUERYORREPLYFUNCFLAG_ACCEL_PROBE_FALSE_PLUS: u32 = 16777211u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_QUERYORREPLYFUNCFLAG_ACCEL_PROBE_OK_COPY: u32 = 16777208u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_QUERYORREPLYFUNCFLAG_ACCEL_PROBE_OK_PLUS: u32 = 16777209u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_QUERYORREPLYFUNCFLAG_DECODER_LOCK_QUERY: u32 = 16777205u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_QUERYORREPLYFUNCFLAG_DECODER_PROBE_QUERY: u32 = 16777201u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_READ_BACK_BUFFER: u32 = 15u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESIDUAL_DIFFERENCE_BUFFER: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H261_A: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H261_B: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H263_A: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H263_B: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H263_C: u32 = 5u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H263_D: u32 = 6u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H263_E: u32 = 7u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H263_F: u32 = 8u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H264_A: u32 = 100u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H264_B: u32 = 101u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H264_C: u32 = 102u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H264_D: u32 = 103u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H264_E: u32 = 104u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H264_F: u32 = 105u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H264_IDCT_FGT: u32 = 103u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H264_IDCT_NOFGT: u32 = 102u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H264_MOCOMP_FGT: u32 = 101u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H264_MOCOMP_NOFGT: u32 = 100u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H264_VLD_FGT: u32 = 105u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H264_VLD_MULTIVIEW_NOFGT: u32 = 115u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H264_VLD_NOFGT: u32 = 104u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H264_VLD_STEREO_NOFGT: u32 = 114u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H264_VLD_STEREO_PROGRESSIVE_NOFGT: u32 = 113u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_H264_VLD_WITHFMOASO_NOFGT: u32 = 112u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_MPEG1_A: u32 = 9u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_MPEG1_VLD: u32 = 16u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_MPEG2_A: u32 = 10u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_MPEG2_B: u32 = 11u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_MPEG2_C: u32 = 12u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_MPEG2_D: u32 = 13u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_MPEG2and1_VLD: u32 = 17u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_MPEG4PT2_VLD_ADV_SIMPLE_GMC: u32 = 178u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_MPEG4PT2_VLD_ADV_SIMPLE_NOGMC: u32 = 177u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_MPEG4PT2_VLD_SIMPLE: u32 = 176u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_UNRESTRICTED: u32 = 65535u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_VC1_A: u32 = 160u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_VC1_B: u32 = 161u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_VC1_C: u32 = 162u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_VC1_D: u32 = 163u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_VC1_D2010: u32 = 164u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_VC1_IDCT: u32 = 162u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_VC1_MOCOMP: u32 = 161u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_VC1_POSTPROC: u32 = 160u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_VC1_VLD: u32 = 163u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_WMV8_A: u32 = 128u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_WMV8_B: u32 = 129u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_WMV8_MOCOMP: u32 = 129u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_WMV8_POSTPROC: u32 = 128u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_WMV9_A: u32 = 144u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_WMV9_B: u32 = 145u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_WMV9_C: u32 = 148u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_WMV9_IDCT: u32 = 148u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_WMV9_MOCOMP: u32 = 145u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_RESTRICTED_MODE_WMV9_POSTPROC: u32 = 144u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_SCAN_METHOD_ALTERNATE_HORIZONTAL: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_SCAN_METHOD_ALTERNATE_VERTICAL: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_SCAN_METHOD_ARBITRARY: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_SCAN_METHOD_ZIG_ZAG: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_SLICE_CONTROL_BUFFER: u32 = 6u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_STATUS_REPORTING_FUNCTION: u32 = 7u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_USUAL_BLOCK_HEIGHT: u32 = 8u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA_USUAL_BLOCK_WIDTH: u32 = 8u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_ACTIVATE: u32 = 19u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_BANDWIDTHCHANGE: u32 = 72u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_BUFFERING_DATA: u32 = 17u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_BUILT: u32 = 768u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_CLOCK_CHANGED: u32 = 13u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_CLOCK_UNSET: u32 = 81u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_CODECAPI_EVENT: u32 = 87u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_COMPLETE: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_CONTENTPROPERTY_CHANGED: u32 = 71u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DEVICE_LOST: u32 = 31u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DISPLAY_CHANGED: u32 = 22u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVDBASE: u32 = 256u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_ANGLES_AVAILABLE: u32 = 275u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_ANGLE_CHANGE: u32 = 262u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_AUDIO_STREAM_CHANGE: u32 = 260u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_BUTTON_AUTO_ACTIVATED: u32 = 277u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_BUTTON_CHANGE: u32 = 263u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_BeginNavigationCommands: u32 = 291u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_CHAPTER_AUTOSTOP: u32 = 270u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_CHAPTER_START: u32 = 259u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_CMD_END: u32 = 279u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_CMD_START: u32 = 278u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_CURRENT_HMSF_TIME: u32 = 282u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_CURRENT_TIME: u32 = 267u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_DISC_EJECTED: u32 = 280u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_DISC_INSERTED: u32 = 281u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_DOMAIN_CHANGE: u32 = 257u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_ERROR: u32 = 268u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_GPRM_Change: u32 = 289u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_KARAOKE_MODE: u32 = 283u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_NO_FP_PGC: u32 = 271u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_NavigationCommand: u32 = 292u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_PARENTAL_LEVEL_CHANGE: u32 = 273u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_PLAYBACK_RATE_CHANGE: u32 = 272u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_PLAYBACK_STOPPED: u32 = 274u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_PLAYPERIOD_AUTOSTOP: u32 = 276u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_PROGRAM_CELL_CHANGE: u32 = 284u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_PROGRAM_CHAIN_CHANGE: u32 = 286u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_SPRM_Change: u32 = 290u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_STILL_OFF: u32 = 266u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_STILL_ON: u32 = 265u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_SUBPICTURE_STREAM_CHANGE: u32 = 261u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_TITLE_CHANGE: u32 = 258u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_TITLE_SET_CHANGE: u32 = 285u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_VALID_UOPS_CHANGE: u32 = 264u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_VOBU_Offset: u32 = 287u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_VOBU_Timestamp: u32 = 288u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_DVD_WARNING: u32 = 269u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_END_OF_SEGMENT: u32 = 28u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_EOS_SOON: u32 = 70u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_ERRORABORT: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_ERRORABORTEX: u32 = 69u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_ERROR_STILLPLAYING: u32 = 8u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_EXTDEVICE_MODE_CHANGE: u32 = 49u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_FILE_CLOSED: u32 = 68u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_FULLSCREEN_LOST: u32 = 18u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_GRAPH_CHANGED: u32 = 80u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_LENGTH_CHANGED: u32 = 30u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_LOADSTATUS: u32 = 67u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_MARKER_HIT: u32 = 66u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_NEED_RESTART: u32 = 20u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_NEW_PIN: u32 = 32u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_NOTIFY_WINDOW: u32 = 25u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_OLE_EVENT: u32 = 24u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_OPENING_FILE: u32 = 16u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_PALETTE_CHANGED: u32 = 9u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_PAUSED: u32 = 14u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_PLEASE_REOPEN: u32 = 64u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_PREPROCESS_COMPLETE: u32 = 86u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_PROCESSING_LATENCY: u32 = 33u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_QUALITY_CHANGE: u32 = 11u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_RENDER_FINISHED: u32 = 33u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_REPAINT: u32 = 5u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_SAMPLE_LATENCY: u32 = 34u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_SAMPLE_NEEDED: u32 = 32u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_SCRUB_TIME: u32 = 35u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_SEGMENT_STARTED: u32 = 29u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_SHUTTING_DOWN: u32 = 12u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_SKIP_FRAMES: u32 = 37u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_SNDDEV_IN_ERROR: u32 = 512u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_SNDDEV_OUT_ERROR: u32 = 513u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_SND_DEVICE_ERROR_BASE: u32 = 512u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_STARVATION: u32 = 23u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_STATE_CHANGE: u32 = 50u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_STATUS: u32 = 65u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_STEP_COMPLETE: u32 = 36u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_STREAM_CONTROL_STARTED: u32 = 27u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_STREAM_CONTROL_STOPPED: u32 = 26u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_STREAM_ERROR_STILLPLAYING: u32 = 7u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_STREAM_ERROR_STOPPED: u32 = 6u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_SYSTEMBASE: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_TIME: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_TIMECODE_AVAILABLE: u32 = 48u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_UNBUILT: u32 = 769u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_USER: u32 = 32768u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_USERABORT: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_VIDEOFRAMEREADY: u32 = 73u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_VIDEO_SIZE_CHANGED: u32 = 10u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_VMR_RECONNECTION_FAILED: u32 = 85u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_VMR_RENDERDEVICE_SET: u32 = 83u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_VMR_SURFACE_FLIPPED: u32 = 84u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_WINDOW_DESTROYED: u32 = 21u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_WMT_EVENT: u32 = 594u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_WMT_EVENT_BASE: u32 = 593u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const EC_WMT_INDEX_EVENT: u32 = 593u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const E_PROP_ID_UNSUPPORTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147023728i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const E_PROP_SET_UNSUPPORTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147023726i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const FORMAT_DVD_LPCMAudio: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d80e6_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const FORMAT_DolbyAC3: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d80e4_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const FORMAT_Image: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x692fa379_d3e8_4651_b5b4_0b94b013eeaf);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const FORMAT_JPEGImage: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x692fa379_d3e8_4651_b5b4_0b94b013eeaf);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const FORMAT_MPEG2Audio: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d80e5_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const FORMAT_MPEG2Video: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d80e3_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const FORMAT_MPEG2_VIDEO: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d80e3_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const FORMAT_UVCH264Video: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2017be05_6629_4248_aaed_7e1a47bc9b9c);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const FilgraphManager: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe436ebb3_524f_11ce_9f53_0020af0ba770);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const GUID_TIME_MUSIC: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0574c49d_5b04_4b15_a542_ae282030117b);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const GUID_TIME_REFERENCE: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x93ad712b_daa0_4ffe_bc81_b0ce500fcdd9);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const GUID_TIME_SAMPLES: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa8593d05_0c43_4984_9a63_97af9e02c4c0);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const LIBID_QuartzNetTypeLib: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868b1_0ad4_11ce_b03a_0020af0ba770);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const LIBID_QuartzTypeLib: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x56a868b0_0ad4_11ce_b03a_0020af0ba770);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MAX_DEINTERLACE_DEVICE_GUIDS: u32 = 32u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MAX_DEINTERLACE_SURFACES: u32 = 32u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MAX_ERROR_TEXT_LEN: u32 = 160u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MAX_FILTER_NAME: u32 = 128u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MAX_PIN_NAME: u32 = 128u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MAX_SIZE_MPEG1_SEQUENCE_INFO: u32 = 140u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_ATSC_SI: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb3c7397c_d303_414d_b33c_4ed2c9d29733);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_DOLBY_AC3: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d802c_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_DTS: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d8033_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_DVB_SI: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe9dd31a3_221d_4adb_8532_9af309c1a408);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_DVD_LPCM_AUDIO: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d8032_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_DVD_NAVIGATION_DSI: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d8030_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_DVD_NAVIGATION_PCI: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d802f_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_DVD_NAVIGATION_PROVIDER: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d8031_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_DVD_SUBPICTURE: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d802d_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_ISDB_SI: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe89ad298_3601_4b06_aaec_9ddeedcc5bd0);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_MPEG2DATA: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc892e55b_252d_42b5_a316_d997e7a5d995);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_MPEG2_AUDIO: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d802b_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_MPEG2_PBDA_TRANSPORT_PROCESSED: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xaf748dd4_0d80_11db_9705_005056c00008);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_MPEG2_PBDA_TRANSPORT_RAW: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0d7aed42_cb9a_11db_9705_005056c00008);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_MPEG2_PROGRAM: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d8022_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_MPEG2_TRANSPORT: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d8023_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_MPEG2_TRANSPORT_STRIDE: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x138aa9a4_1ee2_4c5b_988e_19abfdbc8a11);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_MPEG2_UDCR_TRANSPORT: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x18bec4ea_4676_450e_b478_0cd84c54b327);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_MPEG2_VERSIONED_TABLES: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1ed988b0_3ffc_4523_8725_347beec1a8a0);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_MPEG2_VIDEO: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d8026_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_MPEG2_WMDRM_TRANSPORT: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x18bec4ea_4676_450e_b478_0cd84c54b327);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_SDDS: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d8034_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIASUBTYPE_TIF_SI: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xec232eb2_cb96_4191_b226_0ea129f38250);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIATYPE_CONTROL: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d8021_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIATYPE_DVD_ENCRYPTED_PACK: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xed0b916a_044d_11d1_aa78_00c04fc31d60);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIATYPE_DVD_NAVIGATION: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d802e_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIATYPE_MPEG2_PACK: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x36523b13_8ee5_11d1_8ca3_0060b057664a);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIATYPE_MPEG2_PES: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe06d8020_db46_11cf_b4d1_00805f6cbbea);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIATYPE_MPEG2_SECTIONS: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x455f176c_4b06_47ce_9aef_8caef73df7b5);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MIN_DIMENSION: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPBOOL_FALSE: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPBOOL_TRUE: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_BASE: u32 = 512u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_ALREADY_INITIALIZED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220991i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_BUFFER_TOO_SMALL: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220967i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_DATA_SOURCE_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220970i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_DII_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220969i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_DSHOW_PIN_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220968i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_DSI_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220982i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_FILE_OFFSET_TOO_BIG: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220974i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_INCORRECT_DESCRIPTOR_TAG: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220963i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_INVALID_CAROUSEL_ID: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220980i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_INVALID_SG_OBJECT_KIND: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220978i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_INVALID_UDP_PORT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220971i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_MALFORMED_DSMCC_MESSAGE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220979i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_MALFORMED_TABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220989i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_MISSING_SECTIONS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220966i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_NEXT_TABLE_OPS_NOT_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220964i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_NOT_PRESENT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220987i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_OBJECT_KIND_NOT_A_DIRECTORY: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220976i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_OBJECT_KIND_NOT_A_FILE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220975i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_OBJECT_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220977i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_OUT_OF_BOUNDS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220990i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_REGISTRY_ACCESS_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220972i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_SECTION_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220986i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_SERVER_UNAVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220981i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_SERVICE_ID_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220984i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_SERVICE_PMT_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220983i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_STREAM_STOPPED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220973i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_TOO_MANY_SECTIONS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220965i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_TX_STREAM_UNAVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220985i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_UNDEFINED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220988i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_E_UNINITIALIZED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220992i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_PROGRAM_DIRECTORY_PES_PACKET: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_PROGRAM_ELEMENTARY_STREAM: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_PROGRAM_PACK_HEADER: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_PROGRAM_PES_STREAM: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_PROGRAM_STREAM_MAP: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_PROGRAM_SYSTEM_HEADER: u32 = 5u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_S_MORE_DATA_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(262656i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_S_MPE_INFO_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(262660i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_S_MPE_INFO_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(262661i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_S_NEW_MODULE_VERSION: ::windows::core::HRESULT = ::windows::core::HRESULT(262662i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_S_NO_MORE_DATA_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(262657i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_S_SG_INFO_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(262658i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEG2_S_SG_INFO_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(262659i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPF_ENVLP_BEGIN_CURRENTVAL: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPF_ENVLP_BEGIN_NEUTRALVAL: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPF_ENVLP_STANDARD: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPF_PUNCHIN_NOW: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPF_PUNCHIN_REFTIME: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPF_PUNCHIN_STOPPED: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MSDRI_S_MMI_PENDING: ::windows::core::HRESULT = ::windows::core::HRESULT(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MSDRI_S_PENDING: ::windows::core::HRESULT = ::windows::core::HRESULT(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MSPID_PrimaryAudio: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa35ff56b_9fda_11d0_8fdf_00c04fd9189d);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MSPID_PrimaryVideo: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa35ff56a_9fda_11d0_8fdf_00c04fd9189d);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MSTapeDeviceGUID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8c0f6af2_0edb_44c1_8aeb_59040bd830ed);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PBDA_AUX_CONNECTOR_TYPE_Composite: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf6298b4c_c725_4d42_849b_410bbb14ea62);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PBDA_AUX_CONNECTOR_TYPE_SVideo: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa0e905f4_24c9_4a54_b761_213355efc13a);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PBDA_Encoder_Audio_AlgorithmType_AC3: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PBDA_Encoder_Audio_AlgorithmType_MPEG1LayerII: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PBDA_Encoder_BitrateMode_Average: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PBDA_Encoder_BitrateMode_Constant: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PBDA_Encoder_BitrateMode_Variable: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PBDA_Encoder_Video_AVC: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PBDA_Encoder_Video_H264: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PBDA_Encoder_Video_MPEG2PartII: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PBDA_Encoder_Video_MPEG4Part10: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SPECIFYPAGES_STATISTICS: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4c437b92_6e9e_11d1_a704_006097c4e476);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const STDINDEXSIZE: u32 = 16384u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SUBSTREAM_FILTER_VAL_NONE: u32 = 268435456u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const TIMECODE_RATE_30DROP: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const TIMECODE_SMPTE_BINARY_GROUP: u32 = 7u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const TIMECODE_SMPTE_COLOR_FRAME: u32 = 8u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_ADVISE_ALREADY_SET: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220938i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_ALREADY_CANCELLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220940i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_ALREADY_COMMITTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220977i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_ALREADY_CONNECTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220988i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_BADALIGN: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220978i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_BAD_KEY: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220494i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_BAD_VIDEOCD: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220887i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_BUFFERS_OUTSTANDING: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220976i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_BUFFER_NOTSET: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220980i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_BUFFER_OVERFLOW: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220979i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_BUFFER_UNDERFLOW: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220892i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_CANNOT_CONNECT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220969i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_CANNOT_LOAD_SOURCE_FILTER: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220927i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_CANNOT_RENDER: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220968i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_CERTIFICATION_FAILURE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220843i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_CHANGING_FORMAT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220967i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_CIRCULAR_GRAPH: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220943i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_CODECAPI_ENUMERATED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220719i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_CODECAPI_LINEAR_RANGE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220720i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_CODECAPI_NO_CURRENT_VALUE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220716i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_CODECAPI_NO_DEFAULT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220717i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_COLOR_KEY_SET: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220962i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_COPYPROT_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220867i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_CORRUPT_GRAPH_FILE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220939i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DDRAW_CAPS_NOT_SUITABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220877i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DDRAW_VERSION_NOT_SUITABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220868i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DUPLICATE_NAME: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220947i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_CHAPTER_DOES_NOT_EXIST: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220715i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_CMD_CANCELLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220861i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_DECNOTENOUGH: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220869i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_GRAPHNOTREADY: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220871i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_INCOMPATIBLE_REGION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220857i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_INVALIDDOMAIN: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220873i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_INVALID_DISC: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220847i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_LOW_PARENTAL_LEVEL: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220854i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_MENU_DOES_NOT_EXIST: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220862i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_NONBLOCKING: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220836i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_NON_EVR_RENDERER_IN_FILTER_GRAPH: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220834i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_NOT_IN_KARAOKE_MODE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220853i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_NO_ATTRIBUTES: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220856i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_NO_BUTTON: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220872i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_NO_GOUP_PGC: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220855i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_NO_RESUME_INFORMATION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220846i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_OPERATION_INHIBITED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220874i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_RENDERFAIL: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220870i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_RESOLUTION_ERROR: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220833i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_STATE_CORRUPT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220859i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_STATE_WRONG_DISC: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220858i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_STATE_WRONG_VERSION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220860i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_STREAM_DISABLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220849i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_TITLE_UNKNOWN: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220848i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_TOO_MANY_RENDERERS_IN_FILTER_GRAPH: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220835i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_VMR9_INCOMPATIBLEDEC: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220838i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_DVD_WRONG_SPEED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220863i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_ENUM_OUT_OF_RANGE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220944i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_ENUM_OUT_OF_SYNC: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220989i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_FILE_TOO_SHORT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220925i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_FILTER_ACTIVE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220987i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_FRAME_STEP_UNSUPPORTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220850i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_INVALIDMEDIATYPE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220992i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_INVALIDSUBTYPE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220991i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_INVALID_CLSID: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220921i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_INVALID_DIRECTION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220984i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_INVALID_FILE_FORMAT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220945i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_INVALID_FILE_VERSION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220924i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_INVALID_MEDIA_TYPE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220920i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_INVALID_RECT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220951i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_IN_FULLSCREEN_MODE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220933i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_MEDIA_TIME_NOT_SET: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220911i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_MONO_AUDIO_HW: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220909i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_MPEG_NOT_CONSTRAINED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220898i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NEED_OWNER: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220990i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NOT_ALLOWED_TO_SAVE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220942i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NOT_COMMITTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220975i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NOT_CONNECTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220983i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220970i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NOT_IN_GRAPH: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220897i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NOT_OVERLAY_CONNECTION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220965i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NOT_PAUSED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220955i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NOT_RUNNING: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220954i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NOT_SAMPLE_CONNECTION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220964i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NOT_STOPPED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220956i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_ACCEPTABLE_TYPES: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220985i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_ADVISE_SET: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220935i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_ALLOCATOR: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220982i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_AUDIO_HARDWARE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220906i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_CAPTURE_HARDWARE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220875i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_CLOCK: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220973i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_COLOR_KEY_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220961i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_COLOR_KEY_SET: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220966i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_COPP_HW: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220837i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_DECOMPRESSOR: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220907i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_DISPLAY_PALETTE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220959i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_FULLSCREEN: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220934i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_INTERFACE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220971i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_MODEX_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220936i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_PALETTE_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220960i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_SINK: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220972i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_TIME_FORMAT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220895i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_TIME_FORMAT_SET: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220910i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_TRANSPORT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220890i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_TYPES: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220986i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_NO_VP_HARDWARE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220876i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_OUT_OF_VIDEO_MEMORY: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220879i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_PALETTE_SET: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220963i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_PIN_ALREADY_BLOCKED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220844i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220845i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_PROCESSOR_NOT_SUITABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220901i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_READ_ONLY: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220894i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_RPZA: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220903i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_RUNTIME_ERROR: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220981i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_SAMPLE_REJECTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220949i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_SAMPLE_REJECTED_EOS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220948i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_SAMPLE_TIME_NOT_SET: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220919i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_SIZENOTSET: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220974i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_START_TIME_AFTER_END: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220952i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_STATE_CHANGED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220957i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_TIMEOUT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220946i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_TIME_ALREADY_PASSED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220941i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_TIME_EXPIRED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220865i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_TOO_MANY_COLORS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220958i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_TYPE_NOT_ACCEPTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220950i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_UNKNOWN_FILE_TYPE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220928i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_UNSUPPORTED_AUDIO: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220900i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_UNSUPPORTED_STREAM: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220891i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_UNSUPPORTED_VIDEO: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220899i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_VMR_NOT_IN_MIXER_MODE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220842i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_VMR_NO_AP_SUPPLIED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220841i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_VMR_NO_DEINTERLACE_HW: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220840i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_VMR_NO_PROCAMP_HW: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220839i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_VP_NEGOTIATION_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220878i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_E_WRONG_STATE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147220953i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_FIRST_CODE: u32 = 512u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_AUDIO_NOT_RENDERED: ::windows::core::HRESULT = ::windows::core::HRESULT(262744i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_CANT_CUE: ::windows::core::HRESULT = ::windows::core::HRESULT(262760i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_CONNECTIONS_DEFERRED: ::windows::core::HRESULT = ::windows::core::HRESULT(262726i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_DUPLICATE_NAME: ::windows::core::HRESULT = ::windows::core::HRESULT(262701i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_DVD_CHANNEL_CONTENTS_NOT_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(262796i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_DVD_NON_ONE_SEQUENTIAL: ::windows::core::HRESULT = ::windows::core::HRESULT(262784i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_DVD_NOT_ACCURATE: ::windows::core::HRESULT = ::windows::core::HRESULT(262797i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_DVD_RENDER_STATUS: ::windows::core::HRESULT = ::windows::core::HRESULT(262944i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_ESTIMATED: ::windows::core::HRESULT = ::windows::core::HRESULT(262752i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_MEDIA_TYPE_IGNORED: ::windows::core::HRESULT = ::windows::core::HRESULT(262740i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_NOPREVIEWPIN: ::windows::core::HRESULT = ::windows::core::HRESULT(262782i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_NO_MORE_ITEMS: ::windows::core::HRESULT = ::windows::core::HRESULT(262403i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_NO_STOP_TIME: ::windows::core::HRESULT = ::windows::core::HRESULT(262768i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_PARTIAL_RENDER: ::windows::core::HRESULT = ::windows::core::HRESULT(262722i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_RESERVED: ::windows::core::HRESULT = ::windows::core::HRESULT(262755i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_RESOURCE_NOT_NEEDED: ::windows::core::HRESULT = ::windows::core::HRESULT(262736i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_RPZA: ::windows::core::HRESULT = ::windows::core::HRESULT(262746i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_SOME_DATA_IGNORED: ::windows::core::HRESULT = ::windows::core::HRESULT(262725i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_STATE_INTERMEDIATE: ::windows::core::HRESULT = ::windows::core::HRESULT(262711i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_STREAM_OFF: ::windows::core::HRESULT = ::windows::core::HRESULT(262759i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VFW_S_VIDEO_NOT_RENDERED: ::windows::core::HRESULT = ::windows::core::HRESULT(262743i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMRBITMAP_DISABLE: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMRBITMAP_ENTIREDDS: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMRBITMAP_HDC: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMRBITMAP_SRCCOLORKEY: u32 = 8u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMRBITMAP_SRCRECT: u32 = 16u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR_NOTSUPPORTED: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR_RENDER_DEVICE_OVERLAY: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR_RENDER_DEVICE_SYSMEM: u32 = 4u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR_RENDER_DEVICE_VIDMEM: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR_SUPPORTED: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const g_wszExcludeScriptStreamDeliverySynchronization: ::windows::core::PCWSTR = ::windows::core::w!("ExcludeScriptStreamDeliverySynchronization");
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const iBLUE: u32 = 2u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const iEGA_COLORS: u32 = 16u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const iGREEN: u32 = 1u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const iMASK_COLORS: u32 = 3u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const iMAXBITS: u32 = 8u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const iPALETTE: u32 = 8u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const iPALETTE_COLORS: u32 = 256u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const iRED: u32 = 0u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const iTRUECOLOR: u32 = 16u32;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct ADVISE_TYPE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ADVISE_NONE: ADVISE_TYPE = ADVISE_TYPE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ADVISE_CLIPPING: ADVISE_TYPE = ADVISE_TYPE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ADVISE_PALETTE: ADVISE_TYPE = ADVISE_TYPE(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ADVISE_COLORKEY: ADVISE_TYPE = ADVISE_TYPE(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ADVISE_POSITION: ADVISE_TYPE = ADVISE_TYPE(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ADVISE_DISPLAY_CHANGE: ADVISE_TYPE = ADVISE_TYPE(16i32);
impl ::core::marker::Copy for ADVISE_TYPE {}
impl ::core::clone::Clone for ADVISE_TYPE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for ADVISE_TYPE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for ADVISE_TYPE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for ADVISE_TYPE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ADVISE_TYPE").field(&self.0).finish()
}
}
impl ADVISE_TYPE {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl ::core::ops::BitOr for ADVISE_TYPE {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for ADVISE_TYPE {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for ADVISE_TYPE {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for ADVISE_TYPE {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for ADVISE_TYPE {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AMExtendedSeekingCapabilities(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_EXSEEK_CANSEEK: AMExtendedSeekingCapabilities = AMExtendedSeekingCapabilities(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_EXSEEK_CANSCAN: AMExtendedSeekingCapabilities = AMExtendedSeekingCapabilities(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_EXSEEK_MARKERSEEK: AMExtendedSeekingCapabilities = AMExtendedSeekingCapabilities(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_EXSEEK_SCANWITHOUTCLOCK: AMExtendedSeekingCapabilities = AMExtendedSeekingCapabilities(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_EXSEEK_NOSTANDARDREPAINT: AMExtendedSeekingCapabilities = AMExtendedSeekingCapabilities(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_EXSEEK_BUFFERING: AMExtendedSeekingCapabilities = AMExtendedSeekingCapabilities(32i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_EXSEEK_SENDS_VIDEOFRAMEREADY: AMExtendedSeekingCapabilities = AMExtendedSeekingCapabilities(64i32);
impl ::core::marker::Copy for AMExtendedSeekingCapabilities {}
impl ::core::clone::Clone for AMExtendedSeekingCapabilities {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AMExtendedSeekingCapabilities {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AMExtendedSeekingCapabilities {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AMExtendedSeekingCapabilities {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AMExtendedSeekingCapabilities").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AMMSF_MMS_INIT_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMMSF_NOGRAPHTHREAD: AMMSF_MMS_INIT_FLAGS = AMMSF_MMS_INIT_FLAGS(1i32);
impl ::core::marker::Copy for AMMSF_MMS_INIT_FLAGS {}
impl ::core::clone::Clone for AMMSF_MMS_INIT_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AMMSF_MMS_INIT_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AMMSF_MMS_INIT_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AMMSF_MMS_INIT_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AMMSF_MMS_INIT_FLAGS").field(&self.0).finish()
}
}
impl AMMSF_MMS_INIT_FLAGS {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl ::core::ops::BitOr for AMMSF_MMS_INIT_FLAGS {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for AMMSF_MMS_INIT_FLAGS {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for AMMSF_MMS_INIT_FLAGS {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for AMMSF_MMS_INIT_FLAGS {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for AMMSF_MMS_INIT_FLAGS {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AMMSF_MS_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMMSF_ADDDEFAULTRENDERER: AMMSF_MS_FLAGS = AMMSF_MS_FLAGS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMMSF_CREATEPEER: AMMSF_MS_FLAGS = AMMSF_MS_FLAGS(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMMSF_STOPIFNOSAMPLES: AMMSF_MS_FLAGS = AMMSF_MS_FLAGS(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMMSF_NOSTALL: AMMSF_MS_FLAGS = AMMSF_MS_FLAGS(8i32);
impl ::core::marker::Copy for AMMSF_MS_FLAGS {}
impl ::core::clone::Clone for AMMSF_MS_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AMMSF_MS_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AMMSF_MS_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AMMSF_MS_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AMMSF_MS_FLAGS").field(&self.0).finish()
}
}
impl AMMSF_MS_FLAGS {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl ::core::ops::BitOr for AMMSF_MS_FLAGS {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for AMMSF_MS_FLAGS {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for AMMSF_MS_FLAGS {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for AMMSF_MS_FLAGS {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for AMMSF_MS_FLAGS {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AMMSF_RENDER_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMMSF_RENDERTYPEMASK: AMMSF_RENDER_FLAGS = AMMSF_RENDER_FLAGS(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMMSF_RENDERTOEXISTING: AMMSF_RENDER_FLAGS = AMMSF_RENDER_FLAGS(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMMSF_RENDERALLSTREAMS: AMMSF_RENDER_FLAGS = AMMSF_RENDER_FLAGS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMMSF_NORENDER: AMMSF_RENDER_FLAGS = AMMSF_RENDER_FLAGS(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMMSF_NOCLOCK: AMMSF_RENDER_FLAGS = AMMSF_RENDER_FLAGS(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMMSF_RUN: AMMSF_RENDER_FLAGS = AMMSF_RENDER_FLAGS(8i32);
impl ::core::marker::Copy for AMMSF_RENDER_FLAGS {}
impl ::core::clone::Clone for AMMSF_RENDER_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AMMSF_RENDER_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AMMSF_RENDER_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AMMSF_RENDER_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AMMSF_RENDER_FLAGS").field(&self.0).finish()
}
}
impl AMMSF_RENDER_FLAGS {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl ::core::ops::BitOr for AMMSF_RENDER_FLAGS {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for AMMSF_RENDER_FLAGS {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for AMMSF_RENDER_FLAGS {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for AMMSF_RENDER_FLAGS {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for AMMSF_RENDER_FLAGS {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AMOVERLAYFX(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMOVERFX_NOFX: AMOVERLAYFX = AMOVERLAYFX(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMOVERFX_MIRRORLEFTRIGHT: AMOVERLAYFX = AMOVERLAYFX(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMOVERFX_MIRRORUPDOWN: AMOVERLAYFX = AMOVERLAYFX(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMOVERFX_DEINTERLACE: AMOVERLAYFX = AMOVERLAYFX(8i32);
impl ::core::marker::Copy for AMOVERLAYFX {}
impl ::core::clone::Clone for AMOVERLAYFX {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AMOVERLAYFX {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AMOVERLAYFX {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AMOVERLAYFX {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AMOVERLAYFX").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AMPROPERTY_PIN(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMPROPERTY_PIN_CATEGORY: AMPROPERTY_PIN = AMPROPERTY_PIN(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMPROPERTY_PIN_MEDIUM: AMPROPERTY_PIN = AMPROPERTY_PIN(1i32);
impl ::core::marker::Copy for AMPROPERTY_PIN {}
impl ::core::clone::Clone for AMPROPERTY_PIN {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AMPROPERTY_PIN {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AMPROPERTY_PIN {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AMPROPERTY_PIN {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AMPROPERTY_PIN").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AMPlayListEventFlags(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMPLAYLISTEVENT_RESUME: AMPlayListEventFlags = AMPlayListEventFlags(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMPLAYLISTEVENT_BREAK: AMPlayListEventFlags = AMPlayListEventFlags(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMPLAYLISTEVENT_NEXT: AMPlayListEventFlags = AMPlayListEventFlags(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMPLAYLISTEVENT_MASK: AMPlayListEventFlags = AMPlayListEventFlags(15i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMPLAYLISTEVENT_REFRESH: AMPlayListEventFlags = AMPlayListEventFlags(16i32);
impl ::core::marker::Copy for AMPlayListEventFlags {}
impl ::core::clone::Clone for AMPlayListEventFlags {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AMPlayListEventFlags {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AMPlayListEventFlags {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AMPlayListEventFlags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AMPlayListEventFlags").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AMPlayListFlags(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMPLAYLIST_STARTINSCANMODE: AMPlayListFlags = AMPlayListFlags(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMPLAYLIST_FORCEBANNER: AMPlayListFlags = AMPlayListFlags(2i32);
impl ::core::marker::Copy for AMPlayListFlags {}
impl ::core::clone::Clone for AMPlayListFlags {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AMPlayListFlags {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AMPlayListFlags {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AMPlayListFlags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AMPlayListFlags").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AMPlayListItemFlags(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMPLAYLISTITEM_CANSKIP: AMPlayListItemFlags = AMPlayListItemFlags(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMPLAYLISTITEM_CANBIND: AMPlayListItemFlags = AMPlayListItemFlags(2i32);
impl ::core::marker::Copy for AMPlayListItemFlags {}
impl ::core::clone::Clone for AMPlayListItemFlags {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AMPlayListItemFlags {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AMPlayListItemFlags {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AMPlayListItemFlags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AMPlayListItemFlags").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AMTVAudioEventType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTVAUDIO_EVENT_CHANGED: AMTVAudioEventType = AMTVAudioEventType(1i32);
impl ::core::marker::Copy for AMTVAudioEventType {}
impl ::core::clone::Clone for AMTVAudioEventType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AMTVAudioEventType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AMTVAudioEventType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AMTVAudioEventType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AMTVAudioEventType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AMTunerEventType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTUNER_EVENT_CHANGED: AMTunerEventType = AMTunerEventType(1i32);
impl ::core::marker::Copy for AMTunerEventType {}
impl ::core::clone::Clone for AMTunerEventType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AMTunerEventType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AMTunerEventType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AMTunerEventType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AMTunerEventType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AMTunerModeType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTUNER_MODE_DEFAULT: AMTunerModeType = AMTunerModeType(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTUNER_MODE_TV: AMTunerModeType = AMTunerModeType(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTUNER_MODE_FM_RADIO: AMTunerModeType = AMTunerModeType(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTUNER_MODE_AM_RADIO: AMTunerModeType = AMTunerModeType(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTUNER_MODE_DSS: AMTunerModeType = AMTunerModeType(8i32);
impl ::core::marker::Copy for AMTunerModeType {}
impl ::core::clone::Clone for AMTunerModeType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AMTunerModeType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AMTunerModeType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AMTunerModeType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AMTunerModeType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AMTunerSignalStrength(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTUNER_HASNOSIGNALSTRENGTH: AMTunerSignalStrength = AMTunerSignalStrength(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTUNER_NOSIGNAL: AMTunerSignalStrength = AMTunerSignalStrength(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTUNER_SIGNALPRESENT: AMTunerSignalStrength = AMTunerSignalStrength(1i32);
impl ::core::marker::Copy for AMTunerSignalStrength {}
impl ::core::clone::Clone for AMTunerSignalStrength {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AMTunerSignalStrength {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AMTunerSignalStrength {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AMTunerSignalStrength {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AMTunerSignalStrength").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AMTunerSubChannel(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTUNER_SUBCHAN_NO_TUNE: AMTunerSubChannel = AMTunerSubChannel(-2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTUNER_SUBCHAN_DEFAULT: AMTunerSubChannel = AMTunerSubChannel(-1i32);
impl ::core::marker::Copy for AMTunerSubChannel {}
impl ::core::clone::Clone for AMTunerSubChannel {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AMTunerSubChannel {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AMTunerSubChannel {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AMTunerSubChannel {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AMTunerSubChannel").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AMVP_MODE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMVP_MODE_WEAVE: AMVP_MODE = AMVP_MODE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMVP_MODE_BOBINTERLEAVED: AMVP_MODE = AMVP_MODE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMVP_MODE_BOBNONINTERLEAVED: AMVP_MODE = AMVP_MODE(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMVP_MODE_SKIPEVEN: AMVP_MODE = AMVP_MODE(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMVP_MODE_SKIPODD: AMVP_MODE = AMVP_MODE(4i32);
impl ::core::marker::Copy for AMVP_MODE {}
impl ::core::clone::Clone for AMVP_MODE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AMVP_MODE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AMVP_MODE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AMVP_MODE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AMVP_MODE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AMVP_SELECT_FORMAT_BY(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMVP_DO_NOT_CARE: AMVP_SELECT_FORMAT_BY = AMVP_SELECT_FORMAT_BY(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMVP_BEST_BANDWIDTH: AMVP_SELECT_FORMAT_BY = AMVP_SELECT_FORMAT_BY(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMVP_INPUT_SAME_AS_OUTPUT: AMVP_SELECT_FORMAT_BY = AMVP_SELECT_FORMAT_BY(2i32);
impl ::core::marker::Copy for AMVP_SELECT_FORMAT_BY {}
impl ::core::clone::Clone for AMVP_SELECT_FORMAT_BY {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AMVP_SELECT_FORMAT_BY {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AMVP_SELECT_FORMAT_BY {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AMVP_SELECT_FORMAT_BY {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AMVP_SELECT_FORMAT_BY").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_ASPECT_RATIO_MODE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_ARMODE_STRETCHED: AM_ASPECT_RATIO_MODE = AM_ASPECT_RATIO_MODE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_ARMODE_LETTER_BOX: AM_ASPECT_RATIO_MODE = AM_ASPECT_RATIO_MODE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_ARMODE_CROP: AM_ASPECT_RATIO_MODE = AM_ASPECT_RATIO_MODE(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_ARMODE_STRETCHED_AS_PRIMARY: AM_ASPECT_RATIO_MODE = AM_ASPECT_RATIO_MODE(3i32);
impl ::core::marker::Copy for AM_ASPECT_RATIO_MODE {}
impl ::core::clone::Clone for AM_ASPECT_RATIO_MODE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_ASPECT_RATIO_MODE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_ASPECT_RATIO_MODE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_ASPECT_RATIO_MODE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_ASPECT_RATIO_MODE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_COPY_MACROVISION_LEVEL(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_MACROVISION_DISABLED: AM_COPY_MACROVISION_LEVEL = AM_COPY_MACROVISION_LEVEL(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_MACROVISION_LEVEL1: AM_COPY_MACROVISION_LEVEL = AM_COPY_MACROVISION_LEVEL(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_MACROVISION_LEVEL2: AM_COPY_MACROVISION_LEVEL = AM_COPY_MACROVISION_LEVEL(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_MACROVISION_LEVEL3: AM_COPY_MACROVISION_LEVEL = AM_COPY_MACROVISION_LEVEL(3i32);
impl ::core::marker::Copy for AM_COPY_MACROVISION_LEVEL {}
impl ::core::clone::Clone for AM_COPY_MACROVISION_LEVEL {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_COPY_MACROVISION_LEVEL {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_COPY_MACROVISION_LEVEL {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_COPY_MACROVISION_LEVEL {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_COPY_MACROVISION_LEVEL").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_DIGITAL_CP(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DIGITAL_CP_OFF: AM_DIGITAL_CP = AM_DIGITAL_CP(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DIGITAL_CP_ON: AM_DIGITAL_CP = AM_DIGITAL_CP(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DIGITAL_CP_DVD_COMPLIANT: AM_DIGITAL_CP = AM_DIGITAL_CP(2i32);
impl ::core::marker::Copy for AM_DIGITAL_CP {}
impl ::core::clone::Clone for AM_DIGITAL_CP {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_DIGITAL_CP {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_DIGITAL_CP {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_DIGITAL_CP {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_DIGITAL_CP").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_DVDCOPYSTATE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVDCOPYSTATE_INITIALIZE: AM_DVDCOPYSTATE = AM_DVDCOPYSTATE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVDCOPYSTATE_INITIALIZE_TITLE: AM_DVDCOPYSTATE = AM_DVDCOPYSTATE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVDCOPYSTATE_AUTHENTICATION_NOT_REQUIRED: AM_DVDCOPYSTATE = AM_DVDCOPYSTATE(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVDCOPYSTATE_AUTHENTICATION_REQUIRED: AM_DVDCOPYSTATE = AM_DVDCOPYSTATE(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVDCOPYSTATE_DONE: AM_DVDCOPYSTATE = AM_DVDCOPYSTATE(4i32);
impl ::core::marker::Copy for AM_DVDCOPYSTATE {}
impl ::core::clone::Clone for AM_DVDCOPYSTATE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_DVDCOPYSTATE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_DVDCOPYSTATE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_DVDCOPYSTATE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_DVDCOPYSTATE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_DVD_GRAPH_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_HWDEC_PREFER: AM_DVD_GRAPH_FLAGS = AM_DVD_GRAPH_FLAGS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_HWDEC_ONLY: AM_DVD_GRAPH_FLAGS = AM_DVD_GRAPH_FLAGS(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_SWDEC_PREFER: AM_DVD_GRAPH_FLAGS = AM_DVD_GRAPH_FLAGS(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_SWDEC_ONLY: AM_DVD_GRAPH_FLAGS = AM_DVD_GRAPH_FLAGS(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_NOVPE: AM_DVD_GRAPH_FLAGS = AM_DVD_GRAPH_FLAGS(256i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_DO_NOT_CLEAR: AM_DVD_GRAPH_FLAGS = AM_DVD_GRAPH_FLAGS(512i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_VMR9_ONLY: AM_DVD_GRAPH_FLAGS = AM_DVD_GRAPH_FLAGS(2048i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_EVR_ONLY: AM_DVD_GRAPH_FLAGS = AM_DVD_GRAPH_FLAGS(4096i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_EVR_QOS: AM_DVD_GRAPH_FLAGS = AM_DVD_GRAPH_FLAGS(8192i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_ADAPT_GRAPH: AM_DVD_GRAPH_FLAGS = AM_DVD_GRAPH_FLAGS(16384i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_MASK: AM_DVD_GRAPH_FLAGS = AM_DVD_GRAPH_FLAGS(65535i32);
impl ::core::marker::Copy for AM_DVD_GRAPH_FLAGS {}
impl ::core::clone::Clone for AM_DVD_GRAPH_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_DVD_GRAPH_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_DVD_GRAPH_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_DVD_GRAPH_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_DVD_GRAPH_FLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_DVD_STREAM_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_STREAM_VIDEO: AM_DVD_STREAM_FLAGS = AM_DVD_STREAM_FLAGS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_STREAM_AUDIO: AM_DVD_STREAM_FLAGS = AM_DVD_STREAM_FLAGS(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_DVD_STREAM_SUBPIC: AM_DVD_STREAM_FLAGS = AM_DVD_STREAM_FLAGS(4i32);
impl ::core::marker::Copy for AM_DVD_STREAM_FLAGS {}
impl ::core::clone::Clone for AM_DVD_STREAM_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_DVD_STREAM_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_DVD_STREAM_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_DVD_STREAM_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_DVD_STREAM_FLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_FILESINK_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_FILE_OVERWRITE: AM_FILESINK_FLAGS = AM_FILESINK_FLAGS(1i32);
impl ::core::marker::Copy for AM_FILESINK_FLAGS {}
impl ::core::clone::Clone for AM_FILESINK_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_FILESINK_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_FILESINK_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_FILESINK_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_FILESINK_FLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_FILTER_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_FILTER_FLAGS_REMOVABLE: AM_FILTER_FLAGS = AM_FILTER_FLAGS(1i32);
impl ::core::marker::Copy for AM_FILTER_FLAGS {}
impl ::core::clone::Clone for AM_FILTER_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_FILTER_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_FILTER_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_FILTER_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_FILTER_FLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_GRAPH_CONFIG_RECONNECT_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT: AM_GRAPH_CONFIG_RECONNECT_FLAGS = AM_GRAPH_CONFIG_RECONNECT_FLAGS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS: AM_GRAPH_CONFIG_RECONNECT_FLAGS = AM_GRAPH_CONFIG_RECONNECT_FLAGS(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS: AM_GRAPH_CONFIG_RECONNECT_FLAGS = AM_GRAPH_CONFIG_RECONNECT_FLAGS(4i32);
impl ::core::marker::Copy for AM_GRAPH_CONFIG_RECONNECT_FLAGS {}
impl ::core::clone::Clone for AM_GRAPH_CONFIG_RECONNECT_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_GRAPH_CONFIG_RECONNECT_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_GRAPH_CONFIG_RECONNECT_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_GRAPH_CONFIG_RECONNECT_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_GRAPH_CONFIG_RECONNECT_FLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_LINE21_CCLEVEL(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_L21_CCLEVEL_TC2: AM_LINE21_CCLEVEL = AM_LINE21_CCLEVEL(0i32);
impl ::core::marker::Copy for AM_LINE21_CCLEVEL {}
impl ::core::clone::Clone for AM_LINE21_CCLEVEL {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_LINE21_CCLEVEL {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_LINE21_CCLEVEL {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_LINE21_CCLEVEL {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_LINE21_CCLEVEL").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_LINE21_CCSERVICE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_L21_CCSERVICE_None: AM_LINE21_CCSERVICE = AM_LINE21_CCSERVICE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_L21_CCSERVICE_Caption1: AM_LINE21_CCSERVICE = AM_LINE21_CCSERVICE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_L21_CCSERVICE_Caption2: AM_LINE21_CCSERVICE = AM_LINE21_CCSERVICE(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_L21_CCSERVICE_Text1: AM_LINE21_CCSERVICE = AM_LINE21_CCSERVICE(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_L21_CCSERVICE_Text2: AM_LINE21_CCSERVICE = AM_LINE21_CCSERVICE(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_L21_CCSERVICE_XDS: AM_LINE21_CCSERVICE = AM_LINE21_CCSERVICE(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_L21_CCSERVICE_DefChannel: AM_LINE21_CCSERVICE = AM_LINE21_CCSERVICE(10i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_L21_CCSERVICE_Invalid: AM_LINE21_CCSERVICE = AM_LINE21_CCSERVICE(11i32);
impl ::core::marker::Copy for AM_LINE21_CCSERVICE {}
impl ::core::clone::Clone for AM_LINE21_CCSERVICE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_LINE21_CCSERVICE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_LINE21_CCSERVICE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_LINE21_CCSERVICE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_LINE21_CCSERVICE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_LINE21_CCSTATE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_L21_CCSTATE_Off: AM_LINE21_CCSTATE = AM_LINE21_CCSTATE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_L21_CCSTATE_On: AM_LINE21_CCSTATE = AM_LINE21_CCSTATE(1i32);
impl ::core::marker::Copy for AM_LINE21_CCSTATE {}
impl ::core::clone::Clone for AM_LINE21_CCSTATE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_LINE21_CCSTATE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_LINE21_CCSTATE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_LINE21_CCSTATE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_LINE21_CCSTATE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_LINE21_CCSTYLE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_L21_CCSTYLE_None: AM_LINE21_CCSTYLE = AM_LINE21_CCSTYLE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_L21_CCSTYLE_PopOn: AM_LINE21_CCSTYLE = AM_LINE21_CCSTYLE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_L21_CCSTYLE_PaintOn: AM_LINE21_CCSTYLE = AM_LINE21_CCSTYLE(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_L21_CCSTYLE_RollUp: AM_LINE21_CCSTYLE = AM_LINE21_CCSTYLE(3i32);
impl ::core::marker::Copy for AM_LINE21_CCSTYLE {}
impl ::core::clone::Clone for AM_LINE21_CCSTYLE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_LINE21_CCSTYLE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_LINE21_CCSTYLE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_LINE21_CCSTYLE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_LINE21_CCSTYLE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_LINE21_DRAWBGMODE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_L21_DRAWBGMODE_Opaque: AM_LINE21_DRAWBGMODE = AM_LINE21_DRAWBGMODE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_L21_DRAWBGMODE_Transparent: AM_LINE21_DRAWBGMODE = AM_LINE21_DRAWBGMODE(1i32);
impl ::core::marker::Copy for AM_LINE21_DRAWBGMODE {}
impl ::core::clone::Clone for AM_LINE21_DRAWBGMODE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_LINE21_DRAWBGMODE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_LINE21_DRAWBGMODE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_LINE21_DRAWBGMODE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_LINE21_DRAWBGMODE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_MEDIAEVENT_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_MEDIAEVENT_NONOTIFY: AM_MEDIAEVENT_FLAGS = AM_MEDIAEVENT_FLAGS(1i32);
impl ::core::marker::Copy for AM_MEDIAEVENT_FLAGS {}
impl ::core::clone::Clone for AM_MEDIAEVENT_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_MEDIAEVENT_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_MEDIAEVENT_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_MEDIAEVENT_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_MEDIAEVENT_FLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_MPEG2Level(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_MPEG2Level_Low: AM_MPEG2Level = AM_MPEG2Level(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_MPEG2Level_Main: AM_MPEG2Level = AM_MPEG2Level(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_MPEG2Level_High1440: AM_MPEG2Level = AM_MPEG2Level(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_MPEG2Level_High: AM_MPEG2Level = AM_MPEG2Level(4i32);
impl ::core::marker::Copy for AM_MPEG2Level {}
impl ::core::clone::Clone for AM_MPEG2Level {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_MPEG2Level {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_MPEG2Level {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_MPEG2Level {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_MPEG2Level").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_MPEG2Profile(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_MPEG2Profile_Simple: AM_MPEG2Profile = AM_MPEG2Profile(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_MPEG2Profile_Main: AM_MPEG2Profile = AM_MPEG2Profile(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_MPEG2Profile_SNRScalable: AM_MPEG2Profile = AM_MPEG2Profile(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_MPEG2Profile_SpatiallyScalable: AM_MPEG2Profile = AM_MPEG2Profile(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_MPEG2Profile_High: AM_MPEG2Profile = AM_MPEG2Profile(5i32);
impl ::core::marker::Copy for AM_MPEG2Profile {}
impl ::core::clone::Clone for AM_MPEG2Profile {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_MPEG2Profile {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_MPEG2Profile {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_MPEG2Profile {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_MPEG2Profile").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_PROPERTY_AC3(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_AC3_ERROR_CONCEALMENT: AM_PROPERTY_AC3 = AM_PROPERTY_AC3(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_AC3_ALTERNATE_AUDIO: AM_PROPERTY_AC3 = AM_PROPERTY_AC3(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_AC3_DOWNMIX: AM_PROPERTY_AC3 = AM_PROPERTY_AC3(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_AC3_BIT_STREAM_MODE: AM_PROPERTY_AC3 = AM_PROPERTY_AC3(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_AC3_DIALOGUE_LEVEL: AM_PROPERTY_AC3 = AM_PROPERTY_AC3(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_AC3_LANGUAGE_CODE: AM_PROPERTY_AC3 = AM_PROPERTY_AC3(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_AC3_ROOM_TYPE: AM_PROPERTY_AC3 = AM_PROPERTY_AC3(7i32);
impl ::core::marker::Copy for AM_PROPERTY_AC3 {}
impl ::core::clone::Clone for AM_PROPERTY_AC3 {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_PROPERTY_AC3 {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_PROPERTY_AC3 {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_PROPERTY_AC3 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_PROPERTY_AC3").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_PROPERTY_DVDCOPYPROT(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_DVDCOPY_CHLG_KEY: AM_PROPERTY_DVDCOPYPROT = AM_PROPERTY_DVDCOPYPROT(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_DVDCOPY_DVD_KEY1: AM_PROPERTY_DVDCOPYPROT = AM_PROPERTY_DVDCOPYPROT(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_DVDCOPY_DEC_KEY2: AM_PROPERTY_DVDCOPYPROT = AM_PROPERTY_DVDCOPYPROT(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_DVDCOPY_TITLE_KEY: AM_PROPERTY_DVDCOPYPROT = AM_PROPERTY_DVDCOPYPROT(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_COPY_MACROVISION: AM_PROPERTY_DVDCOPYPROT = AM_PROPERTY_DVDCOPYPROT(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_DVDCOPY_REGION: AM_PROPERTY_DVDCOPYPROT = AM_PROPERTY_DVDCOPYPROT(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_DVDCOPY_SET_COPY_STATE: AM_PROPERTY_DVDCOPYPROT = AM_PROPERTY_DVDCOPYPROT(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_COPY_ANALOG_COMPONENT: AM_PROPERTY_DVDCOPYPROT = AM_PROPERTY_DVDCOPYPROT(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_COPY_DIGITAL_CP: AM_PROPERTY_DVDCOPYPROT = AM_PROPERTY_DVDCOPYPROT(9i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_COPY_DVD_SRM: AM_PROPERTY_DVDCOPYPROT = AM_PROPERTY_DVDCOPYPROT(10i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_DVDCOPY_SUPPORTS_NEW_KEYCOUNT: AM_PROPERTY_DVDCOPYPROT = AM_PROPERTY_DVDCOPYPROT(11i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_DVDCOPY_DISC_KEY: AM_PROPERTY_DVDCOPYPROT = AM_PROPERTY_DVDCOPYPROT(128i32);
impl ::core::marker::Copy for AM_PROPERTY_DVDCOPYPROT {}
impl ::core::clone::Clone for AM_PROPERTY_DVDCOPYPROT {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_PROPERTY_DVDCOPYPROT {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_PROPERTY_DVDCOPYPROT {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_PROPERTY_DVDCOPYPROT {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_PROPERTY_DVDCOPYPROT").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_PROPERTY_DVDKARAOKE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_DVDKARAOKE_ENABLE: AM_PROPERTY_DVDKARAOKE = AM_PROPERTY_DVDKARAOKE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_DVDKARAOKE_DATA: AM_PROPERTY_DVDKARAOKE = AM_PROPERTY_DVDKARAOKE(1i32);
impl ::core::marker::Copy for AM_PROPERTY_DVDKARAOKE {}
impl ::core::clone::Clone for AM_PROPERTY_DVDKARAOKE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_PROPERTY_DVDKARAOKE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_PROPERTY_DVDKARAOKE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_PROPERTY_DVDKARAOKE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_PROPERTY_DVDKARAOKE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_PROPERTY_DVDSUBPIC(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_DVDSUBPIC_PALETTE: AM_PROPERTY_DVDSUBPIC = AM_PROPERTY_DVDSUBPIC(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_DVDSUBPIC_HLI: AM_PROPERTY_DVDSUBPIC = AM_PROPERTY_DVDSUBPIC(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_DVDSUBPIC_COMPOSIT_ON: AM_PROPERTY_DVDSUBPIC = AM_PROPERTY_DVDSUBPIC(2i32);
impl ::core::marker::Copy for AM_PROPERTY_DVDSUBPIC {}
impl ::core::clone::Clone for AM_PROPERTY_DVDSUBPIC {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_PROPERTY_DVDSUBPIC {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_PROPERTY_DVDSUBPIC {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_PROPERTY_DVDSUBPIC {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_PROPERTY_DVDSUBPIC").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_PROPERTY_DVD_RATE_CHANGE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_RATE_ChangeRate: AM_PROPERTY_DVD_RATE_CHANGE = AM_PROPERTY_DVD_RATE_CHANGE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_RATE_FullDataRateMax: AM_PROPERTY_DVD_RATE_CHANGE = AM_PROPERTY_DVD_RATE_CHANGE(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_RATE_ReverseDecode: AM_PROPERTY_DVD_RATE_CHANGE = AM_PROPERTY_DVD_RATE_CHANGE(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_RATE_DecoderPosition: AM_PROPERTY_DVD_RATE_CHANGE = AM_PROPERTY_DVD_RATE_CHANGE(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_RATE_DecoderVersion: AM_PROPERTY_DVD_RATE_CHANGE = AM_PROPERTY_DVD_RATE_CHANGE(5i32);
impl ::core::marker::Copy for AM_PROPERTY_DVD_RATE_CHANGE {}
impl ::core::clone::Clone for AM_PROPERTY_DVD_RATE_CHANGE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_PROPERTY_DVD_RATE_CHANGE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_PROPERTY_DVD_RATE_CHANGE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_PROPERTY_DVD_RATE_CHANGE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_PROPERTY_DVD_RATE_CHANGE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_PROPERTY_FRAMESTEP(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_FRAMESTEP_STEP: AM_PROPERTY_FRAMESTEP = AM_PROPERTY_FRAMESTEP(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_FRAMESTEP_CANCEL: AM_PROPERTY_FRAMESTEP = AM_PROPERTY_FRAMESTEP(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_FRAMESTEP_CANSTEP: AM_PROPERTY_FRAMESTEP = AM_PROPERTY_FRAMESTEP(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE: AM_PROPERTY_FRAMESTEP = AM_PROPERTY_FRAMESTEP(4i32);
impl ::core::marker::Copy for AM_PROPERTY_FRAMESTEP {}
impl ::core::clone::Clone for AM_PROPERTY_FRAMESTEP {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_PROPERTY_FRAMESTEP {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_PROPERTY_FRAMESTEP {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_PROPERTY_FRAMESTEP {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_PROPERTY_FRAMESTEP").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_PROPERTY_TS_RATE_CHANGE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_RATE_SimpleRateChange: AM_PROPERTY_TS_RATE_CHANGE = AM_PROPERTY_TS_RATE_CHANGE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_RATE_ExactRateChange: AM_PROPERTY_TS_RATE_CHANGE = AM_PROPERTY_TS_RATE_CHANGE(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_RATE_MaxFullDataRate: AM_PROPERTY_TS_RATE_CHANGE = AM_PROPERTY_TS_RATE_CHANGE(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_RATE_Step: AM_PROPERTY_TS_RATE_CHANGE = AM_PROPERTY_TS_RATE_CHANGE(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_RATE_UseRateVersion: AM_PROPERTY_TS_RATE_CHANGE = AM_PROPERTY_TS_RATE_CHANGE(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_RATE_QueryFullFrameRate: AM_PROPERTY_TS_RATE_CHANGE = AM_PROPERTY_TS_RATE_CHANGE(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_RATE_QueryLastRateSegPTS: AM_PROPERTY_TS_RATE_CHANGE = AM_PROPERTY_TS_RATE_CHANGE(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_RATE_CorrectTS: AM_PROPERTY_TS_RATE_CHANGE = AM_PROPERTY_TS_RATE_CHANGE(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_RATE_ReverseMaxFullDataRate: AM_PROPERTY_TS_RATE_CHANGE = AM_PROPERTY_TS_RATE_CHANGE(9i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_RATE_ResetOnTimeDisc: AM_PROPERTY_TS_RATE_CHANGE = AM_PROPERTY_TS_RATE_CHANGE(10i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_RATE_QueryMapping: AM_PROPERTY_TS_RATE_CHANGE = AM_PROPERTY_TS_RATE_CHANGE(11i32);
impl ::core::marker::Copy for AM_PROPERTY_TS_RATE_CHANGE {}
impl ::core::clone::Clone for AM_PROPERTY_TS_RATE_CHANGE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_PROPERTY_TS_RATE_CHANGE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_PROPERTY_TS_RATE_CHANGE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_PROPERTY_TS_RATE_CHANGE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_PROPERTY_TS_RATE_CHANGE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_SAMPLE_PROPERTY_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SAMPLE_SPLICEPOINT: AM_SAMPLE_PROPERTY_FLAGS = AM_SAMPLE_PROPERTY_FLAGS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SAMPLE_PREROLL: AM_SAMPLE_PROPERTY_FLAGS = AM_SAMPLE_PROPERTY_FLAGS(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SAMPLE_DATADISCONTINUITY: AM_SAMPLE_PROPERTY_FLAGS = AM_SAMPLE_PROPERTY_FLAGS(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SAMPLE_TYPECHANGED: AM_SAMPLE_PROPERTY_FLAGS = AM_SAMPLE_PROPERTY_FLAGS(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SAMPLE_TIMEVALID: AM_SAMPLE_PROPERTY_FLAGS = AM_SAMPLE_PROPERTY_FLAGS(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SAMPLE_TIMEDISCONTINUITY: AM_SAMPLE_PROPERTY_FLAGS = AM_SAMPLE_PROPERTY_FLAGS(64i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SAMPLE_FLUSH_ON_PAUSE: AM_SAMPLE_PROPERTY_FLAGS = AM_SAMPLE_PROPERTY_FLAGS(128i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SAMPLE_STOPVALID: AM_SAMPLE_PROPERTY_FLAGS = AM_SAMPLE_PROPERTY_FLAGS(256i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SAMPLE_ENDOFSTREAM: AM_SAMPLE_PROPERTY_FLAGS = AM_SAMPLE_PROPERTY_FLAGS(512i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_STREAM_MEDIA: AM_SAMPLE_PROPERTY_FLAGS = AM_SAMPLE_PROPERTY_FLAGS(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_STREAM_CONTROL: AM_SAMPLE_PROPERTY_FLAGS = AM_SAMPLE_PROPERTY_FLAGS(1i32);
impl ::core::marker::Copy for AM_SAMPLE_PROPERTY_FLAGS {}
impl ::core::clone::Clone for AM_SAMPLE_PROPERTY_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_SAMPLE_PROPERTY_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_SAMPLE_PROPERTY_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_SAMPLE_PROPERTY_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_SAMPLE_PROPERTY_FLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_SEEKING_SEEKING_CAPABILITIES(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SEEKING_CanSeekAbsolute: AM_SEEKING_SEEKING_CAPABILITIES = AM_SEEKING_SEEKING_CAPABILITIES(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SEEKING_CanSeekForwards: AM_SEEKING_SEEKING_CAPABILITIES = AM_SEEKING_SEEKING_CAPABILITIES(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SEEKING_CanSeekBackwards: AM_SEEKING_SEEKING_CAPABILITIES = AM_SEEKING_SEEKING_CAPABILITIES(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SEEKING_CanGetCurrentPos: AM_SEEKING_SEEKING_CAPABILITIES = AM_SEEKING_SEEKING_CAPABILITIES(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SEEKING_CanGetStopPos: AM_SEEKING_SEEKING_CAPABILITIES = AM_SEEKING_SEEKING_CAPABILITIES(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SEEKING_CanGetDuration: AM_SEEKING_SEEKING_CAPABILITIES = AM_SEEKING_SEEKING_CAPABILITIES(32i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SEEKING_CanPlayBackwards: AM_SEEKING_SEEKING_CAPABILITIES = AM_SEEKING_SEEKING_CAPABILITIES(64i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SEEKING_CanDoSegments: AM_SEEKING_SEEKING_CAPABILITIES = AM_SEEKING_SEEKING_CAPABILITIES(128i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SEEKING_Source: AM_SEEKING_SEEKING_CAPABILITIES = AM_SEEKING_SEEKING_CAPABILITIES(256i32);
impl ::core::marker::Copy for AM_SEEKING_SEEKING_CAPABILITIES {}
impl ::core::clone::Clone for AM_SEEKING_SEEKING_CAPABILITIES {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_SEEKING_SEEKING_CAPABILITIES {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_SEEKING_SEEKING_CAPABILITIES {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_SEEKING_SEEKING_CAPABILITIES {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_SEEKING_SEEKING_CAPABILITIES").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_SEEKING_SEEKING_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SEEKING_NoPositioning: AM_SEEKING_SEEKING_FLAGS = AM_SEEKING_SEEKING_FLAGS(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SEEKING_AbsolutePositioning: AM_SEEKING_SEEKING_FLAGS = AM_SEEKING_SEEKING_FLAGS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SEEKING_RelativePositioning: AM_SEEKING_SEEKING_FLAGS = AM_SEEKING_SEEKING_FLAGS(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SEEKING_IncrementalPositioning: AM_SEEKING_SEEKING_FLAGS = AM_SEEKING_SEEKING_FLAGS(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SEEKING_PositioningBitsMask: AM_SEEKING_SEEKING_FLAGS = AM_SEEKING_SEEKING_FLAGS(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SEEKING_SeekToKeyFrame: AM_SEEKING_SEEKING_FLAGS = AM_SEEKING_SEEKING_FLAGS(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SEEKING_ReturnTime: AM_SEEKING_SEEKING_FLAGS = AM_SEEKING_SEEKING_FLAGS(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SEEKING_Segment: AM_SEEKING_SEEKING_FLAGS = AM_SEEKING_SEEKING_FLAGS(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_SEEKING_NoFlush: AM_SEEKING_SEEKING_FLAGS = AM_SEEKING_SEEKING_FLAGS(32i32);
impl ::core::marker::Copy for AM_SEEKING_SEEKING_FLAGS {}
impl ::core::clone::Clone for AM_SEEKING_SEEKING_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_SEEKING_SEEKING_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_SEEKING_SEEKING_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_SEEKING_SEEKING_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_SEEKING_SEEKING_FLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_STREAM_INFO_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_STREAM_INFO_START_DEFINED: AM_STREAM_INFO_FLAGS = AM_STREAM_INFO_FLAGS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_STREAM_INFO_STOP_DEFINED: AM_STREAM_INFO_FLAGS = AM_STREAM_INFO_FLAGS(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_STREAM_INFO_DISCARDING: AM_STREAM_INFO_FLAGS = AM_STREAM_INFO_FLAGS(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_STREAM_INFO_STOP_SEND_EXTRA: AM_STREAM_INFO_FLAGS = AM_STREAM_INFO_FLAGS(16i32);
impl ::core::marker::Copy for AM_STREAM_INFO_FLAGS {}
impl ::core::clone::Clone for AM_STREAM_INFO_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_STREAM_INFO_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_STREAM_INFO_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_STREAM_INFO_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_STREAM_INFO_FLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_WST_DRAWBGMODE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_WST_DRAWBGMODE_Opaque: AM_WST_DRAWBGMODE = AM_WST_DRAWBGMODE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_WST_DRAWBGMODE_Transparent: AM_WST_DRAWBGMODE = AM_WST_DRAWBGMODE(1i32);
impl ::core::marker::Copy for AM_WST_DRAWBGMODE {}
impl ::core::clone::Clone for AM_WST_DRAWBGMODE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_WST_DRAWBGMODE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_WST_DRAWBGMODE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_WST_DRAWBGMODE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_WST_DRAWBGMODE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_WST_LEVEL(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_WST_LEVEL_1_5: AM_WST_LEVEL = AM_WST_LEVEL(0i32);
impl ::core::marker::Copy for AM_WST_LEVEL {}
impl ::core::clone::Clone for AM_WST_LEVEL {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_WST_LEVEL {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_WST_LEVEL {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_WST_LEVEL {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_WST_LEVEL").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_WST_SERVICE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_WST_SERVICE_None: AM_WST_SERVICE = AM_WST_SERVICE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_WST_SERVICE_Text: AM_WST_SERVICE = AM_WST_SERVICE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_WST_SERVICE_IDS: AM_WST_SERVICE = AM_WST_SERVICE(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_WST_SERVICE_Invalid: AM_WST_SERVICE = AM_WST_SERVICE(3i32);
impl ::core::marker::Copy for AM_WST_SERVICE {}
impl ::core::clone::Clone for AM_WST_SERVICE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_WST_SERVICE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_WST_SERVICE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_WST_SERVICE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_WST_SERVICE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_WST_STATE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_WST_STATE_Off: AM_WST_STATE = AM_WST_STATE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_WST_STATE_On: AM_WST_STATE = AM_WST_STATE(1i32);
impl ::core::marker::Copy for AM_WST_STATE {}
impl ::core::clone::Clone for AM_WST_STATE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_WST_STATE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_WST_STATE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_WST_STATE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_WST_STATE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AM_WST_STYLE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_WST_STYLE_None: AM_WST_STYLE = AM_WST_STYLE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_WST_STYLE_Invers: AM_WST_STYLE = AM_WST_STYLE(1i32);
impl ::core::marker::Copy for AM_WST_STYLE {}
impl ::core::clone::Clone for AM_WST_STYLE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AM_WST_STYLE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AM_WST_STYLE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AM_WST_STYLE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AM_WST_STYLE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct ATSCComponentTypeFlags(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ATSCCT_AC3: ATSCComponentTypeFlags = ATSCComponentTypeFlags(1i32);
impl ::core::marker::Copy for ATSCComponentTypeFlags {}
impl ::core::clone::Clone for ATSCComponentTypeFlags {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for ATSCComponentTypeFlags {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for ATSCComponentTypeFlags {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for ATSCComponentTypeFlags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ATSCComponentTypeFlags").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct AnalogVideoStandard(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_None: AnalogVideoStandard = AnalogVideoStandard(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_NTSC_M: AnalogVideoStandard = AnalogVideoStandard(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_NTSC_M_J: AnalogVideoStandard = AnalogVideoStandard(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_NTSC_433: AnalogVideoStandard = AnalogVideoStandard(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_PAL_B: AnalogVideoStandard = AnalogVideoStandard(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_PAL_D: AnalogVideoStandard = AnalogVideoStandard(32i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_PAL_G: AnalogVideoStandard = AnalogVideoStandard(64i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_PAL_H: AnalogVideoStandard = AnalogVideoStandard(128i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_PAL_I: AnalogVideoStandard = AnalogVideoStandard(256i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_PAL_M: AnalogVideoStandard = AnalogVideoStandard(512i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_PAL_N: AnalogVideoStandard = AnalogVideoStandard(1024i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_PAL_60: AnalogVideoStandard = AnalogVideoStandard(2048i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_SECAM_B: AnalogVideoStandard = AnalogVideoStandard(4096i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_SECAM_D: AnalogVideoStandard = AnalogVideoStandard(8192i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_SECAM_G: AnalogVideoStandard = AnalogVideoStandard(16384i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_SECAM_H: AnalogVideoStandard = AnalogVideoStandard(32768i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_SECAM_K: AnalogVideoStandard = AnalogVideoStandard(65536i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_SECAM_K1: AnalogVideoStandard = AnalogVideoStandard(131072i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_SECAM_L: AnalogVideoStandard = AnalogVideoStandard(262144i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_SECAM_L1: AnalogVideoStandard = AnalogVideoStandard(524288i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideo_PAL_N_COMBO: AnalogVideoStandard = AnalogVideoStandard(1048576i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideoMask_MCE_NTSC: AnalogVideoStandard = AnalogVideoStandard(1052167i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideoMask_MCE_PAL: AnalogVideoStandard = AnalogVideoStandard(496i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AnalogVideoMask_MCE_SECAM: AnalogVideoStandard = AnalogVideoStandard(1044480i32);
impl ::core::marker::Copy for AnalogVideoStandard {}
impl ::core::clone::Clone for AnalogVideoStandard {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for AnalogVideoStandard {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for AnalogVideoStandard {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for AnalogVideoStandard {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("AnalogVideoStandard").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct ApplicationTypeType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SCTE28_ConditionalAccess: ApplicationTypeType = ApplicationTypeType(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SCTE28_POD_Host_Binding_Information: ApplicationTypeType = ApplicationTypeType(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SCTE28_IPService: ApplicationTypeType = ApplicationTypeType(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SCTE28_NetworkInterface_SCTE55_2: ApplicationTypeType = ApplicationTypeType(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SCTE28_NetworkInterface_SCTE55_1: ApplicationTypeType = ApplicationTypeType(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SCTE28_CopyProtection: ApplicationTypeType = ApplicationTypeType(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SCTE28_Diagnostic: ApplicationTypeType = ApplicationTypeType(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SCTE28_Undesignated: ApplicationTypeType = ApplicationTypeType(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SCTE28_Reserved: ApplicationTypeType = ApplicationTypeType(8i32);
impl ::core::marker::Copy for ApplicationTypeType {}
impl ::core::clone::Clone for ApplicationTypeType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for ApplicationTypeType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for ApplicationTypeType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for ApplicationTypeType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ApplicationTypeType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct BDA_CHANGE_STATE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_CHANGES_COMPLETE: BDA_CHANGE_STATE = BDA_CHANGE_STATE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_CHANGES_PENDING: BDA_CHANGE_STATE = BDA_CHANGE_STATE(1i32);
impl ::core::marker::Copy for BDA_CHANGE_STATE {}
impl ::core::clone::Clone for BDA_CHANGE_STATE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for BDA_CHANGE_STATE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for BDA_CHANGE_STATE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for BDA_CHANGE_STATE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BDA_CHANGE_STATE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct BDA_CONDITIONALACCESS_MMICLOSEREASON(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CONDITIONALACCESS_UNSPECIFIED: BDA_CONDITIONALACCESS_MMICLOSEREASON = BDA_CONDITIONALACCESS_MMICLOSEREASON(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CONDITIONALACCESS_CLOSED_ITSELF: BDA_CONDITIONALACCESS_MMICLOSEREASON = BDA_CONDITIONALACCESS_MMICLOSEREASON(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CONDITIONALACCESS_TUNER_REQUESTED_CLOSE: BDA_CONDITIONALACCESS_MMICLOSEREASON = BDA_CONDITIONALACCESS_MMICLOSEREASON(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CONDITIONALACCESS_DIALOG_TIMEOUT: BDA_CONDITIONALACCESS_MMICLOSEREASON = BDA_CONDITIONALACCESS_MMICLOSEREASON(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CONDITIONALACCESS_DIALOG_FOCUS_CHANGE: BDA_CONDITIONALACCESS_MMICLOSEREASON = BDA_CONDITIONALACCESS_MMICLOSEREASON(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CONDITIONALACCESS_DIALOG_USER_DISMISSED: BDA_CONDITIONALACCESS_MMICLOSEREASON = BDA_CONDITIONALACCESS_MMICLOSEREASON(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CONDITIONALACCESS_DIALOG_USER_NOT_AVAILABLE: BDA_CONDITIONALACCESS_MMICLOSEREASON = BDA_CONDITIONALACCESS_MMICLOSEREASON(6i32);
impl ::core::marker::Copy for BDA_CONDITIONALACCESS_MMICLOSEREASON {}
impl ::core::clone::Clone for BDA_CONDITIONALACCESS_MMICLOSEREASON {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for BDA_CONDITIONALACCESS_MMICLOSEREASON {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for BDA_CONDITIONALACCESS_MMICLOSEREASON {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for BDA_CONDITIONALACCESS_MMICLOSEREASON {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BDA_CONDITIONALACCESS_MMICLOSEREASON").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct BDA_CONDITIONALACCESS_REQUESTTYPE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CONDITIONALACCESS_ACCESS_UNSPECIFIED: BDA_CONDITIONALACCESS_REQUESTTYPE = BDA_CONDITIONALACCESS_REQUESTTYPE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CONDITIONALACCESS_ACCESS_NOT_POSSIBLE: BDA_CONDITIONALACCESS_REQUESTTYPE = BDA_CONDITIONALACCESS_REQUESTTYPE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CONDITIONALACCESS_ACCESS_POSSIBLE: BDA_CONDITIONALACCESS_REQUESTTYPE = BDA_CONDITIONALACCESS_REQUESTTYPE(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CONDITIONALACCESS_ACCESS_POSSIBLE_NO_STREAMING_DISRUPTION: BDA_CONDITIONALACCESS_REQUESTTYPE = BDA_CONDITIONALACCESS_REQUESTTYPE(3i32);
impl ::core::marker::Copy for BDA_CONDITIONALACCESS_REQUESTTYPE {}
impl ::core::clone::Clone for BDA_CONDITIONALACCESS_REQUESTTYPE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for BDA_CONDITIONALACCESS_REQUESTTYPE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for BDA_CONDITIONALACCESS_REQUESTTYPE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for BDA_CONDITIONALACCESS_REQUESTTYPE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BDA_CONDITIONALACCESS_REQUESTTYPE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct BDA_CONDITIONALACCESS_SESSION_RESULT(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CONDITIONALACCESS_SUCCESSFULL: BDA_CONDITIONALACCESS_SESSION_RESULT = BDA_CONDITIONALACCESS_SESSION_RESULT(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CONDITIONALACCESS_ENDED_NOCHANGE: BDA_CONDITIONALACCESS_SESSION_RESULT = BDA_CONDITIONALACCESS_SESSION_RESULT(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CONDITIONALACCESS_ABORTED: BDA_CONDITIONALACCESS_SESSION_RESULT = BDA_CONDITIONALACCESS_SESSION_RESULT(2i32);
impl ::core::marker::Copy for BDA_CONDITIONALACCESS_SESSION_RESULT {}
impl ::core::clone::Clone for BDA_CONDITIONALACCESS_SESSION_RESULT {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for BDA_CONDITIONALACCESS_SESSION_RESULT {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for BDA_CONDITIONALACCESS_SESSION_RESULT {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for BDA_CONDITIONALACCESS_SESSION_RESULT {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BDA_CONDITIONALACCESS_SESSION_RESULT").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct BDA_Channel(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_UNDEFINED_CHANNEL: BDA_Channel = BDA_Channel(-1i32);
impl ::core::marker::Copy for BDA_Channel {}
impl ::core::clone::Clone for BDA_Channel {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for BDA_Channel {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for BDA_Channel {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for BDA_Channel {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BDA_Channel").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct BDA_Channel_Bandwidth(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_CHAN_BANDWITH_NOT_SET: BDA_Channel_Bandwidth = BDA_Channel_Bandwidth(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_CHAN_BANDWITH_NOT_DEFINED: BDA_Channel_Bandwidth = BDA_Channel_Bandwidth(0i32);
impl ::core::marker::Copy for BDA_Channel_Bandwidth {}
impl ::core::clone::Clone for BDA_Channel_Bandwidth {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for BDA_Channel_Bandwidth {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for BDA_Channel_Bandwidth {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for BDA_Channel_Bandwidth {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BDA_Channel_Bandwidth").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct BDA_Comp_Flags(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDACOMP_NOT_DEFINED: BDA_Comp_Flags = BDA_Comp_Flags(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDACOMP_EXCLUDE_TS_FROM_TR: BDA_Comp_Flags = BDA_Comp_Flags(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDACOMP_INCLUDE_LOCATOR_IN_TR: BDA_Comp_Flags = BDA_Comp_Flags(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDACOMP_INCLUDE_COMPONENTS_IN_TR: BDA_Comp_Flags = BDA_Comp_Flags(4i32);
impl ::core::marker::Copy for BDA_Comp_Flags {}
impl ::core::clone::Clone for BDA_Comp_Flags {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for BDA_Comp_Flags {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for BDA_Comp_Flags {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for BDA_Comp_Flags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BDA_Comp_Flags").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct BDA_DISCOVERY_STATE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_DISCOVERY_UNSPECIFIED: BDA_DISCOVERY_STATE = BDA_DISCOVERY_STATE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_DISCOVERY_REQUIRED: BDA_DISCOVERY_STATE = BDA_DISCOVERY_STATE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_DISCOVERY_COMPLETE: BDA_DISCOVERY_STATE = BDA_DISCOVERY_STATE(2i32);
impl ::core::marker::Copy for BDA_DISCOVERY_STATE {}
impl ::core::clone::Clone for BDA_DISCOVERY_STATE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for BDA_DISCOVERY_STATE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for BDA_DISCOVERY_STATE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for BDA_DISCOVERY_STATE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BDA_DISCOVERY_STATE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct BDA_DrmPairingError(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_DrmPairing_Succeeded: BDA_DrmPairingError = BDA_DrmPairingError(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_DrmPairing_HardwareFailure: BDA_DrmPairingError = BDA_DrmPairingError(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_DrmPairing_NeedRevocationData: BDA_DrmPairingError = BDA_DrmPairingError(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_DrmPairing_NeedIndiv: BDA_DrmPairingError = BDA_DrmPairingError(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_DrmPairing_Other: BDA_DrmPairingError = BDA_DrmPairingError(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_DrmPairing_DrmInitFailed: BDA_DrmPairingError = BDA_DrmPairingError(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_DrmPairing_DrmNotPaired: BDA_DrmPairingError = BDA_DrmPairingError(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_DrmPairing_DrmRePairSoon: BDA_DrmPairingError = BDA_DrmPairingError(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_DrmPairing_Aborted: BDA_DrmPairingError = BDA_DrmPairingError(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_DrmPairing_NeedSDKUpdate: BDA_DrmPairingError = BDA_DrmPairingError(9i32);
impl ::core::marker::Copy for BDA_DrmPairingError {}
impl ::core::clone::Clone for BDA_DrmPairingError {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for BDA_DrmPairingError {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for BDA_DrmPairingError {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for BDA_DrmPairingError {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BDA_DrmPairingError").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct BDA_EVENT_ID(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_SIGNAL_LOSS: BDA_EVENT_ID = BDA_EVENT_ID(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_SIGNAL_LOCK: BDA_EVENT_ID = BDA_EVENT_ID(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_DATA_START: BDA_EVENT_ID = BDA_EVENT_ID(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_DATA_STOP: BDA_EVENT_ID = BDA_EVENT_ID(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_CHANNEL_ACQUIRED: BDA_EVENT_ID = BDA_EVENT_ID(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_CHANNEL_LOST: BDA_EVENT_ID = BDA_EVENT_ID(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_CHANNEL_SOURCE_CHANGED: BDA_EVENT_ID = BDA_EVENT_ID(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_CHANNEL_ACTIVATED: BDA_EVENT_ID = BDA_EVENT_ID(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_CHANNEL_DEACTIVATED: BDA_EVENT_ID = BDA_EVENT_ID(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_SUBCHANNEL_ACQUIRED: BDA_EVENT_ID = BDA_EVENT_ID(9i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_SUBCHANNEL_LOST: BDA_EVENT_ID = BDA_EVENT_ID(10i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_SUBCHANNEL_SOURCE_CHANGED: BDA_EVENT_ID = BDA_EVENT_ID(11i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_SUBCHANNEL_ACTIVATED: BDA_EVENT_ID = BDA_EVENT_ID(12i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_SUBCHANNEL_DEACTIVATED: BDA_EVENT_ID = BDA_EVENT_ID(13i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_ACCESS_GRANTED: BDA_EVENT_ID = BDA_EVENT_ID(14i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_ACCESS_DENIED: BDA_EVENT_ID = BDA_EVENT_ID(15i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_OFFER_EXTENDED: BDA_EVENT_ID = BDA_EVENT_ID(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_PURCHASE_COMPLETED: BDA_EVENT_ID = BDA_EVENT_ID(17i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_SMART_CARD_INSERTED: BDA_EVENT_ID = BDA_EVENT_ID(18i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_EVENT_SMART_CARD_REMOVED: BDA_EVENT_ID = BDA_EVENT_ID(19i32);
impl ::core::marker::Copy for BDA_EVENT_ID {}
impl ::core::clone::Clone for BDA_EVENT_ID {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for BDA_EVENT_ID {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for BDA_EVENT_ID {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for BDA_EVENT_ID {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BDA_EVENT_ID").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct BDA_Frequency(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_FREQUENCY_NOT_SET: BDA_Frequency = BDA_Frequency(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_FREQUENCY_NOT_DEFINED: BDA_Frequency = BDA_Frequency(0i32);
impl ::core::marker::Copy for BDA_Frequency {}
impl ::core::clone::Clone for BDA_Frequency {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for BDA_Frequency {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for BDA_Frequency {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for BDA_Frequency {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BDA_Frequency").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct BDA_Frequency_Multiplier(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_FREQUENCY_MULTIPLIER_NOT_SET: BDA_Frequency_Multiplier = BDA_Frequency_Multiplier(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_FREQUENCY_MULTIPLIER_NOT_DEFINED: BDA_Frequency_Multiplier = BDA_Frequency_Multiplier(0i32);
impl ::core::marker::Copy for BDA_Frequency_Multiplier {}
impl ::core::clone::Clone for BDA_Frequency_Multiplier {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for BDA_Frequency_Multiplier {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for BDA_Frequency_Multiplier {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for BDA_Frequency_Multiplier {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BDA_Frequency_Multiplier").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct BDA_MULTICAST_MODE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_PROMISCUOUS_MULTICAST: BDA_MULTICAST_MODE = BDA_MULTICAST_MODE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_FILTERED_MULTICAST: BDA_MULTICAST_MODE = BDA_MULTICAST_MODE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_NO_MULTICAST: BDA_MULTICAST_MODE = BDA_MULTICAST_MODE(2i32);
impl ::core::marker::Copy for BDA_MULTICAST_MODE {}
impl ::core::clone::Clone for BDA_MULTICAST_MODE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for BDA_MULTICAST_MODE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for BDA_MULTICAST_MODE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for BDA_MULTICAST_MODE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BDA_MULTICAST_MODE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct BDA_Range(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_RANGE_NOT_SET: BDA_Range = BDA_Range(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_RANGE_NOT_DEFINED: BDA_Range = BDA_Range(0i32);
impl ::core::marker::Copy for BDA_Range {}
impl ::core::clone::Clone for BDA_Range {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for BDA_Range {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for BDA_Range {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for BDA_Range {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BDA_Range").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct BDA_SIGNAL_STATE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SIGNAL_UNAVAILABLE: BDA_SIGNAL_STATE = BDA_SIGNAL_STATE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SIGNAL_INACTIVE: BDA_SIGNAL_STATE = BDA_SIGNAL_STATE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SIGNAL_ACTIVE: BDA_SIGNAL_STATE = BDA_SIGNAL_STATE(2i32);
impl ::core::marker::Copy for BDA_SIGNAL_STATE {}
impl ::core::clone::Clone for BDA_SIGNAL_STATE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for BDA_SIGNAL_STATE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for BDA_SIGNAL_STATE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for BDA_SIGNAL_STATE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BDA_SIGNAL_STATE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct BinaryConvolutionCodeRate(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_BCC_RATE_NOT_SET: BinaryConvolutionCodeRate = BinaryConvolutionCodeRate(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_BCC_RATE_NOT_DEFINED: BinaryConvolutionCodeRate = BinaryConvolutionCodeRate(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_BCC_RATE_1_2: BinaryConvolutionCodeRate = BinaryConvolutionCodeRate(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_BCC_RATE_2_3: BinaryConvolutionCodeRate = BinaryConvolutionCodeRate(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_BCC_RATE_3_4: BinaryConvolutionCodeRate = BinaryConvolutionCodeRate(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_BCC_RATE_3_5: BinaryConvolutionCodeRate = BinaryConvolutionCodeRate(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_BCC_RATE_4_5: BinaryConvolutionCodeRate = BinaryConvolutionCodeRate(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_BCC_RATE_5_6: BinaryConvolutionCodeRate = BinaryConvolutionCodeRate(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_BCC_RATE_5_11: BinaryConvolutionCodeRate = BinaryConvolutionCodeRate(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_BCC_RATE_7_8: BinaryConvolutionCodeRate = BinaryConvolutionCodeRate(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_BCC_RATE_1_4: BinaryConvolutionCodeRate = BinaryConvolutionCodeRate(9i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_BCC_RATE_1_3: BinaryConvolutionCodeRate = BinaryConvolutionCodeRate(10i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_BCC_RATE_2_5: BinaryConvolutionCodeRate = BinaryConvolutionCodeRate(11i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_BCC_RATE_6_7: BinaryConvolutionCodeRate = BinaryConvolutionCodeRate(12i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_BCC_RATE_8_9: BinaryConvolutionCodeRate = BinaryConvolutionCodeRate(13i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_BCC_RATE_9_10: BinaryConvolutionCodeRate = BinaryConvolutionCodeRate(14i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_BCC_RATE_MAX: BinaryConvolutionCodeRate = BinaryConvolutionCodeRate(15i32);
impl ::core::marker::Copy for BinaryConvolutionCodeRate {}
impl ::core::clone::Clone for BinaryConvolutionCodeRate {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for BinaryConvolutionCodeRate {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for BinaryConvolutionCodeRate {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for BinaryConvolutionCodeRate {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("BinaryConvolutionCodeRate").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct COLORKEY_TYPE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CK_NOCOLORKEY: COLORKEY_TYPE = COLORKEY_TYPE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CK_INDEX: COLORKEY_TYPE = COLORKEY_TYPE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CK_RGB: COLORKEY_TYPE = COLORKEY_TYPE(2i32);
impl ::core::marker::Copy for COLORKEY_TYPE {}
impl ::core::clone::Clone for COLORKEY_TYPE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for COLORKEY_TYPE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for COLORKEY_TYPE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for COLORKEY_TYPE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("COLORKEY_TYPE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct COMPLETION_STATUS_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COMPSTAT_NOUPDATEOK: COMPLETION_STATUS_FLAGS = COMPLETION_STATUS_FLAGS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COMPSTAT_WAIT: COMPLETION_STATUS_FLAGS = COMPLETION_STATUS_FLAGS(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COMPSTAT_ABORT: COMPLETION_STATUS_FLAGS = COMPLETION_STATUS_FLAGS(4i32);
impl ::core::marker::Copy for COMPLETION_STATUS_FLAGS {}
impl ::core::clone::Clone for COMPLETION_STATUS_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for COMPLETION_STATUS_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for COMPLETION_STATUS_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for COMPLETION_STATUS_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("COMPLETION_STATUS_FLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct COPP_ACP_Protection_Level(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ACP_Level0: COPP_ACP_Protection_Level = COPP_ACP_Protection_Level(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ACP_LevelMin: COPP_ACP_Protection_Level = COPP_ACP_Protection_Level(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ACP_Level1: COPP_ACP_Protection_Level = COPP_ACP_Protection_Level(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ACP_Level2: COPP_ACP_Protection_Level = COPP_ACP_Protection_Level(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ACP_Level3: COPP_ACP_Protection_Level = COPP_ACP_Protection_Level(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ACP_LevelMax: COPP_ACP_Protection_Level = COPP_ACP_Protection_Level(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ACP_ForceDWORD: COPP_ACP_Protection_Level = COPP_ACP_Protection_Level(2147483647i32);
impl ::core::marker::Copy for COPP_ACP_Protection_Level {}
impl ::core::clone::Clone for COPP_ACP_Protection_Level {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for COPP_ACP_Protection_Level {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for COPP_ACP_Protection_Level {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for COPP_ACP_Protection_Level {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("COPP_ACP_Protection_Level").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct COPP_BusType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_BusType_Unknown: COPP_BusType = COPP_BusType(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_BusType_PCI: COPP_BusType = COPP_BusType(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_BusType_PCIX: COPP_BusType = COPP_BusType(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_BusType_PCIExpress: COPP_BusType = COPP_BusType(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_BusType_AGP: COPP_BusType = COPP_BusType(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_BusType_Integrated: COPP_BusType = COPP_BusType(-2147483648i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_BusType_ForceDWORD: COPP_BusType = COPP_BusType(2147483647i32);
impl ::core::marker::Copy for COPP_BusType {}
impl ::core::clone::Clone for COPP_BusType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for COPP_BusType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for COPP_BusType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for COPP_BusType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("COPP_BusType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct COPP_CGMSA_Protection_Level(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_CGMSA_Disabled: COPP_CGMSA_Protection_Level = COPP_CGMSA_Protection_Level(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_CGMSA_LevelMin: COPP_CGMSA_Protection_Level = COPP_CGMSA_Protection_Level(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_CGMSA_CopyFreely: COPP_CGMSA_Protection_Level = COPP_CGMSA_Protection_Level(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_CGMSA_CopyNoMore: COPP_CGMSA_Protection_Level = COPP_CGMSA_Protection_Level(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_CGMSA_CopyOneGeneration: COPP_CGMSA_Protection_Level = COPP_CGMSA_Protection_Level(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_CGMSA_CopyNever: COPP_CGMSA_Protection_Level = COPP_CGMSA_Protection_Level(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_CGMSA_RedistributionControlRequired: COPP_CGMSA_Protection_Level = COPP_CGMSA_Protection_Level(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_CGMSA_LevelMax: COPP_CGMSA_Protection_Level = COPP_CGMSA_Protection_Level(12i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_CGMSA_ForceDWORD: COPP_CGMSA_Protection_Level = COPP_CGMSA_Protection_Level(2147483647i32);
impl ::core::marker::Copy for COPP_CGMSA_Protection_Level {}
impl ::core::clone::Clone for COPP_CGMSA_Protection_Level {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for COPP_CGMSA_Protection_Level {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for COPP_CGMSA_Protection_Level {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for COPP_CGMSA_Protection_Level {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("COPP_CGMSA_Protection_Level").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct COPP_ConnectorType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ConnectorType_Unknown: COPP_ConnectorType = COPP_ConnectorType(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ConnectorType_VGA: COPP_ConnectorType = COPP_ConnectorType(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ConnectorType_SVideo: COPP_ConnectorType = COPP_ConnectorType(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ConnectorType_CompositeVideo: COPP_ConnectorType = COPP_ConnectorType(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ConnectorType_ComponentVideo: COPP_ConnectorType = COPP_ConnectorType(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ConnectorType_DVI: COPP_ConnectorType = COPP_ConnectorType(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ConnectorType_HDMI: COPP_ConnectorType = COPP_ConnectorType(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ConnectorType_LVDS: COPP_ConnectorType = COPP_ConnectorType(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ConnectorType_TMDS: COPP_ConnectorType = COPP_ConnectorType(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ConnectorType_D_JPN: COPP_ConnectorType = COPP_ConnectorType(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ConnectorType_Internal: COPP_ConnectorType = COPP_ConnectorType(-2147483648i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ConnectorType_ForceDWORD: COPP_ConnectorType = COPP_ConnectorType(2147483647i32);
impl ::core::marker::Copy for COPP_ConnectorType {}
impl ::core::clone::Clone for COPP_ConnectorType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for COPP_ConnectorType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for COPP_ConnectorType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for COPP_ConnectorType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("COPP_ConnectorType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct COPP_HDCP_Protection_Level(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_HDCP_Level0: COPP_HDCP_Protection_Level = COPP_HDCP_Protection_Level(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_HDCP_LevelMin: COPP_HDCP_Protection_Level = COPP_HDCP_Protection_Level(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_HDCP_Level1: COPP_HDCP_Protection_Level = COPP_HDCP_Protection_Level(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_HDCP_LevelMax: COPP_HDCP_Protection_Level = COPP_HDCP_Protection_Level(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_HDCP_ForceDWORD: COPP_HDCP_Protection_Level = COPP_HDCP_Protection_Level(2147483647i32);
impl ::core::marker::Copy for COPP_HDCP_Protection_Level {}
impl ::core::clone::Clone for COPP_HDCP_Protection_Level {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for COPP_HDCP_Protection_Level {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for COPP_HDCP_Protection_Level {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for COPP_HDCP_Protection_Level {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("COPP_HDCP_Protection_Level").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct COPP_ImageAspectRatio_EN300294(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_AspectRatio_EN300294_FullFormat4by3: COPP_ImageAspectRatio_EN300294 = COPP_ImageAspectRatio_EN300294(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_AspectRatio_EN300294_Box14by9Center: COPP_ImageAspectRatio_EN300294 = COPP_ImageAspectRatio_EN300294(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_AspectRatio_EN300294_Box14by9Top: COPP_ImageAspectRatio_EN300294 = COPP_ImageAspectRatio_EN300294(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_AspectRatio_EN300294_Box16by9Center: COPP_ImageAspectRatio_EN300294 = COPP_ImageAspectRatio_EN300294(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_AspectRatio_EN300294_Box16by9Top: COPP_ImageAspectRatio_EN300294 = COPP_ImageAspectRatio_EN300294(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_AspectRatio_EN300294_BoxGT16by9Center: COPP_ImageAspectRatio_EN300294 = COPP_ImageAspectRatio_EN300294(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_AspectRatio_EN300294_FullFormat4by3ProtectedCenter: COPP_ImageAspectRatio_EN300294 = COPP_ImageAspectRatio_EN300294(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_AspectRatio_EN300294_FullFormat16by9Anamorphic: COPP_ImageAspectRatio_EN300294 = COPP_ImageAspectRatio_EN300294(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_AspectRatio_ForceDWORD: COPP_ImageAspectRatio_EN300294 = COPP_ImageAspectRatio_EN300294(2147483647i32);
impl ::core::marker::Copy for COPP_ImageAspectRatio_EN300294 {}
impl ::core::clone::Clone for COPP_ImageAspectRatio_EN300294 {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for COPP_ImageAspectRatio_EN300294 {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for COPP_ImageAspectRatio_EN300294 {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for COPP_ImageAspectRatio_EN300294 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("COPP_ImageAspectRatio_EN300294").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct COPP_StatusFlags(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_StatusNormal: COPP_StatusFlags = COPP_StatusFlags(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_LinkLost: COPP_StatusFlags = COPP_StatusFlags(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_RenegotiationRequired: COPP_StatusFlags = COPP_StatusFlags(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_StatusFlagsReserved: COPP_StatusFlags = COPP_StatusFlags(-4i32);
impl ::core::marker::Copy for COPP_StatusFlags {}
impl ::core::clone::Clone for COPP_StatusFlags {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for COPP_StatusFlags {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for COPP_StatusFlags {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for COPP_StatusFlags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("COPP_StatusFlags").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct COPP_StatusHDCPFlags(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_HDCPRepeater: COPP_StatusHDCPFlags = COPP_StatusHDCPFlags(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_HDCPFlagsReserved: COPP_StatusHDCPFlags = COPP_StatusHDCPFlags(-2i32);
impl ::core::marker::Copy for COPP_StatusHDCPFlags {}
impl ::core::clone::Clone for COPP_StatusHDCPFlags {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for COPP_StatusHDCPFlags {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for COPP_StatusHDCPFlags {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for COPP_StatusHDCPFlags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("COPP_StatusHDCPFlags").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct COPP_TVProtectionStandard(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_Unknown: COPP_TVProtectionStandard = COPP_TVProtectionStandard(-2147483648i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_None: COPP_TVProtectionStandard = COPP_TVProtectionStandard(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_IEC61880_525i: COPP_TVProtectionStandard = COPP_TVProtectionStandard(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_IEC61880_2_525i: COPP_TVProtectionStandard = COPP_TVProtectionStandard(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_IEC62375_625p: COPP_TVProtectionStandard = COPP_TVProtectionStandard(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_EIA608B_525: COPP_TVProtectionStandard = COPP_TVProtectionStandard(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_EN300294_625i: COPP_TVProtectionStandard = COPP_TVProtectionStandard(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_CEA805A_TypeA_525p: COPP_TVProtectionStandard = COPP_TVProtectionStandard(32i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_CEA805A_TypeA_750p: COPP_TVProtectionStandard = COPP_TVProtectionStandard(64i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_CEA805A_TypeA_1125i: COPP_TVProtectionStandard = COPP_TVProtectionStandard(128i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_CEA805A_TypeB_525p: COPP_TVProtectionStandard = COPP_TVProtectionStandard(256i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_CEA805A_TypeB_750p: COPP_TVProtectionStandard = COPP_TVProtectionStandard(512i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_CEA805A_TypeB_1125i: COPP_TVProtectionStandard = COPP_TVProtectionStandard(1024i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_ARIBTRB15_525i: COPP_TVProtectionStandard = COPP_TVProtectionStandard(2048i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_ARIBTRB15_525p: COPP_TVProtectionStandard = COPP_TVProtectionStandard(4096i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_ARIBTRB15_750p: COPP_TVProtectionStandard = COPP_TVProtectionStandard(8192i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_ARIBTRB15_1125i: COPP_TVProtectionStandard = COPP_TVProtectionStandard(16384i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_Mask: COPP_TVProtectionStandard = COPP_TVProtectionStandard(-2147450881i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const COPP_ProtectionStandard_Reserved: COPP_TVProtectionStandard = COPP_TVProtectionStandard(2147450880i32);
impl ::core::marker::Copy for COPP_TVProtectionStandard {}
impl ::core::clone::Clone for COPP_TVProtectionStandard {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for COPP_TVProtectionStandard {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for COPP_TVProtectionStandard {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for COPP_TVProtectionStandard {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("COPP_TVProtectionStandard").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CameraControlFlags(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CameraControl_Flags_Auto: CameraControlFlags = CameraControlFlags(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CameraControl_Flags_Manual: CameraControlFlags = CameraControlFlags(2i32);
impl ::core::marker::Copy for CameraControlFlags {}
impl ::core::clone::Clone for CameraControlFlags {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CameraControlFlags {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for CameraControlFlags {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for CameraControlFlags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CameraControlFlags").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CameraControlProperty(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CameraControl_Pan: CameraControlProperty = CameraControlProperty(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CameraControl_Tilt: CameraControlProperty = CameraControlProperty(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CameraControl_Roll: CameraControlProperty = CameraControlProperty(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CameraControl_Zoom: CameraControlProperty = CameraControlProperty(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CameraControl_Exposure: CameraControlProperty = CameraControlProperty(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CameraControl_Iris: CameraControlProperty = CameraControlProperty(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CameraControl_Focus: CameraControlProperty = CameraControlProperty(6i32);
impl ::core::marker::Copy for CameraControlProperty {}
impl ::core::clone::Clone for CameraControlProperty {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CameraControlProperty {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for CameraControlProperty {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for CameraControlProperty {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CameraControlProperty").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct ComponentCategory(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CategoryNotSet: ComponentCategory = ComponentCategory(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CategoryOther: ComponentCategory = ComponentCategory(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CategoryVideo: ComponentCategory = ComponentCategory(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CategoryAudio: ComponentCategory = ComponentCategory(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CategoryText: ComponentCategory = ComponentCategory(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CategorySubtitles: ComponentCategory = ComponentCategory(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CategoryCaptions: ComponentCategory = ComponentCategory(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CategorySuperimpose: ComponentCategory = ComponentCategory(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CategoryData: ComponentCategory = ComponentCategory(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CATEGORY_COUNT: ComponentCategory = ComponentCategory(8i32);
impl ::core::marker::Copy for ComponentCategory {}
impl ::core::clone::Clone for ComponentCategory {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for ComponentCategory {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for ComponentCategory {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for ComponentCategory {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ComponentCategory").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct ComponentStatus(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const StatusActive: ComponentStatus = ComponentStatus(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const StatusInactive: ComponentStatus = ComponentStatus(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const StatusUnavailable: ComponentStatus = ComponentStatus(2i32);
impl ::core::marker::Copy for ComponentStatus {}
impl ::core::clone::Clone for ComponentStatus {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for ComponentStatus {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for ComponentStatus {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for ComponentStatus {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ComponentStatus").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct CompressionCaps(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CompressionCaps_CanQuality: CompressionCaps = CompressionCaps(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CompressionCaps_CanCrunch: CompressionCaps = CompressionCaps(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CompressionCaps_CanKeyFrame: CompressionCaps = CompressionCaps(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CompressionCaps_CanBFrame: CompressionCaps = CompressionCaps(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CompressionCaps_CanWindow: CompressionCaps = CompressionCaps(16i32);
impl ::core::marker::Copy for CompressionCaps {}
impl ::core::clone::Clone for CompressionCaps {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for CompressionCaps {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for CompressionCaps {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for CompressionCaps {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("CompressionCaps").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DDSFF_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DDSFF_PROGRESSIVERENDER: DDSFF_FLAGS = DDSFF_FLAGS(1i32);
impl ::core::marker::Copy for DDSFF_FLAGS {}
impl ::core::clone::Clone for DDSFF_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DDSFF_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DDSFF_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DDSFF_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DDSFF_FLAGS").field(&self.0).finish()
}
}
impl DDSFF_FLAGS {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl ::core::ops::BitOr for DDSFF_FLAGS {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for DDSFF_FLAGS {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for DDSFF_FLAGS {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for DDSFF_FLAGS {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for DDSFF_FLAGS {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DECIMATION_USAGE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DECIMATION_LEGACY: DECIMATION_USAGE = DECIMATION_USAGE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DECIMATION_USE_DECODER_ONLY: DECIMATION_USAGE = DECIMATION_USAGE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DECIMATION_USE_VIDEOPORT_ONLY: DECIMATION_USAGE = DECIMATION_USAGE(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DECIMATION_USE_OVERLAY_ONLY: DECIMATION_USAGE = DECIMATION_USAGE(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DECIMATION_DEFAULT: DECIMATION_USAGE = DECIMATION_USAGE(4i32);
impl ::core::marker::Copy for DECIMATION_USAGE {}
impl ::core::clone::Clone for DECIMATION_USAGE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DECIMATION_USAGE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DECIMATION_USAGE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DECIMATION_USAGE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DECIMATION_USAGE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVBSystemType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVB_Cable: DVBSystemType = DVBSystemType(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVB_Terrestrial: DVBSystemType = DVBSystemType(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVB_Satellite: DVBSystemType = DVBSystemType(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISDB_Terrestrial: DVBSystemType = DVBSystemType(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISDB_Satellite: DVBSystemType = DVBSystemType(4i32);
impl ::core::marker::Copy for DVBSystemType {}
impl ::core::clone::Clone for DVBSystemType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVBSystemType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVBSystemType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVBSystemType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVBSystemType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_AUDIO_APPMODE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AudioMode_None: DVD_AUDIO_APPMODE = DVD_AUDIO_APPMODE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AudioMode_Karaoke: DVD_AUDIO_APPMODE = DVD_AUDIO_APPMODE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AudioMode_Surround: DVD_AUDIO_APPMODE = DVD_AUDIO_APPMODE(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AudioMode_Other: DVD_AUDIO_APPMODE = DVD_AUDIO_APPMODE(3i32);
impl ::core::marker::Copy for DVD_AUDIO_APPMODE {}
impl ::core::clone::Clone for DVD_AUDIO_APPMODE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_AUDIO_APPMODE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_AUDIO_APPMODE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_AUDIO_APPMODE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_AUDIO_APPMODE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_AUDIO_FORMAT(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AudioFormat_AC3: DVD_AUDIO_FORMAT = DVD_AUDIO_FORMAT(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AudioFormat_MPEG1: DVD_AUDIO_FORMAT = DVD_AUDIO_FORMAT(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AudioFormat_MPEG1_DRC: DVD_AUDIO_FORMAT = DVD_AUDIO_FORMAT(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AudioFormat_MPEG2: DVD_AUDIO_FORMAT = DVD_AUDIO_FORMAT(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AudioFormat_MPEG2_DRC: DVD_AUDIO_FORMAT = DVD_AUDIO_FORMAT(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AudioFormat_LPCM: DVD_AUDIO_FORMAT = DVD_AUDIO_FORMAT(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AudioFormat_DTS: DVD_AUDIO_FORMAT = DVD_AUDIO_FORMAT(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AudioFormat_SDDS: DVD_AUDIO_FORMAT = DVD_AUDIO_FORMAT(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AudioFormat_Other: DVD_AUDIO_FORMAT = DVD_AUDIO_FORMAT(8i32);
impl ::core::marker::Copy for DVD_AUDIO_FORMAT {}
impl ::core::clone::Clone for DVD_AUDIO_FORMAT {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_AUDIO_FORMAT {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_AUDIO_FORMAT {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_AUDIO_FORMAT {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_AUDIO_FORMAT").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_AUDIO_LANG_EXT(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AUD_EXT_NotSpecified: DVD_AUDIO_LANG_EXT = DVD_AUDIO_LANG_EXT(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AUD_EXT_Captions: DVD_AUDIO_LANG_EXT = DVD_AUDIO_LANG_EXT(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AUD_EXT_VisuallyImpaired: DVD_AUDIO_LANG_EXT = DVD_AUDIO_LANG_EXT(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AUD_EXT_DirectorComments1: DVD_AUDIO_LANG_EXT = DVD_AUDIO_LANG_EXT(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AUD_EXT_DirectorComments2: DVD_AUDIO_LANG_EXT = DVD_AUDIO_LANG_EXT(4i32);
impl ::core::marker::Copy for DVD_AUDIO_LANG_EXT {}
impl ::core::clone::Clone for DVD_AUDIO_LANG_EXT {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_AUDIO_LANG_EXT {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_AUDIO_LANG_EXT {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_AUDIO_LANG_EXT {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_AUDIO_LANG_EXT").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_CMD_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_CMD_FLAG_None: DVD_CMD_FLAGS = DVD_CMD_FLAGS(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_CMD_FLAG_Flush: DVD_CMD_FLAGS = DVD_CMD_FLAGS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_CMD_FLAG_SendEvents: DVD_CMD_FLAGS = DVD_CMD_FLAGS(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_CMD_FLAG_Block: DVD_CMD_FLAGS = DVD_CMD_FLAGS(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_CMD_FLAG_StartWhenRendered: DVD_CMD_FLAGS = DVD_CMD_FLAGS(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_CMD_FLAG_EndAfterRendered: DVD_CMD_FLAGS = DVD_CMD_FLAGS(16i32);
impl ::core::marker::Copy for DVD_CMD_FLAGS {}
impl ::core::clone::Clone for DVD_CMD_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_CMD_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_CMD_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_CMD_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_CMD_FLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_DISC_SIDE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SIDE_A: DVD_DISC_SIDE = DVD_DISC_SIDE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SIDE_B: DVD_DISC_SIDE = DVD_DISC_SIDE(2i32);
impl ::core::marker::Copy for DVD_DISC_SIDE {}
impl ::core::clone::Clone for DVD_DISC_SIDE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_DISC_SIDE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_DISC_SIDE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_DISC_SIDE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_DISC_SIDE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_DOMAIN(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_DOMAIN_FirstPlay: DVD_DOMAIN = DVD_DOMAIN(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_DOMAIN_VideoManagerMenu: DVD_DOMAIN = DVD_DOMAIN(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_DOMAIN_VideoTitleSetMenu: DVD_DOMAIN = DVD_DOMAIN(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_DOMAIN_Title: DVD_DOMAIN = DVD_DOMAIN(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_DOMAIN_Stop: DVD_DOMAIN = DVD_DOMAIN(5i32);
impl ::core::marker::Copy for DVD_DOMAIN {}
impl ::core::clone::Clone for DVD_DOMAIN {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_DOMAIN {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_DOMAIN {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_DOMAIN {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_DOMAIN").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_ERROR(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_ERROR_Unexpected: DVD_ERROR = DVD_ERROR(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_ERROR_CopyProtectFail: DVD_ERROR = DVD_ERROR(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_ERROR_InvalidDVD1_0Disc: DVD_ERROR = DVD_ERROR(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_ERROR_InvalidDiscRegion: DVD_ERROR = DVD_ERROR(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_ERROR_LowParentalLevel: DVD_ERROR = DVD_ERROR(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_ERROR_MacrovisionFail: DVD_ERROR = DVD_ERROR(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_ERROR_IncompatibleSystemAndDecoderRegions: DVD_ERROR = DVD_ERROR(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_ERROR_IncompatibleDiscAndDecoderRegions: DVD_ERROR = DVD_ERROR(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_ERROR_CopyProtectOutputFail: DVD_ERROR = DVD_ERROR(9i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_ERROR_CopyProtectOutputNotSupported: DVD_ERROR = DVD_ERROR(10i32);
impl ::core::marker::Copy for DVD_ERROR {}
impl ::core::clone::Clone for DVD_ERROR {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_ERROR {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_ERROR {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_ERROR {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_ERROR").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_FRAMERATE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_FPS_25: DVD_FRAMERATE = DVD_FRAMERATE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_FPS_30NonDrop: DVD_FRAMERATE = DVD_FRAMERATE(3i32);
impl ::core::marker::Copy for DVD_FRAMERATE {}
impl ::core::clone::Clone for DVD_FRAMERATE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_FRAMERATE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_FRAMERATE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_FRAMERATE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_FRAMERATE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_KARAOKE_ASSIGNMENT(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Assignment_reserved0: DVD_KARAOKE_ASSIGNMENT = DVD_KARAOKE_ASSIGNMENT(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Assignment_reserved1: DVD_KARAOKE_ASSIGNMENT = DVD_KARAOKE_ASSIGNMENT(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Assignment_LR: DVD_KARAOKE_ASSIGNMENT = DVD_KARAOKE_ASSIGNMENT(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Assignment_LRM: DVD_KARAOKE_ASSIGNMENT = DVD_KARAOKE_ASSIGNMENT(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Assignment_LR1: DVD_KARAOKE_ASSIGNMENT = DVD_KARAOKE_ASSIGNMENT(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Assignment_LRM1: DVD_KARAOKE_ASSIGNMENT = DVD_KARAOKE_ASSIGNMENT(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Assignment_LR12: DVD_KARAOKE_ASSIGNMENT = DVD_KARAOKE_ASSIGNMENT(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Assignment_LRM12: DVD_KARAOKE_ASSIGNMENT = DVD_KARAOKE_ASSIGNMENT(7i32);
impl ::core::marker::Copy for DVD_KARAOKE_ASSIGNMENT {}
impl ::core::clone::Clone for DVD_KARAOKE_ASSIGNMENT {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_KARAOKE_ASSIGNMENT {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_KARAOKE_ASSIGNMENT {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_KARAOKE_ASSIGNMENT {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_KARAOKE_ASSIGNMENT").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_KARAOKE_CONTENTS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Karaoke_GuideVocal1: DVD_KARAOKE_CONTENTS = DVD_KARAOKE_CONTENTS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Karaoke_GuideVocal2: DVD_KARAOKE_CONTENTS = DVD_KARAOKE_CONTENTS(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Karaoke_GuideMelody1: DVD_KARAOKE_CONTENTS = DVD_KARAOKE_CONTENTS(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Karaoke_GuideMelody2: DVD_KARAOKE_CONTENTS = DVD_KARAOKE_CONTENTS(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Karaoke_GuideMelodyA: DVD_KARAOKE_CONTENTS = DVD_KARAOKE_CONTENTS(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Karaoke_GuideMelodyB: DVD_KARAOKE_CONTENTS = DVD_KARAOKE_CONTENTS(32i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Karaoke_SoundEffectA: DVD_KARAOKE_CONTENTS = DVD_KARAOKE_CONTENTS(64i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Karaoke_SoundEffectB: DVD_KARAOKE_CONTENTS = DVD_KARAOKE_CONTENTS(128i32);
impl ::core::marker::Copy for DVD_KARAOKE_CONTENTS {}
impl ::core::clone::Clone for DVD_KARAOKE_CONTENTS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_KARAOKE_CONTENTS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_KARAOKE_CONTENTS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_KARAOKE_CONTENTS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_KARAOKE_CONTENTS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_KARAOKE_DOWNMIX(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Mix_0to0: DVD_KARAOKE_DOWNMIX = DVD_KARAOKE_DOWNMIX(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Mix_1to0: DVD_KARAOKE_DOWNMIX = DVD_KARAOKE_DOWNMIX(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Mix_2to0: DVD_KARAOKE_DOWNMIX = DVD_KARAOKE_DOWNMIX(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Mix_3to0: DVD_KARAOKE_DOWNMIX = DVD_KARAOKE_DOWNMIX(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Mix_4to0: DVD_KARAOKE_DOWNMIX = DVD_KARAOKE_DOWNMIX(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Mix_Lto0: DVD_KARAOKE_DOWNMIX = DVD_KARAOKE_DOWNMIX(32i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Mix_Rto0: DVD_KARAOKE_DOWNMIX = DVD_KARAOKE_DOWNMIX(64i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Mix_0to1: DVD_KARAOKE_DOWNMIX = DVD_KARAOKE_DOWNMIX(256i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Mix_1to1: DVD_KARAOKE_DOWNMIX = DVD_KARAOKE_DOWNMIX(512i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Mix_2to1: DVD_KARAOKE_DOWNMIX = DVD_KARAOKE_DOWNMIX(1024i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Mix_3to1: DVD_KARAOKE_DOWNMIX = DVD_KARAOKE_DOWNMIX(2048i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Mix_4to1: DVD_KARAOKE_DOWNMIX = DVD_KARAOKE_DOWNMIX(4096i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Mix_Lto1: DVD_KARAOKE_DOWNMIX = DVD_KARAOKE_DOWNMIX(8192i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Mix_Rto1: DVD_KARAOKE_DOWNMIX = DVD_KARAOKE_DOWNMIX(16384i32);
impl ::core::marker::Copy for DVD_KARAOKE_DOWNMIX {}
impl ::core::clone::Clone for DVD_KARAOKE_DOWNMIX {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_KARAOKE_DOWNMIX {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_KARAOKE_DOWNMIX {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_KARAOKE_DOWNMIX {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_KARAOKE_DOWNMIX").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_MENU_ID(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_MENU_Title: DVD_MENU_ID = DVD_MENU_ID(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_MENU_Root: DVD_MENU_ID = DVD_MENU_ID(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_MENU_Subpicture: DVD_MENU_ID = DVD_MENU_ID(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_MENU_Audio: DVD_MENU_ID = DVD_MENU_ID(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_MENU_Angle: DVD_MENU_ID = DVD_MENU_ID(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_MENU_Chapter: DVD_MENU_ID = DVD_MENU_ID(7i32);
impl ::core::marker::Copy for DVD_MENU_ID {}
impl ::core::clone::Clone for DVD_MENU_ID {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_MENU_ID {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_MENU_ID {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_MENU_ID {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_MENU_ID").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_NavCmdType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_NavCmdType_Pre: DVD_NavCmdType = DVD_NavCmdType(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_NavCmdType_Post: DVD_NavCmdType = DVD_NavCmdType(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_NavCmdType_Cell: DVD_NavCmdType = DVD_NavCmdType(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_NavCmdType_Button: DVD_NavCmdType = DVD_NavCmdType(4i32);
impl ::core::marker::Copy for DVD_NavCmdType {}
impl ::core::clone::Clone for DVD_NavCmdType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_NavCmdType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_NavCmdType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_NavCmdType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_NavCmdType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_OPTION_FLAG(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_ResetOnStop: DVD_OPTION_FLAG = DVD_OPTION_FLAG(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_NotifyParentalLevelChange: DVD_OPTION_FLAG = DVD_OPTION_FLAG(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_HMSF_TimeCodeEvents: DVD_OPTION_FLAG = DVD_OPTION_FLAG(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AudioDuringFFwdRew: DVD_OPTION_FLAG = DVD_OPTION_FLAG(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_EnableNonblockingAPIs: DVD_OPTION_FLAG = DVD_OPTION_FLAG(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_CacheSizeInMB: DVD_OPTION_FLAG = DVD_OPTION_FLAG(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_EnablePortableBookmarks: DVD_OPTION_FLAG = DVD_OPTION_FLAG(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_EnableExtendedCopyProtectErrors: DVD_OPTION_FLAG = DVD_OPTION_FLAG(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_NotifyPositionChange: DVD_OPTION_FLAG = DVD_OPTION_FLAG(9i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_IncreaseOutputControl: DVD_OPTION_FLAG = DVD_OPTION_FLAG(10i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_EnableStreaming: DVD_OPTION_FLAG = DVD_OPTION_FLAG(11i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_EnableESOutput: DVD_OPTION_FLAG = DVD_OPTION_FLAG(12i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_EnableTitleLength: DVD_OPTION_FLAG = DVD_OPTION_FLAG(13i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_DisableStillThrottle: DVD_OPTION_FLAG = DVD_OPTION_FLAG(14i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_EnableLoggingEvents: DVD_OPTION_FLAG = DVD_OPTION_FLAG(15i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_MaxReadBurstInKB: DVD_OPTION_FLAG = DVD_OPTION_FLAG(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_ReadBurstPeriodInMS: DVD_OPTION_FLAG = DVD_OPTION_FLAG(17i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_RestartDisc: DVD_OPTION_FLAG = DVD_OPTION_FLAG(18i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_EnableCC: DVD_OPTION_FLAG = DVD_OPTION_FLAG(19i32);
impl ::core::marker::Copy for DVD_OPTION_FLAG {}
impl ::core::clone::Clone for DVD_OPTION_FLAG {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_OPTION_FLAG {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_OPTION_FLAG {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_OPTION_FLAG {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_OPTION_FLAG").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_PARENTAL_LEVEL(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PARENTAL_LEVEL_8: DVD_PARENTAL_LEVEL = DVD_PARENTAL_LEVEL(32768i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PARENTAL_LEVEL_7: DVD_PARENTAL_LEVEL = DVD_PARENTAL_LEVEL(16384i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PARENTAL_LEVEL_6: DVD_PARENTAL_LEVEL = DVD_PARENTAL_LEVEL(8192i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PARENTAL_LEVEL_5: DVD_PARENTAL_LEVEL = DVD_PARENTAL_LEVEL(4096i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PARENTAL_LEVEL_4: DVD_PARENTAL_LEVEL = DVD_PARENTAL_LEVEL(2048i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PARENTAL_LEVEL_3: DVD_PARENTAL_LEVEL = DVD_PARENTAL_LEVEL(1024i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PARENTAL_LEVEL_2: DVD_PARENTAL_LEVEL = DVD_PARENTAL_LEVEL(512i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PARENTAL_LEVEL_1: DVD_PARENTAL_LEVEL = DVD_PARENTAL_LEVEL(256i32);
impl ::core::marker::Copy for DVD_PARENTAL_LEVEL {}
impl ::core::clone::Clone for DVD_PARENTAL_LEVEL {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_PARENTAL_LEVEL {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_PARENTAL_LEVEL {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_PARENTAL_LEVEL {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_PARENTAL_LEVEL").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_PB_STOPPED(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PB_STOPPED_Other: DVD_PB_STOPPED = DVD_PB_STOPPED(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PB_STOPPED_NoBranch: DVD_PB_STOPPED = DVD_PB_STOPPED(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PB_STOPPED_NoFirstPlayDomain: DVD_PB_STOPPED = DVD_PB_STOPPED(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PB_STOPPED_StopCommand: DVD_PB_STOPPED = DVD_PB_STOPPED(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PB_STOPPED_Reset: DVD_PB_STOPPED = DVD_PB_STOPPED(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PB_STOPPED_DiscEjected: DVD_PB_STOPPED = DVD_PB_STOPPED(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PB_STOPPED_IllegalNavCommand: DVD_PB_STOPPED = DVD_PB_STOPPED(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PB_STOPPED_PlayPeriodAutoStop: DVD_PB_STOPPED = DVD_PB_STOPPED(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PB_STOPPED_PlayChapterAutoStop: DVD_PB_STOPPED = DVD_PB_STOPPED(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PB_STOPPED_ParentalFailure: DVD_PB_STOPPED = DVD_PB_STOPPED(9i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PB_STOPPED_RegionFailure: DVD_PB_STOPPED = DVD_PB_STOPPED(10i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PB_STOPPED_MacrovisionFailure: DVD_PB_STOPPED = DVD_PB_STOPPED(11i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PB_STOPPED_DiscReadError: DVD_PB_STOPPED = DVD_PB_STOPPED(12i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PB_STOPPED_CopyProtectFailure: DVD_PB_STOPPED = DVD_PB_STOPPED(13i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PB_STOPPED_CopyProtectOutputFailure: DVD_PB_STOPPED = DVD_PB_STOPPED(14i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_PB_STOPPED_CopyProtectOutputNotSupported: DVD_PB_STOPPED = DVD_PB_STOPPED(15i32);
impl ::core::marker::Copy for DVD_PB_STOPPED {}
impl ::core::clone::Clone for DVD_PB_STOPPED {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_PB_STOPPED {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_PB_STOPPED {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_PB_STOPPED {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_PB_STOPPED").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_PLAY_DIRECTION(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_DIR_FORWARD: DVD_PLAY_DIRECTION = DVD_PLAY_DIRECTION(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_DIR_BACKWARD: DVD_PLAY_DIRECTION = DVD_PLAY_DIRECTION(1i32);
impl ::core::marker::Copy for DVD_PLAY_DIRECTION {}
impl ::core::clone::Clone for DVD_PLAY_DIRECTION {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_PLAY_DIRECTION {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_PLAY_DIRECTION {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_PLAY_DIRECTION {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_PLAY_DIRECTION").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_PREFERRED_DISPLAY_MODE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DISPLAY_CONTENT_DEFAULT: DVD_PREFERRED_DISPLAY_MODE = DVD_PREFERRED_DISPLAY_MODE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DISPLAY_16x9: DVD_PREFERRED_DISPLAY_MODE = DVD_PREFERRED_DISPLAY_MODE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DISPLAY_4x3_PANSCAN_PREFERRED: DVD_PREFERRED_DISPLAY_MODE = DVD_PREFERRED_DISPLAY_MODE(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DISPLAY_4x3_LETTERBOX_PREFERRED: DVD_PREFERRED_DISPLAY_MODE = DVD_PREFERRED_DISPLAY_MODE(3i32);
impl ::core::marker::Copy for DVD_PREFERRED_DISPLAY_MODE {}
impl ::core::clone::Clone for DVD_PREFERRED_DISPLAY_MODE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_PREFERRED_DISPLAY_MODE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_PREFERRED_DISPLAY_MODE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_PREFERRED_DISPLAY_MODE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_PREFERRED_DISPLAY_MODE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_RELATIVE_BUTTON(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Relative_Upper: DVD_RELATIVE_BUTTON = DVD_RELATIVE_BUTTON(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Relative_Lower: DVD_RELATIVE_BUTTON = DVD_RELATIVE_BUTTON(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Relative_Left: DVD_RELATIVE_BUTTON = DVD_RELATIVE_BUTTON(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Relative_Right: DVD_RELATIVE_BUTTON = DVD_RELATIVE_BUTTON(4i32);
impl ::core::marker::Copy for DVD_RELATIVE_BUTTON {}
impl ::core::clone::Clone for DVD_RELATIVE_BUTTON {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_RELATIVE_BUTTON {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_RELATIVE_BUTTON {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_RELATIVE_BUTTON {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_RELATIVE_BUTTON").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_SUBPICTURE_CODING(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SPCoding_RunLength: DVD_SUBPICTURE_CODING = DVD_SUBPICTURE_CODING(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SPCoding_Extended: DVD_SUBPICTURE_CODING = DVD_SUBPICTURE_CODING(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SPCoding_Other: DVD_SUBPICTURE_CODING = DVD_SUBPICTURE_CODING(2i32);
impl ::core::marker::Copy for DVD_SUBPICTURE_CODING {}
impl ::core::clone::Clone for DVD_SUBPICTURE_CODING {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_SUBPICTURE_CODING {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_SUBPICTURE_CODING {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_SUBPICTURE_CODING {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_SUBPICTURE_CODING").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_SUBPICTURE_LANG_EXT(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SP_EXT_NotSpecified: DVD_SUBPICTURE_LANG_EXT = DVD_SUBPICTURE_LANG_EXT(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SP_EXT_Caption_Normal: DVD_SUBPICTURE_LANG_EXT = DVD_SUBPICTURE_LANG_EXT(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SP_EXT_Caption_Big: DVD_SUBPICTURE_LANG_EXT = DVD_SUBPICTURE_LANG_EXT(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SP_EXT_Caption_Children: DVD_SUBPICTURE_LANG_EXT = DVD_SUBPICTURE_LANG_EXT(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SP_EXT_CC_Normal: DVD_SUBPICTURE_LANG_EXT = DVD_SUBPICTURE_LANG_EXT(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SP_EXT_CC_Big: DVD_SUBPICTURE_LANG_EXT = DVD_SUBPICTURE_LANG_EXT(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SP_EXT_CC_Children: DVD_SUBPICTURE_LANG_EXT = DVD_SUBPICTURE_LANG_EXT(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SP_EXT_Forced: DVD_SUBPICTURE_LANG_EXT = DVD_SUBPICTURE_LANG_EXT(9i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SP_EXT_DirectorComments_Normal: DVD_SUBPICTURE_LANG_EXT = DVD_SUBPICTURE_LANG_EXT(13i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SP_EXT_DirectorComments_Big: DVD_SUBPICTURE_LANG_EXT = DVD_SUBPICTURE_LANG_EXT(14i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SP_EXT_DirectorComments_Children: DVD_SUBPICTURE_LANG_EXT = DVD_SUBPICTURE_LANG_EXT(15i32);
impl ::core::marker::Copy for DVD_SUBPICTURE_LANG_EXT {}
impl ::core::clone::Clone for DVD_SUBPICTURE_LANG_EXT {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_SUBPICTURE_LANG_EXT {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_SUBPICTURE_LANG_EXT {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_SUBPICTURE_LANG_EXT {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_SUBPICTURE_LANG_EXT").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_SUBPICTURE_TYPE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SPType_NotSpecified: DVD_SUBPICTURE_TYPE = DVD_SUBPICTURE_TYPE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SPType_Language: DVD_SUBPICTURE_TYPE = DVD_SUBPICTURE_TYPE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_SPType_Other: DVD_SUBPICTURE_TYPE = DVD_SUBPICTURE_TYPE(2i32);
impl ::core::marker::Copy for DVD_SUBPICTURE_TYPE {}
impl ::core::clone::Clone for DVD_SUBPICTURE_TYPE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_SUBPICTURE_TYPE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_SUBPICTURE_TYPE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_SUBPICTURE_TYPE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_SUBPICTURE_TYPE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_TIMECODE_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_TC_FLAG_25fps: DVD_TIMECODE_FLAGS = DVD_TIMECODE_FLAGS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_TC_FLAG_30fps: DVD_TIMECODE_FLAGS = DVD_TIMECODE_FLAGS(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_TC_FLAG_DropFrame: DVD_TIMECODE_FLAGS = DVD_TIMECODE_FLAGS(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_TC_FLAG_Interpolated: DVD_TIMECODE_FLAGS = DVD_TIMECODE_FLAGS(8i32);
impl ::core::marker::Copy for DVD_TIMECODE_FLAGS {}
impl ::core::clone::Clone for DVD_TIMECODE_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_TIMECODE_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_TIMECODE_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_TIMECODE_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_TIMECODE_FLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_TITLE_APPMODE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AppMode_Not_Specified: DVD_TITLE_APPMODE = DVD_TITLE_APPMODE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AppMode_Karaoke: DVD_TITLE_APPMODE = DVD_TITLE_APPMODE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_AppMode_Other: DVD_TITLE_APPMODE = DVD_TITLE_APPMODE(3i32);
impl ::core::marker::Copy for DVD_TITLE_APPMODE {}
impl ::core::clone::Clone for DVD_TITLE_APPMODE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_TITLE_APPMODE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_TITLE_APPMODE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_TITLE_APPMODE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_TITLE_APPMODE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_TextCharSet(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_CharSet_Unicode: DVD_TextCharSet = DVD_TextCharSet(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_CharSet_ISO646: DVD_TextCharSet = DVD_TextCharSet(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_CharSet_JIS_Roman_Kanji: DVD_TextCharSet = DVD_TextCharSet(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_CharSet_ISO8859_1: DVD_TextCharSet = DVD_TextCharSet(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana: DVD_TextCharSet = DVD_TextCharSet(4i32);
impl ::core::marker::Copy for DVD_TextCharSet {}
impl ::core::clone::Clone for DVD_TextCharSet {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_TextCharSet {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_TextCharSet {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_TextCharSet {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_TextCharSet").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_TextStringType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Struct_Volume: DVD_TextStringType = DVD_TextStringType(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Struct_Title: DVD_TextStringType = DVD_TextStringType(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Struct_ParentalID: DVD_TextStringType = DVD_TextStringType(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Struct_PartOfTitle: DVD_TextStringType = DVD_TextStringType(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Struct_Cell: DVD_TextStringType = DVD_TextStringType(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Stream_Audio: DVD_TextStringType = DVD_TextStringType(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Stream_Subpicture: DVD_TextStringType = DVD_TextStringType(17i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Stream_Angle: DVD_TextStringType = DVD_TextStringType(18i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Channel_Audio: DVD_TextStringType = DVD_TextStringType(32i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_General_Name: DVD_TextStringType = DVD_TextStringType(48i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_General_Comments: DVD_TextStringType = DVD_TextStringType(49i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Title_Series: DVD_TextStringType = DVD_TextStringType(56i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Title_Movie: DVD_TextStringType = DVD_TextStringType(57i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Title_Video: DVD_TextStringType = DVD_TextStringType(58i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Title_Album: DVD_TextStringType = DVD_TextStringType(59i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Title_Song: DVD_TextStringType = DVD_TextStringType(60i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Title_Other: DVD_TextStringType = DVD_TextStringType(63i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Title_Sub_Series: DVD_TextStringType = DVD_TextStringType(64i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Title_Sub_Movie: DVD_TextStringType = DVD_TextStringType(65i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Title_Sub_Video: DVD_TextStringType = DVD_TextStringType(66i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Title_Sub_Album: DVD_TextStringType = DVD_TextStringType(67i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Title_Sub_Song: DVD_TextStringType = DVD_TextStringType(68i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Title_Sub_Other: DVD_TextStringType = DVD_TextStringType(71i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Title_Orig_Series: DVD_TextStringType = DVD_TextStringType(72i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Title_Orig_Movie: DVD_TextStringType = DVD_TextStringType(73i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Title_Orig_Video: DVD_TextStringType = DVD_TextStringType(74i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Title_Orig_Album: DVD_TextStringType = DVD_TextStringType(75i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Title_Orig_Song: DVD_TextStringType = DVD_TextStringType(76i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Title_Orig_Other: DVD_TextStringType = DVD_TextStringType(79i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Other_Scene: DVD_TextStringType = DVD_TextStringType(80i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Other_Cut: DVD_TextStringType = DVD_TextStringType(81i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_Other_Take: DVD_TextStringType = DVD_TextStringType(82i32);
impl ::core::marker::Copy for DVD_TextStringType {}
impl ::core::clone::Clone for DVD_TextStringType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_TextStringType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_TextStringType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_TextStringType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_TextStringType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_VIDEO_COMPRESSION(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_VideoCompression_Other: DVD_VIDEO_COMPRESSION = DVD_VIDEO_COMPRESSION(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_VideoCompression_MPEG1: DVD_VIDEO_COMPRESSION = DVD_VIDEO_COMPRESSION(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_VideoCompression_MPEG2: DVD_VIDEO_COMPRESSION = DVD_VIDEO_COMPRESSION(2i32);
impl ::core::marker::Copy for DVD_VIDEO_COMPRESSION {}
impl ::core::clone::Clone for DVD_VIDEO_COMPRESSION {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_VIDEO_COMPRESSION {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_VIDEO_COMPRESSION {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_VIDEO_COMPRESSION {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_VIDEO_COMPRESSION").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DVD_WARNING(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_WARNING_InvalidDVD1_0Disc: DVD_WARNING = DVD_WARNING(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_WARNING_FormatNotSupported: DVD_WARNING = DVD_WARNING(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_WARNING_IllegalNavCommand: DVD_WARNING = DVD_WARNING(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_WARNING_Open: DVD_WARNING = DVD_WARNING(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_WARNING_Seek: DVD_WARNING = DVD_WARNING(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVD_WARNING_Read: DVD_WARNING = DVD_WARNING(6i32);
impl ::core::marker::Copy for DVD_WARNING {}
impl ::core::clone::Clone for DVD_WARNING {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DVD_WARNING {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DVD_WARNING {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DVD_WARNING {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DVD_WARNING").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DXVA2_DestinationFlags(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2_DestinationFlag_Background_Changed: DXVA2_DestinationFlags = DXVA2_DestinationFlags(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2_DestinationFlag_TargetRect_Changed: DXVA2_DestinationFlags = DXVA2_DestinationFlags(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2_DestinationFlag_ColorData_Changed: DXVA2_DestinationFlags = DXVA2_DestinationFlags(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2_DestinationFlag_Alpha_Changed: DXVA2_DestinationFlags = DXVA2_DestinationFlags(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2_DestinationFlag_RFF: DXVA2_DestinationFlags = DXVA2_DestinationFlags(65536i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2_DestinationFlag_TFF: DXVA2_DestinationFlags = DXVA2_DestinationFlags(131072i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2_DestinationFlag_RFF_TFF_Present: DXVA2_DestinationFlags = DXVA2_DestinationFlags(262144i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2_DestinationFlagMask: DXVA2_DestinationFlags = DXVA2_DestinationFlags(-65521i32);
impl ::core::marker::Copy for DXVA2_DestinationFlags {}
impl ::core::clone::Clone for DXVA2_DestinationFlags {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DXVA2_DestinationFlags {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DXVA2_DestinationFlags {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DXVA2_DestinationFlags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DXVA2_DestinationFlags").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct DXVA2_SampleFlags(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2_SampleFlag_Palette_Changed: DXVA2_SampleFlags = DXVA2_SampleFlags(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2_SampleFlag_SrcRect_Changed: DXVA2_SampleFlags = DXVA2_SampleFlags(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2_SampleFlag_DstRect_Changed: DXVA2_SampleFlags = DXVA2_SampleFlags(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2_SampleFlag_ColorData_Changed: DXVA2_SampleFlags = DXVA2_SampleFlags(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2_SampleFlag_PlanarAlpha_Changed: DXVA2_SampleFlags = DXVA2_SampleFlags(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2_SampleFlag_RFF: DXVA2_SampleFlags = DXVA2_SampleFlags(65536i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2_SampleFlag_TFF: DXVA2_SampleFlags = DXVA2_SampleFlags(131072i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2_SampleFlag_RFF_TFF_Present: DXVA2_SampleFlags = DXVA2_SampleFlags(262144i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DXVA2_SampleFlagsMask: DXVA2_SampleFlags = DXVA2_SampleFlags(-65505i32);
impl ::core::marker::Copy for DXVA2_SampleFlags {}
impl ::core::clone::Clone for DXVA2_SampleFlags {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for DXVA2_SampleFlags {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for DXVA2_SampleFlags {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for DXVA2_SampleFlags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DXVA2_SampleFlags").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct EntitlementType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const Entitled: EntitlementType = EntitlementType(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const NotEntitled: EntitlementType = EntitlementType(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const TechnicalFailure: EntitlementType = EntitlementType(2i32);
impl ::core::marker::Copy for EntitlementType {}
impl ::core::clone::Clone for EntitlementType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for EntitlementType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for EntitlementType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for EntitlementType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("EntitlementType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct FECMethod(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_FEC_METHOD_NOT_SET: FECMethod = FECMethod(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_FEC_METHOD_NOT_DEFINED: FECMethod = FECMethod(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_FEC_VITERBI: FECMethod = FECMethod(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_FEC_RS_204_188: FECMethod = FECMethod(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_FEC_LDPC: FECMethod = FECMethod(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_FEC_BCH: FECMethod = FECMethod(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_FEC_RS_147_130: FECMethod = FECMethod(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_FEC_MAX: FECMethod = FECMethod(6i32);
impl ::core::marker::Copy for FECMethod {}
impl ::core::clone::Clone for FECMethod {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for FECMethod {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for FECMethod {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for FECMethod {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("FECMethod").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct FILTER_STATE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const State_Stopped: FILTER_STATE = FILTER_STATE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const State_Paused: FILTER_STATE = FILTER_STATE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const State_Running: FILTER_STATE = FILTER_STATE(2i32);
impl ::core::marker::Copy for FILTER_STATE {}
impl ::core::clone::Clone for FILTER_STATE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for FILTER_STATE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for FILTER_STATE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for FILTER_STATE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("FILTER_STATE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct GuardInterval(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_GUARD_NOT_SET: GuardInterval = GuardInterval(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_GUARD_NOT_DEFINED: GuardInterval = GuardInterval(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_GUARD_1_32: GuardInterval = GuardInterval(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_GUARD_1_16: GuardInterval = GuardInterval(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_GUARD_1_8: GuardInterval = GuardInterval(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_GUARD_1_4: GuardInterval = GuardInterval(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_GUARD_1_128: GuardInterval = GuardInterval(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_GUARD_19_128: GuardInterval = GuardInterval(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_GUARD_19_256: GuardInterval = GuardInterval(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_GUARD_MAX: GuardInterval = GuardInterval(8i32);
impl ::core::marker::Copy for GuardInterval {}
impl ::core::clone::Clone for GuardInterval {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for GuardInterval {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for GuardInterval {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for GuardInterval {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("GuardInterval").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct HierarchyAlpha(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_HALPHA_NOT_SET: HierarchyAlpha = HierarchyAlpha(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_HALPHA_NOT_DEFINED: HierarchyAlpha = HierarchyAlpha(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_HALPHA_1: HierarchyAlpha = HierarchyAlpha(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_HALPHA_2: HierarchyAlpha = HierarchyAlpha(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_HALPHA_4: HierarchyAlpha = HierarchyAlpha(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_HALPHA_MAX: HierarchyAlpha = HierarchyAlpha(4i32);
impl ::core::marker::Copy for HierarchyAlpha {}
impl ::core::clone::Clone for HierarchyAlpha {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for HierarchyAlpha {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for HierarchyAlpha {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for HierarchyAlpha {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("HierarchyAlpha").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct IFILTERMAPPER_MERIT(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MERIT_PREFERRED: IFILTERMAPPER_MERIT = IFILTERMAPPER_MERIT(8388608i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MERIT_NORMAL: IFILTERMAPPER_MERIT = IFILTERMAPPER_MERIT(6291456i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MERIT_UNLIKELY: IFILTERMAPPER_MERIT = IFILTERMAPPER_MERIT(4194304i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MERIT_DO_NOT_USE: IFILTERMAPPER_MERIT = IFILTERMAPPER_MERIT(2097152i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MERIT_SW_COMPRESSOR: IFILTERMAPPER_MERIT = IFILTERMAPPER_MERIT(1048576i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MERIT_HW_COMPRESSOR: IFILTERMAPPER_MERIT = IFILTERMAPPER_MERIT(1048656i32);
impl ::core::marker::Copy for IFILTERMAPPER_MERIT {}
impl ::core::clone::Clone for IFILTERMAPPER_MERIT {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for IFILTERMAPPER_MERIT {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for IFILTERMAPPER_MERIT {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for IFILTERMAPPER_MERIT {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("IFILTERMAPPER_MERIT").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct ISDBCAS_REQUEST_ID(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISDBCAS_REQUEST_ID_EMG: ISDBCAS_REQUEST_ID = ISDBCAS_REQUEST_ID(56i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISDBCAS_REQUEST_ID_EMD: ISDBCAS_REQUEST_ID = ISDBCAS_REQUEST_ID(58i32);
impl ::core::marker::Copy for ISDBCAS_REQUEST_ID {}
impl ::core::clone::Clone for ISDBCAS_REQUEST_ID {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for ISDBCAS_REQUEST_ID {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for ISDBCAS_REQUEST_ID {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for ISDBCAS_REQUEST_ID {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ISDBCAS_REQUEST_ID").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct InterleavingMode(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const INTERLEAVE_NONE: InterleavingMode = InterleavingMode(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const INTERLEAVE_CAPTURE: InterleavingMode = InterleavingMode(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const INTERLEAVE_FULL: InterleavingMode = InterleavingMode(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const INTERLEAVE_NONE_BUFFERED: InterleavingMode = InterleavingMode(3i32);
impl ::core::marker::Copy for InterleavingMode {}
impl ::core::clone::Clone for InterleavingMode {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for InterleavingMode {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for InterleavingMode {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for InterleavingMode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("InterleavingMode").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct KSPROPERTY_IPSINK(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const KSPROPERTY_IPSINK_MULTICASTLIST: KSPROPERTY_IPSINK = KSPROPERTY_IPSINK(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const KSPROPERTY_IPSINK_ADAPTER_DESCRIPTION: KSPROPERTY_IPSINK = KSPROPERTY_IPSINK(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const KSPROPERTY_IPSINK_ADAPTER_ADDRESS: KSPROPERTY_IPSINK = KSPROPERTY_IPSINK(2i32);
impl ::core::marker::Copy for KSPROPERTY_IPSINK {}
impl ::core::clone::Clone for KSPROPERTY_IPSINK {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for KSPROPERTY_IPSINK {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for KSPROPERTY_IPSINK {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for KSPROPERTY_IPSINK {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("KSPROPERTY_IPSINK").field(&self.0).finish()
}
}
impl KSPROPERTY_IPSINK {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl ::core::ops::BitOr for KSPROPERTY_IPSINK {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for KSPROPERTY_IPSINK {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for KSPROPERTY_IPSINK {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for KSPROPERTY_IPSINK {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for KSPROPERTY_IPSINK {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct LNB_Source(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_LNB_SOURCE_NOT_SET: LNB_Source = LNB_Source(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_LNB_SOURCE_NOT_DEFINED: LNB_Source = LNB_Source(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_LNB_SOURCE_A: LNB_Source = LNB_Source(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_LNB_SOURCE_B: LNB_Source = LNB_Source(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_LNB_SOURCE_C: LNB_Source = LNB_Source(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_LNB_SOURCE_D: LNB_Source = LNB_Source(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_LNB_SOURCE_MAX: LNB_Source = LNB_Source(5i32);
impl ::core::marker::Copy for LNB_Source {}
impl ::core::clone::Clone for LNB_Source {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for LNB_Source {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for LNB_Source {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for LNB_Source {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("LNB_Source").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct LocationCodeSchemeType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SCTE_18: LocationCodeSchemeType = LocationCodeSchemeType(0i32);
impl ::core::marker::Copy for LocationCodeSchemeType {}
impl ::core::clone::Clone for LocationCodeSchemeType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for LocationCodeSchemeType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for LocationCodeSchemeType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for LocationCodeSchemeType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("LocationCodeSchemeType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct MEDIA_SAMPLE_CONTENT(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIA_TRANSPORT_PACKET: MEDIA_SAMPLE_CONTENT = MEDIA_SAMPLE_CONTENT(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIA_ELEMENTARY_STREAM: MEDIA_SAMPLE_CONTENT = MEDIA_SAMPLE_CONTENT(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIA_MPEG2_PSI: MEDIA_SAMPLE_CONTENT = MEDIA_SAMPLE_CONTENT(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MEDIA_TRANSPORT_PAYLOAD: MEDIA_SAMPLE_CONTENT = MEDIA_SAMPLE_CONTENT(3i32);
impl ::core::marker::Copy for MEDIA_SAMPLE_CONTENT {}
impl ::core::clone::Clone for MEDIA_SAMPLE_CONTENT {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for MEDIA_SAMPLE_CONTENT {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for MEDIA_SAMPLE_CONTENT {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for MEDIA_SAMPLE_CONTENT {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("MEDIA_SAMPLE_CONTENT").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct MMSSF_GET_INFORMATION_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MMSSF_HASCLOCK: MMSSF_GET_INFORMATION_FLAGS = MMSSF_GET_INFORMATION_FLAGS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MMSSF_SUPPORTSEEK: MMSSF_GET_INFORMATION_FLAGS = MMSSF_GET_INFORMATION_FLAGS(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MMSSF_ASYNCHRONOUS: MMSSF_GET_INFORMATION_FLAGS = MMSSF_GET_INFORMATION_FLAGS(4i32);
impl ::core::marker::Copy for MMSSF_GET_INFORMATION_FLAGS {}
impl ::core::clone::Clone for MMSSF_GET_INFORMATION_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for MMSSF_GET_INFORMATION_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for MMSSF_GET_INFORMATION_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for MMSSF_GET_INFORMATION_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("MMSSF_GET_INFORMATION_FLAGS").field(&self.0).finish()
}
}
impl MMSSF_GET_INFORMATION_FLAGS {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl ::core::ops::BitOr for MMSSF_GET_INFORMATION_FLAGS {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for MMSSF_GET_INFORMATION_FLAGS {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for MMSSF_GET_INFORMATION_FLAGS {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for MMSSF_GET_INFORMATION_FLAGS {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for MMSSF_GET_INFORMATION_FLAGS {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct MPEG2StreamType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_UNITIALIZED_MPEG2STREAMTYPE: MPEG2StreamType = MPEG2StreamType(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const Reserved1: MPEG2StreamType = MPEG2StreamType(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_11172_2_VIDEO: MPEG2StreamType = MPEG2StreamType(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_13818_2_VIDEO: MPEG2StreamType = MPEG2StreamType(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_11172_3_AUDIO: MPEG2StreamType = MPEG2StreamType(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_13818_3_AUDIO: MPEG2StreamType = MPEG2StreamType(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_13818_1_PRIVATE_SECTION: MPEG2StreamType = MPEG2StreamType(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_13818_1_PES: MPEG2StreamType = MPEG2StreamType(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_13522_MHEG: MPEG2StreamType = MPEG2StreamType(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ANNEX_A_DSM_CC: MPEG2StreamType = MPEG2StreamType(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ITU_T_REC_H_222_1: MPEG2StreamType = MPEG2StreamType(9i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_13818_6_TYPE_A: MPEG2StreamType = MPEG2StreamType(10i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_13818_6_TYPE_B: MPEG2StreamType = MPEG2StreamType(11i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_13818_6_TYPE_C: MPEG2StreamType = MPEG2StreamType(12i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_13818_6_TYPE_D: MPEG2StreamType = MPEG2StreamType(13i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_13818_1_AUXILIARY: MPEG2StreamType = MPEG2StreamType(14i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_13818_7_AUDIO: MPEG2StreamType = MPEG2StreamType(15i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_14496_2_VISUAL: MPEG2StreamType = MPEG2StreamType(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_14496_3_AUDIO: MPEG2StreamType = MPEG2StreamType(17i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_14496_1_IN_PES: MPEG2StreamType = MPEG2StreamType(18i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_14496_1_IN_SECTION: MPEG2StreamType = MPEG2StreamType(19i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_13818_6_DOWNLOAD: MPEG2StreamType = MPEG2StreamType(20i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const METADATA_IN_PES: MPEG2StreamType = MPEG2StreamType(21i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const METADATA_IN_SECTION: MPEG2StreamType = MPEG2StreamType(22i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const METADATA_IN_DATA_CAROUSEL: MPEG2StreamType = MPEG2StreamType(23i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const METADATA_IN_OBJECT_CAROUSEL: MPEG2StreamType = MPEG2StreamType(24i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const METADATA_IN_DOWNLOAD_PROTOCOL: MPEG2StreamType = MPEG2StreamType(25i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const IRPM_STREAMM: MPEG2StreamType = MPEG2StreamType(26i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ITU_T_H264: MPEG2StreamType = MPEG2StreamType(27i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_13818_1_RESERVED: MPEG2StreamType = MPEG2StreamType(28i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const USER_PRIVATE: MPEG2StreamType = MPEG2StreamType(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const HEVC_VIDEO_OR_TEMPORAL_VIDEO: MPEG2StreamType = MPEG2StreamType(36i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const HEVC_TEMPORAL_VIDEO_SUBSET: MPEG2StreamType = MPEG2StreamType(37i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ISO_IEC_USER_PRIVATE: MPEG2StreamType = MPEG2StreamType(128i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DOLBY_AC3_AUDIO: MPEG2StreamType = MPEG2StreamType(129i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DOLBY_DIGITAL_PLUS_AUDIO_ATSC: MPEG2StreamType = MPEG2StreamType(135i32);
impl ::core::marker::Copy for MPEG2StreamType {}
impl ::core::clone::Clone for MPEG2StreamType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for MPEG2StreamType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for MPEG2StreamType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for MPEG2StreamType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("MPEG2StreamType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct MPEGLAYER3WAVEFORMAT_FLAGS(pub u32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEGLAYER3_FLAG_PADDING_ISO: MPEGLAYER3WAVEFORMAT_FLAGS = MPEGLAYER3WAVEFORMAT_FLAGS(0u32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEGLAYER3_FLAG_PADDING_ON: MPEGLAYER3WAVEFORMAT_FLAGS = MPEGLAYER3WAVEFORMAT_FLAGS(1u32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPEGLAYER3_FLAG_PADDING_OFF: MPEGLAYER3WAVEFORMAT_FLAGS = MPEGLAYER3WAVEFORMAT_FLAGS(2u32);
impl ::core::marker::Copy for MPEGLAYER3WAVEFORMAT_FLAGS {}
impl ::core::clone::Clone for MPEGLAYER3WAVEFORMAT_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for MPEGLAYER3WAVEFORMAT_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for MPEGLAYER3WAVEFORMAT_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for MPEGLAYER3WAVEFORMAT_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("MPEGLAYER3WAVEFORMAT_FLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct MP_CURVE_TYPE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MP_CURVE_JUMP: MP_CURVE_TYPE = MP_CURVE_TYPE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MP_CURVE_LINEAR: MP_CURVE_TYPE = MP_CURVE_TYPE(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MP_CURVE_SQUARE: MP_CURVE_TYPE = MP_CURVE_TYPE(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MP_CURVE_INVSQUARE: MP_CURVE_TYPE = MP_CURVE_TYPE(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MP_CURVE_SINE: MP_CURVE_TYPE = MP_CURVE_TYPE(16i32);
impl ::core::marker::Copy for MP_CURVE_TYPE {}
impl ::core::clone::Clone for MP_CURVE_TYPE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for MP_CURVE_TYPE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for MP_CURVE_TYPE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for MP_CURVE_TYPE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("MP_CURVE_TYPE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct MP_TYPE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPT_INT: MP_TYPE = MP_TYPE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPT_FLOAT: MP_TYPE = MP_TYPE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPT_BOOL: MP_TYPE = MP_TYPE(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPT_ENUM: MP_TYPE = MP_TYPE(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MPT_MAX: MP_TYPE = MP_TYPE(4i32);
impl ::core::marker::Copy for MP_TYPE {}
impl ::core::clone::Clone for MP_TYPE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for MP_TYPE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for MP_TYPE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for MP_TYPE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("MP_TYPE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct MUX_PID_TYPE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PID_OTHER: MUX_PID_TYPE = MUX_PID_TYPE(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PID_ELEMENTARY_STREAM: MUX_PID_TYPE = MUX_PID_TYPE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PID_MPEG2_SECTION_PSI_SI: MUX_PID_TYPE = MUX_PID_TYPE(1i32);
impl ::core::marker::Copy for MUX_PID_TYPE {}
impl ::core::clone::Clone for MUX_PID_TYPE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for MUX_PID_TYPE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for MUX_PID_TYPE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for MUX_PID_TYPE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("MUX_PID_TYPE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct ModulationType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_NOT_SET: ModulationType = ModulationType(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_NOT_DEFINED: ModulationType = ModulationType(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_16QAM: ModulationType = ModulationType(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_32QAM: ModulationType = ModulationType(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_64QAM: ModulationType = ModulationType(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_80QAM: ModulationType = ModulationType(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_96QAM: ModulationType = ModulationType(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_112QAM: ModulationType = ModulationType(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_128QAM: ModulationType = ModulationType(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_160QAM: ModulationType = ModulationType(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_192QAM: ModulationType = ModulationType(9i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_224QAM: ModulationType = ModulationType(10i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_256QAM: ModulationType = ModulationType(11i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_320QAM: ModulationType = ModulationType(12i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_384QAM: ModulationType = ModulationType(13i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_448QAM: ModulationType = ModulationType(14i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_512QAM: ModulationType = ModulationType(15i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_640QAM: ModulationType = ModulationType(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_768QAM: ModulationType = ModulationType(17i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_896QAM: ModulationType = ModulationType(18i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_1024QAM: ModulationType = ModulationType(19i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_QPSK: ModulationType = ModulationType(20i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_BPSK: ModulationType = ModulationType(21i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_OQPSK: ModulationType = ModulationType(22i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_8VSB: ModulationType = ModulationType(23i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_16VSB: ModulationType = ModulationType(24i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_ANALOG_AMPLITUDE: ModulationType = ModulationType(25i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_ANALOG_FREQUENCY: ModulationType = ModulationType(26i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_8PSK: ModulationType = ModulationType(27i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_RF: ModulationType = ModulationType(28i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_16APSK: ModulationType = ModulationType(29i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_32APSK: ModulationType = ModulationType(30i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_NBC_QPSK: ModulationType = ModulationType(31i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_NBC_8PSK: ModulationType = ModulationType(32i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_DIRECTV: ModulationType = ModulationType(33i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_ISDB_T_TMCC: ModulationType = ModulationType(34i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_ISDB_S_TMCC: ModulationType = ModulationType(35i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_MOD_MAX: ModulationType = ModulationType(36i32);
impl ::core::marker::Copy for ModulationType {}
impl ::core::clone::Clone for ModulationType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for ModulationType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for ModulationType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for ModulationType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ModulationType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct OA_BOOL(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const OATRUE: OA_BOOL = OA_BOOL(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const OAFALSE: OA_BOOL = OA_BOOL(0i32);
impl ::core::marker::Copy for OA_BOOL {}
impl ::core::clone::Clone for OA_BOOL {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for OA_BOOL {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for OA_BOOL {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for OA_BOOL {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("OA_BOOL").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct OUTPUT_STATE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const Disabled: OUTPUT_STATE = OUTPUT_STATE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ReadData: OUTPUT_STATE = OUTPUT_STATE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const RenderData: OUTPUT_STATE = OUTPUT_STATE(2i32);
impl ::core::marker::Copy for OUTPUT_STATE {}
impl ::core::clone::Clone for OUTPUT_STATE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for OUTPUT_STATE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for OUTPUT_STATE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for OUTPUT_STATE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("OUTPUT_STATE").field(&self.0).finish()
}
}
impl OUTPUT_STATE {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl ::core::ops::BitOr for OUTPUT_STATE {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for OUTPUT_STATE {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for OUTPUT_STATE {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for OUTPUT_STATE {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for OUTPUT_STATE {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct PIN_DIRECTION(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PINDIR_INPUT: PIN_DIRECTION = PIN_DIRECTION(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PINDIR_OUTPUT: PIN_DIRECTION = PIN_DIRECTION(1i32);
impl ::core::marker::Copy for PIN_DIRECTION {}
impl ::core::clone::Clone for PIN_DIRECTION {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for PIN_DIRECTION {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for PIN_DIRECTION {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for PIN_DIRECTION {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PIN_DIRECTION").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct PhysicalConnectorType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Video_Tuner: PhysicalConnectorType = PhysicalConnectorType(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Video_Composite: PhysicalConnectorType = PhysicalConnectorType(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Video_SVideo: PhysicalConnectorType = PhysicalConnectorType(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Video_RGB: PhysicalConnectorType = PhysicalConnectorType(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Video_YRYBY: PhysicalConnectorType = PhysicalConnectorType(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Video_SerialDigital: PhysicalConnectorType = PhysicalConnectorType(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Video_ParallelDigital: PhysicalConnectorType = PhysicalConnectorType(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Video_SCSI: PhysicalConnectorType = PhysicalConnectorType(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Video_AUX: PhysicalConnectorType = PhysicalConnectorType(9i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Video_1394: PhysicalConnectorType = PhysicalConnectorType(10i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Video_USB: PhysicalConnectorType = PhysicalConnectorType(11i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Video_VideoDecoder: PhysicalConnectorType = PhysicalConnectorType(12i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Video_VideoEncoder: PhysicalConnectorType = PhysicalConnectorType(13i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Video_SCART: PhysicalConnectorType = PhysicalConnectorType(14i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Video_Black: PhysicalConnectorType = PhysicalConnectorType(15i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Audio_Tuner: PhysicalConnectorType = PhysicalConnectorType(4096i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Audio_Line: PhysicalConnectorType = PhysicalConnectorType(4097i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Audio_Mic: PhysicalConnectorType = PhysicalConnectorType(4098i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Audio_AESDigital: PhysicalConnectorType = PhysicalConnectorType(4099i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Audio_SPDIFDigital: PhysicalConnectorType = PhysicalConnectorType(4100i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Audio_SCSI: PhysicalConnectorType = PhysicalConnectorType(4101i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Audio_AUX: PhysicalConnectorType = PhysicalConnectorType(4102i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Audio_1394: PhysicalConnectorType = PhysicalConnectorType(4103i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Audio_USB: PhysicalConnectorType = PhysicalConnectorType(4104i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const PhysConn_Audio_AudioDecoder: PhysicalConnectorType = PhysicalConnectorType(4105i32);
impl ::core::marker::Copy for PhysicalConnectorType {}
impl ::core::clone::Clone for PhysicalConnectorType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for PhysicalConnectorType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for PhysicalConnectorType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for PhysicalConnectorType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("PhysicalConnectorType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct Pilot(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_PILOT_NOT_SET: Pilot = Pilot(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_PILOT_NOT_DEFINED: Pilot = Pilot(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_PILOT_OFF: Pilot = Pilot(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_PILOT_ON: Pilot = Pilot(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_PILOT_MAX: Pilot = Pilot(3i32);
impl ::core::marker::Copy for Pilot {}
impl ::core::clone::Clone for Pilot {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for Pilot {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for Pilot {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for Pilot {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("Pilot").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct Polarisation(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_POLARISATION_NOT_SET: Polarisation = Polarisation(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_POLARISATION_NOT_DEFINED: Polarisation = Polarisation(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_POLARISATION_LINEAR_H: Polarisation = Polarisation(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_POLARISATION_LINEAR_V: Polarisation = Polarisation(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_POLARISATION_CIRCULAR_L: Polarisation = Polarisation(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_POLARISATION_CIRCULAR_R: Polarisation = Polarisation(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_POLARISATION_MAX: Polarisation = Polarisation(5i32);
impl ::core::marker::Copy for Polarisation {}
impl ::core::clone::Clone for Polarisation {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for Polarisation {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for Polarisation {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for Polarisation {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("Polarisation").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct QualityMessageType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const Famine: QualityMessageType = QualityMessageType(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const Flood: QualityMessageType = QualityMessageType(1i32);
impl ::core::marker::Copy for QualityMessageType {}
impl ::core::clone::Clone for QualityMessageType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for QualityMessageType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for QualityMessageType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for QualityMessageType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("QualityMessageType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct REG_PINFLAG(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const REG_PINFLAG_B_ZERO: REG_PINFLAG = REG_PINFLAG(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const REG_PINFLAG_B_RENDERER: REG_PINFLAG = REG_PINFLAG(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const REG_PINFLAG_B_MANY: REG_PINFLAG = REG_PINFLAG(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const REG_PINFLAG_B_OUTPUT: REG_PINFLAG = REG_PINFLAG(8i32);
impl ::core::marker::Copy for REG_PINFLAG {}
impl ::core::clone::Clone for REG_PINFLAG {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for REG_PINFLAG {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for REG_PINFLAG {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for REG_PINFLAG {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("REG_PINFLAG").field(&self.0).finish()
}
}
impl REG_PINFLAG {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl ::core::ops::BitOr for REG_PINFLAG {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl ::core::ops::BitAnd for REG_PINFLAG {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl ::core::ops::BitOrAssign for REG_PINFLAG {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl ::core::ops::BitAndAssign for REG_PINFLAG {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl ::core::ops::Not for REG_PINFLAG {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct RollOff(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_ROLL_OFF_NOT_SET: RollOff = RollOff(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_ROLL_OFF_NOT_DEFINED: RollOff = RollOff(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_ROLL_OFF_20: RollOff = RollOff(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_ROLL_OFF_25: RollOff = RollOff(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_ROLL_OFF_35: RollOff = RollOff(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_ROLL_OFF_MAX: RollOff = RollOff(4i32);
impl ::core::marker::Copy for RollOff {}
impl ::core::clone::Clone for RollOff {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for RollOff {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for RollOff {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for RollOff {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("RollOff").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct SNDDEV_ERR(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SNDDEV_ERROR_Open: SNDDEV_ERR = SNDDEV_ERR(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SNDDEV_ERROR_Close: SNDDEV_ERR = SNDDEV_ERR(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SNDDEV_ERROR_GetCaps: SNDDEV_ERR = SNDDEV_ERR(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SNDDEV_ERROR_PrepareHeader: SNDDEV_ERR = SNDDEV_ERR(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SNDDEV_ERROR_UnprepareHeader: SNDDEV_ERR = SNDDEV_ERR(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SNDDEV_ERROR_Reset: SNDDEV_ERR = SNDDEV_ERR(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SNDDEV_ERROR_Restart: SNDDEV_ERR = SNDDEV_ERR(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SNDDEV_ERROR_GetPosition: SNDDEV_ERR = SNDDEV_ERR(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SNDDEV_ERROR_Write: SNDDEV_ERR = SNDDEV_ERR(9i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SNDDEV_ERROR_Pause: SNDDEV_ERR = SNDDEV_ERR(10i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SNDDEV_ERROR_Stop: SNDDEV_ERR = SNDDEV_ERR(11i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SNDDEV_ERROR_Start: SNDDEV_ERR = SNDDEV_ERR(12i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SNDDEV_ERROR_AddBuffer: SNDDEV_ERR = SNDDEV_ERR(13i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SNDDEV_ERROR_Query: SNDDEV_ERR = SNDDEV_ERR(14i32);
impl ::core::marker::Copy for SNDDEV_ERR {}
impl ::core::clone::Clone for SNDDEV_ERR {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for SNDDEV_ERR {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for SNDDEV_ERR {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for SNDDEV_ERR {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("SNDDEV_ERR").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct SSUPDATE_TYPE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SSUPDATE_ASYNC: SSUPDATE_TYPE = SSUPDATE_TYPE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SSUPDATE_CONTINUOUS: SSUPDATE_TYPE = SSUPDATE_TYPE(2i32);
impl ::core::marker::Copy for SSUPDATE_TYPE {}
impl ::core::clone::Clone for SSUPDATE_TYPE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for SSUPDATE_TYPE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for SSUPDATE_TYPE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for SSUPDATE_TYPE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("SSUPDATE_TYPE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct STREAMIF_CONSTANTS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MAX_NUMBER_OF_STREAMS: STREAMIF_CONSTANTS = STREAMIF_CONSTANTS(16i32);
impl ::core::marker::Copy for STREAMIF_CONSTANTS {}
impl ::core::clone::Clone for STREAMIF_CONSTANTS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for STREAMIF_CONSTANTS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for STREAMIF_CONSTANTS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for STREAMIF_CONSTANTS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("STREAMIF_CONSTANTS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct STREAM_STATE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const STREAMSTATE_STOP: STREAM_STATE = STREAM_STATE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const STREAMSTATE_RUN: STREAM_STATE = STREAM_STATE(1i32);
impl ::core::marker::Copy for STREAM_STATE {}
impl ::core::clone::Clone for STREAM_STATE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for STREAM_STATE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for STREAM_STATE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for STREAM_STATE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("STREAM_STATE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct STREAM_TYPE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const STREAMTYPE_READ: STREAM_TYPE = STREAM_TYPE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const STREAMTYPE_WRITE: STREAM_TYPE = STREAM_TYPE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const STREAMTYPE_TRANSFORM: STREAM_TYPE = STREAM_TYPE(2i32);
impl ::core::marker::Copy for STREAM_TYPE {}
impl ::core::clone::Clone for STREAM_TYPE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for STREAM_TYPE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for STREAM_TYPE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for STREAM_TYPE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("STREAM_TYPE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct ScanModulationTypes(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_16QAM: ScanModulationTypes = ScanModulationTypes(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_32QAM: ScanModulationTypes = ScanModulationTypes(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_64QAM: ScanModulationTypes = ScanModulationTypes(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_80QAM: ScanModulationTypes = ScanModulationTypes(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_96QAM: ScanModulationTypes = ScanModulationTypes(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_112QAM: ScanModulationTypes = ScanModulationTypes(32i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_128QAM: ScanModulationTypes = ScanModulationTypes(64i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_160QAM: ScanModulationTypes = ScanModulationTypes(128i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_192QAM: ScanModulationTypes = ScanModulationTypes(256i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_224QAM: ScanModulationTypes = ScanModulationTypes(512i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_256QAM: ScanModulationTypes = ScanModulationTypes(1024i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_320QAM: ScanModulationTypes = ScanModulationTypes(2048i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_384QAM: ScanModulationTypes = ScanModulationTypes(4096i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_448QAM: ScanModulationTypes = ScanModulationTypes(8192i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_512QAM: ScanModulationTypes = ScanModulationTypes(16384i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_640QAM: ScanModulationTypes = ScanModulationTypes(32768i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_768QAM: ScanModulationTypes = ScanModulationTypes(65536i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_896QAM: ScanModulationTypes = ScanModulationTypes(131072i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_1024QAM: ScanModulationTypes = ScanModulationTypes(262144i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_QPSK: ScanModulationTypes = ScanModulationTypes(524288i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_BPSK: ScanModulationTypes = ScanModulationTypes(1048576i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_OQPSK: ScanModulationTypes = ScanModulationTypes(2097152i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_8VSB: ScanModulationTypes = ScanModulationTypes(4194304i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_16VSB: ScanModulationTypes = ScanModulationTypes(8388608i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_AM_RADIO: ScanModulationTypes = ScanModulationTypes(16777216i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_FM_RADIO: ScanModulationTypes = ScanModulationTypes(33554432i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_8PSK: ScanModulationTypes = ScanModulationTypes(67108864i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_RF: ScanModulationTypes = ScanModulationTypes(134217728i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ScanModulationTypesMask_MCE_DigitalCable: ScanModulationTypes = ScanModulationTypes(11i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ScanModulationTypesMask_MCE_TerrestrialATSC: ScanModulationTypes = ScanModulationTypes(23i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ScanModulationTypesMask_MCE_AnalogTv: ScanModulationTypes = ScanModulationTypes(28i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ScanModulationTypesMask_MCE_All_TV: ScanModulationTypes = ScanModulationTypes(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ScanModulationTypesMask_DVBC: ScanModulationTypes = ScanModulationTypes(75i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_16APSK: ScanModulationTypes = ScanModulationTypes(268435456i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SCAN_MOD_32APSK: ScanModulationTypes = ScanModulationTypes(536870912i32);
impl ::core::marker::Copy for ScanModulationTypes {}
impl ::core::clone::Clone for ScanModulationTypes {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for ScanModulationTypes {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for ScanModulationTypes {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for ScanModulationTypes {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("ScanModulationTypes").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct SmartCardAssociationType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const NotAssociated: SmartCardAssociationType = SmartCardAssociationType(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const Associated: SmartCardAssociationType = SmartCardAssociationType(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AssociationUnknown: SmartCardAssociationType = SmartCardAssociationType(2i32);
impl ::core::marker::Copy for SmartCardAssociationType {}
impl ::core::clone::Clone for SmartCardAssociationType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for SmartCardAssociationType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for SmartCardAssociationType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for SmartCardAssociationType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("SmartCardAssociationType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct SmartCardStatusType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CardInserted: SmartCardStatusType = SmartCardStatusType(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CardRemoved: SmartCardStatusType = SmartCardStatusType(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CardError: SmartCardStatusType = SmartCardStatusType(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CardDataChanged: SmartCardStatusType = SmartCardStatusType(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const CardFirmwareUpgrade: SmartCardStatusType = SmartCardStatusType(4i32);
impl ::core::marker::Copy for SmartCardStatusType {}
impl ::core::clone::Clone for SmartCardStatusType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for SmartCardStatusType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for SmartCardStatusType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for SmartCardStatusType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("SmartCardStatusType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct SpectralInversion(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SPECTRAL_INVERSION_NOT_SET: SpectralInversion = SpectralInversion(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SPECTRAL_INVERSION_NOT_DEFINED: SpectralInversion = SpectralInversion(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SPECTRAL_INVERSION_AUTOMATIC: SpectralInversion = SpectralInversion(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SPECTRAL_INVERSION_NORMAL: SpectralInversion = SpectralInversion(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SPECTRAL_INVERSION_INVERTED: SpectralInversion = SpectralInversion(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_SPECTRAL_INVERSION_MAX: SpectralInversion = SpectralInversion(4i32);
impl ::core::marker::Copy for SpectralInversion {}
impl ::core::clone::Clone for SpectralInversion {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for SpectralInversion {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for SpectralInversion {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for SpectralInversion {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("SpectralInversion").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct TVAudioMode(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTVAUDIO_MODE_MONO: TVAudioMode = TVAudioMode(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTVAUDIO_MODE_STEREO: TVAudioMode = TVAudioMode(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTVAUDIO_MODE_LANG_A: TVAudioMode = TVAudioMode(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTVAUDIO_MODE_LANG_B: TVAudioMode = TVAudioMode(32i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTVAUDIO_MODE_LANG_C: TVAudioMode = TVAudioMode(64i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTVAUDIO_PRESET_STEREO: TVAudioMode = TVAudioMode(512i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTVAUDIO_PRESET_LANG_A: TVAudioMode = TVAudioMode(4096i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTVAUDIO_PRESET_LANG_B: TVAudioMode = TVAudioMode(8192i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMTVAUDIO_PRESET_LANG_C: TVAudioMode = TVAudioMode(16384i32);
impl ::core::marker::Copy for TVAudioMode {}
impl ::core::clone::Clone for TVAudioMode {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for TVAudioMode {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for TVAudioMode {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for TVAudioMode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("TVAudioMode").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct TransmissionMode(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_XMIT_MODE_NOT_SET: TransmissionMode = TransmissionMode(-1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_XMIT_MODE_NOT_DEFINED: TransmissionMode = TransmissionMode(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_XMIT_MODE_2K: TransmissionMode = TransmissionMode(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_XMIT_MODE_8K: TransmissionMode = TransmissionMode(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_XMIT_MODE_4K: TransmissionMode = TransmissionMode(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_XMIT_MODE_2K_INTERLEAVED: TransmissionMode = TransmissionMode(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_XMIT_MODE_4K_INTERLEAVED: TransmissionMode = TransmissionMode(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_XMIT_MODE_1K: TransmissionMode = TransmissionMode(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_XMIT_MODE_16K: TransmissionMode = TransmissionMode(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_XMIT_MODE_32K: TransmissionMode = TransmissionMode(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const BDA_XMIT_MODE_MAX: TransmissionMode = TransmissionMode(9i32);
impl ::core::marker::Copy for TransmissionMode {}
impl ::core::clone::Clone for TransmissionMode {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for TransmissionMode {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for TransmissionMode {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for TransmissionMode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("TransmissionMode").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct TunerInputType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const TunerInputCable: TunerInputType = TunerInputType(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const TunerInputAntenna: TunerInputType = TunerInputType(1i32);
impl ::core::marker::Copy for TunerInputType {}
impl ::core::clone::Clone for TunerInputType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for TunerInputType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for TunerInputType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for TunerInputType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("TunerInputType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct UICloseReasonType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const NotReady: UICloseReasonType = UICloseReasonType(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UserClosed: UICloseReasonType = UICloseReasonType(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const SystemClosed: UICloseReasonType = UICloseReasonType(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeviceClosed: UICloseReasonType = UICloseReasonType(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ErrorClosed: UICloseReasonType = UICloseReasonType(4i32);
impl ::core::marker::Copy for UICloseReasonType {}
impl ::core::clone::Clone for UICloseReasonType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for UICloseReasonType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for UICloseReasonType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for UICloseReasonType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("UICloseReasonType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VALID_UOP_FLAG(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_Play_Title_Or_AtTime: VALID_UOP_FLAG = VALID_UOP_FLAG(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_Play_Chapter: VALID_UOP_FLAG = VALID_UOP_FLAG(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_Play_Title: VALID_UOP_FLAG = VALID_UOP_FLAG(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_Stop: VALID_UOP_FLAG = VALID_UOP_FLAG(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_ReturnFromSubMenu: VALID_UOP_FLAG = VALID_UOP_FLAG(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_Play_Chapter_Or_AtTime: VALID_UOP_FLAG = VALID_UOP_FLAG(32i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_PlayPrev_Or_Replay_Chapter: VALID_UOP_FLAG = VALID_UOP_FLAG(64i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_PlayNext_Chapter: VALID_UOP_FLAG = VALID_UOP_FLAG(128i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_Play_Forwards: VALID_UOP_FLAG = VALID_UOP_FLAG(256i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_Play_Backwards: VALID_UOP_FLAG = VALID_UOP_FLAG(512i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_ShowMenu_Title: VALID_UOP_FLAG = VALID_UOP_FLAG(1024i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_ShowMenu_Root: VALID_UOP_FLAG = VALID_UOP_FLAG(2048i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_ShowMenu_SubPic: VALID_UOP_FLAG = VALID_UOP_FLAG(4096i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_ShowMenu_Audio: VALID_UOP_FLAG = VALID_UOP_FLAG(8192i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_ShowMenu_Angle: VALID_UOP_FLAG = VALID_UOP_FLAG(16384i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_ShowMenu_Chapter: VALID_UOP_FLAG = VALID_UOP_FLAG(32768i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_Resume: VALID_UOP_FLAG = VALID_UOP_FLAG(65536i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_Select_Or_Activate_Button: VALID_UOP_FLAG = VALID_UOP_FLAG(131072i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_Still_Off: VALID_UOP_FLAG = VALID_UOP_FLAG(262144i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_Pause_On: VALID_UOP_FLAG = VALID_UOP_FLAG(524288i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_Select_Audio_Stream: VALID_UOP_FLAG = VALID_UOP_FLAG(1048576i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_Select_SubPic_Stream: VALID_UOP_FLAG = VALID_UOP_FLAG(2097152i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_Select_Angle: VALID_UOP_FLAG = VALID_UOP_FLAG(4194304i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode: VALID_UOP_FLAG = VALID_UOP_FLAG(8388608i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const UOP_FLAG_Select_Video_Mode_Preference: VALID_UOP_FLAG = VALID_UOP_FLAG(16777216i32);
impl ::core::marker::Copy for VALID_UOP_FLAG {}
impl ::core::clone::Clone for VALID_UOP_FLAG {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VALID_UOP_FLAG {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VALID_UOP_FLAG {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VALID_UOP_FLAG {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VALID_UOP_FLAG").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VIDEOENCODER_BITRATE_MODE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ConstantBitRate: VIDEOENCODER_BITRATE_MODE = VIDEOENCODER_BITRATE_MODE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VariableBitRateAverage: VIDEOENCODER_BITRATE_MODE = VIDEOENCODER_BITRATE_MODE(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VariableBitRatePeak: VIDEOENCODER_BITRATE_MODE = VIDEOENCODER_BITRATE_MODE(2i32);
impl ::core::marker::Copy for VIDEOENCODER_BITRATE_MODE {}
impl ::core::clone::Clone for VIDEOENCODER_BITRATE_MODE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VIDEOENCODER_BITRATE_MODE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VIDEOENCODER_BITRATE_MODE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VIDEOENCODER_BITRATE_MODE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VIDEOENCODER_BITRATE_MODE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMR9AlphaBitmapFlags(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9AlphaBitmap_Disable: VMR9AlphaBitmapFlags = VMR9AlphaBitmapFlags(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9AlphaBitmap_hDC: VMR9AlphaBitmapFlags = VMR9AlphaBitmapFlags(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9AlphaBitmap_EntireDDS: VMR9AlphaBitmapFlags = VMR9AlphaBitmapFlags(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9AlphaBitmap_SrcColorKey: VMR9AlphaBitmapFlags = VMR9AlphaBitmapFlags(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9AlphaBitmap_SrcRect: VMR9AlphaBitmapFlags = VMR9AlphaBitmapFlags(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9AlphaBitmap_FilterMode: VMR9AlphaBitmapFlags = VMR9AlphaBitmapFlags(32i32);
impl ::core::marker::Copy for VMR9AlphaBitmapFlags {}
impl ::core::clone::Clone for VMR9AlphaBitmapFlags {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMR9AlphaBitmapFlags {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMR9AlphaBitmapFlags {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMR9AlphaBitmapFlags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMR9AlphaBitmapFlags").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMR9AspectRatioMode(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9ARMode_None: VMR9AspectRatioMode = VMR9AspectRatioMode(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9ARMode_LetterBox: VMR9AspectRatioMode = VMR9AspectRatioMode(1i32);
impl ::core::marker::Copy for VMR9AspectRatioMode {}
impl ::core::clone::Clone for VMR9AspectRatioMode {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMR9AspectRatioMode {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMR9AspectRatioMode {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMR9AspectRatioMode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMR9AspectRatioMode").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMR9DeinterlacePrefs(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlacePref9_NextBest: VMR9DeinterlacePrefs = VMR9DeinterlacePrefs(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlacePref9_BOB: VMR9DeinterlacePrefs = VMR9DeinterlacePrefs(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlacePref9_Weave: VMR9DeinterlacePrefs = VMR9DeinterlacePrefs(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlacePref9_Mask: VMR9DeinterlacePrefs = VMR9DeinterlacePrefs(7i32);
impl ::core::marker::Copy for VMR9DeinterlacePrefs {}
impl ::core::clone::Clone for VMR9DeinterlacePrefs {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMR9DeinterlacePrefs {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMR9DeinterlacePrefs {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMR9DeinterlacePrefs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMR9DeinterlacePrefs").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMR9DeinterlaceTech(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlaceTech9_Unknown: VMR9DeinterlaceTech = VMR9DeinterlaceTech(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlaceTech9_BOBLineReplicate: VMR9DeinterlaceTech = VMR9DeinterlaceTech(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlaceTech9_BOBVerticalStretch: VMR9DeinterlaceTech = VMR9DeinterlaceTech(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlaceTech9_MedianFiltering: VMR9DeinterlaceTech = VMR9DeinterlaceTech(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlaceTech9_EdgeFiltering: VMR9DeinterlaceTech = VMR9DeinterlaceTech(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlaceTech9_FieldAdaptive: VMR9DeinterlaceTech = VMR9DeinterlaceTech(32i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlaceTech9_PixelAdaptive: VMR9DeinterlaceTech = VMR9DeinterlaceTech(64i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlaceTech9_MotionVectorSteered: VMR9DeinterlaceTech = VMR9DeinterlaceTech(128i32);
impl ::core::marker::Copy for VMR9DeinterlaceTech {}
impl ::core::clone::Clone for VMR9DeinterlaceTech {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMR9DeinterlaceTech {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMR9DeinterlaceTech {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMR9DeinterlaceTech {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMR9DeinterlaceTech").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMR9MixerPrefs(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_NoDecimation: VMR9MixerPrefs = VMR9MixerPrefs(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_DecimateOutput: VMR9MixerPrefs = VMR9MixerPrefs(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_ARAdjustXorY: VMR9MixerPrefs = VMR9MixerPrefs(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_NonSquareMixing: VMR9MixerPrefs = VMR9MixerPrefs(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_DecimateMask: VMR9MixerPrefs = VMR9MixerPrefs(15i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_BiLinearFiltering: VMR9MixerPrefs = VMR9MixerPrefs(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_PointFiltering: VMR9MixerPrefs = VMR9MixerPrefs(32i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_AnisotropicFiltering: VMR9MixerPrefs = VMR9MixerPrefs(64i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_PyramidalQuadFiltering: VMR9MixerPrefs = VMR9MixerPrefs(128i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_GaussianQuadFiltering: VMR9MixerPrefs = VMR9MixerPrefs(256i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_FilteringReserved: VMR9MixerPrefs = VMR9MixerPrefs(3584i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_FilteringMask: VMR9MixerPrefs = VMR9MixerPrefs(4080i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_RenderTargetRGB: VMR9MixerPrefs = VMR9MixerPrefs(4096i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_RenderTargetYUV: VMR9MixerPrefs = VMR9MixerPrefs(8192i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_RenderTargetReserved: VMR9MixerPrefs = VMR9MixerPrefs(1032192i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_RenderTargetMask: VMR9MixerPrefs = VMR9MixerPrefs(1044480i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_DynamicSwitchToBOB: VMR9MixerPrefs = VMR9MixerPrefs(1048576i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_DynamicDecimateBy2: VMR9MixerPrefs = VMR9MixerPrefs(2097152i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_DynamicReserved: VMR9MixerPrefs = VMR9MixerPrefs(12582912i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref9_DynamicMask: VMR9MixerPrefs = VMR9MixerPrefs(15728640i32);
impl ::core::marker::Copy for VMR9MixerPrefs {}
impl ::core::clone::Clone for VMR9MixerPrefs {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMR9MixerPrefs {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMR9MixerPrefs {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMR9MixerPrefs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMR9MixerPrefs").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMR9Mode(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9Mode_Windowed: VMR9Mode = VMR9Mode(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9Mode_Windowless: VMR9Mode = VMR9Mode(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9Mode_Renderless: VMR9Mode = VMR9Mode(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9Mode_Mask: VMR9Mode = VMR9Mode(7i32);
impl ::core::marker::Copy for VMR9Mode {}
impl ::core::clone::Clone for VMR9Mode {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMR9Mode {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMR9Mode {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMR9Mode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMR9Mode").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMR9PresentationFlags(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9Sample_SyncPoint: VMR9PresentationFlags = VMR9PresentationFlags(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9Sample_Preroll: VMR9PresentationFlags = VMR9PresentationFlags(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9Sample_Discontinuity: VMR9PresentationFlags = VMR9PresentationFlags(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9Sample_TimeValid: VMR9PresentationFlags = VMR9PresentationFlags(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9Sample_SrcDstRectsValid: VMR9PresentationFlags = VMR9PresentationFlags(16i32);
impl ::core::marker::Copy for VMR9PresentationFlags {}
impl ::core::clone::Clone for VMR9PresentationFlags {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMR9PresentationFlags {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMR9PresentationFlags {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMR9PresentationFlags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMR9PresentationFlags").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMR9ProcAmpControlFlags(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ProcAmpControl9_Brightness: VMR9ProcAmpControlFlags = VMR9ProcAmpControlFlags(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ProcAmpControl9_Contrast: VMR9ProcAmpControlFlags = VMR9ProcAmpControlFlags(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ProcAmpControl9_Hue: VMR9ProcAmpControlFlags = VMR9ProcAmpControlFlags(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ProcAmpControl9_Saturation: VMR9ProcAmpControlFlags = VMR9ProcAmpControlFlags(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const ProcAmpControl9_Mask: VMR9ProcAmpControlFlags = VMR9ProcAmpControlFlags(15i32);
impl ::core::marker::Copy for VMR9ProcAmpControlFlags {}
impl ::core::clone::Clone for VMR9ProcAmpControlFlags {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMR9ProcAmpControlFlags {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMR9ProcAmpControlFlags {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMR9ProcAmpControlFlags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMR9ProcAmpControlFlags").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMR9RenderPrefs(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const RenderPrefs9_DoNotRenderBorder: VMR9RenderPrefs = VMR9RenderPrefs(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const RenderPrefs9_Mask: VMR9RenderPrefs = VMR9RenderPrefs(1i32);
impl ::core::marker::Copy for VMR9RenderPrefs {}
impl ::core::clone::Clone for VMR9RenderPrefs {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMR9RenderPrefs {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMR9RenderPrefs {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMR9RenderPrefs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMR9RenderPrefs").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMR9SurfaceAllocationFlags(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9AllocFlag_3DRenderTarget: VMR9SurfaceAllocationFlags = VMR9SurfaceAllocationFlags(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9AllocFlag_DXVATarget: VMR9SurfaceAllocationFlags = VMR9SurfaceAllocationFlags(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9AllocFlag_TextureSurface: VMR9SurfaceAllocationFlags = VMR9SurfaceAllocationFlags(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9AllocFlag_OffscreenSurface: VMR9SurfaceAllocationFlags = VMR9SurfaceAllocationFlags(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9AllocFlag_RGBDynamicSwitch: VMR9SurfaceAllocationFlags = VMR9SurfaceAllocationFlags(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9AllocFlag_UsageReserved: VMR9SurfaceAllocationFlags = VMR9SurfaceAllocationFlags(224i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9AllocFlag_UsageMask: VMR9SurfaceAllocationFlags = VMR9SurfaceAllocationFlags(255i32);
impl ::core::marker::Copy for VMR9SurfaceAllocationFlags {}
impl ::core::clone::Clone for VMR9SurfaceAllocationFlags {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMR9SurfaceAllocationFlags {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMR9SurfaceAllocationFlags {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMR9SurfaceAllocationFlags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMR9SurfaceAllocationFlags").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMR9_SampleFormat(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9_SampleReserved: VMR9_SampleFormat = VMR9_SampleFormat(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9_SampleProgressiveFrame: VMR9_SampleFormat = VMR9_SampleFormat(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9_SampleFieldInterleavedEvenFirst: VMR9_SampleFormat = VMR9_SampleFormat(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9_SampleFieldInterleavedOddFirst: VMR9_SampleFormat = VMR9_SampleFormat(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9_SampleFieldSingleEven: VMR9_SampleFormat = VMR9_SampleFormat(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR9_SampleFieldSingleOdd: VMR9_SampleFormat = VMR9_SampleFormat(6i32);
impl ::core::marker::Copy for VMR9_SampleFormat {}
impl ::core::clone::Clone for VMR9_SampleFormat {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMR9_SampleFormat {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMR9_SampleFormat {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMR9_SampleFormat {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMR9_SampleFormat").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMRDeinterlacePrefs(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlacePref_NextBest: VMRDeinterlacePrefs = VMRDeinterlacePrefs(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlacePref_BOB: VMRDeinterlacePrefs = VMRDeinterlacePrefs(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlacePref_Weave: VMRDeinterlacePrefs = VMRDeinterlacePrefs(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlacePref_Mask: VMRDeinterlacePrefs = VMRDeinterlacePrefs(7i32);
impl ::core::marker::Copy for VMRDeinterlacePrefs {}
impl ::core::clone::Clone for VMRDeinterlacePrefs {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMRDeinterlacePrefs {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMRDeinterlacePrefs {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMRDeinterlacePrefs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMRDeinterlacePrefs").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMRDeinterlaceTech(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlaceTech_Unknown: VMRDeinterlaceTech = VMRDeinterlaceTech(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlaceTech_BOBLineReplicate: VMRDeinterlaceTech = VMRDeinterlaceTech(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlaceTech_BOBVerticalStretch: VMRDeinterlaceTech = VMRDeinterlaceTech(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlaceTech_MedianFiltering: VMRDeinterlaceTech = VMRDeinterlaceTech(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlaceTech_EdgeFiltering: VMRDeinterlaceTech = VMRDeinterlaceTech(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlaceTech_FieldAdaptive: VMRDeinterlaceTech = VMRDeinterlaceTech(32i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlaceTech_PixelAdaptive: VMRDeinterlaceTech = VMRDeinterlaceTech(64i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DeinterlaceTech_MotionVectorSteered: VMRDeinterlaceTech = VMRDeinterlaceTech(128i32);
impl ::core::marker::Copy for VMRDeinterlaceTech {}
impl ::core::clone::Clone for VMRDeinterlaceTech {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMRDeinterlaceTech {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMRDeinterlaceTech {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMRDeinterlaceTech {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMRDeinterlaceTech").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMRMixerPrefs(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_NoDecimation: VMRMixerPrefs = VMRMixerPrefs(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_DecimateOutput: VMRMixerPrefs = VMRMixerPrefs(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_ARAdjustXorY: VMRMixerPrefs = VMRMixerPrefs(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_DecimationReserved: VMRMixerPrefs = VMRMixerPrefs(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_DecimateMask: VMRMixerPrefs = VMRMixerPrefs(15i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_BiLinearFiltering: VMRMixerPrefs = VMRMixerPrefs(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_PointFiltering: VMRMixerPrefs = VMRMixerPrefs(32i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_FilteringMask: VMRMixerPrefs = VMRMixerPrefs(240i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_RenderTargetRGB: VMRMixerPrefs = VMRMixerPrefs(256i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_RenderTargetYUV: VMRMixerPrefs = VMRMixerPrefs(4096i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_RenderTargetYUV420: VMRMixerPrefs = VMRMixerPrefs(512i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_RenderTargetYUV422: VMRMixerPrefs = VMRMixerPrefs(1024i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_RenderTargetYUV444: VMRMixerPrefs = VMRMixerPrefs(2048i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_RenderTargetReserved: VMRMixerPrefs = VMRMixerPrefs(57344i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_RenderTargetMask: VMRMixerPrefs = VMRMixerPrefs(65280i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_DynamicSwitchToBOB: VMRMixerPrefs = VMRMixerPrefs(65536i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_DynamicDecimateBy2: VMRMixerPrefs = VMRMixerPrefs(131072i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_DynamicReserved: VMRMixerPrefs = VMRMixerPrefs(786432i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const MixerPref_DynamicMask: VMRMixerPrefs = VMRMixerPrefs(983040i32);
impl ::core::marker::Copy for VMRMixerPrefs {}
impl ::core::clone::Clone for VMRMixerPrefs {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMRMixerPrefs {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMRMixerPrefs {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMRMixerPrefs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMRMixerPrefs").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMRMode(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMRMode_Windowed: VMRMode = VMRMode(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMRMode_Windowless: VMRMode = VMRMode(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMRMode_Renderless: VMRMode = VMRMode(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMRMode_Mask: VMRMode = VMRMode(7i32);
impl ::core::marker::Copy for VMRMode {}
impl ::core::clone::Clone for VMRMode {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMRMode {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMRMode {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMRMode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMRMode").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMRPresentationFlags(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMRSample_SyncPoint: VMRPresentationFlags = VMRPresentationFlags(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMRSample_Preroll: VMRPresentationFlags = VMRPresentationFlags(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMRSample_Discontinuity: VMRPresentationFlags = VMRPresentationFlags(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMRSample_TimeValid: VMRPresentationFlags = VMRPresentationFlags(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMRSample_SrcDstRectsValid: VMRPresentationFlags = VMRPresentationFlags(16i32);
impl ::core::marker::Copy for VMRPresentationFlags {}
impl ::core::clone::Clone for VMRPresentationFlags {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMRPresentationFlags {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMRPresentationFlags {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMRPresentationFlags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMRPresentationFlags").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMRRenderPrefs(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const RenderPrefs_RestrictToInitialMonitor: VMRRenderPrefs = VMRRenderPrefs(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const RenderPrefs_ForceOffscreen: VMRRenderPrefs = VMRRenderPrefs(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const RenderPrefs_ForceOverlays: VMRRenderPrefs = VMRRenderPrefs(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const RenderPrefs_AllowOverlays: VMRRenderPrefs = VMRRenderPrefs(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const RenderPrefs_AllowOffscreen: VMRRenderPrefs = VMRRenderPrefs(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const RenderPrefs_DoNotRenderColorKeyAndBorder: VMRRenderPrefs = VMRRenderPrefs(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const RenderPrefs_Reserved: VMRRenderPrefs = VMRRenderPrefs(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const RenderPrefs_PreferAGPMemWhenMixing: VMRRenderPrefs = VMRRenderPrefs(32i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const RenderPrefs_Mask: VMRRenderPrefs = VMRRenderPrefs(63i32);
impl ::core::marker::Copy for VMRRenderPrefs {}
impl ::core::clone::Clone for VMRRenderPrefs {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMRRenderPrefs {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMRRenderPrefs {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMRRenderPrefs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMRRenderPrefs").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMRSurfaceAllocationFlags(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMAP_PIXELFORMAT_VALID: VMRSurfaceAllocationFlags = VMRSurfaceAllocationFlags(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMAP_3D_TARGET: VMRSurfaceAllocationFlags = VMRSurfaceAllocationFlags(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMAP_ALLOW_SYSMEM: VMRSurfaceAllocationFlags = VMRSurfaceAllocationFlags(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMAP_FORCE_SYSMEM: VMRSurfaceAllocationFlags = VMRSurfaceAllocationFlags(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMAP_DIRECTED_FLIP: VMRSurfaceAllocationFlags = VMRSurfaceAllocationFlags(16i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMAP_DXVA_TARGET: VMRSurfaceAllocationFlags = VMRSurfaceAllocationFlags(32i32);
impl ::core::marker::Copy for VMRSurfaceAllocationFlags {}
impl ::core::clone::Clone for VMRSurfaceAllocationFlags {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMRSurfaceAllocationFlags {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMRSurfaceAllocationFlags {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMRSurfaceAllocationFlags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMRSurfaceAllocationFlags").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VMR_ASPECT_RATIO_MODE(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR_ARMODE_NONE: VMR_ASPECT_RATIO_MODE = VMR_ASPECT_RATIO_MODE(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VMR_ARMODE_LETTER_BOX: VMR_ASPECT_RATIO_MODE = VMR_ASPECT_RATIO_MODE(1i32);
impl ::core::marker::Copy for VMR_ASPECT_RATIO_MODE {}
impl ::core::clone::Clone for VMR_ASPECT_RATIO_MODE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VMR_ASPECT_RATIO_MODE {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VMR_ASPECT_RATIO_MODE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VMR_ASPECT_RATIO_MODE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VMR_ASPECT_RATIO_MODE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VfwCaptureDialogs(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VfwCaptureDialog_Source: VfwCaptureDialogs = VfwCaptureDialogs(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VfwCaptureDialog_Format: VfwCaptureDialogs = VfwCaptureDialogs(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VfwCaptureDialog_Display: VfwCaptureDialogs = VfwCaptureDialogs(4i32);
impl ::core::marker::Copy for VfwCaptureDialogs {}
impl ::core::clone::Clone for VfwCaptureDialogs {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VfwCaptureDialogs {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VfwCaptureDialogs {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VfwCaptureDialogs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VfwCaptureDialogs").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VfwCompressDialogs(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VfwCompressDialog_Config: VfwCompressDialogs = VfwCompressDialogs(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VfwCompressDialog_About: VfwCompressDialogs = VfwCompressDialogs(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VfwCompressDialog_QueryConfig: VfwCompressDialogs = VfwCompressDialogs(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VfwCompressDialog_QueryAbout: VfwCompressDialogs = VfwCompressDialogs(8i32);
impl ::core::marker::Copy for VfwCompressDialogs {}
impl ::core::clone::Clone for VfwCompressDialogs {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VfwCompressDialogs {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VfwCompressDialogs {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VfwCompressDialogs {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VfwCompressDialogs").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VideoControlFlags(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VideoControlFlag_FlipHorizontal: VideoControlFlags = VideoControlFlags(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VideoControlFlag_FlipVertical: VideoControlFlags = VideoControlFlags(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VideoControlFlag_ExternalTriggerEnable: VideoControlFlags = VideoControlFlags(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VideoControlFlag_Trigger: VideoControlFlags = VideoControlFlags(8i32);
impl ::core::marker::Copy for VideoControlFlags {}
impl ::core::clone::Clone for VideoControlFlags {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VideoControlFlags {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VideoControlFlags {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VideoControlFlags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VideoControlFlags").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VideoCopyProtectionType(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VideoCopyProtectionMacrovisionBasic: VideoCopyProtectionType = VideoCopyProtectionType(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VideoCopyProtectionMacrovisionCBI: VideoCopyProtectionType = VideoCopyProtectionType(1i32);
impl ::core::marker::Copy for VideoCopyProtectionType {}
impl ::core::clone::Clone for VideoCopyProtectionType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VideoCopyProtectionType {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VideoCopyProtectionType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VideoCopyProtectionType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VideoCopyProtectionType").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VideoProcAmpFlags(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VideoProcAmp_Flags_Auto: VideoProcAmpFlags = VideoProcAmpFlags(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VideoProcAmp_Flags_Manual: VideoProcAmpFlags = VideoProcAmpFlags(2i32);
impl ::core::marker::Copy for VideoProcAmpFlags {}
impl ::core::clone::Clone for VideoProcAmpFlags {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VideoProcAmpFlags {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VideoProcAmpFlags {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VideoProcAmpFlags {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VideoProcAmpFlags").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct VideoProcAmpProperty(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VideoProcAmp_Brightness: VideoProcAmpProperty = VideoProcAmpProperty(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VideoProcAmp_Contrast: VideoProcAmpProperty = VideoProcAmpProperty(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VideoProcAmp_Hue: VideoProcAmpProperty = VideoProcAmpProperty(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VideoProcAmp_Saturation: VideoProcAmpProperty = VideoProcAmpProperty(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VideoProcAmp_Sharpness: VideoProcAmpProperty = VideoProcAmpProperty(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VideoProcAmp_Gamma: VideoProcAmpProperty = VideoProcAmpProperty(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VideoProcAmp_ColorEnable: VideoProcAmpProperty = VideoProcAmpProperty(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VideoProcAmp_WhiteBalance: VideoProcAmpProperty = VideoProcAmpProperty(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VideoProcAmp_BacklightCompensation: VideoProcAmpProperty = VideoProcAmpProperty(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const VideoProcAmp_Gain: VideoProcAmpProperty = VideoProcAmpProperty(9i32);
impl ::core::marker::Copy for VideoProcAmpProperty {}
impl ::core::clone::Clone for VideoProcAmpProperty {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for VideoProcAmpProperty {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for VideoProcAmpProperty {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for VideoProcAmpProperty {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("VideoProcAmpProperty").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct _AMRESCTL_RESERVEFLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMRESCTL_RESERVEFLAGS_RESERVE: _AMRESCTL_RESERVEFLAGS = _AMRESCTL_RESERVEFLAGS(0i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMRESCTL_RESERVEFLAGS_UNRESERVE: _AMRESCTL_RESERVEFLAGS = _AMRESCTL_RESERVEFLAGS(1i32);
impl ::core::marker::Copy for _AMRESCTL_RESERVEFLAGS {}
impl ::core::clone::Clone for _AMRESCTL_RESERVEFLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for _AMRESCTL_RESERVEFLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for _AMRESCTL_RESERVEFLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for _AMRESCTL_RESERVEFLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("_AMRESCTL_RESERVEFLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct _AMSTREAMSELECTENABLEFLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMSTREAMSELECTENABLE_ENABLE: _AMSTREAMSELECTENABLEFLAGS = _AMSTREAMSELECTENABLEFLAGS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMSTREAMSELECTENABLE_ENABLEALL: _AMSTREAMSELECTENABLEFLAGS = _AMSTREAMSELECTENABLEFLAGS(2i32);
impl ::core::marker::Copy for _AMSTREAMSELECTENABLEFLAGS {}
impl ::core::clone::Clone for _AMSTREAMSELECTENABLEFLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for _AMSTREAMSELECTENABLEFLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for _AMSTREAMSELECTENABLEFLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for _AMSTREAMSELECTENABLEFLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("_AMSTREAMSELECTENABLEFLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct _AMSTREAMSELECTINFOFLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMSTREAMSELECTINFO_ENABLED: _AMSTREAMSELECTINFOFLAGS = _AMSTREAMSELECTINFOFLAGS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AMSTREAMSELECTINFO_EXCLUSIVE: _AMSTREAMSELECTINFOFLAGS = _AMSTREAMSELECTINFOFLAGS(2i32);
impl ::core::marker::Copy for _AMSTREAMSELECTINFOFLAGS {}
impl ::core::clone::Clone for _AMSTREAMSELECTINFOFLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for _AMSTREAMSELECTINFOFLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for _AMSTREAMSELECTINFOFLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for _AMSTREAMSELECTINFOFLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("_AMSTREAMSELECTINFOFLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct _AM_AUDIO_RENDERER_STAT_PARAM(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AUDREND_STAT_PARAM_BREAK_COUNT: _AM_AUDIO_RENDERER_STAT_PARAM = _AM_AUDIO_RENDERER_STAT_PARAM(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AUDREND_STAT_PARAM_SLAVE_MODE: _AM_AUDIO_RENDERER_STAT_PARAM = _AM_AUDIO_RENDERER_STAT_PARAM(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AUDREND_STAT_PARAM_SILENCE_DUR: _AM_AUDIO_RENDERER_STAT_PARAM = _AM_AUDIO_RENDERER_STAT_PARAM(3i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR: _AM_AUDIO_RENDERER_STAT_PARAM = _AM_AUDIO_RENDERER_STAT_PARAM(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AUDREND_STAT_PARAM_DISCONTINUITIES: _AM_AUDIO_RENDERER_STAT_PARAM = _AM_AUDIO_RENDERER_STAT_PARAM(5i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AUDREND_STAT_PARAM_SLAVE_RATE: _AM_AUDIO_RENDERER_STAT_PARAM = _AM_AUDIO_RENDERER_STAT_PARAM(6i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR: _AM_AUDIO_RENDERER_STAT_PARAM = _AM_AUDIO_RENDERER_STAT_PARAM(7i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR: _AM_AUDIO_RENDERER_STAT_PARAM = _AM_AUDIO_RENDERER_STAT_PARAM(8i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR: _AM_AUDIO_RENDERER_STAT_PARAM = _AM_AUDIO_RENDERER_STAT_PARAM(9i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR: _AM_AUDIO_RENDERER_STAT_PARAM = _AM_AUDIO_RENDERER_STAT_PARAM(10i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AUDREND_STAT_PARAM_BUFFERFULLNESS: _AM_AUDIO_RENDERER_STAT_PARAM = _AM_AUDIO_RENDERER_STAT_PARAM(11i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_AUDREND_STAT_PARAM_JITTER: _AM_AUDIO_RENDERER_STAT_PARAM = _AM_AUDIO_RENDERER_STAT_PARAM(12i32);
impl ::core::marker::Copy for _AM_AUDIO_RENDERER_STAT_PARAM {}
impl ::core::clone::Clone for _AM_AUDIO_RENDERER_STAT_PARAM {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for _AM_AUDIO_RENDERER_STAT_PARAM {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for _AM_AUDIO_RENDERER_STAT_PARAM {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for _AM_AUDIO_RENDERER_STAT_PARAM {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("_AM_AUDIO_RENDERER_STAT_PARAM").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct _AM_FILTER_MISC_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_FILTER_MISC_FLAGS_IS_RENDERER: _AM_FILTER_MISC_FLAGS = _AM_FILTER_MISC_FLAGS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_FILTER_MISC_FLAGS_IS_SOURCE: _AM_FILTER_MISC_FLAGS = _AM_FILTER_MISC_FLAGS(2i32);
impl ::core::marker::Copy for _AM_FILTER_MISC_FLAGS {}
impl ::core::clone::Clone for _AM_FILTER_MISC_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for _AM_FILTER_MISC_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for _AM_FILTER_MISC_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for _AM_FILTER_MISC_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("_AM_FILTER_MISC_FLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct _AM_INTF_SEARCH_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_INTF_SEARCH_INPUT_PIN: _AM_INTF_SEARCH_FLAGS = _AM_INTF_SEARCH_FLAGS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_INTF_SEARCH_OUTPUT_PIN: _AM_INTF_SEARCH_FLAGS = _AM_INTF_SEARCH_FLAGS(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_INTF_SEARCH_FILTER: _AM_INTF_SEARCH_FLAGS = _AM_INTF_SEARCH_FLAGS(4i32);
impl ::core::marker::Copy for _AM_INTF_SEARCH_FLAGS {}
impl ::core::clone::Clone for _AM_INTF_SEARCH_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for _AM_INTF_SEARCH_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for _AM_INTF_SEARCH_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for _AM_INTF_SEARCH_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("_AM_INTF_SEARCH_FLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct _AM_OVERLAY_NOTIFY_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_OVERLAY_NOTIFY_VISIBLE_CHANGE: _AM_OVERLAY_NOTIFY_FLAGS = _AM_OVERLAY_NOTIFY_FLAGS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_OVERLAY_NOTIFY_SOURCE_CHANGE: _AM_OVERLAY_NOTIFY_FLAGS = _AM_OVERLAY_NOTIFY_FLAGS(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_OVERLAY_NOTIFY_DEST_CHANGE: _AM_OVERLAY_NOTIFY_FLAGS = _AM_OVERLAY_NOTIFY_FLAGS(4i32);
impl ::core::marker::Copy for _AM_OVERLAY_NOTIFY_FLAGS {}
impl ::core::clone::Clone for _AM_OVERLAY_NOTIFY_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for _AM_OVERLAY_NOTIFY_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for _AM_OVERLAY_NOTIFY_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for _AM_OVERLAY_NOTIFY_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("_AM_OVERLAY_NOTIFY_FLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PIN_FLOW_CONTROL_BLOCK: _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS = _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS(1i32);
impl ::core::marker::Copy for _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS {}
impl ::core::clone::Clone for _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("_AM_PIN_FLOW_CONTROL_BLOCK_FLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct _AM_PUSHSOURCE_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PUSHSOURCECAPS_INTERNAL_RM: _AM_PUSHSOURCE_FLAGS = _AM_PUSHSOURCE_FLAGS(1i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PUSHSOURCECAPS_NOT_LIVE: _AM_PUSHSOURCE_FLAGS = _AM_PUSHSOURCE_FLAGS(2i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PUSHSOURCECAPS_PRIVATE_CLOCK: _AM_PUSHSOURCE_FLAGS = _AM_PUSHSOURCE_FLAGS(4i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PUSHSOURCEREQS_USE_STREAM_CLOCK: _AM_PUSHSOURCE_FLAGS = _AM_PUSHSOURCE_FLAGS(65536i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_PUSHSOURCEREQS_USE_CLOCK_CHAIN: _AM_PUSHSOURCE_FLAGS = _AM_PUSHSOURCE_FLAGS(131072i32);
impl ::core::marker::Copy for _AM_PUSHSOURCE_FLAGS {}
impl ::core::clone::Clone for _AM_PUSHSOURCE_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for _AM_PUSHSOURCE_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for _AM_PUSHSOURCE_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for _AM_PUSHSOURCE_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("_AM_PUSHSOURCE_FLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct _AM_RENSDEREXFLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const AM_RENDEREX_RENDERTOEXISTINGRENDERERS: _AM_RENSDEREXFLAGS = _AM_RENSDEREXFLAGS(1i32);
impl ::core::marker::Copy for _AM_RENSDEREXFLAGS {}
impl ::core::clone::Clone for _AM_RENSDEREXFLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for _AM_RENSDEREXFLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for _AM_RENSDEREXFLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for _AM_RENSDEREXFLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("_AM_RENSDEREXFLAGS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct _DVDECODERRESOLUTION(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVDECODERRESOLUTION_720x480: _DVDECODERRESOLUTION = _DVDECODERRESOLUTION(1000i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVDECODERRESOLUTION_360x240: _DVDECODERRESOLUTION = _DVDECODERRESOLUTION(1001i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVDECODERRESOLUTION_180x120: _DVDECODERRESOLUTION = _DVDECODERRESOLUTION(1002i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVDECODERRESOLUTION_88x60: _DVDECODERRESOLUTION = _DVDECODERRESOLUTION(1003i32);
impl ::core::marker::Copy for _DVDECODERRESOLUTION {}
impl ::core::clone::Clone for _DVDECODERRESOLUTION {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for _DVDECODERRESOLUTION {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for _DVDECODERRESOLUTION {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for _DVDECODERRESOLUTION {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("_DVDECODERRESOLUTION").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct _DVENCODERFORMAT(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVENCODERFORMAT_DVSD: _DVENCODERFORMAT = _DVENCODERFORMAT(2007i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVENCODERFORMAT_DVHD: _DVENCODERFORMAT = _DVENCODERFORMAT(2008i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVENCODERFORMAT_DVSL: _DVENCODERFORMAT = _DVENCODERFORMAT(2009i32);
impl ::core::marker::Copy for _DVENCODERFORMAT {}
impl ::core::clone::Clone for _DVENCODERFORMAT {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for _DVENCODERFORMAT {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for _DVENCODERFORMAT {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for _DVENCODERFORMAT {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("_DVENCODERFORMAT").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct _DVENCODERRESOLUTION(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVENCODERRESOLUTION_720x480: _DVENCODERRESOLUTION = _DVENCODERRESOLUTION(2012i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVENCODERRESOLUTION_360x240: _DVENCODERRESOLUTION = _DVENCODERRESOLUTION(2013i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVENCODERRESOLUTION_180x120: _DVENCODERRESOLUTION = _DVENCODERRESOLUTION(2014i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVENCODERRESOLUTION_88x60: _DVENCODERRESOLUTION = _DVENCODERRESOLUTION(2015i32);
impl ::core::marker::Copy for _DVENCODERRESOLUTION {}
impl ::core::clone::Clone for _DVENCODERRESOLUTION {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for _DVENCODERRESOLUTION {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for _DVENCODERRESOLUTION {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for _DVENCODERRESOLUTION {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("_DVENCODERRESOLUTION").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct _DVENCODERVIDEOFORMAT(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVENCODERVIDEOFORMAT_NTSC: _DVENCODERVIDEOFORMAT = _DVENCODERVIDEOFORMAT(2000i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVENCODERVIDEOFORMAT_PAL: _DVENCODERVIDEOFORMAT = _DVENCODERVIDEOFORMAT(2001i32);
impl ::core::marker::Copy for _DVENCODERVIDEOFORMAT {}
impl ::core::clone::Clone for _DVENCODERVIDEOFORMAT {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for _DVENCODERVIDEOFORMAT {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for _DVENCODERVIDEOFORMAT {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for _DVENCODERVIDEOFORMAT {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("_DVENCODERVIDEOFORMAT").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct _DVRESOLUTION(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVRESOLUTION_FULL: _DVRESOLUTION = _DVRESOLUTION(1000i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVRESOLUTION_HALF: _DVRESOLUTION = _DVRESOLUTION(1001i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVRESOLUTION_QUARTER: _DVRESOLUTION = _DVRESOLUTION(1002i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const DVRESOLUTION_DC: _DVRESOLUTION = _DVRESOLUTION(1003i32);
impl ::core::marker::Copy for _DVRESOLUTION {}
impl ::core::clone::Clone for _DVRESOLUTION {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for _DVRESOLUTION {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for _DVRESOLUTION {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for _DVRESOLUTION {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("_DVRESOLUTION").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct _REM_FILTER_FLAGS(pub i32);
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub const REMFILTERF_LEAVECONNECTED: _REM_FILTER_FLAGS = _REM_FILTER_FLAGS(1i32);
impl ::core::marker::Copy for _REM_FILTER_FLAGS {}
impl ::core::clone::Clone for _REM_FILTER_FLAGS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for _REM_FILTER_FLAGS {
fn default() -> Self {
Self(0)
}
}
impl ::windows::core::TypeKind for _REM_FILTER_FLAGS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::fmt::Debug for _REM_FILTER_FLAGS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("_REM_FILTER_FLAGS").field(&self.0).finish()
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct ALLOCATOR_PROPERTIES {
pub cBuffers: i32,
pub cbBuffer: i32,
pub cbAlign: i32,
pub cbPrefix: i32,
}
impl ::core::marker::Copy for ALLOCATOR_PROPERTIES {}
impl ::core::clone::Clone for ALLOCATOR_PROPERTIES {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for ALLOCATOR_PROPERTIES {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("ALLOCATOR_PROPERTIES").field("cBuffers", &self.cBuffers).field("cbBuffer", &self.cbBuffer).field("cbAlign", &self.cbAlign).field("cbPrefix", &self.cbPrefix).finish()
}
}
impl ::windows::core::TypeKind for ALLOCATOR_PROPERTIES {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for ALLOCATOR_PROPERTIES {
fn eq(&self, other: &Self) -> bool {
self.cBuffers == other.cBuffers && self.cbBuffer == other.cbBuffer && self.cbAlign == other.cbAlign && self.cbPrefix == other.cbPrefix
}
}
impl ::core::cmp::Eq for ALLOCATOR_PROPERTIES {}
impl ::core::default::Default for ALLOCATOR_PROPERTIES {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AMCOPPCommand {
pub macKDI: ::windows::core::GUID,
pub guidCommandID: ::windows::core::GUID,
pub dwSequence: u32,
pub cbSizeData: u32,
pub CommandData: [u8; 4056],
}
impl ::core::marker::Copy for AMCOPPCommand {}
impl ::core::clone::Clone for AMCOPPCommand {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AMCOPPCommand {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AMCOPPCommand").field("macKDI", &self.macKDI).field("guidCommandID", &self.guidCommandID).field("dwSequence", &self.dwSequence).field("cbSizeData", &self.cbSizeData).field("CommandData", &self.CommandData).finish()
}
}
impl ::windows::core::TypeKind for AMCOPPCommand {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AMCOPPCommand {
fn eq(&self, other: &Self) -> bool {
self.macKDI == other.macKDI && self.guidCommandID == other.guidCommandID && self.dwSequence == other.dwSequence && self.cbSizeData == other.cbSizeData && self.CommandData == other.CommandData
}
}
impl ::core::cmp::Eq for AMCOPPCommand {}
impl ::core::default::Default for AMCOPPCommand {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AMCOPPSignature {
pub Signature: [u8; 256],
}
impl ::core::marker::Copy for AMCOPPSignature {}
impl ::core::clone::Clone for AMCOPPSignature {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AMCOPPSignature {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AMCOPPSignature").field("Signature", &self.Signature).finish()
}
}
impl ::windows::core::TypeKind for AMCOPPSignature {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AMCOPPSignature {
fn eq(&self, other: &Self) -> bool {
self.Signature == other.Signature
}
}
impl ::core::cmp::Eq for AMCOPPSignature {}
impl ::core::default::Default for AMCOPPSignature {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AMCOPPStatusInput {
pub rApp: ::windows::core::GUID,
pub guidStatusRequestID: ::windows::core::GUID,
pub dwSequence: u32,
pub cbSizeData: u32,
pub StatusData: [u8; 4056],
}
impl ::core::marker::Copy for AMCOPPStatusInput {}
impl ::core::clone::Clone for AMCOPPStatusInput {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AMCOPPStatusInput {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AMCOPPStatusInput").field("rApp", &self.rApp).field("guidStatusRequestID", &self.guidStatusRequestID).field("dwSequence", &self.dwSequence).field("cbSizeData", &self.cbSizeData).field("StatusData", &self.StatusData).finish()
}
}
impl ::windows::core::TypeKind for AMCOPPStatusInput {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AMCOPPStatusInput {
fn eq(&self, other: &Self) -> bool {
self.rApp == other.rApp && self.guidStatusRequestID == other.guidStatusRequestID && self.dwSequence == other.dwSequence && self.cbSizeData == other.cbSizeData && self.StatusData == other.StatusData
}
}
impl ::core::cmp::Eq for AMCOPPStatusInput {}
impl ::core::default::Default for AMCOPPStatusInput {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AMCOPPStatusOutput {
pub macKDI: ::windows::core::GUID,
pub cbSizeData: u32,
pub COPPStatus: [u8; 4076],
}
impl ::core::marker::Copy for AMCOPPStatusOutput {}
impl ::core::clone::Clone for AMCOPPStatusOutput {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AMCOPPStatusOutput {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AMCOPPStatusOutput").field("macKDI", &self.macKDI).field("cbSizeData", &self.cbSizeData).field("COPPStatus", &self.COPPStatus).finish()
}
}
impl ::windows::core::TypeKind for AMCOPPStatusOutput {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AMCOPPStatusOutput {
fn eq(&self, other: &Self) -> bool {
self.macKDI == other.macKDI && self.cbSizeData == other.cbSizeData && self.COPPStatus == other.COPPStatus
}
}
impl ::core::cmp::Eq for AMCOPPStatusOutput {}
impl ::core::default::Default for AMCOPPStatusOutput {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AMVABUFFERINFO {
pub dwTypeIndex: u32,
pub dwBufferIndex: u32,
pub dwDataOffset: u32,
pub dwDataSize: u32,
}
impl ::core::marker::Copy for AMVABUFFERINFO {}
impl ::core::clone::Clone for AMVABUFFERINFO {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AMVABUFFERINFO {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AMVABUFFERINFO").field("dwTypeIndex", &self.dwTypeIndex).field("dwBufferIndex", &self.dwBufferIndex).field("dwDataOffset", &self.dwDataOffset).field("dwDataSize", &self.dwDataSize).finish()
}
}
impl ::windows::core::TypeKind for AMVABUFFERINFO {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AMVABUFFERINFO {
fn eq(&self, other: &Self) -> bool {
self.dwTypeIndex == other.dwTypeIndex && self.dwBufferIndex == other.dwBufferIndex && self.dwDataOffset == other.dwDataOffset && self.dwDataSize == other.dwDataSize
}
}
impl ::core::cmp::Eq for AMVABUFFERINFO {}
impl ::core::default::Default for AMVABUFFERINFO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AMVABeginFrameInfo {
pub dwDestSurfaceIndex: u32,
pub pInputData: *mut ::core::ffi::c_void,
pub dwSizeInputData: u32,
pub pOutputData: *mut ::core::ffi::c_void,
pub dwSizeOutputData: u32,
}
impl ::core::marker::Copy for AMVABeginFrameInfo {}
impl ::core::clone::Clone for AMVABeginFrameInfo {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AMVABeginFrameInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AMVABeginFrameInfo").field("dwDestSurfaceIndex", &self.dwDestSurfaceIndex).field("pInputData", &self.pInputData).field("dwSizeInputData", &self.dwSizeInputData).field("pOutputData", &self.pOutputData).field("dwSizeOutputData", &self.dwSizeOutputData).finish()
}
}
impl ::windows::core::TypeKind for AMVABeginFrameInfo {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AMVABeginFrameInfo {
fn eq(&self, other: &Self) -> bool {
self.dwDestSurfaceIndex == other.dwDestSurfaceIndex && self.pInputData == other.pInputData && self.dwSizeInputData == other.dwSizeInputData && self.pOutputData == other.pOutputData && self.dwSizeOutputData == other.dwSizeOutputData
}
}
impl ::core::cmp::Eq for AMVABeginFrameInfo {}
impl ::core::default::Default for AMVABeginFrameInfo {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub struct AMVACompBufferInfo {
pub dwNumCompBuffers: u32,
pub dwWidthToCreate: u32,
pub dwHeightToCreate: u32,
pub dwBytesToAllocate: u32,
pub ddCompCaps: super::super::Graphics::DirectDraw::DDSCAPS2,
pub ddPixelFormat: super::super::Graphics::DirectDraw::DDPIXELFORMAT,
}
#[cfg(feature = "Win32_Graphics_DirectDraw")]
impl ::core::marker::Copy for AMVACompBufferInfo {}
#[cfg(feature = "Win32_Graphics_DirectDraw")]
impl ::core::clone::Clone for AMVACompBufferInfo {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Graphics_DirectDraw")]
impl ::windows::core::TypeKind for AMVACompBufferInfo {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Graphics_DirectDraw")]
impl ::core::default::Default for AMVACompBufferInfo {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AMVAEndFrameInfo {
pub dwSizeMiscData: u32,
pub pMiscData: *mut ::core::ffi::c_void,
}
impl ::core::marker::Copy for AMVAEndFrameInfo {}
impl ::core::clone::Clone for AMVAEndFrameInfo {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AMVAEndFrameInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AMVAEndFrameInfo").field("dwSizeMiscData", &self.dwSizeMiscData).field("pMiscData", &self.pMiscData).finish()
}
}
impl ::windows::core::TypeKind for AMVAEndFrameInfo {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AMVAEndFrameInfo {
fn eq(&self, other: &Self) -> bool {
self.dwSizeMiscData == other.dwSizeMiscData && self.pMiscData == other.pMiscData
}
}
impl ::core::cmp::Eq for AMVAEndFrameInfo {}
impl ::core::default::Default for AMVAEndFrameInfo {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AMVAInternalMemInfo {
pub dwScratchMemAlloc: u32,
}
impl ::core::marker::Copy for AMVAInternalMemInfo {}
impl ::core::clone::Clone for AMVAInternalMemInfo {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AMVAInternalMemInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AMVAInternalMemInfo").field("dwScratchMemAlloc", &self.dwScratchMemAlloc).finish()
}
}
impl ::windows::core::TypeKind for AMVAInternalMemInfo {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AMVAInternalMemInfo {
fn eq(&self, other: &Self) -> bool {
self.dwScratchMemAlloc == other.dwScratchMemAlloc
}
}
impl ::core::cmp::Eq for AMVAInternalMemInfo {}
impl ::core::default::Default for AMVAInternalMemInfo {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub struct AMVAUncompBufferInfo {
pub dwMinNumSurfaces: u32,
pub dwMaxNumSurfaces: u32,
pub ddUncompPixelFormat: super::super::Graphics::DirectDraw::DDPIXELFORMAT,
}
#[cfg(feature = "Win32_Graphics_DirectDraw")]
impl ::core::marker::Copy for AMVAUncompBufferInfo {}
#[cfg(feature = "Win32_Graphics_DirectDraw")]
impl ::core::clone::Clone for AMVAUncompBufferInfo {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Graphics_DirectDraw")]
impl ::windows::core::TypeKind for AMVAUncompBufferInfo {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Graphics_DirectDraw")]
impl ::core::default::Default for AMVAUncompBufferInfo {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub struct AMVAUncompDataInfo {
pub dwUncompWidth: u32,
pub dwUncompHeight: u32,
pub ddUncompPixelFormat: super::super::Graphics::DirectDraw::DDPIXELFORMAT,
}
#[cfg(feature = "Win32_Graphics_DirectDraw")]
impl ::core::marker::Copy for AMVAUncompDataInfo {}
#[cfg(feature = "Win32_Graphics_DirectDraw")]
impl ::core::clone::Clone for AMVAUncompDataInfo {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Graphics_DirectDraw")]
impl ::windows::core::TypeKind for AMVAUncompDataInfo {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Graphics_DirectDraw")]
impl ::core::default::Default for AMVAUncompDataInfo {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct AMVPDATAINFO {
pub dwSize: u32,
pub dwMicrosecondsPerField: u32,
pub amvpDimInfo: AMVPDIMINFO,
pub dwPictAspectRatioX: u32,
pub dwPictAspectRatioY: u32,
pub bEnableDoubleClock: super::super::Foundation::BOOL,
pub bEnableVACT: super::super::Foundation::BOOL,
pub bDataIsInterlaced: super::super::Foundation::BOOL,
pub lHalfLinesOdd: i32,
pub bFieldPolarityInverted: super::super::Foundation::BOOL,
pub dwNumLinesInVREF: u32,
pub lHalfLinesEven: i32,
pub dwReserved1: u32,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for AMVPDATAINFO {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for AMVPDATAINFO {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for AMVPDATAINFO {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AMVPDATAINFO")
.field("dwSize", &self.dwSize)
.field("dwMicrosecondsPerField", &self.dwMicrosecondsPerField)
.field("amvpDimInfo", &self.amvpDimInfo)
.field("dwPictAspectRatioX", &self.dwPictAspectRatioX)
.field("dwPictAspectRatioY", &self.dwPictAspectRatioY)
.field("bEnableDoubleClock", &self.bEnableDoubleClock)
.field("bEnableVACT", &self.bEnableVACT)
.field("bDataIsInterlaced", &self.bDataIsInterlaced)
.field("lHalfLinesOdd", &self.lHalfLinesOdd)
.field("bFieldPolarityInverted", &self.bFieldPolarityInverted)
.field("dwNumLinesInVREF", &self.dwNumLinesInVREF)
.field("lHalfLinesEven", &self.lHalfLinesEven)
.field("dwReserved1", &self.dwReserved1)
.finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for AMVPDATAINFO {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for AMVPDATAINFO {
fn eq(&self, other: &Self) -> bool {
self.dwSize == other.dwSize && self.dwMicrosecondsPerField == other.dwMicrosecondsPerField && self.amvpDimInfo == other.amvpDimInfo && self.dwPictAspectRatioX == other.dwPictAspectRatioX && self.dwPictAspectRatioY == other.dwPictAspectRatioY && self.bEnableDoubleClock == other.bEnableDoubleClock && self.bEnableVACT == other.bEnableVACT && self.bDataIsInterlaced == other.bDataIsInterlaced && self.lHalfLinesOdd == other.lHalfLinesOdd && self.bFieldPolarityInverted == other.bFieldPolarityInverted && self.dwNumLinesInVREF == other.dwNumLinesInVREF && self.lHalfLinesEven == other.lHalfLinesEven && self.dwReserved1 == other.dwReserved1
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for AMVPDATAINFO {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for AMVPDATAINFO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct AMVPDIMINFO {
pub dwFieldWidth: u32,
pub dwFieldHeight: u32,
pub dwVBIWidth: u32,
pub dwVBIHeight: u32,
pub rcValidRegion: super::super::Foundation::RECT,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for AMVPDIMINFO {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for AMVPDIMINFO {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for AMVPDIMINFO {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AMVPDIMINFO").field("dwFieldWidth", &self.dwFieldWidth).field("dwFieldHeight", &self.dwFieldHeight).field("dwVBIWidth", &self.dwVBIWidth).field("dwVBIHeight", &self.dwVBIHeight).field("rcValidRegion", &self.rcValidRegion).finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for AMVPDIMINFO {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for AMVPDIMINFO {
fn eq(&self, other: &Self) -> bool {
self.dwFieldWidth == other.dwFieldWidth && self.dwFieldHeight == other.dwFieldHeight && self.dwVBIWidth == other.dwVBIWidth && self.dwVBIHeight == other.dwVBIHeight && self.rcValidRegion == other.rcValidRegion
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for AMVPDIMINFO {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for AMVPDIMINFO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AMVPSIZE {
pub dwWidth: u32,
pub dwHeight: u32,
}
impl ::core::marker::Copy for AMVPSIZE {}
impl ::core::clone::Clone for AMVPSIZE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AMVPSIZE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AMVPSIZE").field("dwWidth", &self.dwWidth).field("dwHeight", &self.dwHeight).finish()
}
}
impl ::windows::core::TypeKind for AMVPSIZE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AMVPSIZE {
fn eq(&self, other: &Self) -> bool {
self.dwWidth == other.dwWidth && self.dwHeight == other.dwHeight
}
}
impl ::core::cmp::Eq for AMVPSIZE {}
impl ::core::default::Default for AMVPSIZE {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct AM_AC3_ALTERNATE_AUDIO {
pub fStereo: super::super::Foundation::BOOL,
pub DualMode: u32,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for AM_AC3_ALTERNATE_AUDIO {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for AM_AC3_ALTERNATE_AUDIO {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for AM_AC3_ALTERNATE_AUDIO {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_AC3_ALTERNATE_AUDIO").field("fStereo", &self.fStereo).field("DualMode", &self.DualMode).finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for AM_AC3_ALTERNATE_AUDIO {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for AM_AC3_ALTERNATE_AUDIO {
fn eq(&self, other: &Self) -> bool {
self.fStereo == other.fStereo && self.DualMode == other.DualMode
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for AM_AC3_ALTERNATE_AUDIO {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for AM_AC3_ALTERNATE_AUDIO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_AC3_BIT_STREAM_MODE {
pub BitStreamMode: i32,
}
impl ::core::marker::Copy for AM_AC3_BIT_STREAM_MODE {}
impl ::core::clone::Clone for AM_AC3_BIT_STREAM_MODE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_AC3_BIT_STREAM_MODE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_AC3_BIT_STREAM_MODE").field("BitStreamMode", &self.BitStreamMode).finish()
}
}
impl ::windows::core::TypeKind for AM_AC3_BIT_STREAM_MODE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_AC3_BIT_STREAM_MODE {
fn eq(&self, other: &Self) -> bool {
self.BitStreamMode == other.BitStreamMode
}
}
impl ::core::cmp::Eq for AM_AC3_BIT_STREAM_MODE {}
impl ::core::default::Default for AM_AC3_BIT_STREAM_MODE {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_AC3_DIALOGUE_LEVEL {
pub DialogueLevel: u32,
}
impl ::core::marker::Copy for AM_AC3_DIALOGUE_LEVEL {}
impl ::core::clone::Clone for AM_AC3_DIALOGUE_LEVEL {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_AC3_DIALOGUE_LEVEL {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_AC3_DIALOGUE_LEVEL").field("DialogueLevel", &self.DialogueLevel).finish()
}
}
impl ::windows::core::TypeKind for AM_AC3_DIALOGUE_LEVEL {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_AC3_DIALOGUE_LEVEL {
fn eq(&self, other: &Self) -> bool {
self.DialogueLevel == other.DialogueLevel
}
}
impl ::core::cmp::Eq for AM_AC3_DIALOGUE_LEVEL {}
impl ::core::default::Default for AM_AC3_DIALOGUE_LEVEL {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct AM_AC3_DOWNMIX {
pub fDownMix: super::super::Foundation::BOOL,
pub fDolbySurround: super::super::Foundation::BOOL,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for AM_AC3_DOWNMIX {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for AM_AC3_DOWNMIX {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for AM_AC3_DOWNMIX {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_AC3_DOWNMIX").field("fDownMix", &self.fDownMix).field("fDolbySurround", &self.fDolbySurround).finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for AM_AC3_DOWNMIX {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for AM_AC3_DOWNMIX {
fn eq(&self, other: &Self) -> bool {
self.fDownMix == other.fDownMix && self.fDolbySurround == other.fDolbySurround
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for AM_AC3_DOWNMIX {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for AM_AC3_DOWNMIX {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct AM_AC3_ERROR_CONCEALMENT {
pub fRepeatPreviousBlock: super::super::Foundation::BOOL,
pub fErrorInCurrentBlock: super::super::Foundation::BOOL,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for AM_AC3_ERROR_CONCEALMENT {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for AM_AC3_ERROR_CONCEALMENT {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for AM_AC3_ERROR_CONCEALMENT {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_AC3_ERROR_CONCEALMENT").field("fRepeatPreviousBlock", &self.fRepeatPreviousBlock).field("fErrorInCurrentBlock", &self.fErrorInCurrentBlock).finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for AM_AC3_ERROR_CONCEALMENT {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for AM_AC3_ERROR_CONCEALMENT {
fn eq(&self, other: &Self) -> bool {
self.fRepeatPreviousBlock == other.fRepeatPreviousBlock && self.fErrorInCurrentBlock == other.fErrorInCurrentBlock
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for AM_AC3_ERROR_CONCEALMENT {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for AM_AC3_ERROR_CONCEALMENT {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct AM_AC3_ROOM_TYPE {
pub fLargeRoom: super::super::Foundation::BOOL,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for AM_AC3_ROOM_TYPE {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for AM_AC3_ROOM_TYPE {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for AM_AC3_ROOM_TYPE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_AC3_ROOM_TYPE").field("fLargeRoom", &self.fLargeRoom).finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for AM_AC3_ROOM_TYPE {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for AM_AC3_ROOM_TYPE {
fn eq(&self, other: &Self) -> bool {
self.fLargeRoom == other.fLargeRoom
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for AM_AC3_ROOM_TYPE {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for AM_AC3_ROOM_TYPE {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_COLCON {
pub _bitfield1: u8,
pub _bitfield2: u8,
pub _bitfield3: u8,
pub _bitfield4: u8,
}
impl ::core::marker::Copy for AM_COLCON {}
impl ::core::clone::Clone for AM_COLCON {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_COLCON {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_COLCON").field("_bitfield1", &self._bitfield1).field("_bitfield2", &self._bitfield2).field("_bitfield3", &self._bitfield3).field("_bitfield4", &self._bitfield4).finish()
}
}
impl ::windows::core::TypeKind for AM_COLCON {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_COLCON {
fn eq(&self, other: &Self) -> bool {
self._bitfield1 == other._bitfield1 && self._bitfield2 == other._bitfield2 && self._bitfield3 == other._bitfield3 && self._bitfield4 == other._bitfield4
}
}
impl ::core::cmp::Eq for AM_COLCON {}
impl ::core::default::Default for AM_COLCON {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_COPY_MACROVISION {
pub MACROVISIONLevel: u32,
}
impl ::core::marker::Copy for AM_COPY_MACROVISION {}
impl ::core::clone::Clone for AM_COPY_MACROVISION {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_COPY_MACROVISION {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_COPY_MACROVISION").field("MACROVISIONLevel", &self.MACROVISIONLevel).finish()
}
}
impl ::windows::core::TypeKind for AM_COPY_MACROVISION {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_COPY_MACROVISION {
fn eq(&self, other: &Self) -> bool {
self.MACROVISIONLevel == other.MACROVISIONLevel
}
}
impl ::core::cmp::Eq for AM_COPY_MACROVISION {}
impl ::core::default::Default for AM_COPY_MACROVISION {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_DVDCOPY_BUSKEY {
pub BusKey: [u8; 5],
pub Reserved: [u8; 1],
}
impl ::core::marker::Copy for AM_DVDCOPY_BUSKEY {}
impl ::core::clone::Clone for AM_DVDCOPY_BUSKEY {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_DVDCOPY_BUSKEY {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_DVDCOPY_BUSKEY").field("BusKey", &self.BusKey).field("Reserved", &self.Reserved).finish()
}
}
impl ::windows::core::TypeKind for AM_DVDCOPY_BUSKEY {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_DVDCOPY_BUSKEY {
fn eq(&self, other: &Self) -> bool {
self.BusKey == other.BusKey && self.Reserved == other.Reserved
}
}
impl ::core::cmp::Eq for AM_DVDCOPY_BUSKEY {}
impl ::core::default::Default for AM_DVDCOPY_BUSKEY {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_DVDCOPY_CHLGKEY {
pub ChlgKey: [u8; 10],
pub Reserved: [u8; 2],
}
impl ::core::marker::Copy for AM_DVDCOPY_CHLGKEY {}
impl ::core::clone::Clone for AM_DVDCOPY_CHLGKEY {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_DVDCOPY_CHLGKEY {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_DVDCOPY_CHLGKEY").field("ChlgKey", &self.ChlgKey).field("Reserved", &self.Reserved).finish()
}
}
impl ::windows::core::TypeKind for AM_DVDCOPY_CHLGKEY {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_DVDCOPY_CHLGKEY {
fn eq(&self, other: &Self) -> bool {
self.ChlgKey == other.ChlgKey && self.Reserved == other.Reserved
}
}
impl ::core::cmp::Eq for AM_DVDCOPY_CHLGKEY {}
impl ::core::default::Default for AM_DVDCOPY_CHLGKEY {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_DVDCOPY_DISCKEY {
pub DiscKey: [u8; 2048],
}
impl ::core::marker::Copy for AM_DVDCOPY_DISCKEY {}
impl ::core::clone::Clone for AM_DVDCOPY_DISCKEY {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_DVDCOPY_DISCKEY {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_DVDCOPY_DISCKEY").field("DiscKey", &self.DiscKey).finish()
}
}
impl ::windows::core::TypeKind for AM_DVDCOPY_DISCKEY {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_DVDCOPY_DISCKEY {
fn eq(&self, other: &Self) -> bool {
self.DiscKey == other.DiscKey
}
}
impl ::core::cmp::Eq for AM_DVDCOPY_DISCKEY {}
impl ::core::default::Default for AM_DVDCOPY_DISCKEY {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_DVDCOPY_SET_COPY_STATE {
pub DVDCopyState: u32,
}
impl ::core::marker::Copy for AM_DVDCOPY_SET_COPY_STATE {}
impl ::core::clone::Clone for AM_DVDCOPY_SET_COPY_STATE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_DVDCOPY_SET_COPY_STATE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_DVDCOPY_SET_COPY_STATE").field("DVDCopyState", &self.DVDCopyState).finish()
}
}
impl ::windows::core::TypeKind for AM_DVDCOPY_SET_COPY_STATE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_DVDCOPY_SET_COPY_STATE {
fn eq(&self, other: &Self) -> bool {
self.DVDCopyState == other.DVDCopyState
}
}
impl ::core::cmp::Eq for AM_DVDCOPY_SET_COPY_STATE {}
impl ::core::default::Default for AM_DVDCOPY_SET_COPY_STATE {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_DVDCOPY_TITLEKEY {
pub KeyFlags: u32,
pub Reserved1: [u32; 2],
pub TitleKey: [u8; 6],
pub Reserved2: [u8; 2],
}
impl ::core::marker::Copy for AM_DVDCOPY_TITLEKEY {}
impl ::core::clone::Clone for AM_DVDCOPY_TITLEKEY {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_DVDCOPY_TITLEKEY {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_DVDCOPY_TITLEKEY").field("KeyFlags", &self.KeyFlags).field("Reserved1", &self.Reserved1).field("TitleKey", &self.TitleKey).field("Reserved2", &self.Reserved2).finish()
}
}
impl ::windows::core::TypeKind for AM_DVDCOPY_TITLEKEY {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_DVDCOPY_TITLEKEY {
fn eq(&self, other: &Self) -> bool {
self.KeyFlags == other.KeyFlags && self.Reserved1 == other.Reserved1 && self.TitleKey == other.TitleKey && self.Reserved2 == other.Reserved2
}
}
impl ::core::cmp::Eq for AM_DVDCOPY_TITLEKEY {}
impl ::core::default::Default for AM_DVDCOPY_TITLEKEY {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_DVD_ChangeRate {
pub StartInTime: i64,
pub StartOutTime: i64,
pub Rate: i32,
}
impl ::core::marker::Copy for AM_DVD_ChangeRate {}
impl ::core::clone::Clone for AM_DVD_ChangeRate {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_DVD_ChangeRate {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_DVD_ChangeRate").field("StartInTime", &self.StartInTime).field("StartOutTime", &self.StartOutTime).field("Rate", &self.Rate).finish()
}
}
impl ::windows::core::TypeKind for AM_DVD_ChangeRate {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_DVD_ChangeRate {
fn eq(&self, other: &Self) -> bool {
self.StartInTime == other.StartInTime && self.StartOutTime == other.StartOutTime && self.Rate == other.Rate
}
}
impl ::core::cmp::Eq for AM_DVD_ChangeRate {}
impl ::core::default::Default for AM_DVD_ChangeRate {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct AM_DVD_RENDERSTATUS {
pub hrVPEStatus: ::windows::core::HRESULT,
pub bDvdVolInvalid: super::super::Foundation::BOOL,
pub bDvdVolUnknown: super::super::Foundation::BOOL,
pub bNoLine21In: super::super::Foundation::BOOL,
pub bNoLine21Out: super::super::Foundation::BOOL,
pub iNumStreams: i32,
pub iNumStreamsFailed: i32,
pub dwFailedStreamsFlag: u32,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for AM_DVD_RENDERSTATUS {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for AM_DVD_RENDERSTATUS {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for AM_DVD_RENDERSTATUS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_DVD_RENDERSTATUS").field("hrVPEStatus", &self.hrVPEStatus).field("bDvdVolInvalid", &self.bDvdVolInvalid).field("bDvdVolUnknown", &self.bDvdVolUnknown).field("bNoLine21In", &self.bNoLine21In).field("bNoLine21Out", &self.bNoLine21Out).field("iNumStreams", &self.iNumStreams).field("iNumStreamsFailed", &self.iNumStreamsFailed).field("dwFailedStreamsFlag", &self.dwFailedStreamsFlag).finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for AM_DVD_RENDERSTATUS {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for AM_DVD_RENDERSTATUS {
fn eq(&self, other: &Self) -> bool {
self.hrVPEStatus == other.hrVPEStatus && self.bDvdVolInvalid == other.bDvdVolInvalid && self.bDvdVolUnknown == other.bDvdVolUnknown && self.bNoLine21In == other.bNoLine21In && self.bNoLine21Out == other.bNoLine21Out && self.iNumStreams == other.iNumStreams && self.iNumStreamsFailed == other.iNumStreamsFailed && self.dwFailedStreamsFlag == other.dwFailedStreamsFlag
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for AM_DVD_RENDERSTATUS {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for AM_DVD_RENDERSTATUS {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_DVD_YUV {
pub Reserved: u8,
pub Y: u8,
pub U: u8,
pub V: u8,
}
impl ::core::marker::Copy for AM_DVD_YUV {}
impl ::core::clone::Clone for AM_DVD_YUV {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_DVD_YUV {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_DVD_YUV").field("Reserved", &self.Reserved).field("Y", &self.Y).field("U", &self.U).field("V", &self.V).finish()
}
}
impl ::windows::core::TypeKind for AM_DVD_YUV {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_DVD_YUV {
fn eq(&self, other: &Self) -> bool {
self.Reserved == other.Reserved && self.Y == other.Y && self.U == other.U && self.V == other.V
}
}
impl ::core::cmp::Eq for AM_DVD_YUV {}
impl ::core::default::Default for AM_DVD_YUV {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_DvdKaraokeData {
pub dwDownmix: u32,
pub dwSpeakerAssignment: u32,
}
impl ::core::marker::Copy for AM_DvdKaraokeData {}
impl ::core::clone::Clone for AM_DvdKaraokeData {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_DvdKaraokeData {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_DvdKaraokeData").field("dwDownmix", &self.dwDownmix).field("dwSpeakerAssignment", &self.dwSpeakerAssignment).finish()
}
}
impl ::windows::core::TypeKind for AM_DvdKaraokeData {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_DvdKaraokeData {
fn eq(&self, other: &Self) -> bool {
self.dwDownmix == other.dwDownmix && self.dwSpeakerAssignment == other.dwSpeakerAssignment
}
}
impl ::core::cmp::Eq for AM_DvdKaraokeData {}
impl ::core::default::Default for AM_DvdKaraokeData {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_ExactRateChange {
pub OutputZeroTime: i64,
pub Rate: i32,
}
impl ::core::marker::Copy for AM_ExactRateChange {}
impl ::core::clone::Clone for AM_ExactRateChange {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_ExactRateChange {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_ExactRateChange").field("OutputZeroTime", &self.OutputZeroTime).field("Rate", &self.Rate).finish()
}
}
impl ::windows::core::TypeKind for AM_ExactRateChange {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_ExactRateChange {
fn eq(&self, other: &Self) -> bool {
self.OutputZeroTime == other.OutputZeroTime && self.Rate == other.Rate
}
}
impl ::core::cmp::Eq for AM_ExactRateChange {}
impl ::core::default::Default for AM_ExactRateChange {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_FRAMESTEP_STEP {
pub dwFramesToStep: u32,
}
impl ::core::marker::Copy for AM_FRAMESTEP_STEP {}
impl ::core::clone::Clone for AM_FRAMESTEP_STEP {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_FRAMESTEP_STEP {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_FRAMESTEP_STEP").field("dwFramesToStep", &self.dwFramesToStep).finish()
}
}
impl ::windows::core::TypeKind for AM_FRAMESTEP_STEP {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_FRAMESTEP_STEP {
fn eq(&self, other: &Self) -> bool {
self.dwFramesToStep == other.dwFramesToStep
}
}
impl ::core::cmp::Eq for AM_FRAMESTEP_STEP {}
impl ::core::default::Default for AM_FRAMESTEP_STEP {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub struct AM_MPEGSTREAMTYPE {
pub dwStreamId: u32,
pub dwReserved: u32,
pub mt: super::MediaFoundation::AM_MEDIA_TYPE,
pub bFormat: [u8; 1],
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::clone::Clone for AM_MPEGSTREAMTYPE {
fn clone(&self) -> Self {
unsafe { ::core::mem::transmute_copy(self) }
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::fmt::Debug for AM_MPEGSTREAMTYPE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_MPEGSTREAMTYPE").field("dwStreamId", &self.dwStreamId).field("dwReserved", &self.dwReserved).field("mt", &self.mt).field("bFormat", &self.bFormat).finish()
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::windows::core::TypeKind for AM_MPEGSTREAMTYPE {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::cmp::PartialEq for AM_MPEGSTREAMTYPE {
fn eq(&self, other: &Self) -> bool {
self.dwStreamId == other.dwStreamId && self.dwReserved == other.dwReserved && self.mt == other.mt && self.bFormat == other.bFormat
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::cmp::Eq for AM_MPEGSTREAMTYPE {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::default::Default for AM_MPEGSTREAMTYPE {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub struct AM_MPEGSYSTEMTYPE {
pub dwBitRate: u32,
pub cStreams: u32,
pub Streams: [AM_MPEGSTREAMTYPE; 1],
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::clone::Clone for AM_MPEGSYSTEMTYPE {
fn clone(&self) -> Self {
unsafe { ::core::mem::transmute_copy(self) }
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::fmt::Debug for AM_MPEGSYSTEMTYPE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_MPEGSYSTEMTYPE").field("dwBitRate", &self.dwBitRate).field("cStreams", &self.cStreams).field("Streams", &self.Streams).finish()
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::windows::core::TypeKind for AM_MPEGSYSTEMTYPE {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::cmp::PartialEq for AM_MPEGSYSTEMTYPE {
fn eq(&self, other: &Self) -> bool {
self.dwBitRate == other.dwBitRate && self.cStreams == other.cStreams && self.Streams == other.Streams
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::cmp::Eq for AM_MPEGSYSTEMTYPE {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::default::Default for AM_MPEGSYSTEMTYPE {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_PROPERTY_SPHLI {
pub HLISS: u16,
pub Reserved: u16,
pub StartPTM: u32,
pub EndPTM: u32,
pub StartX: u16,
pub StartY: u16,
pub StopX: u16,
pub StopY: u16,
pub ColCon: AM_COLCON,
}
impl ::core::marker::Copy for AM_PROPERTY_SPHLI {}
impl ::core::clone::Clone for AM_PROPERTY_SPHLI {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_PROPERTY_SPHLI {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_PROPERTY_SPHLI").field("HLISS", &self.HLISS).field("Reserved", &self.Reserved).field("StartPTM", &self.StartPTM).field("EndPTM", &self.EndPTM).field("StartX", &self.StartX).field("StartY", &self.StartY).field("StopX", &self.StopX).field("StopY", &self.StopY).field("ColCon", &self.ColCon).finish()
}
}
impl ::windows::core::TypeKind for AM_PROPERTY_SPHLI {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_PROPERTY_SPHLI {
fn eq(&self, other: &Self) -> bool {
self.HLISS == other.HLISS && self.Reserved == other.Reserved && self.StartPTM == other.StartPTM && self.EndPTM == other.EndPTM && self.StartX == other.StartX && self.StartY == other.StartY && self.StopX == other.StopX && self.StopY == other.StopY && self.ColCon == other.ColCon
}
}
impl ::core::cmp::Eq for AM_PROPERTY_SPHLI {}
impl ::core::default::Default for AM_PROPERTY_SPHLI {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_PROPERTY_SPPAL {
pub sppal: [AM_DVD_YUV; 16],
}
impl ::core::marker::Copy for AM_PROPERTY_SPPAL {}
impl ::core::clone::Clone for AM_PROPERTY_SPPAL {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_PROPERTY_SPPAL {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_PROPERTY_SPPAL").field("sppal", &self.sppal).finish()
}
}
impl ::windows::core::TypeKind for AM_PROPERTY_SPPAL {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_PROPERTY_SPPAL {
fn eq(&self, other: &Self) -> bool {
self.sppal == other.sppal
}
}
impl ::core::cmp::Eq for AM_PROPERTY_SPPAL {}
impl ::core::default::Default for AM_PROPERTY_SPPAL {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_QueryRate {
pub lMaxForwardFullFrame: i32,
pub lMaxReverseFullFrame: i32,
}
impl ::core::marker::Copy for AM_QueryRate {}
impl ::core::clone::Clone for AM_QueryRate {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_QueryRate {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_QueryRate").field("lMaxForwardFullFrame", &self.lMaxForwardFullFrame).field("lMaxReverseFullFrame", &self.lMaxReverseFullFrame).finish()
}
}
impl ::windows::core::TypeKind for AM_QueryRate {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_QueryRate {
fn eq(&self, other: &Self) -> bool {
self.lMaxForwardFullFrame == other.lMaxForwardFullFrame && self.lMaxReverseFullFrame == other.lMaxReverseFullFrame
}
}
impl ::core::cmp::Eq for AM_QueryRate {}
impl ::core::default::Default for AM_QueryRate {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub struct AM_SAMPLE2_PROPERTIES {
pub cbData: u32,
pub dwTypeSpecificFlags: u32,
pub dwSampleFlags: u32,
pub lActual: i32,
pub tStart: i64,
pub tStop: i64,
pub dwStreamId: u32,
pub pMediaType: *mut super::MediaFoundation::AM_MEDIA_TYPE,
pub pbBuffer: *mut u8,
pub cbBuffer: i32,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::marker::Copy for AM_SAMPLE2_PROPERTIES {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::clone::Clone for AM_SAMPLE2_PROPERTIES {
fn clone(&self) -> Self {
*self
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::fmt::Debug for AM_SAMPLE2_PROPERTIES {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_SAMPLE2_PROPERTIES").field("cbData", &self.cbData).field("dwTypeSpecificFlags", &self.dwTypeSpecificFlags).field("dwSampleFlags", &self.dwSampleFlags).field("lActual", &self.lActual).field("tStart", &self.tStart).field("tStop", &self.tStop).field("dwStreamId", &self.dwStreamId).field("pMediaType", &self.pMediaType).field("pbBuffer", &self.pbBuffer).field("cbBuffer", &self.cbBuffer).finish()
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::windows::core::TypeKind for AM_SAMPLE2_PROPERTIES {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::cmp::PartialEq for AM_SAMPLE2_PROPERTIES {
fn eq(&self, other: &Self) -> bool {
self.cbData == other.cbData && self.dwTypeSpecificFlags == other.dwTypeSpecificFlags && self.dwSampleFlags == other.dwSampleFlags && self.lActual == other.lActual && self.tStart == other.tStart && self.tStop == other.tStop && self.dwStreamId == other.dwStreamId && self.pMediaType == other.pMediaType && self.pbBuffer == other.pbBuffer && self.cbBuffer == other.cbBuffer
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::cmp::Eq for AM_SAMPLE2_PROPERTIES {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::default::Default for AM_SAMPLE2_PROPERTIES {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_STREAM_INFO {
pub tStart: i64,
pub tStop: i64,
pub dwStartCookie: u32,
pub dwStopCookie: u32,
pub dwFlags: u32,
}
impl ::core::marker::Copy for AM_STREAM_INFO {}
impl ::core::clone::Clone for AM_STREAM_INFO {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_STREAM_INFO {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_STREAM_INFO").field("tStart", &self.tStart).field("tStop", &self.tStop).field("dwStartCookie", &self.dwStartCookie).field("dwStopCookie", &self.dwStopCookie).field("dwFlags", &self.dwFlags).finish()
}
}
impl ::windows::core::TypeKind for AM_STREAM_INFO {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_STREAM_INFO {
fn eq(&self, other: &Self) -> bool {
self.tStart == other.tStart && self.tStop == other.tStop && self.dwStartCookie == other.dwStartCookie && self.dwStopCookie == other.dwStopCookie && self.dwFlags == other.dwFlags
}
}
impl ::core::cmp::Eq for AM_STREAM_INFO {}
impl ::core::default::Default for AM_STREAM_INFO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_SimpleRateChange {
pub StartTime: i64,
pub Rate: i32,
}
impl ::core::marker::Copy for AM_SimpleRateChange {}
impl ::core::clone::Clone for AM_SimpleRateChange {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_SimpleRateChange {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_SimpleRateChange").field("StartTime", &self.StartTime).field("Rate", &self.Rate).finish()
}
}
impl ::windows::core::TypeKind for AM_SimpleRateChange {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_SimpleRateChange {
fn eq(&self, other: &Self) -> bool {
self.StartTime == other.StartTime && self.Rate == other.Rate
}
}
impl ::core::cmp::Eq for AM_SimpleRateChange {}
impl ::core::default::Default for AM_SimpleRateChange {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AM_WST_PAGE {
pub dwPageNr: u32,
pub dwSubPageNr: u32,
pub pucPageData: *mut u8,
}
impl ::core::marker::Copy for AM_WST_PAGE {}
impl ::core::clone::Clone for AM_WST_PAGE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AM_WST_PAGE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AM_WST_PAGE").field("dwPageNr", &self.dwPageNr).field("dwSubPageNr", &self.dwSubPageNr).field("pucPageData", &self.pucPageData).finish()
}
}
impl ::windows::core::TypeKind for AM_WST_PAGE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AM_WST_PAGE {
fn eq(&self, other: &Self) -> bool {
self.dwPageNr == other.dwPageNr && self.dwSubPageNr == other.dwSubPageNr && self.pucPageData == other.pucPageData
}
}
impl ::core::cmp::Eq for AM_WST_PAGE {}
impl ::core::default::Default for AM_WST_PAGE {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct ANALOGVIDEOINFO {
pub rcSource: super::super::Foundation::RECT,
pub rcTarget: super::super::Foundation::RECT,
pub dwActiveWidth: u32,
pub dwActiveHeight: u32,
pub AvgTimePerFrame: i64,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for ANALOGVIDEOINFO {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for ANALOGVIDEOINFO {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for ANALOGVIDEOINFO {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("ANALOGVIDEOINFO").field("rcSource", &self.rcSource).field("rcTarget", &self.rcTarget).field("dwActiveWidth", &self.dwActiveWidth).field("dwActiveHeight", &self.dwActiveHeight).field("AvgTimePerFrame", &self.AvgTimePerFrame).finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for ANALOGVIDEOINFO {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for ANALOGVIDEOINFO {
fn eq(&self, other: &Self) -> bool {
self.rcSource == other.rcSource && self.rcTarget == other.rcTarget && self.dwActiveWidth == other.dwActiveWidth && self.dwActiveHeight == other.dwActiveHeight && self.AvgTimePerFrame == other.AvgTimePerFrame
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for ANALOGVIDEOINFO {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for ANALOGVIDEOINFO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AUDIO_STREAM_CONFIG_CAPS {
pub guid: ::windows::core::GUID,
pub MinimumChannels: u32,
pub MaximumChannels: u32,
pub ChannelsGranularity: u32,
pub MinimumBitsPerSample: u32,
pub MaximumBitsPerSample: u32,
pub BitsPerSampleGranularity: u32,
pub MinimumSampleFrequency: u32,
pub MaximumSampleFrequency: u32,
pub SampleFrequencyGranularity: u32,
}
impl ::core::marker::Copy for AUDIO_STREAM_CONFIG_CAPS {}
impl ::core::clone::Clone for AUDIO_STREAM_CONFIG_CAPS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AUDIO_STREAM_CONFIG_CAPS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AUDIO_STREAM_CONFIG_CAPS")
.field("guid", &self.guid)
.field("MinimumChannels", &self.MinimumChannels)
.field("MaximumChannels", &self.MaximumChannels)
.field("ChannelsGranularity", &self.ChannelsGranularity)
.field("MinimumBitsPerSample", &self.MinimumBitsPerSample)
.field("MaximumBitsPerSample", &self.MaximumBitsPerSample)
.field("BitsPerSampleGranularity", &self.BitsPerSampleGranularity)
.field("MinimumSampleFrequency", &self.MinimumSampleFrequency)
.field("MaximumSampleFrequency", &self.MaximumSampleFrequency)
.field("SampleFrequencyGranularity", &self.SampleFrequencyGranularity)
.finish()
}
}
impl ::windows::core::TypeKind for AUDIO_STREAM_CONFIG_CAPS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AUDIO_STREAM_CONFIG_CAPS {
fn eq(&self, other: &Self) -> bool {
self.guid == other.guid && self.MinimumChannels == other.MinimumChannels && self.MaximumChannels == other.MaximumChannels && self.ChannelsGranularity == other.ChannelsGranularity && self.MinimumBitsPerSample == other.MinimumBitsPerSample && self.MaximumBitsPerSample == other.MaximumBitsPerSample && self.BitsPerSampleGranularity == other.BitsPerSampleGranularity && self.MinimumSampleFrequency == other.MinimumSampleFrequency && self.MaximumSampleFrequency == other.MaximumSampleFrequency && self.SampleFrequencyGranularity == other.SampleFrequencyGranularity
}
}
impl ::core::cmp::Eq for AUDIO_STREAM_CONFIG_CAPS {}
impl ::core::default::Default for AUDIO_STREAM_CONFIG_CAPS {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVIEXTHEADER {
pub fcc: u32,
pub cb: u32,
pub dwGrandFrames: u32,
pub dwFuture: [u32; 61],
}
impl ::core::marker::Copy for AVIEXTHEADER {}
impl ::core::clone::Clone for AVIEXTHEADER {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for AVIEXTHEADER {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for AVIEXTHEADER {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVIFIELDINDEX {
pub fcc: u32,
pub cb: u32,
pub wLongsPerEntry: u16,
pub bIndexSubType: u8,
pub bIndexType: u8,
pub nEntriesInUse: u32,
pub dwChunkId: u32,
pub qwBaseOffset: u64,
pub dwReserved3: u32,
pub aIndex: [AVIFIELDINDEX_0; 1],
}
impl ::core::marker::Copy for AVIFIELDINDEX {}
impl ::core::clone::Clone for AVIFIELDINDEX {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for AVIFIELDINDEX {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for AVIFIELDINDEX {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVIFIELDINDEX_0 {
pub dwOffset: u32,
pub dwSize: u32,
pub dwOffsetField2: u32,
}
impl ::core::marker::Copy for AVIFIELDINDEX_0 {}
impl ::core::clone::Clone for AVIFIELDINDEX_0 {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for AVIFIELDINDEX_0 {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for AVIFIELDINDEX_0 {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVIINDEXENTRY {
pub ckid: u32,
pub dwFlags: u32,
pub dwChunkOffset: u32,
pub dwChunkLength: u32,
}
impl ::core::marker::Copy for AVIINDEXENTRY {}
impl ::core::clone::Clone for AVIINDEXENTRY {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AVIINDEXENTRY {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AVIINDEXENTRY").field("ckid", &self.ckid).field("dwFlags", &self.dwFlags).field("dwChunkOffset", &self.dwChunkOffset).field("dwChunkLength", &self.dwChunkLength).finish()
}
}
impl ::windows::core::TypeKind for AVIINDEXENTRY {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AVIINDEXENTRY {
fn eq(&self, other: &Self) -> bool {
self.ckid == other.ckid && self.dwFlags == other.dwFlags && self.dwChunkOffset == other.dwChunkOffset && self.dwChunkLength == other.dwChunkLength
}
}
impl ::core::cmp::Eq for AVIINDEXENTRY {}
impl ::core::default::Default for AVIINDEXENTRY {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVIMAINHEADER {
pub fcc: u32,
pub cb: u32,
pub dwMicroSecPerFrame: u32,
pub dwMaxBytesPerSec: u32,
pub dwPaddingGranularity: u32,
pub dwFlags: u32,
pub dwTotalFrames: u32,
pub dwInitialFrames: u32,
pub dwStreams: u32,
pub dwSuggestedBufferSize: u32,
pub dwWidth: u32,
pub dwHeight: u32,
pub dwReserved: [u32; 4],
}
impl ::core::marker::Copy for AVIMAINHEADER {}
impl ::core::clone::Clone for AVIMAINHEADER {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for AVIMAINHEADER {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for AVIMAINHEADER {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVIMETAINDEX {
pub fcc: u32,
pub cb: u32,
pub wLongsPerEntry: u16,
pub bIndexSubType: u8,
pub bIndexType: u8,
pub nEntriesInUse: u32,
pub dwChunkId: u32,
pub dwReserved: [u32; 3],
pub adwIndex: [u32; 1],
}
impl ::core::marker::Copy for AVIMETAINDEX {}
impl ::core::clone::Clone for AVIMETAINDEX {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for AVIMETAINDEX {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for AVIMETAINDEX {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVIOLDINDEX {
pub fcc: u32,
pub cb: u32,
pub aIndex: [AVIOLDINDEX_0; 1],
}
impl ::core::marker::Copy for AVIOLDINDEX {}
impl ::core::clone::Clone for AVIOLDINDEX {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for AVIOLDINDEX {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for AVIOLDINDEX {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVIOLDINDEX_0 {
pub dwChunkId: u32,
pub dwFlags: u32,
pub dwOffset: u32,
pub dwSize: u32,
}
impl ::core::marker::Copy for AVIOLDINDEX_0 {}
impl ::core::clone::Clone for AVIOLDINDEX_0 {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for AVIOLDINDEX_0 {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for AVIOLDINDEX_0 {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(feature = "Win32_Graphics_Gdi")]
pub struct AVIPALCHANGE {
pub bFirstEntry: u8,
pub bNumEntries: u8,
pub wFlags: u16,
pub peNew: [super::super::Graphics::Gdi::PALETTEENTRY; 1],
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ::core::marker::Copy for AVIPALCHANGE {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ::core::clone::Clone for AVIPALCHANGE {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ::core::fmt::Debug for AVIPALCHANGE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AVIPALCHANGE").field("bFirstEntry", &self.bFirstEntry).field("bNumEntries", &self.bNumEntries).field("wFlags", &self.wFlags).field("peNew", &self.peNew).finish()
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ::windows::core::TypeKind for AVIPALCHANGE {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ::core::cmp::PartialEq for AVIPALCHANGE {
fn eq(&self, other: &Self) -> bool {
self.bFirstEntry == other.bFirstEntry && self.bNumEntries == other.bNumEntries && self.wFlags == other.wFlags && self.peNew == other.peNew
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ::core::cmp::Eq for AVIPALCHANGE {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ::core::default::Default for AVIPALCHANGE {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVISTDINDEX {
pub fcc: u32,
pub cb: u32,
pub wLongsPerEntry: u16,
pub bIndexSubType: u8,
pub bIndexType: u8,
pub nEntriesInUse: u32,
pub dwChunkId: u32,
pub qwBaseOffset: u64,
pub dwReserved_3: u32,
pub aIndex: [AVISTDINDEX_ENTRY; 2044],
}
impl ::core::marker::Copy for AVISTDINDEX {}
impl ::core::clone::Clone for AVISTDINDEX {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for AVISTDINDEX {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for AVISTDINDEX {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVISTDINDEX_ENTRY {
pub dwOffset: u32,
pub dwSize: u32,
}
impl ::core::marker::Copy for AVISTDINDEX_ENTRY {}
impl ::core::clone::Clone for AVISTDINDEX_ENTRY {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for AVISTDINDEX_ENTRY {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for AVISTDINDEX_ENTRY {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVISTREAMHEADER {
pub fcc: u32,
pub cb: u32,
pub fccType: u32,
pub fccHandler: u32,
pub dwFlags: u32,
pub wPriority: u16,
pub wLanguage: u16,
pub dwInitialFrames: u32,
pub dwScale: u32,
pub dwRate: u32,
pub dwStart: u32,
pub dwLength: u32,
pub dwSuggestedBufferSize: u32,
pub dwQuality: u32,
pub dwSampleSize: u32,
pub rcFrame: AVISTREAMHEADER_0,
}
impl ::core::marker::Copy for AVISTREAMHEADER {}
impl ::core::clone::Clone for AVISTREAMHEADER {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for AVISTREAMHEADER {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for AVISTREAMHEADER {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVISTREAMHEADER_0 {
pub left: i16,
pub top: i16,
pub right: i16,
pub bottom: i16,
}
impl ::core::marker::Copy for AVISTREAMHEADER_0 {}
impl ::core::clone::Clone for AVISTREAMHEADER_0 {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for AVISTREAMHEADER_0 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AVISTREAMHEADER_0").field("left", &self.left).field("top", &self.top).field("right", &self.right).field("bottom", &self.bottom).finish()
}
}
impl ::windows::core::TypeKind for AVISTREAMHEADER_0 {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for AVISTREAMHEADER_0 {
fn eq(&self, other: &Self) -> bool {
self.left == other.left && self.top == other.top && self.right == other.right && self.bottom == other.bottom
}
}
impl ::core::cmp::Eq for AVISTREAMHEADER_0 {}
impl ::core::default::Default for AVISTREAMHEADER_0 {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVISUPERINDEX {
pub fcc: u32,
pub cb: u32,
pub wLongsPerEntry: u16,
pub bIndexSubType: u8,
pub bIndexType: u8,
pub nEntriesInUse: u32,
pub dwChunkId: u32,
pub dwReserved: [u32; 3],
pub aIndex: [AVISUPERINDEX_0; 1022],
}
impl ::core::marker::Copy for AVISUPERINDEX {}
impl ::core::clone::Clone for AVISUPERINDEX {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for AVISUPERINDEX {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for AVISUPERINDEX {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVISUPERINDEX_0 {
pub qwOffset: u64,
pub dwSize: u32,
pub dwDuration: u32,
}
impl ::core::marker::Copy for AVISUPERINDEX_0 {}
impl ::core::clone::Clone for AVISUPERINDEX_0 {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for AVISUPERINDEX_0 {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for AVISUPERINDEX_0 {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct AVIStreamHeader {
pub fccType: u32,
pub fccHandler: u32,
pub dwFlags: u32,
pub wPriority: u16,
pub wLanguage: u16,
pub dwInitialFrames: u32,
pub dwScale: u32,
pub dwRate: u32,
pub dwStart: u32,
pub dwLength: u32,
pub dwSuggestedBufferSize: u32,
pub dwQuality: u32,
pub dwSampleSize: u32,
pub rcFrame: super::super::Foundation::RECT,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for AVIStreamHeader {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for AVIStreamHeader {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for AVIStreamHeader {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("AVIStreamHeader")
.field("fccType", &self.fccType)
.field("fccHandler", &self.fccHandler)
.field("dwFlags", &self.dwFlags)
.field("wPriority", &self.wPriority)
.field("wLanguage", &self.wLanguage)
.field("dwInitialFrames", &self.dwInitialFrames)
.field("dwScale", &self.dwScale)
.field("dwRate", &self.dwRate)
.field("dwStart", &self.dwStart)
.field("dwLength", &self.dwLength)
.field("dwSuggestedBufferSize", &self.dwSuggestedBufferSize)
.field("dwQuality", &self.dwQuality)
.field("dwSampleSize", &self.dwSampleSize)
.field("rcFrame", &self.rcFrame)
.finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for AVIStreamHeader {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for AVIStreamHeader {
fn eq(&self, other: &Self) -> bool {
self.fccType == other.fccType && self.fccHandler == other.fccHandler && self.dwFlags == other.dwFlags && self.wPriority == other.wPriority && self.wLanguage == other.wLanguage && self.dwInitialFrames == other.dwInitialFrames && self.dwScale == other.dwScale && self.dwRate == other.dwRate && self.dwStart == other.dwStart && self.dwLength == other.dwLength && self.dwSuggestedBufferSize == other.dwSuggestedBufferSize && self.dwQuality == other.dwQuality && self.dwSampleSize == other.dwSampleSize && self.rcFrame == other.rcFrame
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for AVIStreamHeader {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for AVIStreamHeader {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVITCDLINDEX {
pub fcc: u32,
pub cb: u32,
pub wLongsPerEntry: u16,
pub bIndexSubType: u8,
pub bIndexType: u8,
pub nEntriesInUse: u32,
pub dwChunkId: u32,
pub dwReserved: [u32; 3],
pub aIndex: [AVITCDLINDEX_ENTRY; 584],
pub adwTrailingFill: [u32; 3512],
}
impl ::core::marker::Copy for AVITCDLINDEX {}
impl ::core::clone::Clone for AVITCDLINDEX {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for AVITCDLINDEX {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for AVITCDLINDEX {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVITCDLINDEX_ENTRY {
pub dwTick: u32,
pub time: super::TIMECODE,
pub dwSMPTEflags: u32,
pub dwUser: u32,
pub szReelId: [i8; 12],
}
impl ::core::marker::Copy for AVITCDLINDEX_ENTRY {}
impl ::core::clone::Clone for AVITCDLINDEX_ENTRY {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for AVITCDLINDEX_ENTRY {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for AVITCDLINDEX_ENTRY {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVITIMECODEINDEX {
pub fcc: u32,
pub cb: u32,
pub wLongsPerEntry: u16,
pub bIndexSubType: u8,
pub bIndexType: u8,
pub nEntriesInUse: u32,
pub dwChunkId: u32,
pub dwReserved: [u32; 3],
pub aIndex: [TIMECODEDATA; 1022],
}
impl ::core::marker::Copy for AVITIMECODEINDEX {}
impl ::core::clone::Clone for AVITIMECODEINDEX {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for AVITIMECODEINDEX {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for AVITIMECODEINDEX {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVITIMEDINDEX {
pub fcc: u32,
pub cb: u32,
pub wLongsPerEntry: u16,
pub bIndexSubType: u8,
pub bIndexType: u8,
pub nEntriesInUse: u32,
pub dwChunkId: u32,
pub qwBaseOffset: u64,
pub dwReserved_3: u32,
pub aIndex: [AVITIMEDINDEX_ENTRY; 1362],
pub adwTrailingFill: [u32; 2734],
}
impl ::core::marker::Copy for AVITIMEDINDEX {}
impl ::core::clone::Clone for AVITIMEDINDEX {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for AVITIMEDINDEX {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for AVITIMEDINDEX {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct AVITIMEDINDEX_ENTRY {
pub dwOffset: u32,
pub dwSize: u32,
pub dwDuration: u32,
}
impl ::core::marker::Copy for AVITIMEDINDEX_ENTRY {}
impl ::core::clone::Clone for AVITIMEDINDEX_ENTRY {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for AVITIMEDINDEX_ENTRY {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for AVITIMEDINDEX_ENTRY {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDANODE_DESCRIPTOR {
pub ulBdaNodeType: u32,
pub guidFunction: ::windows::core::GUID,
pub guidName: ::windows::core::GUID,
}
impl ::core::marker::Copy for BDANODE_DESCRIPTOR {}
impl ::core::clone::Clone for BDANODE_DESCRIPTOR {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDANODE_DESCRIPTOR {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDANODE_DESCRIPTOR").field("ulBdaNodeType", &self.ulBdaNodeType).field("guidFunction", &self.guidFunction).field("guidName", &self.guidName).finish()
}
}
impl ::windows::core::TypeKind for BDANODE_DESCRIPTOR {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDANODE_DESCRIPTOR {
fn eq(&self, other: &Self) -> bool {
self.ulBdaNodeType == other.ulBdaNodeType && self.guidFunction == other.guidFunction && self.guidName == other.guidName
}
}
impl ::core::cmp::Eq for BDANODE_DESCRIPTOR {}
impl ::core::default::Default for BDANODE_DESCRIPTOR {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_BUFFER {
pub lResult: i32,
pub ulBufferSize: u32,
pub argbBuffer: [u8; 1],
}
impl ::core::marker::Copy for BDA_BUFFER {}
impl ::core::clone::Clone for BDA_BUFFER {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_BUFFER {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_BUFFER").field("lResult", &self.lResult).field("ulBufferSize", &self.ulBufferSize).field("argbBuffer", &self.argbBuffer).finish()
}
}
impl ::windows::core::TypeKind for BDA_BUFFER {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_BUFFER {
fn eq(&self, other: &Self) -> bool {
self.lResult == other.lResult && self.ulBufferSize == other.ulBufferSize && self.argbBuffer == other.argbBuffer
}
}
impl ::core::cmp::Eq for BDA_BUFFER {}
impl ::core::default::Default for BDA_BUFFER {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_CAS_CHECK_ENTITLEMENTTOKEN {
pub lResult: i32,
pub ulDescrambleStatus: u32,
}
impl ::core::marker::Copy for BDA_CAS_CHECK_ENTITLEMENTTOKEN {}
impl ::core::clone::Clone for BDA_CAS_CHECK_ENTITLEMENTTOKEN {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_CAS_CHECK_ENTITLEMENTTOKEN {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_CAS_CHECK_ENTITLEMENTTOKEN").field("lResult", &self.lResult).field("ulDescrambleStatus", &self.ulDescrambleStatus).finish()
}
}
impl ::windows::core::TypeKind for BDA_CAS_CHECK_ENTITLEMENTTOKEN {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_CAS_CHECK_ENTITLEMENTTOKEN {
fn eq(&self, other: &Self) -> bool {
self.lResult == other.lResult && self.ulDescrambleStatus == other.ulDescrambleStatus
}
}
impl ::core::cmp::Eq for BDA_CAS_CHECK_ENTITLEMENTTOKEN {}
impl ::core::default::Default for BDA_CAS_CHECK_ENTITLEMENTTOKEN {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_CAS_CLOSEMMIDATA {
pub ulDialogNumber: u32,
}
impl ::core::marker::Copy for BDA_CAS_CLOSEMMIDATA {}
impl ::core::clone::Clone for BDA_CAS_CLOSEMMIDATA {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_CAS_CLOSEMMIDATA {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_CAS_CLOSEMMIDATA").field("ulDialogNumber", &self.ulDialogNumber).finish()
}
}
impl ::windows::core::TypeKind for BDA_CAS_CLOSEMMIDATA {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_CAS_CLOSEMMIDATA {
fn eq(&self, other: &Self) -> bool {
self.ulDialogNumber == other.ulDialogNumber
}
}
impl ::core::cmp::Eq for BDA_CAS_CLOSEMMIDATA {}
impl ::core::default::Default for BDA_CAS_CLOSEMMIDATA {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_CAS_CLOSE_MMIDIALOG {
pub lResult: i32,
pub SessionResult: u32,
}
impl ::core::marker::Copy for BDA_CAS_CLOSE_MMIDIALOG {}
impl ::core::clone::Clone for BDA_CAS_CLOSE_MMIDIALOG {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_CAS_CLOSE_MMIDIALOG {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_CAS_CLOSE_MMIDIALOG").field("lResult", &self.lResult).field("SessionResult", &self.SessionResult).finish()
}
}
impl ::windows::core::TypeKind for BDA_CAS_CLOSE_MMIDIALOG {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_CAS_CLOSE_MMIDIALOG {
fn eq(&self, other: &Self) -> bool {
self.lResult == other.lResult && self.SessionResult == other.SessionResult
}
}
impl ::core::cmp::Eq for BDA_CAS_CLOSE_MMIDIALOG {}
impl ::core::default::Default for BDA_CAS_CLOSE_MMIDIALOG {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_CAS_OPENMMIDATA {
pub ulDialogNumber: u32,
pub ulDialogRequest: u32,
pub uuidDialogType: ::windows::core::GUID,
pub usDialogDataLength: u16,
pub argbDialogData: [u8; 1],
}
impl ::core::marker::Copy for BDA_CAS_OPENMMIDATA {}
impl ::core::clone::Clone for BDA_CAS_OPENMMIDATA {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_CAS_OPENMMIDATA {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_CAS_OPENMMIDATA").field("ulDialogNumber", &self.ulDialogNumber).field("ulDialogRequest", &self.ulDialogRequest).field("uuidDialogType", &self.uuidDialogType).field("usDialogDataLength", &self.usDialogDataLength).field("argbDialogData", &self.argbDialogData).finish()
}
}
impl ::windows::core::TypeKind for BDA_CAS_OPENMMIDATA {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_CAS_OPENMMIDATA {
fn eq(&self, other: &Self) -> bool {
self.ulDialogNumber == other.ulDialogNumber && self.ulDialogRequest == other.ulDialogRequest && self.uuidDialogType == other.uuidDialogType && self.usDialogDataLength == other.usDialogDataLength && self.argbDialogData == other.argbDialogData
}
}
impl ::core::cmp::Eq for BDA_CAS_OPENMMIDATA {}
impl ::core::default::Default for BDA_CAS_OPENMMIDATA {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_CAS_REQUESTTUNERDATA {
pub ucRequestPriority: u8,
pub ucRequestReason: u8,
pub ucRequestConsequences: u8,
pub ulEstimatedTime: u32,
}
impl ::core::marker::Copy for BDA_CAS_REQUESTTUNERDATA {}
impl ::core::clone::Clone for BDA_CAS_REQUESTTUNERDATA {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_CAS_REQUESTTUNERDATA {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_CAS_REQUESTTUNERDATA").field("ucRequestPriority", &self.ucRequestPriority).field("ucRequestReason", &self.ucRequestReason).field("ucRequestConsequences", &self.ucRequestConsequences).field("ulEstimatedTime", &self.ulEstimatedTime).finish()
}
}
impl ::windows::core::TypeKind for BDA_CAS_REQUESTTUNERDATA {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_CAS_REQUESTTUNERDATA {
fn eq(&self, other: &Self) -> bool {
self.ucRequestPriority == other.ucRequestPriority && self.ucRequestReason == other.ucRequestReason && self.ucRequestConsequences == other.ucRequestConsequences && self.ulEstimatedTime == other.ulEstimatedTime
}
}
impl ::core::cmp::Eq for BDA_CAS_REQUESTTUNERDATA {}
impl ::core::default::Default for BDA_CAS_REQUESTTUNERDATA {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_CA_MODULE_UI {
pub ulFormat: u32,
pub ulbcDesc: u32,
pub ulDesc: [u32; 1],
}
impl ::core::marker::Copy for BDA_CA_MODULE_UI {}
impl ::core::clone::Clone for BDA_CA_MODULE_UI {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_CA_MODULE_UI {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_CA_MODULE_UI").field("ulFormat", &self.ulFormat).field("ulbcDesc", &self.ulbcDesc).field("ulDesc", &self.ulDesc).finish()
}
}
impl ::windows::core::TypeKind for BDA_CA_MODULE_UI {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_CA_MODULE_UI {
fn eq(&self, other: &Self) -> bool {
self.ulFormat == other.ulFormat && self.ulbcDesc == other.ulbcDesc && self.ulDesc == other.ulDesc
}
}
impl ::core::cmp::Eq for BDA_CA_MODULE_UI {}
impl ::core::default::Default for BDA_CA_MODULE_UI {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_DISEQC_RESPONSE {
pub ulRequestId: u32,
pub ulPacketLength: u32,
pub argbPacketData: [u8; 8],
}
impl ::core::marker::Copy for BDA_DISEQC_RESPONSE {}
impl ::core::clone::Clone for BDA_DISEQC_RESPONSE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_DISEQC_RESPONSE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_DISEQC_RESPONSE").field("ulRequestId", &self.ulRequestId).field("ulPacketLength", &self.ulPacketLength).field("argbPacketData", &self.argbPacketData).finish()
}
}
impl ::windows::core::TypeKind for BDA_DISEQC_RESPONSE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_DISEQC_RESPONSE {
fn eq(&self, other: &Self) -> bool {
self.ulRequestId == other.ulRequestId && self.ulPacketLength == other.ulPacketLength && self.argbPacketData == other.argbPacketData
}
}
impl ::core::cmp::Eq for BDA_DISEQC_RESPONSE {}
impl ::core::default::Default for BDA_DISEQC_RESPONSE {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_DISEQC_SEND {
pub ulRequestId: u32,
pub ulPacketLength: u32,
pub argbPacketData: [u8; 8],
}
impl ::core::marker::Copy for BDA_DISEQC_SEND {}
impl ::core::clone::Clone for BDA_DISEQC_SEND {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_DISEQC_SEND {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_DISEQC_SEND").field("ulRequestId", &self.ulRequestId).field("ulPacketLength", &self.ulPacketLength).field("argbPacketData", &self.argbPacketData).finish()
}
}
impl ::windows::core::TypeKind for BDA_DISEQC_SEND {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_DISEQC_SEND {
fn eq(&self, other: &Self) -> bool {
self.ulRequestId == other.ulRequestId && self.ulPacketLength == other.ulPacketLength && self.argbPacketData == other.argbPacketData
}
}
impl ::core::cmp::Eq for BDA_DISEQC_SEND {}
impl ::core::default::Default for BDA_DISEQC_SEND {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_DRM_DRMSTATUS {
pub lResult: i32,
pub DRMuuid: ::windows::core::GUID,
pub ulDrmUuidListStringSize: u32,
pub argbDrmUuidListString: [::windows::core::GUID; 1],
}
impl ::core::marker::Copy for BDA_DRM_DRMSTATUS {}
impl ::core::clone::Clone for BDA_DRM_DRMSTATUS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_DRM_DRMSTATUS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_DRM_DRMSTATUS").field("lResult", &self.lResult).field("DRMuuid", &self.DRMuuid).field("ulDrmUuidListStringSize", &self.ulDrmUuidListStringSize).field("argbDrmUuidListString", &self.argbDrmUuidListString).finish()
}
}
impl ::windows::core::TypeKind for BDA_DRM_DRMSTATUS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_DRM_DRMSTATUS {
fn eq(&self, other: &Self) -> bool {
self.lResult == other.lResult && self.DRMuuid == other.DRMuuid && self.ulDrmUuidListStringSize == other.ulDrmUuidListStringSize && self.argbDrmUuidListString == other.argbDrmUuidListString
}
}
impl ::core::cmp::Eq for BDA_DRM_DRMSTATUS {}
impl ::core::default::Default for BDA_DRM_DRMSTATUS {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_DVBT2_L1_SIGNALLING_DATA {
pub L1Pre_TYPE: u8,
pub L1Pre_BWT_S1_S2: u8,
pub L1Pre_REPETITION_GUARD_PAPR: u8,
pub L1Pre_MOD_COD_FEC: u8,
pub L1Pre_POSTSIZE_INFO_PILOT: [u8; 5],
pub L1Pre_TX_ID_AVAIL: u8,
pub L1Pre_CELL_ID: [u8; 2],
pub L1Pre_NETWORK_ID: [u8; 2],
pub L1Pre_T2SYSTEM_ID: [u8; 2],
pub L1Pre_NUM_T2_FRAMES: u8,
pub L1Pre_NUM_DATA_REGENFLAG_L1POSTEXT: [u8; 2],
pub L1Pre_NUMRF_CURRENTRF_RESERVED: [u8; 2],
pub L1Pre_CRC32: [u8; 4],
pub L1PostData: [u8; 1],
}
impl ::core::marker::Copy for BDA_DVBT2_L1_SIGNALLING_DATA {}
impl ::core::clone::Clone for BDA_DVBT2_L1_SIGNALLING_DATA {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_DVBT2_L1_SIGNALLING_DATA {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_DVBT2_L1_SIGNALLING_DATA")
.field("L1Pre_TYPE", &self.L1Pre_TYPE)
.field("L1Pre_BWT_S1_S2", &self.L1Pre_BWT_S1_S2)
.field("L1Pre_REPETITION_GUARD_PAPR", &self.L1Pre_REPETITION_GUARD_PAPR)
.field("L1Pre_MOD_COD_FEC", &self.L1Pre_MOD_COD_FEC)
.field("L1Pre_POSTSIZE_INFO_PILOT", &self.L1Pre_POSTSIZE_INFO_PILOT)
.field("L1Pre_TX_ID_AVAIL", &self.L1Pre_TX_ID_AVAIL)
.field("L1Pre_CELL_ID", &self.L1Pre_CELL_ID)
.field("L1Pre_NETWORK_ID", &self.L1Pre_NETWORK_ID)
.field("L1Pre_T2SYSTEM_ID", &self.L1Pre_T2SYSTEM_ID)
.field("L1Pre_NUM_T2_FRAMES", &self.L1Pre_NUM_T2_FRAMES)
.field("L1Pre_NUM_DATA_REGENFLAG_L1POSTEXT", &self.L1Pre_NUM_DATA_REGENFLAG_L1POSTEXT)
.field("L1Pre_NUMRF_CURRENTRF_RESERVED", &self.L1Pre_NUMRF_CURRENTRF_RESERVED)
.field("L1Pre_CRC32", &self.L1Pre_CRC32)
.field("L1PostData", &self.L1PostData)
.finish()
}
}
impl ::windows::core::TypeKind for BDA_DVBT2_L1_SIGNALLING_DATA {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_DVBT2_L1_SIGNALLING_DATA {
fn eq(&self, other: &Self) -> bool {
self.L1Pre_TYPE == other.L1Pre_TYPE && self.L1Pre_BWT_S1_S2 == other.L1Pre_BWT_S1_S2 && self.L1Pre_REPETITION_GUARD_PAPR == other.L1Pre_REPETITION_GUARD_PAPR && self.L1Pre_MOD_COD_FEC == other.L1Pre_MOD_COD_FEC && self.L1Pre_POSTSIZE_INFO_PILOT == other.L1Pre_POSTSIZE_INFO_PILOT && self.L1Pre_TX_ID_AVAIL == other.L1Pre_TX_ID_AVAIL && self.L1Pre_CELL_ID == other.L1Pre_CELL_ID && self.L1Pre_NETWORK_ID == other.L1Pre_NETWORK_ID && self.L1Pre_T2SYSTEM_ID == other.L1Pre_T2SYSTEM_ID && self.L1Pre_NUM_T2_FRAMES == other.L1Pre_NUM_T2_FRAMES && self.L1Pre_NUM_DATA_REGENFLAG_L1POSTEXT == other.L1Pre_NUM_DATA_REGENFLAG_L1POSTEXT && self.L1Pre_NUMRF_CURRENTRF_RESERVED == other.L1Pre_NUMRF_CURRENTRF_RESERVED && self.L1Pre_CRC32 == other.L1Pre_CRC32 && self.L1PostData == other.L1PostData
}
}
impl ::core::cmp::Eq for BDA_DVBT2_L1_SIGNALLING_DATA {}
impl ::core::default::Default for BDA_DVBT2_L1_SIGNALLING_DATA {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_ETHERNET_ADDRESS {
pub rgbAddress: [u8; 6],
}
impl ::core::marker::Copy for BDA_ETHERNET_ADDRESS {}
impl ::core::clone::Clone for BDA_ETHERNET_ADDRESS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_ETHERNET_ADDRESS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_ETHERNET_ADDRESS").field("rgbAddress", &self.rgbAddress).finish()
}
}
impl ::windows::core::TypeKind for BDA_ETHERNET_ADDRESS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_ETHERNET_ADDRESS {
fn eq(&self, other: &Self) -> bool {
self.rgbAddress == other.rgbAddress
}
}
impl ::core::cmp::Eq for BDA_ETHERNET_ADDRESS {}
impl ::core::default::Default for BDA_ETHERNET_ADDRESS {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_ETHERNET_ADDRESS_LIST {
pub ulcAddresses: u32,
pub rgAddressl: [BDA_ETHERNET_ADDRESS; 1],
}
impl ::core::marker::Copy for BDA_ETHERNET_ADDRESS_LIST {}
impl ::core::clone::Clone for BDA_ETHERNET_ADDRESS_LIST {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_ETHERNET_ADDRESS_LIST {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_ETHERNET_ADDRESS_LIST").field("ulcAddresses", &self.ulcAddresses).field("rgAddressl", &self.rgAddressl).finish()
}
}
impl ::windows::core::TypeKind for BDA_ETHERNET_ADDRESS_LIST {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_ETHERNET_ADDRESS_LIST {
fn eq(&self, other: &Self) -> bool {
self.ulcAddresses == other.ulcAddresses && self.rgAddressl == other.rgAddressl
}
}
impl ::core::cmp::Eq for BDA_ETHERNET_ADDRESS_LIST {}
impl ::core::default::Default for BDA_ETHERNET_ADDRESS_LIST {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_GDDS_DATA {
pub lResult: i32,
pub ulDataLength: u32,
pub ulPercentageProgress: u32,
pub argbData: [u8; 1],
}
impl ::core::marker::Copy for BDA_GDDS_DATA {}
impl ::core::clone::Clone for BDA_GDDS_DATA {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_GDDS_DATA {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_GDDS_DATA").field("lResult", &self.lResult).field("ulDataLength", &self.ulDataLength).field("ulPercentageProgress", &self.ulPercentageProgress).field("argbData", &self.argbData).finish()
}
}
impl ::windows::core::TypeKind for BDA_GDDS_DATA {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_GDDS_DATA {
fn eq(&self, other: &Self) -> bool {
self.lResult == other.lResult && self.ulDataLength == other.ulDataLength && self.ulPercentageProgress == other.ulPercentageProgress && self.argbData == other.argbData
}
}
impl ::core::cmp::Eq for BDA_GDDS_DATA {}
impl ::core::default::Default for BDA_GDDS_DATA {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_GDDS_DATATYPE {
pub lResult: i32,
pub uuidDataType: ::windows::core::GUID,
}
impl ::core::marker::Copy for BDA_GDDS_DATATYPE {}
impl ::core::clone::Clone for BDA_GDDS_DATATYPE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_GDDS_DATATYPE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_GDDS_DATATYPE").field("lResult", &self.lResult).field("uuidDataType", &self.uuidDataType).finish()
}
}
impl ::windows::core::TypeKind for BDA_GDDS_DATATYPE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_GDDS_DATATYPE {
fn eq(&self, other: &Self) -> bool {
self.lResult == other.lResult && self.uuidDataType == other.uuidDataType
}
}
impl ::core::cmp::Eq for BDA_GDDS_DATATYPE {}
impl ::core::default::Default for BDA_GDDS_DATATYPE {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_IPv4_ADDRESS {
pub rgbAddress: [u8; 4],
}
impl ::core::marker::Copy for BDA_IPv4_ADDRESS {}
impl ::core::clone::Clone for BDA_IPv4_ADDRESS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_IPv4_ADDRESS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_IPv4_ADDRESS").field("rgbAddress", &self.rgbAddress).finish()
}
}
impl ::windows::core::TypeKind for BDA_IPv4_ADDRESS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_IPv4_ADDRESS {
fn eq(&self, other: &Self) -> bool {
self.rgbAddress == other.rgbAddress
}
}
impl ::core::cmp::Eq for BDA_IPv4_ADDRESS {}
impl ::core::default::Default for BDA_IPv4_ADDRESS {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_IPv4_ADDRESS_LIST {
pub ulcAddresses: u32,
pub rgAddressl: [BDA_IPv4_ADDRESS; 1],
}
impl ::core::marker::Copy for BDA_IPv4_ADDRESS_LIST {}
impl ::core::clone::Clone for BDA_IPv4_ADDRESS_LIST {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_IPv4_ADDRESS_LIST {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_IPv4_ADDRESS_LIST").field("ulcAddresses", &self.ulcAddresses).field("rgAddressl", &self.rgAddressl).finish()
}
}
impl ::windows::core::TypeKind for BDA_IPv4_ADDRESS_LIST {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_IPv4_ADDRESS_LIST {
fn eq(&self, other: &Self) -> bool {
self.ulcAddresses == other.ulcAddresses && self.rgAddressl == other.rgAddressl
}
}
impl ::core::cmp::Eq for BDA_IPv4_ADDRESS_LIST {}
impl ::core::default::Default for BDA_IPv4_ADDRESS_LIST {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_IPv6_ADDRESS {
pub rgbAddress: [u8; 6],
}
impl ::core::marker::Copy for BDA_IPv6_ADDRESS {}
impl ::core::clone::Clone for BDA_IPv6_ADDRESS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_IPv6_ADDRESS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_IPv6_ADDRESS").field("rgbAddress", &self.rgbAddress).finish()
}
}
impl ::windows::core::TypeKind for BDA_IPv6_ADDRESS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_IPv6_ADDRESS {
fn eq(&self, other: &Self) -> bool {
self.rgbAddress == other.rgbAddress
}
}
impl ::core::cmp::Eq for BDA_IPv6_ADDRESS {}
impl ::core::default::Default for BDA_IPv6_ADDRESS {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_IPv6_ADDRESS_LIST {
pub ulcAddresses: u32,
pub rgAddressl: [BDA_IPv6_ADDRESS; 1],
}
impl ::core::marker::Copy for BDA_IPv6_ADDRESS_LIST {}
impl ::core::clone::Clone for BDA_IPv6_ADDRESS_LIST {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_IPv6_ADDRESS_LIST {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_IPv6_ADDRESS_LIST").field("ulcAddresses", &self.ulcAddresses).field("rgAddressl", &self.rgAddressl).finish()
}
}
impl ::windows::core::TypeKind for BDA_IPv6_ADDRESS_LIST {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_IPv6_ADDRESS_LIST {
fn eq(&self, other: &Self) -> bool {
self.ulcAddresses == other.ulcAddresses && self.rgAddressl == other.rgAddressl
}
}
impl ::core::cmp::Eq for BDA_IPv6_ADDRESS_LIST {}
impl ::core::default::Default for BDA_IPv6_ADDRESS_LIST {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_ISDBCAS_EMG_REQ {
pub bCLA: u8,
pub bINS: u8,
pub bP1: u8,
pub bP2: u8,
pub bLC: u8,
pub bCardId: [u8; 6],
pub bProtocol: u8,
pub bCABroadcasterGroupId: u8,
pub bMessageControl: u8,
pub bMessageCode: [u8; 1],
}
impl ::core::marker::Copy for BDA_ISDBCAS_EMG_REQ {}
impl ::core::clone::Clone for BDA_ISDBCAS_EMG_REQ {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_ISDBCAS_EMG_REQ {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_ISDBCAS_EMG_REQ").field("bCLA", &self.bCLA).field("bINS", &self.bINS).field("bP1", &self.bP1).field("bP2", &self.bP2).field("bLC", &self.bLC).field("bCardId", &self.bCardId).field("bProtocol", &self.bProtocol).field("bCABroadcasterGroupId", &self.bCABroadcasterGroupId).field("bMessageControl", &self.bMessageControl).field("bMessageCode", &self.bMessageCode).finish()
}
}
impl ::windows::core::TypeKind for BDA_ISDBCAS_EMG_REQ {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_ISDBCAS_EMG_REQ {
fn eq(&self, other: &Self) -> bool {
self.bCLA == other.bCLA && self.bINS == other.bINS && self.bP1 == other.bP1 && self.bP2 == other.bP2 && self.bLC == other.bLC && self.bCardId == other.bCardId && self.bProtocol == other.bProtocol && self.bCABroadcasterGroupId == other.bCABroadcasterGroupId && self.bMessageControl == other.bMessageControl && self.bMessageCode == other.bMessageCode
}
}
impl ::core::cmp::Eq for BDA_ISDBCAS_EMG_REQ {}
impl ::core::default::Default for BDA_ISDBCAS_EMG_REQ {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(1))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_ISDBCAS_REQUESTHEADER {
pub bInstruction: u8,
pub bReserved: [u8; 3],
pub ulDataLength: u32,
pub argbIsdbCommand: [u8; 1],
}
impl ::core::marker::Copy for BDA_ISDBCAS_REQUESTHEADER {}
impl ::core::clone::Clone for BDA_ISDBCAS_REQUESTHEADER {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for BDA_ISDBCAS_REQUESTHEADER {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for BDA_ISDBCAS_REQUESTHEADER {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(1))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_ISDBCAS_RESPONSEDATA {
pub lResult: i32,
pub ulRequestID: u32,
pub ulIsdbStatus: u32,
pub ulIsdbDataSize: u32,
pub argbIsdbCommandData: [u8; 1],
}
impl ::core::marker::Copy for BDA_ISDBCAS_RESPONSEDATA {}
impl ::core::clone::Clone for BDA_ISDBCAS_RESPONSEDATA {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for BDA_ISDBCAS_RESPONSEDATA {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for BDA_ISDBCAS_RESPONSEDATA {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_MUX_PIDLISTITEM {
pub usPIDNumber: u16,
pub usProgramNumber: u16,
pub ePIDType: MUX_PID_TYPE,
}
impl ::core::marker::Copy for BDA_MUX_PIDLISTITEM {}
impl ::core::clone::Clone for BDA_MUX_PIDLISTITEM {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for BDA_MUX_PIDLISTITEM {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for BDA_MUX_PIDLISTITEM {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_PID_MAP {
pub MediaSampleContent: MEDIA_SAMPLE_CONTENT,
pub ulcPIDs: u32,
pub aulPIDs: [u32; 1],
}
impl ::core::marker::Copy for BDA_PID_MAP {}
impl ::core::clone::Clone for BDA_PID_MAP {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_PID_MAP {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_PID_MAP").field("MediaSampleContent", &self.MediaSampleContent).field("ulcPIDs", &self.ulcPIDs).field("aulPIDs", &self.aulPIDs).finish()
}
}
impl ::windows::core::TypeKind for BDA_PID_MAP {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_PID_MAP {
fn eq(&self, other: &Self) -> bool {
self.MediaSampleContent == other.MediaSampleContent && self.ulcPIDs == other.ulcPIDs && self.aulPIDs == other.aulPIDs
}
}
impl ::core::cmp::Eq for BDA_PID_MAP {}
impl ::core::default::Default for BDA_PID_MAP {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_PID_UNMAP {
pub ulcPIDs: u32,
pub aulPIDs: [u32; 1],
}
impl ::core::marker::Copy for BDA_PID_UNMAP {}
impl ::core::clone::Clone for BDA_PID_UNMAP {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_PID_UNMAP {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_PID_UNMAP").field("ulcPIDs", &self.ulcPIDs).field("aulPIDs", &self.aulPIDs).finish()
}
}
impl ::windows::core::TypeKind for BDA_PID_UNMAP {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_PID_UNMAP {
fn eq(&self, other: &Self) -> bool {
self.ulcPIDs == other.ulcPIDs && self.aulPIDs == other.aulPIDs
}
}
impl ::core::cmp::Eq for BDA_PID_UNMAP {}
impl ::core::default::Default for BDA_PID_UNMAP {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_PROGRAM_PID_LIST {
pub ulProgramNumber: u32,
pub ulcPIDs: u32,
pub ulPID: [u32; 1],
}
impl ::core::marker::Copy for BDA_PROGRAM_PID_LIST {}
impl ::core::clone::Clone for BDA_PROGRAM_PID_LIST {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_PROGRAM_PID_LIST {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_PROGRAM_PID_LIST").field("ulProgramNumber", &self.ulProgramNumber).field("ulcPIDs", &self.ulcPIDs).field("ulPID", &self.ulPID).finish()
}
}
impl ::windows::core::TypeKind for BDA_PROGRAM_PID_LIST {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_PROGRAM_PID_LIST {
fn eq(&self, other: &Self) -> bool {
self.ulProgramNumber == other.ulProgramNumber && self.ulcPIDs == other.ulcPIDs && self.ulPID == other.ulPID
}
}
impl ::core::cmp::Eq for BDA_PROGRAM_PID_LIST {}
impl ::core::default::Default for BDA_PROGRAM_PID_LIST {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_RATING_PINRESET {
pub bPinLength: u8,
pub argbNewPin: [u8; 1],
}
impl ::core::marker::Copy for BDA_RATING_PINRESET {}
impl ::core::clone::Clone for BDA_RATING_PINRESET {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_RATING_PINRESET {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_RATING_PINRESET").field("bPinLength", &self.bPinLength).field("argbNewPin", &self.argbNewPin).finish()
}
}
impl ::windows::core::TypeKind for BDA_RATING_PINRESET {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_RATING_PINRESET {
fn eq(&self, other: &Self) -> bool {
self.bPinLength == other.bPinLength && self.argbNewPin == other.argbNewPin
}
}
impl ::core::cmp::Eq for BDA_RATING_PINRESET {}
impl ::core::default::Default for BDA_RATING_PINRESET {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_SCAN_CAPABILTIES {
pub lResult: i32,
pub ul64AnalogStandardsSupported: u64,
}
impl ::core::marker::Copy for BDA_SCAN_CAPABILTIES {}
impl ::core::clone::Clone for BDA_SCAN_CAPABILTIES {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_SCAN_CAPABILTIES {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_SCAN_CAPABILTIES").field("lResult", &self.lResult).field("ul64AnalogStandardsSupported", &self.ul64AnalogStandardsSupported).finish()
}
}
impl ::windows::core::TypeKind for BDA_SCAN_CAPABILTIES {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_SCAN_CAPABILTIES {
fn eq(&self, other: &Self) -> bool {
self.lResult == other.lResult && self.ul64AnalogStandardsSupported == other.ul64AnalogStandardsSupported
}
}
impl ::core::cmp::Eq for BDA_SCAN_CAPABILTIES {}
impl ::core::default::Default for BDA_SCAN_CAPABILTIES {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_SCAN_START {
pub lResult: i32,
pub LowerFrequency: u32,
pub HigerFrequency: u32,
}
impl ::core::marker::Copy for BDA_SCAN_START {}
impl ::core::clone::Clone for BDA_SCAN_START {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_SCAN_START {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_SCAN_START").field("lResult", &self.lResult).field("LowerFrequency", &self.LowerFrequency).field("HigerFrequency", &self.HigerFrequency).finish()
}
}
impl ::windows::core::TypeKind for BDA_SCAN_START {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_SCAN_START {
fn eq(&self, other: &Self) -> bool {
self.lResult == other.lResult && self.LowerFrequency == other.LowerFrequency && self.HigerFrequency == other.HigerFrequency
}
}
impl ::core::cmp::Eq for BDA_SCAN_START {}
impl ::core::default::Default for BDA_SCAN_START {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_SCAN_STATE {
pub lResult: i32,
pub ulSignalLock: u32,
pub ulSecondsLeft: u32,
pub ulCurrentFrequency: u32,
}
impl ::core::marker::Copy for BDA_SCAN_STATE {}
impl ::core::clone::Clone for BDA_SCAN_STATE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_SCAN_STATE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_SCAN_STATE").field("lResult", &self.lResult).field("ulSignalLock", &self.ulSignalLock).field("ulSecondsLeft", &self.ulSecondsLeft).field("ulCurrentFrequency", &self.ulCurrentFrequency).finish()
}
}
impl ::windows::core::TypeKind for BDA_SCAN_STATE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_SCAN_STATE {
fn eq(&self, other: &Self) -> bool {
self.lResult == other.lResult && self.ulSignalLock == other.ulSignalLock && self.ulSecondsLeft == other.ulSecondsLeft && self.ulCurrentFrequency == other.ulCurrentFrequency
}
}
impl ::core::cmp::Eq for BDA_SCAN_STATE {}
impl ::core::default::Default for BDA_SCAN_STATE {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_SIGNAL_TIMEOUTS {
pub ulCarrierTimeoutMs: u32,
pub ulScanningTimeoutMs: u32,
pub ulTuningTimeoutMs: u32,
}
impl ::core::marker::Copy for BDA_SIGNAL_TIMEOUTS {}
impl ::core::clone::Clone for BDA_SIGNAL_TIMEOUTS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_SIGNAL_TIMEOUTS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_SIGNAL_TIMEOUTS").field("ulCarrierTimeoutMs", &self.ulCarrierTimeoutMs).field("ulScanningTimeoutMs", &self.ulScanningTimeoutMs).field("ulTuningTimeoutMs", &self.ulTuningTimeoutMs).finish()
}
}
impl ::windows::core::TypeKind for BDA_SIGNAL_TIMEOUTS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_SIGNAL_TIMEOUTS {
fn eq(&self, other: &Self) -> bool {
self.ulCarrierTimeoutMs == other.ulCarrierTimeoutMs && self.ulScanningTimeoutMs == other.ulScanningTimeoutMs && self.ulTuningTimeoutMs == other.ulTuningTimeoutMs
}
}
impl ::core::cmp::Eq for BDA_SIGNAL_TIMEOUTS {}
impl ::core::default::Default for BDA_SIGNAL_TIMEOUTS {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_STRING {
pub lResult: i32,
pub ulStringSize: u32,
pub argbString: [u8; 1],
}
impl ::core::marker::Copy for BDA_STRING {}
impl ::core::clone::Clone for BDA_STRING {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_STRING {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_STRING").field("lResult", &self.lResult).field("ulStringSize", &self.ulStringSize).field("argbString", &self.argbString).finish()
}
}
impl ::windows::core::TypeKind for BDA_STRING {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_STRING {
fn eq(&self, other: &Self) -> bool {
self.lResult == other.lResult && self.ulStringSize == other.ulStringSize && self.argbString == other.argbString
}
}
impl ::core::cmp::Eq for BDA_STRING {}
impl ::core::default::Default for BDA_STRING {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_TABLE_SECTION {
pub ulPrimarySectionId: u32,
pub ulSecondarySectionId: u32,
pub ulcbSectionLength: u32,
pub argbSectionData: [u32; 1],
}
impl ::core::marker::Copy for BDA_TABLE_SECTION {}
impl ::core::clone::Clone for BDA_TABLE_SECTION {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_TABLE_SECTION {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_TABLE_SECTION").field("ulPrimarySectionId", &self.ulPrimarySectionId).field("ulSecondarySectionId", &self.ulSecondarySectionId).field("ulcbSectionLength", &self.ulcbSectionLength).field("argbSectionData", &self.argbSectionData).finish()
}
}
impl ::windows::core::TypeKind for BDA_TABLE_SECTION {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_TABLE_SECTION {
fn eq(&self, other: &Self) -> bool {
self.ulPrimarySectionId == other.ulPrimarySectionId && self.ulSecondarySectionId == other.ulSecondarySectionId && self.ulcbSectionLength == other.ulcbSectionLength && self.argbSectionData == other.argbSectionData
}
}
impl ::core::cmp::Eq for BDA_TABLE_SECTION {}
impl ::core::default::Default for BDA_TABLE_SECTION {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_TEMPLATE_CONNECTION {
pub FromNodeType: u32,
pub FromNodePinType: u32,
pub ToNodeType: u32,
pub ToNodePinType: u32,
}
impl ::core::marker::Copy for BDA_TEMPLATE_CONNECTION {}
impl ::core::clone::Clone for BDA_TEMPLATE_CONNECTION {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_TEMPLATE_CONNECTION {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_TEMPLATE_CONNECTION").field("FromNodeType", &self.FromNodeType).field("FromNodePinType", &self.FromNodePinType).field("ToNodeType", &self.ToNodeType).field("ToNodePinType", &self.ToNodePinType).finish()
}
}
impl ::windows::core::TypeKind for BDA_TEMPLATE_CONNECTION {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_TEMPLATE_CONNECTION {
fn eq(&self, other: &Self) -> bool {
self.FromNodeType == other.FromNodeType && self.FromNodePinType == other.FromNodePinType && self.ToNodeType == other.ToNodeType && self.ToNodePinType == other.ToNodePinType
}
}
impl ::core::cmp::Eq for BDA_TEMPLATE_CONNECTION {}
impl ::core::default::Default for BDA_TEMPLATE_CONNECTION {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_TEMPLATE_PIN_JOINT {
pub uliTemplateConnection: u32,
pub ulcInstancesMax: u32,
}
impl ::core::marker::Copy for BDA_TEMPLATE_PIN_JOINT {}
impl ::core::clone::Clone for BDA_TEMPLATE_PIN_JOINT {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_TEMPLATE_PIN_JOINT {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_TEMPLATE_PIN_JOINT").field("uliTemplateConnection", &self.uliTemplateConnection).field("ulcInstancesMax", &self.ulcInstancesMax).finish()
}
}
impl ::windows::core::TypeKind for BDA_TEMPLATE_PIN_JOINT {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_TEMPLATE_PIN_JOINT {
fn eq(&self, other: &Self) -> bool {
self.uliTemplateConnection == other.uliTemplateConnection && self.ulcInstancesMax == other.ulcInstancesMax
}
}
impl ::core::cmp::Eq for BDA_TEMPLATE_PIN_JOINT {}
impl ::core::default::Default for BDA_TEMPLATE_PIN_JOINT {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(1))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_TS_SELECTORINFO {
pub bTSInfolength: u8,
pub bReserved: [u8; 2],
pub guidNetworkType: ::windows::core::GUID,
pub bTSIDCount: u8,
pub usTSID: [u16; 1],
}
impl ::core::marker::Copy for BDA_TS_SELECTORINFO {}
impl ::core::clone::Clone for BDA_TS_SELECTORINFO {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for BDA_TS_SELECTORINFO {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for BDA_TS_SELECTORINFO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_TS_SELECTORINFO_ISDBS_EXT {
pub bTMCC: [u8; 48],
}
impl ::core::marker::Copy for BDA_TS_SELECTORINFO_ISDBS_EXT {}
impl ::core::clone::Clone for BDA_TS_SELECTORINFO_ISDBS_EXT {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_TS_SELECTORINFO_ISDBS_EXT {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_TS_SELECTORINFO_ISDBS_EXT").field("bTMCC", &self.bTMCC).finish()
}
}
impl ::windows::core::TypeKind for BDA_TS_SELECTORINFO_ISDBS_EXT {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_TS_SELECTORINFO_ISDBS_EXT {
fn eq(&self, other: &Self) -> bool {
self.bTMCC == other.bTMCC
}
}
impl ::core::cmp::Eq for BDA_TS_SELECTORINFO_ISDBS_EXT {}
impl ::core::default::Default for BDA_TS_SELECTORINFO_ISDBS_EXT {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_TUNER_DIAGNOSTICS {
pub lResult: i32,
pub ulSignalLevel: u32,
pub ulSignalLevelQuality: u32,
pub ulSignalNoiseRatio: u32,
}
impl ::core::marker::Copy for BDA_TUNER_DIAGNOSTICS {}
impl ::core::clone::Clone for BDA_TUNER_DIAGNOSTICS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_TUNER_DIAGNOSTICS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_TUNER_DIAGNOSTICS").field("lResult", &self.lResult).field("ulSignalLevel", &self.ulSignalLevel).field("ulSignalLevelQuality", &self.ulSignalLevelQuality).field("ulSignalNoiseRatio", &self.ulSignalNoiseRatio).finish()
}
}
impl ::windows::core::TypeKind for BDA_TUNER_DIAGNOSTICS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_TUNER_DIAGNOSTICS {
fn eq(&self, other: &Self) -> bool {
self.lResult == other.lResult && self.ulSignalLevel == other.ulSignalLevel && self.ulSignalLevelQuality == other.ulSignalLevelQuality && self.ulSignalNoiseRatio == other.ulSignalNoiseRatio
}
}
impl ::core::cmp::Eq for BDA_TUNER_DIAGNOSTICS {}
impl ::core::default::Default for BDA_TUNER_DIAGNOSTICS {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_TUNER_TUNERSTATE {
pub lResult: i32,
pub ulTuneLength: u32,
pub argbTuneData: [u8; 1],
}
impl ::core::marker::Copy for BDA_TUNER_TUNERSTATE {}
impl ::core::clone::Clone for BDA_TUNER_TUNERSTATE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_TUNER_TUNERSTATE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_TUNER_TUNERSTATE").field("lResult", &self.lResult).field("ulTuneLength", &self.ulTuneLength).field("argbTuneData", &self.argbTuneData).finish()
}
}
impl ::windows::core::TypeKind for BDA_TUNER_TUNERSTATE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_TUNER_TUNERSTATE {
fn eq(&self, other: &Self) -> bool {
self.lResult == other.lResult && self.ulTuneLength == other.ulTuneLength && self.argbTuneData == other.argbTuneData
}
}
impl ::core::cmp::Eq for BDA_TUNER_TUNERSTATE {}
impl ::core::default::Default for BDA_TUNER_TUNERSTATE {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_USERACTIVITY_INTERVAL {
pub lResult: i32,
pub ulActivityInterval: u32,
}
impl ::core::marker::Copy for BDA_USERACTIVITY_INTERVAL {}
impl ::core::clone::Clone for BDA_USERACTIVITY_INTERVAL {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_USERACTIVITY_INTERVAL {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_USERACTIVITY_INTERVAL").field("lResult", &self.lResult).field("ulActivityInterval", &self.ulActivityInterval).finish()
}
}
impl ::windows::core::TypeKind for BDA_USERACTIVITY_INTERVAL {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_USERACTIVITY_INTERVAL {
fn eq(&self, other: &Self) -> bool {
self.lResult == other.lResult && self.ulActivityInterval == other.ulActivityInterval
}
}
impl ::core::cmp::Eq for BDA_USERACTIVITY_INTERVAL {}
impl ::core::default::Default for BDA_USERACTIVITY_INTERVAL {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_WMDRMTUNER_PIDPROTECTION {
pub lResult: i32,
pub uuidKeyID: ::windows::core::GUID,
}
impl ::core::marker::Copy for BDA_WMDRMTUNER_PIDPROTECTION {}
impl ::core::clone::Clone for BDA_WMDRMTUNER_PIDPROTECTION {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_WMDRMTUNER_PIDPROTECTION {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_WMDRMTUNER_PIDPROTECTION").field("lResult", &self.lResult).field("uuidKeyID", &self.uuidKeyID).finish()
}
}
impl ::windows::core::TypeKind for BDA_WMDRMTUNER_PIDPROTECTION {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_WMDRMTUNER_PIDPROTECTION {
fn eq(&self, other: &Self) -> bool {
self.lResult == other.lResult && self.uuidKeyID == other.uuidKeyID
}
}
impl ::core::cmp::Eq for BDA_WMDRMTUNER_PIDPROTECTION {}
impl ::core::default::Default for BDA_WMDRMTUNER_PIDPROTECTION {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_WMDRMTUNER_PURCHASEENTITLEMENT {
pub lResult: i32,
pub ulDescrambleStatus: u32,
pub ulCaptureTokenLength: u32,
pub argbCaptureTokenBuffer: [u8; 1],
}
impl ::core::marker::Copy for BDA_WMDRMTUNER_PURCHASEENTITLEMENT {}
impl ::core::clone::Clone for BDA_WMDRMTUNER_PURCHASEENTITLEMENT {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_WMDRMTUNER_PURCHASEENTITLEMENT {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_WMDRMTUNER_PURCHASEENTITLEMENT").field("lResult", &self.lResult).field("ulDescrambleStatus", &self.ulDescrambleStatus).field("ulCaptureTokenLength", &self.ulCaptureTokenLength).field("argbCaptureTokenBuffer", &self.argbCaptureTokenBuffer).finish()
}
}
impl ::windows::core::TypeKind for BDA_WMDRMTUNER_PURCHASEENTITLEMENT {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_WMDRMTUNER_PURCHASEENTITLEMENT {
fn eq(&self, other: &Self) -> bool {
self.lResult == other.lResult && self.ulDescrambleStatus == other.ulDescrambleStatus && self.ulCaptureTokenLength == other.ulCaptureTokenLength && self.argbCaptureTokenBuffer == other.argbCaptureTokenBuffer
}
}
impl ::core::cmp::Eq for BDA_WMDRMTUNER_PURCHASEENTITLEMENT {}
impl ::core::default::Default for BDA_WMDRMTUNER_PURCHASEENTITLEMENT {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_WMDRM_KEYINFOLIST {
pub lResult: i32,
pub ulKeyuuidBufferLen: u32,
pub argKeyuuidBuffer: [::windows::core::GUID; 1],
}
impl ::core::marker::Copy for BDA_WMDRM_KEYINFOLIST {}
impl ::core::clone::Clone for BDA_WMDRM_KEYINFOLIST {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_WMDRM_KEYINFOLIST {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_WMDRM_KEYINFOLIST").field("lResult", &self.lResult).field("ulKeyuuidBufferLen", &self.ulKeyuuidBufferLen).field("argKeyuuidBuffer", &self.argKeyuuidBuffer).finish()
}
}
impl ::windows::core::TypeKind for BDA_WMDRM_KEYINFOLIST {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_WMDRM_KEYINFOLIST {
fn eq(&self, other: &Self) -> bool {
self.lResult == other.lResult && self.ulKeyuuidBufferLen == other.ulKeyuuidBufferLen && self.argKeyuuidBuffer == other.argKeyuuidBuffer
}
}
impl ::core::cmp::Eq for BDA_WMDRM_KEYINFOLIST {}
impl ::core::default::Default for BDA_WMDRM_KEYINFOLIST {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_WMDRM_RENEWLICENSE {
pub lResult: i32,
pub ulDescrambleStatus: u32,
pub ulXmrLicenseOutputLength: u32,
pub argbXmrLicenceOutputBuffer: [u8; 1],
}
impl ::core::marker::Copy for BDA_WMDRM_RENEWLICENSE {}
impl ::core::clone::Clone for BDA_WMDRM_RENEWLICENSE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_WMDRM_RENEWLICENSE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_WMDRM_RENEWLICENSE").field("lResult", &self.lResult).field("ulDescrambleStatus", &self.ulDescrambleStatus).field("ulXmrLicenseOutputLength", &self.ulXmrLicenseOutputLength).field("argbXmrLicenceOutputBuffer", &self.argbXmrLicenceOutputBuffer).finish()
}
}
impl ::windows::core::TypeKind for BDA_WMDRM_RENEWLICENSE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_WMDRM_RENEWLICENSE {
fn eq(&self, other: &Self) -> bool {
self.lResult == other.lResult && self.ulDescrambleStatus == other.ulDescrambleStatus && self.ulXmrLicenseOutputLength == other.ulXmrLicenseOutputLength && self.argbXmrLicenceOutputBuffer == other.argbXmrLicenceOutputBuffer
}
}
impl ::core::cmp::Eq for BDA_WMDRM_RENEWLICENSE {}
impl ::core::default::Default for BDA_WMDRM_RENEWLICENSE {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct BDA_WMDRM_STATUS {
pub lResult: i32,
pub ulMaxCaptureTokenSize: u32,
pub uMaxStreamingPid: u32,
pub ulMaxLicense: u32,
pub ulMinSecurityLevel: u32,
pub ulRevInfoSequenceNumber: u32,
pub ulRevInfoIssuedTime: u64,
pub ulRevListVersion: u32,
pub ulRevInfoTTL: u32,
pub ulState: u32,
}
impl ::core::marker::Copy for BDA_WMDRM_STATUS {}
impl ::core::clone::Clone for BDA_WMDRM_STATUS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for BDA_WMDRM_STATUS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("BDA_WMDRM_STATUS")
.field("lResult", &self.lResult)
.field("ulMaxCaptureTokenSize", &self.ulMaxCaptureTokenSize)
.field("uMaxStreamingPid", &self.uMaxStreamingPid)
.field("ulMaxLicense", &self.ulMaxLicense)
.field("ulMinSecurityLevel", &self.ulMinSecurityLevel)
.field("ulRevInfoSequenceNumber", &self.ulRevInfoSequenceNumber)
.field("ulRevInfoIssuedTime", &self.ulRevInfoIssuedTime)
.field("ulRevListVersion", &self.ulRevListVersion)
.field("ulRevInfoTTL", &self.ulRevInfoTTL)
.field("ulState", &self.ulState)
.finish()
}
}
impl ::windows::core::TypeKind for BDA_WMDRM_STATUS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for BDA_WMDRM_STATUS {
fn eq(&self, other: &Self) -> bool {
self.lResult == other.lResult && self.ulMaxCaptureTokenSize == other.ulMaxCaptureTokenSize && self.uMaxStreamingPid == other.uMaxStreamingPid && self.ulMaxLicense == other.ulMaxLicense && self.ulMinSecurityLevel == other.ulMinSecurityLevel && self.ulRevInfoSequenceNumber == other.ulRevInfoSequenceNumber && self.ulRevInfoIssuedTime == other.ulRevInfoIssuedTime && self.ulRevListVersion == other.ulRevListVersion && self.ulRevInfoTTL == other.ulRevInfoTTL && self.ulState == other.ulState
}
}
impl ::core::cmp::Eq for BDA_WMDRM_STATUS {}
impl ::core::default::Default for BDA_WMDRM_STATUS {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct COLORKEY {
pub KeyType: u32,
pub PaletteIndex: u32,
pub LowColorValue: super::super::Foundation::COLORREF,
pub HighColorValue: super::super::Foundation::COLORREF,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for COLORKEY {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for COLORKEY {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for COLORKEY {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("COLORKEY").field("KeyType", &self.KeyType).field("PaletteIndex", &self.PaletteIndex).field("LowColorValue", &self.LowColorValue).field("HighColorValue", &self.HighColorValue).finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for COLORKEY {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for COLORKEY {
fn eq(&self, other: &Self) -> bool {
self.KeyType == other.KeyType && self.PaletteIndex == other.PaletteIndex && self.LowColorValue == other.LowColorValue && self.HighColorValue == other.HighColorValue
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for COLORKEY {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for COLORKEY {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct DVD_ATR {
pub ulCAT: u32,
pub pbATRI: [u8; 768],
}
impl ::core::marker::Copy for DVD_ATR {}
impl ::core::clone::Clone for DVD_ATR {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for DVD_ATR {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DVD_ATR").field("ulCAT", &self.ulCAT).field("pbATRI", &self.pbATRI).finish()
}
}
impl ::windows::core::TypeKind for DVD_ATR {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for DVD_ATR {
fn eq(&self, other: &Self) -> bool {
self.ulCAT == other.ulCAT && self.pbATRI == other.pbATRI
}
}
impl ::core::cmp::Eq for DVD_ATR {}
impl ::core::default::Default for DVD_ATR {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct DVD_AudioAttributes {
pub AppMode: DVD_AUDIO_APPMODE,
pub AppModeData: u8,
pub AudioFormat: DVD_AUDIO_FORMAT,
pub Language: u32,
pub LanguageExtension: DVD_AUDIO_LANG_EXT,
pub fHasMultichannelInfo: super::super::Foundation::BOOL,
pub dwFrequency: u32,
pub bQuantization: u8,
pub bNumberOfChannels: u8,
pub dwReserved: [u32; 2],
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for DVD_AudioAttributes {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for DVD_AudioAttributes {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for DVD_AudioAttributes {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DVD_AudioAttributes").field("AppMode", &self.AppMode).field("AppModeData", &self.AppModeData).field("AudioFormat", &self.AudioFormat).field("Language", &self.Language).field("LanguageExtension", &self.LanguageExtension).field("fHasMultichannelInfo", &self.fHasMultichannelInfo).field("dwFrequency", &self.dwFrequency).field("bQuantization", &self.bQuantization).field("bNumberOfChannels", &self.bNumberOfChannels).field("dwReserved", &self.dwReserved).finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for DVD_AudioAttributes {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for DVD_AudioAttributes {
fn eq(&self, other: &Self) -> bool {
self.AppMode == other.AppMode && self.AppModeData == other.AppModeData && self.AudioFormat == other.AudioFormat && self.Language == other.Language && self.LanguageExtension == other.LanguageExtension && self.fHasMultichannelInfo == other.fHasMultichannelInfo && self.dwFrequency == other.dwFrequency && self.bQuantization == other.bQuantization && self.bNumberOfChannels == other.bNumberOfChannels && self.dwReserved == other.dwReserved
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for DVD_AudioAttributes {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for DVD_AudioAttributes {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct DVD_DECODER_CAPS {
pub dwSize: u32,
pub dwAudioCaps: u32,
pub dFwdMaxRateVideo: f64,
pub dFwdMaxRateAudio: f64,
pub dFwdMaxRateSP: f64,
pub dBwdMaxRateVideo: f64,
pub dBwdMaxRateAudio: f64,
pub dBwdMaxRateSP: f64,
pub dwRes1: u32,
pub dwRes2: u32,
pub dwRes3: u32,
pub dwRes4: u32,
}
impl ::core::marker::Copy for DVD_DECODER_CAPS {}
impl ::core::clone::Clone for DVD_DECODER_CAPS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for DVD_DECODER_CAPS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DVD_DECODER_CAPS")
.field("dwSize", &self.dwSize)
.field("dwAudioCaps", &self.dwAudioCaps)
.field("dFwdMaxRateVideo", &self.dFwdMaxRateVideo)
.field("dFwdMaxRateAudio", &self.dFwdMaxRateAudio)
.field("dFwdMaxRateSP", &self.dFwdMaxRateSP)
.field("dBwdMaxRateVideo", &self.dBwdMaxRateVideo)
.field("dBwdMaxRateAudio", &self.dBwdMaxRateAudio)
.field("dBwdMaxRateSP", &self.dBwdMaxRateSP)
.field("dwRes1", &self.dwRes1)
.field("dwRes2", &self.dwRes2)
.field("dwRes3", &self.dwRes3)
.field("dwRes4", &self.dwRes4)
.finish()
}
}
impl ::windows::core::TypeKind for DVD_DECODER_CAPS {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for DVD_DECODER_CAPS {
fn eq(&self, other: &Self) -> bool {
self.dwSize == other.dwSize && self.dwAudioCaps == other.dwAudioCaps && self.dFwdMaxRateVideo == other.dFwdMaxRateVideo && self.dFwdMaxRateAudio == other.dFwdMaxRateAudio && self.dFwdMaxRateSP == other.dFwdMaxRateSP && self.dBwdMaxRateVideo == other.dBwdMaxRateVideo && self.dBwdMaxRateAudio == other.dBwdMaxRateAudio && self.dBwdMaxRateSP == other.dBwdMaxRateSP && self.dwRes1 == other.dwRes1 && self.dwRes2 == other.dwRes2 && self.dwRes3 == other.dwRes3 && self.dwRes4 == other.dwRes4
}
}
impl ::core::cmp::Eq for DVD_DECODER_CAPS {}
impl ::core::default::Default for DVD_DECODER_CAPS {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct DVD_HMSF_TIMECODE {
pub bHours: u8,
pub bMinutes: u8,
pub bSeconds: u8,
pub bFrames: u8,
}
impl ::core::marker::Copy for DVD_HMSF_TIMECODE {}
impl ::core::clone::Clone for DVD_HMSF_TIMECODE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for DVD_HMSF_TIMECODE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DVD_HMSF_TIMECODE").field("bHours", &self.bHours).field("bMinutes", &self.bMinutes).field("bSeconds", &self.bSeconds).field("bFrames", &self.bFrames).finish()
}
}
impl ::windows::core::TypeKind for DVD_HMSF_TIMECODE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for DVD_HMSF_TIMECODE {
fn eq(&self, other: &Self) -> bool {
self.bHours == other.bHours && self.bMinutes == other.bMinutes && self.bSeconds == other.bSeconds && self.bFrames == other.bFrames
}
}
impl ::core::cmp::Eq for DVD_HMSF_TIMECODE {}
impl ::core::default::Default for DVD_HMSF_TIMECODE {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct DVD_KaraokeAttributes {
pub bVersion: u8,
pub fMasterOfCeremoniesInGuideVocal1: super::super::Foundation::BOOL,
pub fDuet: super::super::Foundation::BOOL,
pub ChannelAssignment: DVD_KARAOKE_ASSIGNMENT,
pub wChannelContents: [u16; 8],
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for DVD_KaraokeAttributes {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for DVD_KaraokeAttributes {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for DVD_KaraokeAttributes {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DVD_KaraokeAttributes").field("bVersion", &self.bVersion).field("fMasterOfCeremoniesInGuideVocal1", &self.fMasterOfCeremoniesInGuideVocal1).field("fDuet", &self.fDuet).field("ChannelAssignment", &self.ChannelAssignment).field("wChannelContents", &self.wChannelContents).finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for DVD_KaraokeAttributes {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for DVD_KaraokeAttributes {
fn eq(&self, other: &Self) -> bool {
self.bVersion == other.bVersion && self.fMasterOfCeremoniesInGuideVocal1 == other.fMasterOfCeremoniesInGuideVocal1 && self.fDuet == other.fDuet && self.ChannelAssignment == other.ChannelAssignment && self.wChannelContents == other.wChannelContents
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for DVD_KaraokeAttributes {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for DVD_KaraokeAttributes {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct DVD_MUA_Coeff {
pub log2_alpha: f64,
pub log2_beta: f64,
}
impl ::core::marker::Copy for DVD_MUA_Coeff {}
impl ::core::clone::Clone for DVD_MUA_Coeff {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for DVD_MUA_Coeff {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DVD_MUA_Coeff").field("log2_alpha", &self.log2_alpha).field("log2_beta", &self.log2_beta).finish()
}
}
impl ::windows::core::TypeKind for DVD_MUA_Coeff {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for DVD_MUA_Coeff {
fn eq(&self, other: &Self) -> bool {
self.log2_alpha == other.log2_alpha && self.log2_beta == other.log2_beta
}
}
impl ::core::cmp::Eq for DVD_MUA_Coeff {}
impl ::core::default::Default for DVD_MUA_Coeff {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct DVD_MUA_MixingInfo {
pub fMixTo0: super::super::Foundation::BOOL,
pub fMixTo1: super::super::Foundation::BOOL,
pub fMix0InPhase: super::super::Foundation::BOOL,
pub fMix1InPhase: super::super::Foundation::BOOL,
pub dwSpeakerPosition: u32,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for DVD_MUA_MixingInfo {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for DVD_MUA_MixingInfo {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for DVD_MUA_MixingInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DVD_MUA_MixingInfo").field("fMixTo0", &self.fMixTo0).field("fMixTo1", &self.fMixTo1).field("fMix0InPhase", &self.fMix0InPhase).field("fMix1InPhase", &self.fMix1InPhase).field("dwSpeakerPosition", &self.dwSpeakerPosition).finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for DVD_MUA_MixingInfo {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for DVD_MUA_MixingInfo {
fn eq(&self, other: &Self) -> bool {
self.fMixTo0 == other.fMixTo0 && self.fMixTo1 == other.fMixTo1 && self.fMix0InPhase == other.fMix0InPhase && self.fMix1InPhase == other.fMix1InPhase && self.dwSpeakerPosition == other.dwSpeakerPosition
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for DVD_MUA_MixingInfo {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for DVD_MUA_MixingInfo {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct DVD_MenuAttributes {
pub fCompatibleRegion: [super::super::Foundation::BOOL; 8],
pub VideoAttributes: DVD_VideoAttributes,
pub fAudioPresent: super::super::Foundation::BOOL,
pub AudioAttributes: DVD_AudioAttributes,
pub fSubpicturePresent: super::super::Foundation::BOOL,
pub SubpictureAttributes: DVD_SubpictureAttributes,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for DVD_MenuAttributes {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for DVD_MenuAttributes {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for DVD_MenuAttributes {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DVD_MenuAttributes").field("fCompatibleRegion", &self.fCompatibleRegion).field("VideoAttributes", &self.VideoAttributes).field("fAudioPresent", &self.fAudioPresent).field("AudioAttributes", &self.AudioAttributes).field("fSubpicturePresent", &self.fSubpicturePresent).field("SubpictureAttributes", &self.SubpictureAttributes).finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for DVD_MenuAttributes {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for DVD_MenuAttributes {
fn eq(&self, other: &Self) -> bool {
self.fCompatibleRegion == other.fCompatibleRegion && self.VideoAttributes == other.VideoAttributes && self.fAudioPresent == other.fAudioPresent && self.AudioAttributes == other.AudioAttributes && self.fSubpicturePresent == other.fSubpicturePresent && self.SubpictureAttributes == other.SubpictureAttributes
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for DVD_MenuAttributes {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for DVD_MenuAttributes {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct DVD_MultichannelAudioAttributes {
pub Info: [DVD_MUA_MixingInfo; 8],
pub Coeff: [DVD_MUA_Coeff; 8],
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for DVD_MultichannelAudioAttributes {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for DVD_MultichannelAudioAttributes {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for DVD_MultichannelAudioAttributes {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DVD_MultichannelAudioAttributes").field("Info", &self.Info).field("Coeff", &self.Coeff).finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for DVD_MultichannelAudioAttributes {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for DVD_MultichannelAudioAttributes {
fn eq(&self, other: &Self) -> bool {
self.Info == other.Info && self.Coeff == other.Coeff
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for DVD_MultichannelAudioAttributes {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for DVD_MultichannelAudioAttributes {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct DVD_PLAYBACK_LOCATION {
pub TitleNum: u32,
pub ChapterNum: u32,
pub TimeCode: u32,
}
impl ::core::marker::Copy for DVD_PLAYBACK_LOCATION {}
impl ::core::clone::Clone for DVD_PLAYBACK_LOCATION {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for DVD_PLAYBACK_LOCATION {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DVD_PLAYBACK_LOCATION").field("TitleNum", &self.TitleNum).field("ChapterNum", &self.ChapterNum).field("TimeCode", &self.TimeCode).finish()
}
}
impl ::windows::core::TypeKind for DVD_PLAYBACK_LOCATION {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for DVD_PLAYBACK_LOCATION {
fn eq(&self, other: &Self) -> bool {
self.TitleNum == other.TitleNum && self.ChapterNum == other.ChapterNum && self.TimeCode == other.TimeCode
}
}
impl ::core::cmp::Eq for DVD_PLAYBACK_LOCATION {}
impl ::core::default::Default for DVD_PLAYBACK_LOCATION {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct DVD_PLAYBACK_LOCATION2 {
pub TitleNum: u32,
pub ChapterNum: u32,
pub TimeCode: DVD_HMSF_TIMECODE,
pub TimeCodeFlags: u32,
}
impl ::core::marker::Copy for DVD_PLAYBACK_LOCATION2 {}
impl ::core::clone::Clone for DVD_PLAYBACK_LOCATION2 {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for DVD_PLAYBACK_LOCATION2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DVD_PLAYBACK_LOCATION2").field("TitleNum", &self.TitleNum).field("ChapterNum", &self.ChapterNum).field("TimeCode", &self.TimeCode).field("TimeCodeFlags", &self.TimeCodeFlags).finish()
}
}
impl ::windows::core::TypeKind for DVD_PLAYBACK_LOCATION2 {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for DVD_PLAYBACK_LOCATION2 {
fn eq(&self, other: &Self) -> bool {
self.TitleNum == other.TitleNum && self.ChapterNum == other.ChapterNum && self.TimeCode == other.TimeCode && self.TimeCodeFlags == other.TimeCodeFlags
}
}
impl ::core::cmp::Eq for DVD_PLAYBACK_LOCATION2 {}
impl ::core::default::Default for DVD_PLAYBACK_LOCATION2 {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct DVD_REGION {
pub CopySystem: u8,
pub RegionData: u8,
pub SystemRegion: u8,
pub ResetCount: u8,
}
impl ::core::marker::Copy for DVD_REGION {}
impl ::core::clone::Clone for DVD_REGION {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for DVD_REGION {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DVD_REGION").field("CopySystem", &self.CopySystem).field("RegionData", &self.RegionData).field("SystemRegion", &self.SystemRegion).field("ResetCount", &self.ResetCount).finish()
}
}
impl ::windows::core::TypeKind for DVD_REGION {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for DVD_REGION {
fn eq(&self, other: &Self) -> bool {
self.CopySystem == other.CopySystem && self.RegionData == other.RegionData && self.SystemRegion == other.SystemRegion && self.ResetCount == other.ResetCount
}
}
impl ::core::cmp::Eq for DVD_REGION {}
impl ::core::default::Default for DVD_REGION {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct DVD_SubpictureAttributes {
pub Type: DVD_SUBPICTURE_TYPE,
pub CodingMode: DVD_SUBPICTURE_CODING,
pub Language: u32,
pub LanguageExtension: DVD_SUBPICTURE_LANG_EXT,
}
impl ::core::marker::Copy for DVD_SubpictureAttributes {}
impl ::core::clone::Clone for DVD_SubpictureAttributes {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for DVD_SubpictureAttributes {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DVD_SubpictureAttributes").field("Type", &self.Type).field("CodingMode", &self.CodingMode).field("Language", &self.Language).field("LanguageExtension", &self.LanguageExtension).finish()
}
}
impl ::windows::core::TypeKind for DVD_SubpictureAttributes {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for DVD_SubpictureAttributes {
fn eq(&self, other: &Self) -> bool {
self.Type == other.Type && self.CodingMode == other.CodingMode && self.Language == other.Language && self.LanguageExtension == other.LanguageExtension
}
}
impl ::core::cmp::Eq for DVD_SubpictureAttributes {}
impl ::core::default::Default for DVD_SubpictureAttributes {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct DVD_TIMECODE {
pub _bitfield: u32,
}
impl ::core::marker::Copy for DVD_TIMECODE {}
impl ::core::clone::Clone for DVD_TIMECODE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for DVD_TIMECODE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DVD_TIMECODE").field("_bitfield", &self._bitfield).finish()
}
}
impl ::windows::core::TypeKind for DVD_TIMECODE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for DVD_TIMECODE {
fn eq(&self, other: &Self) -> bool {
self._bitfield == other._bitfield
}
}
impl ::core::cmp::Eq for DVD_TIMECODE {}
impl ::core::default::Default for DVD_TIMECODE {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct DVD_TitleAttributes {
pub Anonymous: DVD_TitleAttributes_0,
pub VideoAttributes: DVD_VideoAttributes,
pub ulNumberOfAudioStreams: u32,
pub AudioAttributes: [DVD_AudioAttributes; 8],
pub MultichannelAudioAttributes: [DVD_MultichannelAudioAttributes; 8],
pub ulNumberOfSubpictureStreams: u32,
pub SubpictureAttributes: [DVD_SubpictureAttributes; 32],
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for DVD_TitleAttributes {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for DVD_TitleAttributes {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for DVD_TitleAttributes {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for DVD_TitleAttributes {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub union DVD_TitleAttributes_0 {
pub AppMode: DVD_TITLE_APPMODE,
pub TitleLength: DVD_HMSF_TIMECODE,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for DVD_TitleAttributes_0 {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for DVD_TitleAttributes_0 {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for DVD_TitleAttributes_0 {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for DVD_TitleAttributes_0 {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct DVD_VideoAttributes {
pub fPanscanPermitted: super::super::Foundation::BOOL,
pub fLetterboxPermitted: super::super::Foundation::BOOL,
pub ulAspectX: u32,
pub ulAspectY: u32,
pub ulFrameRate: u32,
pub ulFrameHeight: u32,
pub Compression: DVD_VIDEO_COMPRESSION,
pub fLine21Field1InGOP: super::super::Foundation::BOOL,
pub fLine21Field2InGOP: super::super::Foundation::BOOL,
pub ulSourceResolutionX: u32,
pub ulSourceResolutionY: u32,
pub fIsSourceLetterboxed: super::super::Foundation::BOOL,
pub fIsFilmMode: super::super::Foundation::BOOL,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for DVD_VideoAttributes {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for DVD_VideoAttributes {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for DVD_VideoAttributes {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DVD_VideoAttributes")
.field("fPanscanPermitted", &self.fPanscanPermitted)
.field("fLetterboxPermitted", &self.fLetterboxPermitted)
.field("ulAspectX", &self.ulAspectX)
.field("ulAspectY", &self.ulAspectY)
.field("ulFrameRate", &self.ulFrameRate)
.field("ulFrameHeight", &self.ulFrameHeight)
.field("Compression", &self.Compression)
.field("fLine21Field1InGOP", &self.fLine21Field1InGOP)
.field("fLine21Field2InGOP", &self.fLine21Field2InGOP)
.field("ulSourceResolutionX", &self.ulSourceResolutionX)
.field("ulSourceResolutionY", &self.ulSourceResolutionY)
.field("fIsSourceLetterboxed", &self.fIsSourceLetterboxed)
.field("fIsFilmMode", &self.fIsFilmMode)
.finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for DVD_VideoAttributes {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for DVD_VideoAttributes {
fn eq(&self, other: &Self) -> bool {
self.fPanscanPermitted == other.fPanscanPermitted && self.fLetterboxPermitted == other.fLetterboxPermitted && self.ulAspectX == other.ulAspectX && self.ulAspectY == other.ulAspectY && self.ulFrameRate == other.ulFrameRate && self.ulFrameHeight == other.ulFrameHeight && self.Compression == other.Compression && self.fLine21Field1InGOP == other.fLine21Field1InGOP && self.fLine21Field2InGOP == other.fLine21Field2InGOP && self.ulSourceResolutionX == other.ulSourceResolutionX && self.ulSourceResolutionY == other.ulSourceResolutionY && self.fIsSourceLetterboxed == other.fIsSourceLetterboxed && self.fIsFilmMode == other.fIsFilmMode
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for DVD_VideoAttributes {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for DVD_VideoAttributes {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct DVINFO {
pub dwDVAAuxSrc: u32,
pub dwDVAAuxCtl: u32,
pub dwDVAAuxSrc1: u32,
pub dwDVAAuxCtl1: u32,
pub dwDVVAuxSrc: u32,
pub dwDVVAuxCtl: u32,
pub dwDVReserved: [u32; 2],
}
impl ::core::marker::Copy for DVINFO {}
impl ::core::clone::Clone for DVINFO {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for DVINFO {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DVINFO").field("dwDVAAuxSrc", &self.dwDVAAuxSrc).field("dwDVAAuxCtl", &self.dwDVAAuxCtl).field("dwDVAAuxSrc1", &self.dwDVAAuxSrc1).field("dwDVAAuxCtl1", &self.dwDVAAuxCtl1).field("dwDVVAuxSrc", &self.dwDVVAuxSrc).field("dwDVVAuxCtl", &self.dwDVVAuxCtl).field("dwDVReserved", &self.dwDVReserved).finish()
}
}
impl ::windows::core::TypeKind for DVINFO {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for DVINFO {
fn eq(&self, other: &Self) -> bool {
self.dwDVAAuxSrc == other.dwDVAAuxSrc && self.dwDVAAuxCtl == other.dwDVAAuxCtl && self.dwDVAAuxSrc1 == other.dwDVAAuxSrc1 && self.dwDVAAuxCtl1 == other.dwDVAAuxCtl1 && self.dwDVVAuxSrc == other.dwDVVAuxSrc && self.dwDVVAuxCtl == other.dwDVVAuxCtl && self.dwDVReserved == other.dwDVReserved
}
}
impl ::core::cmp::Eq for DVINFO {}
impl ::core::default::Default for DVINFO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D9\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Media_MediaFoundation"))]
pub struct DXVA2SW_CALLBACKS {
pub Size: u32,
pub GetVideoProcessorRenderTargetCount: PDXVA2SW_GETVIDEOPROCESSORRENDERTARGETCOUNT,
pub GetVideoProcessorRenderTargets: PDXVA2SW_GETVIDEOPROCESSORRENDERTARGETS,
pub GetVideoProcessorCaps: PDXVA2SW_GETVIDEOPROCESSORCAPS,
pub GetVideoProcessorSubStreamFormatCount: PDXVA2SW_GETVIDEOPROCESSORSUBSTREAMFORMATCOUNT,
pub GetVideoProcessorSubStreamFormats: PDXVA2SW_GETVIDEOPROCESSORSUBSTREAMFORMATS,
pub GetProcAmpRange: PDXVA2SW_GETPROCAMPRANGE,
pub GetFilterPropertyRange: PDXVA2SW_GETFILTERPROPERTYRANGE,
pub CreateVideoProcessDevice: PDXVA2SW_CREATEVIDEOPROCESSDEVICE,
pub DestroyVideoProcessDevice: PDXVA2SW_DESTROYVIDEOPROCESSDEVICE,
pub VideoProcessBeginFrame: PDXVA2SW_VIDEOPROCESSBEGINFRAME,
pub VideoProcessEndFrame: PDXVA2SW_VIDEOPROCESSENDFRAME,
pub VideoProcessSetRenderTarget: PDXVA2SW_VIDEOPROCESSSETRENDERTARGET,
pub VideoProcessBlt: PDXVA2SW_VIDEOPROCESSBLT,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Media_MediaFoundation"))]
impl ::core::marker::Copy for DXVA2SW_CALLBACKS {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Media_MediaFoundation"))]
impl ::core::clone::Clone for DXVA2SW_CALLBACKS {
fn clone(&self) -> Self {
*self
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Media_MediaFoundation"))]
impl ::core::fmt::Debug for DXVA2SW_CALLBACKS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DXVA2SW_CALLBACKS").field("Size", &self.Size).finish()
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Media_MediaFoundation"))]
impl ::windows::core::TypeKind for DXVA2SW_CALLBACKS {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Media_MediaFoundation"))]
impl ::core::default::Default for DXVA2SW_CALLBACKS {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_System_Diagnostics_Etw\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
pub struct DXVA2TraceVideoProcessBltData {
pub wmiHeader: super::super::System::Diagnostics::Etw::EVENT_TRACE_HEADER,
pub pObject: u64,
pub pRenderTarget: u64,
pub TargetFrameTime: u64,
pub TargetRect: super::super::Foundation::RECT,
pub Enter: super::super::Foundation::BOOL,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::marker::Copy for DXVA2TraceVideoProcessBltData {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::clone::Clone for DXVA2TraceVideoProcessBltData {
fn clone(&self) -> Self {
*self
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::windows::core::TypeKind for DXVA2TraceVideoProcessBltData {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::default::Default for DXVA2TraceVideoProcessBltData {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_System_Diagnostics_Etw\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
pub struct DXVA2Trace_DecodeDevBeginFrameData {
pub wmiHeader: super::super::System::Diagnostics::Etw::EVENT_TRACE_HEADER,
pub pObject: u64,
pub pRenderTarget: u64,
pub Enter: super::super::Foundation::BOOL,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::marker::Copy for DXVA2Trace_DecodeDevBeginFrameData {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::clone::Clone for DXVA2Trace_DecodeDevBeginFrameData {
fn clone(&self) -> Self {
*self
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::windows::core::TypeKind for DXVA2Trace_DecodeDevBeginFrameData {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::default::Default for DXVA2Trace_DecodeDevBeginFrameData {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_System_Diagnostics_Etw\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
pub struct DXVA2Trace_DecodeDevCreatedData {
pub wmiHeader: super::super::System::Diagnostics::Etw::EVENT_TRACE_HEADER,
pub pObject: u64,
pub pD3DDevice: u64,
pub DeviceGuid: ::windows::core::GUID,
pub Width: u32,
pub Height: u32,
pub Enter: super::super::Foundation::BOOL,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::marker::Copy for DXVA2Trace_DecodeDevCreatedData {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::clone::Clone for DXVA2Trace_DecodeDevCreatedData {
fn clone(&self) -> Self {
*self
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::windows::core::TypeKind for DXVA2Trace_DecodeDevCreatedData {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::default::Default for DXVA2Trace_DecodeDevCreatedData {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_System_Diagnostics_Etw\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
pub struct DXVA2Trace_DecodeDevGetBufferData {
pub wmiHeader: super::super::System::Diagnostics::Etw::EVENT_TRACE_HEADER,
pub pObject: u64,
pub BufferType: u32,
pub Enter: super::super::Foundation::BOOL,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::marker::Copy for DXVA2Trace_DecodeDevGetBufferData {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::clone::Clone for DXVA2Trace_DecodeDevGetBufferData {
fn clone(&self) -> Self {
*self
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::windows::core::TypeKind for DXVA2Trace_DecodeDevGetBufferData {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::default::Default for DXVA2Trace_DecodeDevGetBufferData {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_System_Diagnostics_Etw\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
pub struct DXVA2Trace_DecodeDeviceData {
pub wmiHeader: super::super::System::Diagnostics::Etw::EVENT_TRACE_HEADER,
pub pObject: u64,
pub Enter: super::super::Foundation::BOOL,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::marker::Copy for DXVA2Trace_DecodeDeviceData {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::clone::Clone for DXVA2Trace_DecodeDeviceData {
fn clone(&self) -> Self {
*self
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::windows::core::TypeKind for DXVA2Trace_DecodeDeviceData {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::default::Default for DXVA2Trace_DecodeDeviceData {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_System_Diagnostics_Etw\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
pub struct DXVA2Trace_VideoProcessDevCreatedData {
pub wmiHeader: super::super::System::Diagnostics::Etw::EVENT_TRACE_HEADER,
pub pObject: u64,
pub pD3DDevice: u64,
pub DeviceGuid: ::windows::core::GUID,
pub RTFourCC: u32,
pub Width: u32,
pub Height: u32,
pub Enter: super::super::Foundation::BOOL,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::marker::Copy for DXVA2Trace_VideoProcessDevCreatedData {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::clone::Clone for DXVA2Trace_VideoProcessDevCreatedData {
fn clone(&self) -> Self {
*self
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::windows::core::TypeKind for DXVA2Trace_VideoProcessDevCreatedData {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::default::Default for DXVA2Trace_VideoProcessDevCreatedData {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_System_Diagnostics_Etw\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
pub struct DXVA2Trace_VideoProcessDeviceData {
pub wmiHeader: super::super::System::Diagnostics::Etw::EVENT_TRACE_HEADER,
pub pObject: u64,
pub Enter: super::super::Foundation::BOOL,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::marker::Copy for DXVA2Trace_VideoProcessDeviceData {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::clone::Clone for DXVA2Trace_VideoProcessDeviceData {
fn clone(&self) -> Self {
*self
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::windows::core::TypeKind for DXVA2Trace_VideoProcessDeviceData {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Etw"))]
impl ::core::default::Default for DXVA2Trace_VideoProcessDeviceData {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub struct DXVA2_VIDEOPROCESSBLT {
pub TargetFrame: i64,
pub TargetRect: super::super::Foundation::RECT,
pub ConstrictionSize: super::super::Foundation::SIZE,
pub StreamingFlags: u32,
pub BackgroundColor: super::MediaFoundation::DXVA2_AYUVSample16,
pub DestFormat: super::MediaFoundation::DXVA2_ExtendedFormat,
pub DestFlags: u32,
pub ProcAmpValues: super::MediaFoundation::DXVA2_ProcAmpValues,
pub Alpha: super::MediaFoundation::DXVA2_Fixed32,
pub NoiseFilterLuma: super::MediaFoundation::DXVA2_FilterValues,
pub NoiseFilterChroma: super::MediaFoundation::DXVA2_FilterValues,
pub DetailFilterLuma: super::MediaFoundation::DXVA2_FilterValues,
pub DetailFilterChroma: super::MediaFoundation::DXVA2_FilterValues,
pub pSrcSurfaces: *mut DXVA2_VIDEOSAMPLE,
pub NumSrcSurfaces: u32,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::marker::Copy for DXVA2_VIDEOPROCESSBLT {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::clone::Clone for DXVA2_VIDEOPROCESSBLT {
fn clone(&self) -> Self {
*self
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::windows::core::TypeKind for DXVA2_VIDEOPROCESSBLT {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::default::Default for DXVA2_VIDEOPROCESSBLT {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub struct DXVA2_VIDEOSAMPLE {
pub Start: i64,
pub End: i64,
pub SampleFormat: super::MediaFoundation::DXVA2_ExtendedFormat,
pub SampleFlags: u32,
pub SrcResource: *mut ::core::ffi::c_void,
pub SrcRect: super::super::Foundation::RECT,
pub DstRect: super::super::Foundation::RECT,
pub Pal: [super::MediaFoundation::DXVA2_AYUVSample8; 16],
pub PlanarAlpha: super::MediaFoundation::DXVA2_Fixed32,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::marker::Copy for DXVA2_VIDEOSAMPLE {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::clone::Clone for DXVA2_VIDEOSAMPLE {
fn clone(&self) -> Self {
*self
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::windows::core::TypeKind for DXVA2_VIDEOSAMPLE {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::core::default::Default for DXVA2_VIDEOSAMPLE {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct DXVA_COPPSetProtectionLevelCmdData {
pub ProtType: u32,
pub ProtLevel: u32,
pub ExtendedInfoChangeMask: u32,
pub ExtendedInfoData: u32,
}
impl ::core::marker::Copy for DXVA_COPPSetProtectionLevelCmdData {}
impl ::core::clone::Clone for DXVA_COPPSetProtectionLevelCmdData {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for DXVA_COPPSetProtectionLevelCmdData {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DXVA_COPPSetProtectionLevelCmdData").field("ProtType", &self.ProtType).field("ProtLevel", &self.ProtLevel).field("ExtendedInfoChangeMask", &self.ExtendedInfoChangeMask).field("ExtendedInfoData", &self.ExtendedInfoData).finish()
}
}
impl ::windows::core::TypeKind for DXVA_COPPSetProtectionLevelCmdData {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for DXVA_COPPSetProtectionLevelCmdData {
fn eq(&self, other: &Self) -> bool {
self.ProtType == other.ProtType && self.ProtLevel == other.ProtLevel && self.ExtendedInfoChangeMask == other.ExtendedInfoChangeMask && self.ExtendedInfoData == other.ExtendedInfoData
}
}
impl ::core::cmp::Eq for DXVA_COPPSetProtectionLevelCmdData {}
impl ::core::default::Default for DXVA_COPPSetProtectionLevelCmdData {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct DXVA_COPPSetSignalingCmdData {
pub ActiveTVProtectionStandard: u32,
pub AspectRatioChangeMask1: u32,
pub AspectRatioData1: u32,
pub AspectRatioChangeMask2: u32,
pub AspectRatioData2: u32,
pub AspectRatioChangeMask3: u32,
pub AspectRatioData3: u32,
pub ExtendedInfoChangeMask: [u32; 4],
pub ExtendedInfoData: [u32; 4],
pub Reserved: u32,
}
impl ::core::marker::Copy for DXVA_COPPSetSignalingCmdData {}
impl ::core::clone::Clone for DXVA_COPPSetSignalingCmdData {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for DXVA_COPPSetSignalingCmdData {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DXVA_COPPSetSignalingCmdData")
.field("ActiveTVProtectionStandard", &self.ActiveTVProtectionStandard)
.field("AspectRatioChangeMask1", &self.AspectRatioChangeMask1)
.field("AspectRatioData1", &self.AspectRatioData1)
.field("AspectRatioChangeMask2", &self.AspectRatioChangeMask2)
.field("AspectRatioData2", &self.AspectRatioData2)
.field("AspectRatioChangeMask3", &self.AspectRatioChangeMask3)
.field("AspectRatioData3", &self.AspectRatioData3)
.field("ExtendedInfoChangeMask", &self.ExtendedInfoChangeMask)
.field("ExtendedInfoData", &self.ExtendedInfoData)
.field("Reserved", &self.Reserved)
.finish()
}
}
impl ::windows::core::TypeKind for DXVA_COPPSetSignalingCmdData {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for DXVA_COPPSetSignalingCmdData {
fn eq(&self, other: &Self) -> bool {
self.ActiveTVProtectionStandard == other.ActiveTVProtectionStandard && self.AspectRatioChangeMask1 == other.AspectRatioChangeMask1 && self.AspectRatioData1 == other.AspectRatioData1 && self.AspectRatioChangeMask2 == other.AspectRatioChangeMask2 && self.AspectRatioData2 == other.AspectRatioData2 && self.AspectRatioChangeMask3 == other.AspectRatioChangeMask3 && self.AspectRatioData3 == other.AspectRatioData3 && self.ExtendedInfoChangeMask == other.ExtendedInfoChangeMask && self.ExtendedInfoData == other.ExtendedInfoData && self.Reserved == other.Reserved
}
}
impl ::core::cmp::Eq for DXVA_COPPSetSignalingCmdData {}
impl ::core::default::Default for DXVA_COPPSetSignalingCmdData {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct DXVA_COPPStatusData {
pub rApp: ::windows::core::GUID,
pub dwFlags: u32,
pub dwData: u32,
pub ExtendedInfoValidMask: u32,
pub ExtendedInfoData: u32,
}
impl ::core::marker::Copy for DXVA_COPPStatusData {}
impl ::core::clone::Clone for DXVA_COPPStatusData {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for DXVA_COPPStatusData {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DXVA_COPPStatusData").field("rApp", &self.rApp).field("dwFlags", &self.dwFlags).field("dwData", &self.dwData).field("ExtendedInfoValidMask", &self.ExtendedInfoValidMask).field("ExtendedInfoData", &self.ExtendedInfoData).finish()
}
}
impl ::windows::core::TypeKind for DXVA_COPPStatusData {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for DXVA_COPPStatusData {
fn eq(&self, other: &Self) -> bool {
self.rApp == other.rApp && self.dwFlags == other.dwFlags && self.dwData == other.dwData && self.ExtendedInfoValidMask == other.ExtendedInfoValidMask && self.ExtendedInfoData == other.ExtendedInfoData
}
}
impl ::core::cmp::Eq for DXVA_COPPStatusData {}
impl ::core::default::Default for DXVA_COPPStatusData {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct DXVA_COPPStatusDisplayData {
pub rApp: ::windows::core::GUID,
pub dwFlags: u32,
pub DisplayWidth: u32,
pub DisplayHeight: u32,
pub Format: u32,
pub d3dFormat: u32,
pub FreqNumerator: u32,
pub FreqDenominator: u32,
}
impl ::core::marker::Copy for DXVA_COPPStatusDisplayData {}
impl ::core::clone::Clone for DXVA_COPPStatusDisplayData {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for DXVA_COPPStatusDisplayData {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DXVA_COPPStatusDisplayData").field("rApp", &self.rApp).field("dwFlags", &self.dwFlags).field("DisplayWidth", &self.DisplayWidth).field("DisplayHeight", &self.DisplayHeight).field("Format", &self.Format).field("d3dFormat", &self.d3dFormat).field("FreqNumerator", &self.FreqNumerator).field("FreqDenominator", &self.FreqDenominator).finish()
}
}
impl ::windows::core::TypeKind for DXVA_COPPStatusDisplayData {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for DXVA_COPPStatusDisplayData {
fn eq(&self, other: &Self) -> bool {
self.rApp == other.rApp && self.dwFlags == other.dwFlags && self.DisplayWidth == other.DisplayWidth && self.DisplayHeight == other.DisplayHeight && self.Format == other.Format && self.d3dFormat == other.d3dFormat && self.FreqNumerator == other.FreqNumerator && self.FreqDenominator == other.FreqDenominator
}
}
impl ::core::cmp::Eq for DXVA_COPPStatusDisplayData {}
impl ::core::default::Default for DXVA_COPPStatusDisplayData {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct DXVA_COPPStatusHDCPKeyData {
pub rApp: ::windows::core::GUID,
pub dwFlags: u32,
pub dwHDCPFlags: u32,
pub BKey: ::windows::core::GUID,
pub Reserved1: ::windows::core::GUID,
pub Reserved2: ::windows::core::GUID,
}
impl ::core::marker::Copy for DXVA_COPPStatusHDCPKeyData {}
impl ::core::clone::Clone for DXVA_COPPStatusHDCPKeyData {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for DXVA_COPPStatusHDCPKeyData {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DXVA_COPPStatusHDCPKeyData").field("rApp", &self.rApp).field("dwFlags", &self.dwFlags).field("dwHDCPFlags", &self.dwHDCPFlags).field("BKey", &self.BKey).field("Reserved1", &self.Reserved1).field("Reserved2", &self.Reserved2).finish()
}
}
impl ::windows::core::TypeKind for DXVA_COPPStatusHDCPKeyData {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for DXVA_COPPStatusHDCPKeyData {
fn eq(&self, other: &Self) -> bool {
self.rApp == other.rApp && self.dwFlags == other.dwFlags && self.dwHDCPFlags == other.dwHDCPFlags && self.BKey == other.BKey && self.Reserved1 == other.Reserved1 && self.Reserved2 == other.Reserved2
}
}
impl ::core::cmp::Eq for DXVA_COPPStatusHDCPKeyData {}
impl ::core::default::Default for DXVA_COPPStatusHDCPKeyData {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct DXVA_COPPStatusSignalingCmdData {
pub rApp: ::windows::core::GUID,
pub dwFlags: u32,
pub AvailableTVProtectionStandards: u32,
pub ActiveTVProtectionStandard: u32,
pub TVType: u32,
pub AspectRatioValidMask1: u32,
pub AspectRatioData1: u32,
pub AspectRatioValidMask2: u32,
pub AspectRatioData2: u32,
pub AspectRatioValidMask3: u32,
pub AspectRatioData3: u32,
pub ExtendedInfoValidMask: [u32; 4],
pub ExtendedInfoData: [u32; 4],
}
impl ::core::marker::Copy for DXVA_COPPStatusSignalingCmdData {}
impl ::core::clone::Clone for DXVA_COPPStatusSignalingCmdData {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for DXVA_COPPStatusSignalingCmdData {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("DXVA_COPPStatusSignalingCmdData")
.field("rApp", &self.rApp)
.field("dwFlags", &self.dwFlags)
.field("AvailableTVProtectionStandards", &self.AvailableTVProtectionStandards)
.field("ActiveTVProtectionStandard", &self.ActiveTVProtectionStandard)
.field("TVType", &self.TVType)
.field("AspectRatioValidMask1", &self.AspectRatioValidMask1)
.field("AspectRatioData1", &self.AspectRatioData1)
.field("AspectRatioValidMask2", &self.AspectRatioValidMask2)
.field("AspectRatioData2", &self.AspectRatioData2)
.field("AspectRatioValidMask3", &self.AspectRatioValidMask3)
.field("AspectRatioData3", &self.AspectRatioData3)
.field("ExtendedInfoValidMask", &self.ExtendedInfoValidMask)
.field("ExtendedInfoData", &self.ExtendedInfoData)
.finish()
}
}
impl ::windows::core::TypeKind for DXVA_COPPStatusSignalingCmdData {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for DXVA_COPPStatusSignalingCmdData {
fn eq(&self, other: &Self) -> bool {
self.rApp == other.rApp && self.dwFlags == other.dwFlags && self.AvailableTVProtectionStandards == other.AvailableTVProtectionStandards && self.ActiveTVProtectionStandard == other.ActiveTVProtectionStandard && self.TVType == other.TVType && self.AspectRatioValidMask1 == other.AspectRatioValidMask1 && self.AspectRatioData1 == other.AspectRatioData1 && self.AspectRatioValidMask2 == other.AspectRatioValidMask2 && self.AspectRatioData2 == other.AspectRatioData2 && self.AspectRatioValidMask3 == other.AspectRatioValidMask3 && self.AspectRatioData3 == other.AspectRatioData3 && self.ExtendedInfoValidMask == other.ExtendedInfoValidMask && self.ExtendedInfoData == other.ExtendedInfoData
}
}
impl ::core::cmp::Eq for DXVA_COPPStatusSignalingCmdData {}
impl ::core::default::Default for DXVA_COPPStatusSignalingCmdData {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct EALocationCodeType {
pub LocationCodeScheme: LocationCodeSchemeType,
pub state_code: u8,
pub county_subdivision: u8,
pub county_code: u16,
}
impl ::core::marker::Copy for EALocationCodeType {}
impl ::core::clone::Clone for EALocationCodeType {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for EALocationCodeType {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("EALocationCodeType").field("LocationCodeScheme", &self.LocationCodeScheme).field("state_code", &self.state_code).field("county_subdivision", &self.county_subdivision).field("county_code", &self.county_code).finish()
}
}
impl ::windows::core::TypeKind for EALocationCodeType {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for EALocationCodeType {
fn eq(&self, other: &Self) -> bool {
self.LocationCodeScheme == other.LocationCodeScheme && self.state_code == other.state_code && self.county_subdivision == other.county_subdivision && self.county_code == other.county_code
}
}
impl ::core::cmp::Eq for EALocationCodeType {}
impl ::core::default::Default for EALocationCodeType {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct FILTER_INFO {
pub achName: [u16; 128],
pub pGraph: ::std::mem::ManuallyDrop<::core::option::Option<IFilterGraph>>,
}
impl ::core::clone::Clone for FILTER_INFO {
fn clone(&self) -> Self {
unsafe { ::core::mem::transmute_copy(self) }
}
}
impl ::core::fmt::Debug for FILTER_INFO {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("FILTER_INFO").field("achName", &self.achName).field("pGraph", &self.pGraph).finish()
}
}
impl ::windows::core::TypeKind for FILTER_INFO {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for FILTER_INFO {
fn eq(&self, other: &Self) -> bool {
self.achName == other.achName && self.pGraph == other.pGraph
}
}
impl ::core::cmp::Eq for FILTER_INFO {}
impl ::core::default::Default for FILTER_INFO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Media_Audio\"`*"]
#[cfg(feature = "Win32_Media_Audio")]
pub struct HEAACWAVEFORMAT {
pub wfInfo: HEAACWAVEINFO,
pub pbAudioSpecificConfig: [u8; 1],
}
#[cfg(feature = "Win32_Media_Audio")]
impl ::core::marker::Copy for HEAACWAVEFORMAT {}
#[cfg(feature = "Win32_Media_Audio")]
impl ::core::clone::Clone for HEAACWAVEFORMAT {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Media_Audio")]
impl ::windows::core::TypeKind for HEAACWAVEFORMAT {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Media_Audio")]
impl ::core::default::Default for HEAACWAVEFORMAT {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(1))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Media_Audio\"`*"]
#[cfg(feature = "Win32_Media_Audio")]
pub struct HEAACWAVEINFO {
pub wfx: super::Audio::WAVEFORMATEX,
pub wPayloadType: u16,
pub wAudioProfileLevelIndication: u16,
pub wStructType: u16,
pub wReserved1: u16,
pub dwReserved2: u32,
}
#[cfg(feature = "Win32_Media_Audio")]
impl ::core::marker::Copy for HEAACWAVEINFO {}
#[cfg(feature = "Win32_Media_Audio")]
impl ::core::clone::Clone for HEAACWAVEINFO {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Media_Audio")]
impl ::windows::core::TypeKind for HEAACWAVEINFO {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Media_Audio")]
impl ::core::default::Default for HEAACWAVEINFO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct KS_BDA_FRAME_INFO {
pub ExtendedHeaderSize: u32,
pub dwFrameFlags: u32,
pub ulEvent: u32,
pub ulChannelNumber: u32,
pub ulSubchannelNumber: u32,
pub ulReason: u32,
}
impl ::core::marker::Copy for KS_BDA_FRAME_INFO {}
impl ::core::clone::Clone for KS_BDA_FRAME_INFO {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for KS_BDA_FRAME_INFO {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("KS_BDA_FRAME_INFO").field("ExtendedHeaderSize", &self.ExtendedHeaderSize).field("dwFrameFlags", &self.dwFrameFlags).field("ulEvent", &self.ulEvent).field("ulChannelNumber", &self.ulChannelNumber).field("ulSubchannelNumber", &self.ulSubchannelNumber).field("ulReason", &self.ulReason).finish()
}
}
impl ::windows::core::TypeKind for KS_BDA_FRAME_INFO {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for KS_BDA_FRAME_INFO {
fn eq(&self, other: &Self) -> bool {
self.ExtendedHeaderSize == other.ExtendedHeaderSize && self.dwFrameFlags == other.dwFrameFlags && self.ulEvent == other.ulEvent && self.ulChannelNumber == other.ulChannelNumber && self.ulSubchannelNumber == other.ulSubchannelNumber && self.ulReason == other.ulReason
}
}
impl ::core::cmp::Eq for KS_BDA_FRAME_INFO {}
impl ::core::default::Default for KS_BDA_FRAME_INFO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(1))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Media_Audio\"`*"]
#[cfg(feature = "Win32_Media_Audio")]
pub struct MPEG1WAVEFORMAT {
pub wfx: super::Audio::WAVEFORMATEX,
pub fwHeadLayer: u16,
pub dwHeadBitrate: u32,
pub fwHeadMode: u16,
pub fwHeadModeExt: u16,
pub wHeadEmphasis: u16,
pub fwHeadFlags: u16,
pub dwPTSLow: u32,
pub dwPTSHigh: u32,
}
#[cfg(feature = "Win32_Media_Audio")]
impl ::core::marker::Copy for MPEG1WAVEFORMAT {}
#[cfg(feature = "Win32_Media_Audio")]
impl ::core::clone::Clone for MPEG1WAVEFORMAT {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Media_Audio")]
impl ::windows::core::TypeKind for MPEG1WAVEFORMAT {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Media_Audio")]
impl ::core::default::Default for MPEG1WAVEFORMAT {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct MPEG2_TRANSPORT_STRIDE {
pub dwOffset: u32,
pub dwPacketLength: u32,
pub dwStride: u32,
}
impl ::core::marker::Copy for MPEG2_TRANSPORT_STRIDE {}
impl ::core::clone::Clone for MPEG2_TRANSPORT_STRIDE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for MPEG2_TRANSPORT_STRIDE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("MPEG2_TRANSPORT_STRIDE").field("dwOffset", &self.dwOffset).field("dwPacketLength", &self.dwPacketLength).field("dwStride", &self.dwStride).finish()
}
}
impl ::windows::core::TypeKind for MPEG2_TRANSPORT_STRIDE {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for MPEG2_TRANSPORT_STRIDE {
fn eq(&self, other: &Self) -> bool {
self.dwOffset == other.dwOffset && self.dwPacketLength == other.dwPacketLength && self.dwStride == other.dwStride
}
}
impl ::core::cmp::Eq for MPEG2_TRANSPORT_STRIDE {}
impl ::core::default::Default for MPEG2_TRANSPORT_STRIDE {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(1))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Media_Audio\"`*"]
#[cfg(feature = "Win32_Media_Audio")]
pub struct MPEGLAYER3WAVEFORMAT {
pub wfx: super::Audio::WAVEFORMATEX,
pub wID: u16,
pub fdwFlags: MPEGLAYER3WAVEFORMAT_FLAGS,
pub nBlockSize: u16,
pub nFramesPerBlock: u16,
pub nCodecDelay: u16,
}
#[cfg(feature = "Win32_Media_Audio")]
impl ::core::marker::Copy for MPEGLAYER3WAVEFORMAT {}
#[cfg(feature = "Win32_Media_Audio")]
impl ::core::clone::Clone for MPEGLAYER3WAVEFORMAT {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Media_Audio")]
impl ::windows::core::TypeKind for MPEGLAYER3WAVEFORMAT {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Media_Audio")]
impl ::core::default::Default for MPEGLAYER3WAVEFORMAT {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct MP_ENVELOPE_SEGMENT {
pub rtStart: i64,
pub rtEnd: i64,
pub valStart: f32,
pub valEnd: f32,
pub iCurve: MP_CURVE_TYPE,
pub flags: u32,
}
impl ::core::marker::Copy for MP_ENVELOPE_SEGMENT {}
impl ::core::clone::Clone for MP_ENVELOPE_SEGMENT {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for MP_ENVELOPE_SEGMENT {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("MP_ENVELOPE_SEGMENT").field("rtStart", &self.rtStart).field("rtEnd", &self.rtEnd).field("valStart", &self.valStart).field("valEnd", &self.valEnd).field("iCurve", &self.iCurve).field("flags", &self.flags).finish()
}
}
impl ::windows::core::TypeKind for MP_ENVELOPE_SEGMENT {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for MP_ENVELOPE_SEGMENT {
fn eq(&self, other: &Self) -> bool {
self.rtStart == other.rtStart && self.rtEnd == other.rtEnd && self.valStart == other.valStart && self.valEnd == other.valEnd && self.iCurve == other.iCurve && self.flags == other.flags
}
}
impl ::core::cmp::Eq for MP_ENVELOPE_SEGMENT {}
impl ::core::default::Default for MP_ENVELOPE_SEGMENT {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct MP_PARAMINFO {
pub mpType: MP_TYPE,
pub mopCaps: u32,
pub mpdMinValue: f32,
pub mpdMaxValue: f32,
pub mpdNeutralValue: f32,
pub szUnitText: [u16; 32],
pub szLabel: [u16; 32],
}
impl ::core::marker::Copy for MP_PARAMINFO {}
impl ::core::clone::Clone for MP_PARAMINFO {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for MP_PARAMINFO {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("MP_PARAMINFO").field("mpType", &self.mpType).field("mopCaps", &self.mopCaps).field("mpdMinValue", &self.mpdMinValue).field("mpdMaxValue", &self.mpdMaxValue).field("mpdNeutralValue", &self.mpdNeutralValue).field("szUnitText", &self.szUnitText).field("szLabel", &self.szLabel).finish()
}
}
impl ::windows::core::TypeKind for MP_PARAMINFO {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for MP_PARAMINFO {
fn eq(&self, other: &Self) -> bool {
self.mpType == other.mpType && self.mopCaps == other.mopCaps && self.mpdMinValue == other.mpdMinValue && self.mpdMaxValue == other.mpdMaxValue && self.mpdNeutralValue == other.mpdNeutralValue && self.szUnitText == other.szUnitText && self.szLabel == other.szLabel
}
}
impl ::core::cmp::Eq for MP_PARAMINFO {}
impl ::core::default::Default for MP_PARAMINFO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct MainAVIHeader {
pub dwMicroSecPerFrame: u32,
pub dwMaxBytesPerSec: u32,
pub dwPaddingGranularity: u32,
pub dwFlags: u32,
pub dwTotalFrames: u32,
pub dwInitialFrames: u32,
pub dwStreams: u32,
pub dwSuggestedBufferSize: u32,
pub dwWidth: u32,
pub dwHeight: u32,
pub dwReserved: [u32; 4],
}
impl ::core::marker::Copy for MainAVIHeader {}
impl ::core::clone::Clone for MainAVIHeader {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for MainAVIHeader {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("MainAVIHeader")
.field("dwMicroSecPerFrame", &self.dwMicroSecPerFrame)
.field("dwMaxBytesPerSec", &self.dwMaxBytesPerSec)
.field("dwPaddingGranularity", &self.dwPaddingGranularity)
.field("dwFlags", &self.dwFlags)
.field("dwTotalFrames", &self.dwTotalFrames)
.field("dwInitialFrames", &self.dwInitialFrames)
.field("dwStreams", &self.dwStreams)
.field("dwSuggestedBufferSize", &self.dwSuggestedBufferSize)
.field("dwWidth", &self.dwWidth)
.field("dwHeight", &self.dwHeight)
.field("dwReserved", &self.dwReserved)
.finish()
}
}
impl ::windows::core::TypeKind for MainAVIHeader {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for MainAVIHeader {
fn eq(&self, other: &Self) -> bool {
self.dwMicroSecPerFrame == other.dwMicroSecPerFrame && self.dwMaxBytesPerSec == other.dwMaxBytesPerSec && self.dwPaddingGranularity == other.dwPaddingGranularity && self.dwFlags == other.dwFlags && self.dwTotalFrames == other.dwTotalFrames && self.dwInitialFrames == other.dwInitialFrames && self.dwStreams == other.dwStreams && self.dwSuggestedBufferSize == other.dwSuggestedBufferSize && self.dwWidth == other.dwWidth && self.dwHeight == other.dwHeight && self.dwReserved == other.dwReserved
}
}
impl ::core::cmp::Eq for MainAVIHeader {}
impl ::core::default::Default for MainAVIHeader {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct NORMALIZEDRECT {
pub left: f32,
pub top: f32,
pub right: f32,
pub bottom: f32,
}
impl ::core::marker::Copy for NORMALIZEDRECT {}
impl ::core::clone::Clone for NORMALIZEDRECT {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for NORMALIZEDRECT {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("NORMALIZEDRECT").field("left", &self.left).field("top", &self.top).field("right", &self.right).field("bottom", &self.bottom).finish()
}
}
impl ::windows::core::TypeKind for NORMALIZEDRECT {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for NORMALIZEDRECT {
fn eq(&self, other: &Self) -> bool {
self.left == other.left && self.top == other.top && self.right == other.right && self.bottom == other.bottom
}
}
impl ::core::cmp::Eq for NORMALIZEDRECT {}
impl ::core::default::Default for NORMALIZEDRECT {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct PID_MAP {
pub ulPID: u32,
pub MediaSampleContent: MEDIA_SAMPLE_CONTENT,
}
impl ::core::marker::Copy for PID_MAP {}
impl ::core::clone::Clone for PID_MAP {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for PID_MAP {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("PID_MAP").field("ulPID", &self.ulPID).field("MediaSampleContent", &self.MediaSampleContent).finish()
}
}
impl ::windows::core::TypeKind for PID_MAP {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for PID_MAP {
fn eq(&self, other: &Self) -> bool {
self.ulPID == other.ulPID && self.MediaSampleContent == other.MediaSampleContent
}
}
impl ::core::cmp::Eq for PID_MAP {}
impl ::core::default::Default for PID_MAP {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub struct PIN_INFO {
pub pFilter: ::std::mem::ManuallyDrop<::core::option::Option<IBaseFilter>>,
pub dir: PIN_DIRECTION,
pub achName: [u16; 128],
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::clone::Clone for PIN_INFO {
fn clone(&self) -> Self {
unsafe { ::core::mem::transmute_copy(self) }
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::fmt::Debug for PIN_INFO {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("PIN_INFO").field("pFilter", &self.pFilter).field("dir", &self.dir).field("achName", &self.achName).finish()
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::TypeKind for PIN_INFO {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::PartialEq for PIN_INFO {
fn eq(&self, other: &Self) -> bool {
self.pFilter == other.pFilter && self.dir == other.dir && self.achName == other.achName
}
}
#[cfg(feature = "Win32_System_Com")]
impl ::core::cmp::Eq for PIN_INFO {}
#[cfg(feature = "Win32_System_Com")]
impl ::core::default::Default for PIN_INFO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct Quality {
pub Type: QualityMessageType,
pub Proportion: i32,
pub Late: i64,
pub TimeStamp: i64,
}
impl ::core::marker::Copy for Quality {}
impl ::core::clone::Clone for Quality {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for Quality {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Quality").field("Type", &self.Type).field("Proportion", &self.Proportion).field("Late", &self.Late).field("TimeStamp", &self.TimeStamp).finish()
}
}
impl ::windows::core::TypeKind for Quality {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for Quality {
fn eq(&self, other: &Self) -> bool {
self.Type == other.Type && self.Proportion == other.Proportion && self.Late == other.Late && self.TimeStamp == other.TimeStamp
}
}
impl ::core::cmp::Eq for Quality {}
impl ::core::default::Default for Quality {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct REGFILTER {
pub Clsid: ::windows::core::GUID,
pub Name: ::windows::core::PWSTR,
}
impl ::core::marker::Copy for REGFILTER {}
impl ::core::clone::Clone for REGFILTER {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for REGFILTER {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("REGFILTER").field("Clsid", &self.Clsid).field("Name", &self.Name).finish()
}
}
impl ::windows::core::TypeKind for REGFILTER {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for REGFILTER {
fn eq(&self, other: &Self) -> bool {
self.Clsid == other.Clsid && self.Name == other.Name
}
}
impl ::core::cmp::Eq for REGFILTER {}
impl ::core::default::Default for REGFILTER {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct REGFILTER2 {
pub dwVersion: u32,
pub dwMerit: u32,
pub Anonymous: REGFILTER2_0,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for REGFILTER2 {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for REGFILTER2 {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for REGFILTER2 {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for REGFILTER2 {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub union REGFILTER2_0 {
pub Anonymous1: REGFILTER2_0_0,
pub Anonymous2: REGFILTER2_0_1,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for REGFILTER2_0 {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for REGFILTER2_0 {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for REGFILTER2_0 {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for REGFILTER2_0 {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct REGFILTER2_0_0 {
pub cPins: u32,
pub rgPins: *const REGFILTERPINS,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for REGFILTER2_0_0 {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for REGFILTER2_0_0 {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for REGFILTER2_0_0 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("REGFILTER2_0_0").field("cPins", &self.cPins).field("rgPins", &self.rgPins).finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for REGFILTER2_0_0 {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for REGFILTER2_0_0 {
fn eq(&self, other: &Self) -> bool {
self.cPins == other.cPins && self.rgPins == other.rgPins
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for REGFILTER2_0_0 {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for REGFILTER2_0_0 {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct REGFILTER2_0_1 {
pub cPins2: u32,
pub rgPins2: *const REGFILTERPINS2,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for REGFILTER2_0_1 {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for REGFILTER2_0_1 {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for REGFILTER2_0_1 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("REGFILTER2_0_1").field("cPins2", &self.cPins2).field("rgPins2", &self.rgPins2).finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for REGFILTER2_0_1 {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for REGFILTER2_0_1 {
fn eq(&self, other: &Self) -> bool {
self.cPins2 == other.cPins2 && self.rgPins2 == other.rgPins2
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for REGFILTER2_0_1 {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for REGFILTER2_0_1 {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct REGFILTERPINS {
pub strName: ::windows::core::PWSTR,
pub bRendered: super::super::Foundation::BOOL,
pub bOutput: super::super::Foundation::BOOL,
pub bZero: super::super::Foundation::BOOL,
pub bMany: super::super::Foundation::BOOL,
pub clsConnectsToFilter: *const ::windows::core::GUID,
pub strConnectsToPin: ::windows::core::PCWSTR,
pub nMediaTypes: u32,
pub lpMediaType: *const REGPINTYPES,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for REGFILTERPINS {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for REGFILTERPINS {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for REGFILTERPINS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("REGFILTERPINS").field("strName", &self.strName).field("bRendered", &self.bRendered).field("bOutput", &self.bOutput).field("bZero", &self.bZero).field("bMany", &self.bMany).field("clsConnectsToFilter", &self.clsConnectsToFilter).field("strConnectsToPin", &self.strConnectsToPin).field("nMediaTypes", &self.nMediaTypes).field("lpMediaType", &self.lpMediaType).finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for REGFILTERPINS {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for REGFILTERPINS {
fn eq(&self, other: &Self) -> bool {
self.strName == other.strName && self.bRendered == other.bRendered && self.bOutput == other.bOutput && self.bZero == other.bZero && self.bMany == other.bMany && self.clsConnectsToFilter == other.clsConnectsToFilter && self.strConnectsToPin == other.strConnectsToPin && self.nMediaTypes == other.nMediaTypes && self.lpMediaType == other.lpMediaType
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for REGFILTERPINS {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for REGFILTERPINS {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct REGFILTERPINS2 {
pub dwFlags: u32,
pub cInstances: u32,
pub nMediaTypes: u32,
pub lpMediaType: *const REGPINTYPES,
pub nMediums: u32,
pub lpMedium: *const REGPINMEDIUM,
pub clsPinCategory: *const ::windows::core::GUID,
}
impl ::core::marker::Copy for REGFILTERPINS2 {}
impl ::core::clone::Clone for REGFILTERPINS2 {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for REGFILTERPINS2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("REGFILTERPINS2").field("dwFlags", &self.dwFlags).field("cInstances", &self.cInstances).field("nMediaTypes", &self.nMediaTypes).field("lpMediaType", &self.lpMediaType).field("nMediums", &self.nMediums).field("lpMedium", &self.lpMedium).field("clsPinCategory", &self.clsPinCategory).finish()
}
}
impl ::windows::core::TypeKind for REGFILTERPINS2 {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for REGFILTERPINS2 {
fn eq(&self, other: &Self) -> bool {
self.dwFlags == other.dwFlags && self.cInstances == other.cInstances && self.nMediaTypes == other.nMediaTypes && self.lpMediaType == other.lpMediaType && self.nMediums == other.nMediums && self.lpMedium == other.lpMedium && self.clsPinCategory == other.clsPinCategory
}
}
impl ::core::cmp::Eq for REGFILTERPINS2 {}
impl ::core::default::Default for REGFILTERPINS2 {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct REGPINMEDIUM {
pub clsMedium: ::windows::core::GUID,
pub dw1: u32,
pub dw2: u32,
}
impl ::core::marker::Copy for REGPINMEDIUM {}
impl ::core::clone::Clone for REGPINMEDIUM {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for REGPINMEDIUM {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("REGPINMEDIUM").field("clsMedium", &self.clsMedium).field("dw1", &self.dw1).field("dw2", &self.dw2).finish()
}
}
impl ::windows::core::TypeKind for REGPINMEDIUM {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for REGPINMEDIUM {
fn eq(&self, other: &Self) -> bool {
self.clsMedium == other.clsMedium && self.dw1 == other.dw1 && self.dw2 == other.dw2
}
}
impl ::core::cmp::Eq for REGPINMEDIUM {}
impl ::core::default::Default for REGPINMEDIUM {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct REGPINTYPES {
pub clsMajorType: *const ::windows::core::GUID,
pub clsMinorType: *const ::windows::core::GUID,
}
impl ::core::marker::Copy for REGPINTYPES {}
impl ::core::clone::Clone for REGPINTYPES {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for REGPINTYPES {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("REGPINTYPES").field("clsMajorType", &self.clsMajorType).field("clsMinorType", &self.clsMinorType).finish()
}
}
impl ::windows::core::TypeKind for REGPINTYPES {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for REGPINTYPES {
fn eq(&self, other: &Self) -> bool {
self.clsMajorType == other.clsMajorType && self.clsMinorType == other.clsMinorType
}
}
impl ::core::cmp::Eq for REGPINTYPES {}
impl ::core::default::Default for REGPINTYPES {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct RIFFCHUNK {
pub fcc: u32,
pub cb: u32,
}
impl ::core::marker::Copy for RIFFCHUNK {}
impl ::core::clone::Clone for RIFFCHUNK {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for RIFFCHUNK {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for RIFFCHUNK {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct RIFFLIST {
pub fcc: u32,
pub cb: u32,
pub fccListType: u32,
}
impl ::core::marker::Copy for RIFFLIST {}
impl ::core::clone::Clone for RIFFLIST {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for RIFFLIST {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for RIFFLIST {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct STREAM_ID_MAP {
pub stream_id: u32,
pub dwMediaSampleContent: u32,
pub ulSubstreamFilterValue: u32,
pub iDataOffset: i32,
}
impl ::core::marker::Copy for STREAM_ID_MAP {}
impl ::core::clone::Clone for STREAM_ID_MAP {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for STREAM_ID_MAP {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("STREAM_ID_MAP").field("stream_id", &self.stream_id).field("dwMediaSampleContent", &self.dwMediaSampleContent).field("ulSubstreamFilterValue", &self.ulSubstreamFilterValue).field("iDataOffset", &self.iDataOffset).finish()
}
}
impl ::windows::core::TypeKind for STREAM_ID_MAP {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for STREAM_ID_MAP {
fn eq(&self, other: &Self) -> bool {
self.stream_id == other.stream_id && self.dwMediaSampleContent == other.dwMediaSampleContent && self.ulSubstreamFilterValue == other.ulSubstreamFilterValue && self.iDataOffset == other.iDataOffset
}
}
impl ::core::cmp::Eq for STREAM_ID_MAP {}
impl ::core::default::Default for STREAM_ID_MAP {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct SmartCardApplication {
pub ApplicationType: ApplicationTypeType,
pub ApplicationVersion: u16,
pub pbstrApplicationName: ::std::mem::ManuallyDrop<::windows::core::BSTR>,
pub pbstrApplicationURL: ::std::mem::ManuallyDrop<::windows::core::BSTR>,
}
impl ::core::clone::Clone for SmartCardApplication {
fn clone(&self) -> Self {
unsafe { ::core::mem::transmute_copy(self) }
}
}
impl ::core::fmt::Debug for SmartCardApplication {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("SmartCardApplication").field("ApplicationType", &self.ApplicationType).field("ApplicationVersion", &self.ApplicationVersion).field("pbstrApplicationName", &self.pbstrApplicationName).field("pbstrApplicationURL", &self.pbstrApplicationURL).finish()
}
}
impl ::windows::core::TypeKind for SmartCardApplication {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for SmartCardApplication {
fn eq(&self, other: &Self) -> bool {
self.ApplicationType == other.ApplicationType && self.ApplicationVersion == other.ApplicationVersion && self.pbstrApplicationName == other.pbstrApplicationName && self.pbstrApplicationURL == other.pbstrApplicationURL
}
}
impl ::core::cmp::Eq for SmartCardApplication {}
impl ::core::default::Default for SmartCardApplication {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C, packed(2))]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct TIMECODEDATA {
pub time: super::TIMECODE,
pub dwSMPTEflags: u32,
pub dwUser: u32,
}
impl ::core::marker::Copy for TIMECODEDATA {}
impl ::core::clone::Clone for TIMECODEDATA {
fn clone(&self) -> Self {
*self
}
}
impl ::windows::core::TypeKind for TIMECODEDATA {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::default::Default for TIMECODEDATA {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(feature = "Win32_Graphics_Gdi")]
pub struct TRUECOLORINFO {
pub dwBitMasks: [u32; 3],
pub bmiColors: [super::super::Graphics::Gdi::RGBQUAD; 256],
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ::core::marker::Copy for TRUECOLORINFO {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ::core::clone::Clone for TRUECOLORINFO {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ::core::fmt::Debug for TRUECOLORINFO {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("TRUECOLORINFO").field("dwBitMasks", &self.dwBitMasks).field("bmiColors", &self.bmiColors).finish()
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ::windows::core::TypeKind for TRUECOLORINFO {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ::core::cmp::PartialEq for TRUECOLORINFO {
fn eq(&self, other: &Self) -> bool {
self.dwBitMasks == other.dwBitMasks && self.bmiColors == other.bmiColors
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ::core::cmp::Eq for TRUECOLORINFO {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ::core::default::Default for TRUECOLORINFO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct VFW_FILTERLIST {
pub cFilters: u32,
pub aClsId: [::windows::core::GUID; 1],
}
impl ::core::marker::Copy for VFW_FILTERLIST {}
impl ::core::clone::Clone for VFW_FILTERLIST {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for VFW_FILTERLIST {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VFW_FILTERLIST").field("cFilters", &self.cFilters).field("aClsId", &self.aClsId).finish()
}
}
impl ::windows::core::TypeKind for VFW_FILTERLIST {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for VFW_FILTERLIST {
fn eq(&self, other: &Self) -> bool {
self.cFilters == other.cFilters && self.aClsId == other.aClsId
}
}
impl ::core::cmp::Eq for VFW_FILTERLIST {}
impl ::core::default::Default for VFW_FILTERLIST {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub struct VIDEOINFO {
pub rcSource: super::super::Foundation::RECT,
pub rcTarget: super::super::Foundation::RECT,
pub dwBitRate: u32,
pub dwBitErrorRate: u32,
pub AvgTimePerFrame: i64,
pub bmiHeader: super::super::Graphics::Gdi::BITMAPINFOHEADER,
pub Anonymous: VIDEOINFO_0,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::core::marker::Copy for VIDEOINFO {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::core::clone::Clone for VIDEOINFO {
fn clone(&self) -> Self {
*self
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::windows::core::TypeKind for VIDEOINFO {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::core::default::Default for VIDEOINFO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub union VIDEOINFO_0 {
pub bmiColors: [super::super::Graphics::Gdi::RGBQUAD; 256],
pub dwBitMasks: [u32; 3],
pub TrueColorInfo: TRUECOLORINFO,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::core::marker::Copy for VIDEOINFO_0 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::core::clone::Clone for VIDEOINFO_0 {
fn clone(&self) -> Self {
*self
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::windows::core::TypeKind for VIDEOINFO_0 {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::core::default::Default for VIDEOINFO_0 {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct VIDEO_STREAM_CONFIG_CAPS {
pub guid: ::windows::core::GUID,
pub VideoStandard: u32,
pub InputSize: super::super::Foundation::SIZE,
pub MinCroppingSize: super::super::Foundation::SIZE,
pub MaxCroppingSize: super::super::Foundation::SIZE,
pub CropGranularityX: i32,
pub CropGranularityY: i32,
pub CropAlignX: i32,
pub CropAlignY: i32,
pub MinOutputSize: super::super::Foundation::SIZE,
pub MaxOutputSize: super::super::Foundation::SIZE,
pub OutputGranularityX: i32,
pub OutputGranularityY: i32,
pub StretchTapsX: i32,
pub StretchTapsY: i32,
pub ShrinkTapsX: i32,
pub ShrinkTapsY: i32,
pub MinFrameInterval: i64,
pub MaxFrameInterval: i64,
pub MinBitsPerSecond: i32,
pub MaxBitsPerSecond: i32,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for VIDEO_STREAM_CONFIG_CAPS {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for VIDEO_STREAM_CONFIG_CAPS {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for VIDEO_STREAM_CONFIG_CAPS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VIDEO_STREAM_CONFIG_CAPS")
.field("guid", &self.guid)
.field("VideoStandard", &self.VideoStandard)
.field("InputSize", &self.InputSize)
.field("MinCroppingSize", &self.MinCroppingSize)
.field("MaxCroppingSize", &self.MaxCroppingSize)
.field("CropGranularityX", &self.CropGranularityX)
.field("CropGranularityY", &self.CropGranularityY)
.field("CropAlignX", &self.CropAlignX)
.field("CropAlignY", &self.CropAlignY)
.field("MinOutputSize", &self.MinOutputSize)
.field("MaxOutputSize", &self.MaxOutputSize)
.field("OutputGranularityX", &self.OutputGranularityX)
.field("OutputGranularityY", &self.OutputGranularityY)
.field("StretchTapsX", &self.StretchTapsX)
.field("StretchTapsY", &self.StretchTapsY)
.field("ShrinkTapsX", &self.ShrinkTapsX)
.field("ShrinkTapsY", &self.ShrinkTapsY)
.field("MinFrameInterval", &self.MinFrameInterval)
.field("MaxFrameInterval", &self.MaxFrameInterval)
.field("MinBitsPerSecond", &self.MinBitsPerSecond)
.field("MaxBitsPerSecond", &self.MaxBitsPerSecond)
.finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for VIDEO_STREAM_CONFIG_CAPS {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for VIDEO_STREAM_CONFIG_CAPS {
fn eq(&self, other: &Self) -> bool {
self.guid == other.guid
&& self.VideoStandard == other.VideoStandard
&& self.InputSize == other.InputSize
&& self.MinCroppingSize == other.MinCroppingSize
&& self.MaxCroppingSize == other.MaxCroppingSize
&& self.CropGranularityX == other.CropGranularityX
&& self.CropGranularityY == other.CropGranularityY
&& self.CropAlignX == other.CropAlignX
&& self.CropAlignY == other.CropAlignY
&& self.MinOutputSize == other.MinOutputSize
&& self.MaxOutputSize == other.MaxOutputSize
&& self.OutputGranularityX == other.OutputGranularityX
&& self.OutputGranularityY == other.OutputGranularityY
&& self.StretchTapsX == other.StretchTapsX
&& self.StretchTapsY == other.StretchTapsY
&& self.ShrinkTapsX == other.ShrinkTapsX
&& self.ShrinkTapsY == other.ShrinkTapsY
&& self.MinFrameInterval == other.MinFrameInterval
&& self.MaxFrameInterval == other.MaxFrameInterval
&& self.MinBitsPerSecond == other.MinBitsPerSecond
&& self.MaxBitsPerSecond == other.MaxBitsPerSecond
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for VIDEO_STREAM_CONFIG_CAPS {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for VIDEO_STREAM_CONFIG_CAPS {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D9\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
pub struct VMR9AllocationInfo {
pub dwFlags: u32,
pub dwWidth: u32,
pub dwHeight: u32,
pub Format: super::super::Graphics::Direct3D9::D3DFORMAT,
pub Pool: super::super::Graphics::Direct3D9::D3DPOOL,
pub MinBuffers: u32,
pub szAspectRatio: super::super::Foundation::SIZE,
pub szNativeSize: super::super::Foundation::SIZE,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
impl ::core::marker::Copy for VMR9AllocationInfo {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
impl ::core::clone::Clone for VMR9AllocationInfo {
fn clone(&self) -> Self {
*self
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
impl ::core::fmt::Debug for VMR9AllocationInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMR9AllocationInfo").field("dwFlags", &self.dwFlags).field("dwWidth", &self.dwWidth).field("dwHeight", &self.dwHeight).field("Format", &self.Format).field("Pool", &self.Pool).field("MinBuffers", &self.MinBuffers).field("szAspectRatio", &self.szAspectRatio).field("szNativeSize", &self.szNativeSize).finish()
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
impl ::windows::core::TypeKind for VMR9AllocationInfo {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
impl ::core::cmp::PartialEq for VMR9AllocationInfo {
fn eq(&self, other: &Self) -> bool {
self.dwFlags == other.dwFlags && self.dwWidth == other.dwWidth && self.dwHeight == other.dwHeight && self.Format == other.Format && self.Pool == other.Pool && self.MinBuffers == other.MinBuffers && self.szAspectRatio == other.szAspectRatio && self.szNativeSize == other.szNativeSize
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
impl ::core::cmp::Eq for VMR9AllocationInfo {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
impl ::core::default::Default for VMR9AllocationInfo {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D9\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi"))]
pub struct VMR9AlphaBitmap {
pub dwFlags: u32,
pub hdc: super::super::Graphics::Gdi::HDC,
pub pDDS: ::std::mem::ManuallyDrop<::core::option::Option<super::super::Graphics::Direct3D9::IDirect3DSurface9>>,
pub rSrc: super::super::Foundation::RECT,
pub rDest: VMR9NormalizedRect,
pub fAlpha: f32,
pub clrSrcKey: super::super::Foundation::COLORREF,
pub dwFilterMode: u32,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi"))]
impl ::core::clone::Clone for VMR9AlphaBitmap {
fn clone(&self) -> Self {
unsafe { ::core::mem::transmute_copy(self) }
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi"))]
impl ::core::fmt::Debug for VMR9AlphaBitmap {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMR9AlphaBitmap").field("dwFlags", &self.dwFlags).field("hdc", &self.hdc).field("pDDS", &self.pDDS).field("rSrc", &self.rSrc).field("rDest", &self.rDest).field("fAlpha", &self.fAlpha).field("clrSrcKey", &self.clrSrcKey).field("dwFilterMode", &self.dwFilterMode).finish()
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi"))]
impl ::windows::core::TypeKind for VMR9AlphaBitmap {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi"))]
impl ::core::cmp::PartialEq for VMR9AlphaBitmap {
fn eq(&self, other: &Self) -> bool {
self.dwFlags == other.dwFlags && self.hdc == other.hdc && self.pDDS == other.pDDS && self.rSrc == other.rSrc && self.rDest == other.rDest && self.fAlpha == other.fAlpha && self.clrSrcKey == other.clrSrcKey && self.dwFilterMode == other.dwFilterMode
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi"))]
impl ::core::cmp::Eq for VMR9AlphaBitmap {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Graphics_Gdi"))]
impl ::core::default::Default for VMR9AlphaBitmap {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct VMR9DeinterlaceCaps {
pub dwSize: u32,
pub dwNumPreviousOutputFrames: u32,
pub dwNumForwardRefSamples: u32,
pub dwNumBackwardRefSamples: u32,
pub DeinterlaceTechnology: VMR9DeinterlaceTech,
}
impl ::core::marker::Copy for VMR9DeinterlaceCaps {}
impl ::core::clone::Clone for VMR9DeinterlaceCaps {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for VMR9DeinterlaceCaps {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMR9DeinterlaceCaps").field("dwSize", &self.dwSize).field("dwNumPreviousOutputFrames", &self.dwNumPreviousOutputFrames).field("dwNumForwardRefSamples", &self.dwNumForwardRefSamples).field("dwNumBackwardRefSamples", &self.dwNumBackwardRefSamples).field("DeinterlaceTechnology", &self.DeinterlaceTechnology).finish()
}
}
impl ::windows::core::TypeKind for VMR9DeinterlaceCaps {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for VMR9DeinterlaceCaps {
fn eq(&self, other: &Self) -> bool {
self.dwSize == other.dwSize && self.dwNumPreviousOutputFrames == other.dwNumPreviousOutputFrames && self.dwNumForwardRefSamples == other.dwNumForwardRefSamples && self.dwNumBackwardRefSamples == other.dwNumBackwardRefSamples && self.DeinterlaceTechnology == other.DeinterlaceTechnology
}
}
impl ::core::cmp::Eq for VMR9DeinterlaceCaps {}
impl ::core::default::Default for VMR9DeinterlaceCaps {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct VMR9Frequency {
pub dwNumerator: u32,
pub dwDenominator: u32,
}
impl ::core::marker::Copy for VMR9Frequency {}
impl ::core::clone::Clone for VMR9Frequency {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for VMR9Frequency {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMR9Frequency").field("dwNumerator", &self.dwNumerator).field("dwDenominator", &self.dwDenominator).finish()
}
}
impl ::windows::core::TypeKind for VMR9Frequency {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for VMR9Frequency {
fn eq(&self, other: &Self) -> bool {
self.dwNumerator == other.dwNumerator && self.dwDenominator == other.dwDenominator
}
}
impl ::core::cmp::Eq for VMR9Frequency {}
impl ::core::default::Default for VMR9Frequency {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub struct VMR9MonitorInfo {
pub uDevID: u32,
pub rcMonitor: super::super::Foundation::RECT,
pub hMon: super::super::Graphics::Gdi::HMONITOR,
pub dwFlags: u32,
pub szDevice: [u16; 32],
pub szDescription: [u16; 512],
pub liDriverVersion: i64,
pub dwVendorId: u32,
pub dwDeviceId: u32,
pub dwSubSysId: u32,
pub dwRevision: u32,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::core::marker::Copy for VMR9MonitorInfo {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::core::clone::Clone for VMR9MonitorInfo {
fn clone(&self) -> Self {
*self
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::core::fmt::Debug for VMR9MonitorInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMR9MonitorInfo").field("uDevID", &self.uDevID).field("rcMonitor", &self.rcMonitor).field("hMon", &self.hMon).field("dwFlags", &self.dwFlags).field("szDevice", &self.szDevice).field("szDescription", &self.szDescription).field("liDriverVersion", &self.liDriverVersion).field("dwVendorId", &self.dwVendorId).field("dwDeviceId", &self.dwDeviceId).field("dwSubSysId", &self.dwSubSysId).field("dwRevision", &self.dwRevision).finish()
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::windows::core::TypeKind for VMR9MonitorInfo {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::core::cmp::PartialEq for VMR9MonitorInfo {
fn eq(&self, other: &Self) -> bool {
self.uDevID == other.uDevID && self.rcMonitor == other.rcMonitor && self.hMon == other.hMon && self.dwFlags == other.dwFlags && self.szDevice == other.szDevice && self.szDescription == other.szDescription && self.liDriverVersion == other.liDriverVersion && self.dwVendorId == other.dwVendorId && self.dwDeviceId == other.dwDeviceId && self.dwSubSysId == other.dwSubSysId && self.dwRevision == other.dwRevision
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::core::cmp::Eq for VMR9MonitorInfo {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::core::default::Default for VMR9MonitorInfo {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct VMR9NormalizedRect {
pub left: f32,
pub top: f32,
pub right: f32,
pub bottom: f32,
}
impl ::core::marker::Copy for VMR9NormalizedRect {}
impl ::core::clone::Clone for VMR9NormalizedRect {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for VMR9NormalizedRect {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMR9NormalizedRect").field("left", &self.left).field("top", &self.top).field("right", &self.right).field("bottom", &self.bottom).finish()
}
}
impl ::windows::core::TypeKind for VMR9NormalizedRect {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for VMR9NormalizedRect {
fn eq(&self, other: &Self) -> bool {
self.left == other.left && self.top == other.top && self.right == other.right && self.bottom == other.bottom
}
}
impl ::core::cmp::Eq for VMR9NormalizedRect {}
impl ::core::default::Default for VMR9NormalizedRect {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D9\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
pub struct VMR9PresentationInfo {
pub dwFlags: u32,
pub lpSurf: ::std::mem::ManuallyDrop<::core::option::Option<super::super::Graphics::Direct3D9::IDirect3DSurface9>>,
pub rtStart: i64,
pub rtEnd: i64,
pub szAspectRatio: super::super::Foundation::SIZE,
pub rcSrc: super::super::Foundation::RECT,
pub rcDst: super::super::Foundation::RECT,
pub dwReserved1: u32,
pub dwReserved2: u32,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
impl ::core::clone::Clone for VMR9PresentationInfo {
fn clone(&self) -> Self {
unsafe { ::core::mem::transmute_copy(self) }
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
impl ::core::fmt::Debug for VMR9PresentationInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMR9PresentationInfo").field("dwFlags", &self.dwFlags).field("lpSurf", &self.lpSurf).field("rtStart", &self.rtStart).field("rtEnd", &self.rtEnd).field("szAspectRatio", &self.szAspectRatio).field("rcSrc", &self.rcSrc).field("rcDst", &self.rcDst).field("dwReserved1", &self.dwReserved1).field("dwReserved2", &self.dwReserved2).finish()
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
impl ::windows::core::TypeKind for VMR9PresentationInfo {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
impl ::core::cmp::PartialEq for VMR9PresentationInfo {
fn eq(&self, other: &Self) -> bool {
self.dwFlags == other.dwFlags && self.lpSurf == other.lpSurf && self.rtStart == other.rtStart && self.rtEnd == other.rtEnd && self.szAspectRatio == other.szAspectRatio && self.rcSrc == other.rcSrc && self.rcDst == other.rcDst && self.dwReserved1 == other.dwReserved1 && self.dwReserved2 == other.dwReserved2
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
impl ::core::cmp::Eq for VMR9PresentationInfo {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
impl ::core::default::Default for VMR9PresentationInfo {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct VMR9ProcAmpControl {
pub dwSize: u32,
pub dwFlags: u32,
pub Brightness: f32,
pub Contrast: f32,
pub Hue: f32,
pub Saturation: f32,
}
impl ::core::marker::Copy for VMR9ProcAmpControl {}
impl ::core::clone::Clone for VMR9ProcAmpControl {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for VMR9ProcAmpControl {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMR9ProcAmpControl").field("dwSize", &self.dwSize).field("dwFlags", &self.dwFlags).field("Brightness", &self.Brightness).field("Contrast", &self.Contrast).field("Hue", &self.Hue).field("Saturation", &self.Saturation).finish()
}
}
impl ::windows::core::TypeKind for VMR9ProcAmpControl {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for VMR9ProcAmpControl {
fn eq(&self, other: &Self) -> bool {
self.dwSize == other.dwSize && self.dwFlags == other.dwFlags && self.Brightness == other.Brightness && self.Contrast == other.Contrast && self.Hue == other.Hue && self.Saturation == other.Saturation
}
}
impl ::core::cmp::Eq for VMR9ProcAmpControl {}
impl ::core::default::Default for VMR9ProcAmpControl {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct VMR9ProcAmpControlRange {
pub dwSize: u32,
pub dwProperty: VMR9ProcAmpControlFlags,
pub MinValue: f32,
pub MaxValue: f32,
pub DefaultValue: f32,
pub StepSize: f32,
}
impl ::core::marker::Copy for VMR9ProcAmpControlRange {}
impl ::core::clone::Clone for VMR9ProcAmpControlRange {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for VMR9ProcAmpControlRange {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMR9ProcAmpControlRange").field("dwSize", &self.dwSize).field("dwProperty", &self.dwProperty).field("MinValue", &self.MinValue).field("MaxValue", &self.MaxValue).field("DefaultValue", &self.DefaultValue).field("StepSize", &self.StepSize).finish()
}
}
impl ::windows::core::TypeKind for VMR9ProcAmpControlRange {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for VMR9ProcAmpControlRange {
fn eq(&self, other: &Self) -> bool {
self.dwSize == other.dwSize && self.dwProperty == other.dwProperty && self.MinValue == other.MinValue && self.MaxValue == other.MaxValue && self.DefaultValue == other.DefaultValue && self.StepSize == other.StepSize
}
}
impl ::core::cmp::Eq for VMR9ProcAmpControlRange {}
impl ::core::default::Default for VMR9ProcAmpControlRange {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct VMR9VideoDesc {
pub dwSize: u32,
pub dwSampleWidth: u32,
pub dwSampleHeight: u32,
pub SampleFormat: VMR9_SampleFormat,
pub dwFourCC: u32,
pub InputSampleFreq: VMR9Frequency,
pub OutputFrameFreq: VMR9Frequency,
}
impl ::core::marker::Copy for VMR9VideoDesc {}
impl ::core::clone::Clone for VMR9VideoDesc {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for VMR9VideoDesc {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMR9VideoDesc").field("dwSize", &self.dwSize).field("dwSampleWidth", &self.dwSampleWidth).field("dwSampleHeight", &self.dwSampleHeight).field("SampleFormat", &self.SampleFormat).field("dwFourCC", &self.dwFourCC).field("InputSampleFreq", &self.InputSampleFreq).field("OutputFrameFreq", &self.OutputFrameFreq).finish()
}
}
impl ::windows::core::TypeKind for VMR9VideoDesc {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for VMR9VideoDesc {
fn eq(&self, other: &Self) -> bool {
self.dwSize == other.dwSize && self.dwSampleWidth == other.dwSampleWidth && self.dwSampleHeight == other.dwSampleHeight && self.SampleFormat == other.SampleFormat && self.dwFourCC == other.dwFourCC && self.InputSampleFreq == other.InputSampleFreq && self.OutputFrameFreq == other.OutputFrameFreq
}
}
impl ::core::cmp::Eq for VMR9VideoDesc {}
impl ::core::default::Default for VMR9VideoDesc {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Graphics_Direct3D9\"`*"]
#[cfg(feature = "Win32_Graphics_Direct3D9")]
pub struct VMR9VideoStreamInfo {
pub pddsVideoSurface: ::std::mem::ManuallyDrop<::core::option::Option<super::super::Graphics::Direct3D9::IDirect3DSurface9>>,
pub dwWidth: u32,
pub dwHeight: u32,
pub dwStrmID: u32,
pub fAlpha: f32,
pub rNormal: VMR9NormalizedRect,
pub rtStart: i64,
pub rtEnd: i64,
pub SampleFormat: VMR9_SampleFormat,
}
#[cfg(feature = "Win32_Graphics_Direct3D9")]
impl ::core::clone::Clone for VMR9VideoStreamInfo {
fn clone(&self) -> Self {
unsafe { ::core::mem::transmute_copy(self) }
}
}
#[cfg(feature = "Win32_Graphics_Direct3D9")]
impl ::core::fmt::Debug for VMR9VideoStreamInfo {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMR9VideoStreamInfo").field("pddsVideoSurface", &self.pddsVideoSurface).field("dwWidth", &self.dwWidth).field("dwHeight", &self.dwHeight).field("dwStrmID", &self.dwStrmID).field("fAlpha", &self.fAlpha).field("rNormal", &self.rNormal).field("rtStart", &self.rtStart).field("rtEnd", &self.rtEnd).field("SampleFormat", &self.SampleFormat).finish()
}
}
#[cfg(feature = "Win32_Graphics_Direct3D9")]
impl ::windows::core::TypeKind for VMR9VideoStreamInfo {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Graphics_Direct3D9")]
impl ::core::cmp::PartialEq for VMR9VideoStreamInfo {
fn eq(&self, other: &Self) -> bool {
self.pddsVideoSurface == other.pddsVideoSurface && self.dwWidth == other.dwWidth && self.dwHeight == other.dwHeight && self.dwStrmID == other.dwStrmID && self.fAlpha == other.fAlpha && self.rNormal == other.rNormal && self.rtStart == other.rtStart && self.rtEnd == other.rtEnd && self.SampleFormat == other.SampleFormat
}
}
#[cfg(feature = "Win32_Graphics_Direct3D9")]
impl ::core::cmp::Eq for VMR9VideoStreamInfo {}
#[cfg(feature = "Win32_Graphics_Direct3D9")]
impl ::core::default::Default for VMR9VideoStreamInfo {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_DirectDraw\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
pub struct VMRALLOCATIONINFO {
pub dwFlags: u32,
pub lpHdr: *mut super::super::Graphics::Gdi::BITMAPINFOHEADER,
pub lpPixFmt: *mut super::super::Graphics::DirectDraw::DDPIXELFORMAT,
pub szAspectRatio: super::super::Foundation::SIZE,
pub dwMinBuffers: u32,
pub dwMaxBuffers: u32,
pub dwInterlaceFlags: u32,
pub szNativeSize: super::super::Foundation::SIZE,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
impl ::core::marker::Copy for VMRALLOCATIONINFO {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
impl ::core::clone::Clone for VMRALLOCATIONINFO {
fn clone(&self) -> Self {
*self
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
impl ::core::fmt::Debug for VMRALLOCATIONINFO {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMRALLOCATIONINFO").field("dwFlags", &self.dwFlags).field("lpHdr", &self.lpHdr).field("lpPixFmt", &self.lpPixFmt).field("szAspectRatio", &self.szAspectRatio).field("dwMinBuffers", &self.dwMinBuffers).field("dwMaxBuffers", &self.dwMaxBuffers).field("dwInterlaceFlags", &self.dwInterlaceFlags).field("szNativeSize", &self.szNativeSize).finish()
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
impl ::windows::core::TypeKind for VMRALLOCATIONINFO {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
impl ::core::cmp::PartialEq for VMRALLOCATIONINFO {
fn eq(&self, other: &Self) -> bool {
self.dwFlags == other.dwFlags && self.lpHdr == other.lpHdr && self.lpPixFmt == other.lpPixFmt && self.szAspectRatio == other.szAspectRatio && self.dwMinBuffers == other.dwMinBuffers && self.dwMaxBuffers == other.dwMaxBuffers && self.dwInterlaceFlags == other.dwInterlaceFlags && self.szNativeSize == other.szNativeSize
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
impl ::core::cmp::Eq for VMRALLOCATIONINFO {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
impl ::core::default::Default for VMRALLOCATIONINFO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_DirectDraw\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
pub struct VMRALPHABITMAP {
pub dwFlags: u32,
pub hdc: super::super::Graphics::Gdi::HDC,
pub pDDS: ::std::mem::ManuallyDrop<::core::option::Option<super::super::Graphics::DirectDraw::IDirectDrawSurface7>>,
pub rSrc: super::super::Foundation::RECT,
pub rDest: NORMALIZEDRECT,
pub fAlpha: f32,
pub clrSrcKey: super::super::Foundation::COLORREF,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
impl ::core::clone::Clone for VMRALPHABITMAP {
fn clone(&self) -> Self {
unsafe { ::core::mem::transmute_copy(self) }
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
impl ::core::fmt::Debug for VMRALPHABITMAP {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMRALPHABITMAP").field("dwFlags", &self.dwFlags).field("hdc", &self.hdc).field("pDDS", &self.pDDS).field("rSrc", &self.rSrc).field("rDest", &self.rDest).field("fAlpha", &self.fAlpha).field("clrSrcKey", &self.clrSrcKey).finish()
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
impl ::windows::core::TypeKind for VMRALPHABITMAP {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
impl ::core::cmp::PartialEq for VMRALPHABITMAP {
fn eq(&self, other: &Self) -> bool {
self.dwFlags == other.dwFlags && self.hdc == other.hdc && self.pDDS == other.pDDS && self.rSrc == other.rSrc && self.rDest == other.rDest && self.fAlpha == other.fAlpha && self.clrSrcKey == other.clrSrcKey
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
impl ::core::cmp::Eq for VMRALPHABITMAP {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi"))]
impl ::core::default::Default for VMRALPHABITMAP {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct VMRDeinterlaceCaps {
pub dwSize: u32,
pub dwNumPreviousOutputFrames: u32,
pub dwNumForwardRefSamples: u32,
pub dwNumBackwardRefSamples: u32,
pub DeinterlaceTechnology: VMRDeinterlaceTech,
}
impl ::core::marker::Copy for VMRDeinterlaceCaps {}
impl ::core::clone::Clone for VMRDeinterlaceCaps {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for VMRDeinterlaceCaps {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMRDeinterlaceCaps").field("dwSize", &self.dwSize).field("dwNumPreviousOutputFrames", &self.dwNumPreviousOutputFrames).field("dwNumForwardRefSamples", &self.dwNumForwardRefSamples).field("dwNumBackwardRefSamples", &self.dwNumBackwardRefSamples).field("DeinterlaceTechnology", &self.DeinterlaceTechnology).finish()
}
}
impl ::windows::core::TypeKind for VMRDeinterlaceCaps {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for VMRDeinterlaceCaps {
fn eq(&self, other: &Self) -> bool {
self.dwSize == other.dwSize && self.dwNumPreviousOutputFrames == other.dwNumPreviousOutputFrames && self.dwNumForwardRefSamples == other.dwNumForwardRefSamples && self.dwNumBackwardRefSamples == other.dwNumBackwardRefSamples && self.DeinterlaceTechnology == other.DeinterlaceTechnology
}
}
impl ::core::cmp::Eq for VMRDeinterlaceCaps {}
impl ::core::default::Default for VMRDeinterlaceCaps {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct VMRFrequency {
pub dwNumerator: u32,
pub dwDenominator: u32,
}
impl ::core::marker::Copy for VMRFrequency {}
impl ::core::clone::Clone for VMRFrequency {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for VMRFrequency {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMRFrequency").field("dwNumerator", &self.dwNumerator).field("dwDenominator", &self.dwDenominator).finish()
}
}
impl ::windows::core::TypeKind for VMRFrequency {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for VMRFrequency {
fn eq(&self, other: &Self) -> bool {
self.dwNumerator == other.dwNumerator && self.dwDenominator == other.dwDenominator
}
}
impl ::core::cmp::Eq for VMRFrequency {}
impl ::core::default::Default for VMRFrequency {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`*"]
pub struct VMRGUID {
pub pGUID: *mut ::windows::core::GUID,
pub GUID: ::windows::core::GUID,
}
impl ::core::marker::Copy for VMRGUID {}
impl ::core::clone::Clone for VMRGUID {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for VMRGUID {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMRGUID").field("pGUID", &self.pGUID).field("GUID", &self.GUID).finish()
}
}
impl ::windows::core::TypeKind for VMRGUID {
type TypeKind = ::windows::core::CopyType;
}
impl ::core::cmp::PartialEq for VMRGUID {
fn eq(&self, other: &Self) -> bool {
self.pGUID == other.pGUID && self.GUID == other.GUID
}
}
impl ::core::cmp::Eq for VMRGUID {}
impl ::core::default::Default for VMRGUID {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
pub struct VMRMONITORINFO {
pub guid: VMRGUID,
pub rcMonitor: super::super::Foundation::RECT,
pub hMon: super::super::Graphics::Gdi::HMONITOR,
pub dwFlags: u32,
pub szDevice: [u16; 32],
pub szDescription: [u16; 256],
pub liDriverVersion: i64,
pub dwVendorId: u32,
pub dwDeviceId: u32,
pub dwSubSysId: u32,
pub dwRevision: u32,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::core::marker::Copy for VMRMONITORINFO {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::core::clone::Clone for VMRMONITORINFO {
fn clone(&self) -> Self {
*self
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::core::fmt::Debug for VMRMONITORINFO {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMRMONITORINFO").field("guid", &self.guid).field("rcMonitor", &self.rcMonitor).field("hMon", &self.hMon).field("dwFlags", &self.dwFlags).field("szDevice", &self.szDevice).field("szDescription", &self.szDescription).field("liDriverVersion", &self.liDriverVersion).field("dwVendorId", &self.dwVendorId).field("dwDeviceId", &self.dwDeviceId).field("dwSubSysId", &self.dwSubSysId).field("dwRevision", &self.dwRevision).finish()
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::windows::core::TypeKind for VMRMONITORINFO {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::core::cmp::PartialEq for VMRMONITORINFO {
fn eq(&self, other: &Self) -> bool {
self.guid == other.guid && self.rcMonitor == other.rcMonitor && self.hMon == other.hMon && self.dwFlags == other.dwFlags && self.szDevice == other.szDevice && self.szDescription == other.szDescription && self.liDriverVersion == other.liDriverVersion && self.dwVendorId == other.dwVendorId && self.dwDeviceId == other.dwDeviceId && self.dwSubSysId == other.dwSubSysId && self.dwRevision == other.dwRevision
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::core::cmp::Eq for VMRMONITORINFO {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
impl ::core::default::Default for VMRMONITORINFO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
pub struct VMRPRESENTATIONINFO {
pub dwFlags: u32,
pub lpSurf: ::std::mem::ManuallyDrop<::core::option::Option<super::super::Graphics::DirectDraw::IDirectDrawSurface7>>,
pub rtStart: i64,
pub rtEnd: i64,
pub szAspectRatio: super::super::Foundation::SIZE,
pub rcSrc: super::super::Foundation::RECT,
pub rcDst: super::super::Foundation::RECT,
pub dwTypeSpecificFlags: u32,
pub dwInterlaceFlags: u32,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
impl ::core::clone::Clone for VMRPRESENTATIONINFO {
fn clone(&self) -> Self {
unsafe { ::core::mem::transmute_copy(self) }
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
impl ::core::fmt::Debug for VMRPRESENTATIONINFO {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMRPRESENTATIONINFO").field("dwFlags", &self.dwFlags).field("lpSurf", &self.lpSurf).field("rtStart", &self.rtStart).field("rtEnd", &self.rtEnd).field("szAspectRatio", &self.szAspectRatio).field("rcSrc", &self.rcSrc).field("rcDst", &self.rcDst).field("dwTypeSpecificFlags", &self.dwTypeSpecificFlags).field("dwInterlaceFlags", &self.dwInterlaceFlags).finish()
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
impl ::windows::core::TypeKind for VMRPRESENTATIONINFO {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
impl ::core::cmp::PartialEq for VMRPRESENTATIONINFO {
fn eq(&self, other: &Self) -> bool {
self.dwFlags == other.dwFlags && self.lpSurf == other.lpSurf && self.rtStart == other.rtStart && self.rtEnd == other.rtEnd && self.szAspectRatio == other.szAspectRatio && self.rcSrc == other.rcSrc && self.rcDst == other.rcDst && self.dwTypeSpecificFlags == other.dwTypeSpecificFlags && self.dwInterlaceFlags == other.dwInterlaceFlags
}
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
impl ::core::cmp::Eq for VMRPRESENTATIONINFO {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw"))]
impl ::core::default::Default for VMRPRESENTATIONINFO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Graphics_DirectDraw\"`*"]
#[cfg(feature = "Win32_Graphics_DirectDraw")]
pub struct VMRVIDEOSTREAMINFO {
pub pddsVideoSurface: ::std::mem::ManuallyDrop<::core::option::Option<super::super::Graphics::DirectDraw::IDirectDrawSurface7>>,
pub dwWidth: u32,
pub dwHeight: u32,
pub dwStrmID: u32,
pub fAlpha: f32,
pub ddClrKey: super::super::Graphics::DirectDraw::DDCOLORKEY,
pub rNormal: NORMALIZEDRECT,
}
#[cfg(feature = "Win32_Graphics_DirectDraw")]
impl ::core::clone::Clone for VMRVIDEOSTREAMINFO {
fn clone(&self) -> Self {
unsafe { ::core::mem::transmute_copy(self) }
}
}
#[cfg(feature = "Win32_Graphics_DirectDraw")]
impl ::core::fmt::Debug for VMRVIDEOSTREAMINFO {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMRVIDEOSTREAMINFO").field("pddsVideoSurface", &self.pddsVideoSurface).field("dwWidth", &self.dwWidth).field("dwHeight", &self.dwHeight).field("dwStrmID", &self.dwStrmID).field("fAlpha", &self.fAlpha).field("ddClrKey", &self.ddClrKey).field("rNormal", &self.rNormal).finish()
}
}
#[cfg(feature = "Win32_Graphics_DirectDraw")]
impl ::windows::core::TypeKind for VMRVIDEOSTREAMINFO {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Graphics_DirectDraw")]
impl ::core::cmp::PartialEq for VMRVIDEOSTREAMINFO {
fn eq(&self, other: &Self) -> bool {
self.pddsVideoSurface == other.pddsVideoSurface && self.dwWidth == other.dwWidth && self.dwHeight == other.dwHeight && self.dwStrmID == other.dwStrmID && self.fAlpha == other.fAlpha && self.ddClrKey == other.ddClrKey && self.rNormal == other.rNormal
}
}
#[cfg(feature = "Win32_Graphics_DirectDraw")]
impl ::core::cmp::Eq for VMRVIDEOSTREAMINFO {}
#[cfg(feature = "Win32_Graphics_DirectDraw")]
impl ::core::default::Default for VMRVIDEOSTREAMINFO {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct VMRVideoDesc {
pub dwSize: u32,
pub dwSampleWidth: u32,
pub dwSampleHeight: u32,
pub SingleFieldPerSample: super::super::Foundation::BOOL,
pub dwFourCC: u32,
pub InputSampleFreq: VMRFrequency,
pub OutputFrameFreq: VMRFrequency,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for VMRVideoDesc {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for VMRVideoDesc {
fn clone(&self) -> Self {
*self
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::fmt::Debug for VMRVideoDesc {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("VMRVideoDesc").field("dwSize", &self.dwSize).field("dwSampleWidth", &self.dwSampleWidth).field("dwSampleHeight", &self.dwSampleHeight).field("SingleFieldPerSample", &self.SingleFieldPerSample).field("dwFourCC", &self.dwFourCC).field("InputSampleFreq", &self.InputSampleFreq).field("OutputFrameFreq", &self.OutputFrameFreq).finish()
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::TypeKind for VMRVideoDesc {
type TypeKind = ::windows::core::CopyType;
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::PartialEq for VMRVideoDesc {
fn eq(&self, other: &Self) -> bool {
self.dwSize == other.dwSize && self.dwSampleWidth == other.dwSampleWidth && self.dwSampleHeight == other.dwSampleHeight && self.SingleFieldPerSample == other.SingleFieldPerSample && self.dwFourCC == other.dwFourCC && self.InputSampleFreq == other.InputSampleFreq && self.OutputFrameFreq == other.OutputFrameFreq
}
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::cmp::Eq for VMRVideoDesc {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::default::Default for VMRVideoDesc {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub type AMGETERRORTEXTPROCA = ::core::option::Option<unsafe extern "system" fn(param0: ::windows::core::HRESULT, param1: ::windows::core::PCSTR, param2: u32) -> super::super::Foundation::BOOL>;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub type AMGETERRORTEXTPROCW = ::core::option::Option<unsafe extern "system" fn(param0: ::windows::core::HRESULT, param1: ::windows::core::PCWSTR, param2: u32) -> super::super::Foundation::BOOL>;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D9\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9", feature = "Win32_Media_MediaFoundation"))]
pub type PDXVA2SW_CREATEVIDEOPROCESSDEVICE = ::core::option::Option<unsafe extern "system" fn(pd3dd9: ::core::option::Option<super::super::Graphics::Direct3D9::IDirect3DDevice9>, pvideodesc: *const super::MediaFoundation::DXVA2_VideoDesc, rendertargetformat: super::super::Graphics::Direct3D9::D3DFORMAT, maxsubstreams: u32, phdevice: *mut super::super::Foundation::HANDLE) -> ::windows::core::HRESULT>;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub type PDXVA2SW_DESTROYVIDEOPROCESSDEVICE = ::core::option::Option<unsafe extern "system" fn(hdevice: super::super::Foundation::HANDLE) -> ::windows::core::HRESULT>;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Graphics_Direct3D9\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Graphics_Direct3D9", feature = "Win32_Media_MediaFoundation"))]
pub type PDXVA2SW_GETFILTERPROPERTYRANGE = ::core::option::Option<unsafe extern "system" fn(pvideodesc: *const super::MediaFoundation::DXVA2_VideoDesc, rendertargetformat: super::super::Graphics::Direct3D9::D3DFORMAT, filtersetting: u32, prange: *mut super::MediaFoundation::DXVA2_ValueRange) -> ::windows::core::HRESULT>;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Graphics_Direct3D9\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Graphics_Direct3D9", feature = "Win32_Media_MediaFoundation"))]
pub type PDXVA2SW_GETPROCAMPRANGE = ::core::option::Option<unsafe extern "system" fn(pvideodesc: *const super::MediaFoundation::DXVA2_VideoDesc, rendertargetformat: super::super::Graphics::Direct3D9::D3DFORMAT, procampcap: u32, prange: *mut super::MediaFoundation::DXVA2_ValueRange) -> ::windows::core::HRESULT>;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Graphics_Direct3D9\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Graphics_Direct3D9", feature = "Win32_Media_MediaFoundation"))]
pub type PDXVA2SW_GETVIDEOPROCESSORCAPS = ::core::option::Option<unsafe extern "system" fn(pvideodesc: *const super::MediaFoundation::DXVA2_VideoDesc, rendertargetformat: super::super::Graphics::Direct3D9::D3DFORMAT, pcaps: *mut super::MediaFoundation::DXVA2_VideoProcessorCaps) -> ::windows::core::HRESULT>;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Graphics_Direct3D9\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Graphics_Direct3D9", feature = "Win32_Media_MediaFoundation"))]
pub type PDXVA2SW_GETVIDEOPROCESSORRENDERTARGETCOUNT = ::core::option::Option<unsafe extern "system" fn(pvideodesc: *const super::MediaFoundation::DXVA2_VideoDesc, pcount: *mut u32) -> ::windows::core::HRESULT>;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Graphics_Direct3D9\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Graphics_Direct3D9", feature = "Win32_Media_MediaFoundation"))]
pub type PDXVA2SW_GETVIDEOPROCESSORRENDERTARGETS = ::core::option::Option<unsafe extern "system" fn(pvideodesc: *const super::MediaFoundation::DXVA2_VideoDesc, count: u32, pformats: *mut super::super::Graphics::Direct3D9::D3DFORMAT) -> ::windows::core::HRESULT>;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Graphics_Direct3D9\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Graphics_Direct3D9", feature = "Win32_Media_MediaFoundation"))]
pub type PDXVA2SW_GETVIDEOPROCESSORSUBSTREAMFORMATCOUNT = ::core::option::Option<unsafe extern "system" fn(pvideodesc: *const super::MediaFoundation::DXVA2_VideoDesc, rendertargetformat: super::super::Graphics::Direct3D9::D3DFORMAT, pcount: *mut u32) -> ::windows::core::HRESULT>;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Graphics_Direct3D9\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Graphics_Direct3D9", feature = "Win32_Media_MediaFoundation"))]
pub type PDXVA2SW_GETVIDEOPROCESSORSUBSTREAMFORMATS = ::core::option::Option<unsafe extern "system" fn(pvideodesc: *const super::MediaFoundation::DXVA2_VideoDesc, rendertargetformat: super::super::Graphics::Direct3D9::D3DFORMAT, count: u32, pformats: *mut super::super::Graphics::Direct3D9::D3DFORMAT) -> ::windows::core::HRESULT>;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub type PDXVA2SW_VIDEOPROCESSBEGINFRAME = ::core::option::Option<unsafe extern "system" fn(hdevice: super::super::Foundation::HANDLE) -> ::windows::core::HRESULT>;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub type PDXVA2SW_VIDEOPROCESSBLT = ::core::option::Option<unsafe extern "system" fn(hdevice: super::super::Foundation::HANDLE, pblt: *const DXVA2_VIDEOPROCESSBLT) -> ::windows::core::HRESULT>;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub type PDXVA2SW_VIDEOPROCESSENDFRAME = ::core::option::Option<unsafe extern "system" fn(hdevice: super::super::Foundation::HANDLE, phandlecomplete: *mut super::super::Foundation::HANDLE) -> ::windows::core::HRESULT>;
#[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D9\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
pub type PDXVA2SW_VIDEOPROCESSSETRENDERTARGET = ::core::option::Option<unsafe extern "system" fn(hdevice: super::super::Foundation::HANDLE, prendertarget: ::core::option::Option<super::super::Graphics::Direct3D9::IDirect3DSurface9>) -> ::windows::core::HRESULT>;
#[cfg(feature = "implement")]
::core::include!("impl.rs");