blob: 18b4a37be2bee375785ef9eb1a7256690dcca5c1 [file] [log] [blame]
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IATSCChannelTuneRequest_Impl: Sized + IChannelTuneRequest_Impl {
fn MinorChannel(&self) -> ::windows_core::Result<i32>;
fn SetMinorChannel(&self, minorchannel: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IATSCChannelTuneRequest {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IATSCChannelTuneRequest_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCChannelTuneRequest_Impl, const OFFSET: isize>() -> IATSCChannelTuneRequest_Vtbl {
unsafe extern "system" fn MinorChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCChannelTuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, minorchannel: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MinorChannel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(minorchannel, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMinorChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCChannelTuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, minorchannel: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMinorChannel(::core::mem::transmute_copy(&minorchannel)).into()
}
Self {
base__: IChannelTuneRequest_Vtbl::new::<Identity, Impl, OFFSET>(),
MinorChannel: MinorChannel::<Identity, Impl, OFFSET>,
SetMinorChannel: SetMinorChannel::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IATSCChannelTuneRequest as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ITuneRequest as ::windows_core::ComInterface>::IID || *iid == <IChannelTuneRequest as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IATSCComponentType_Impl: Sized + IMPEG2ComponentType_Impl {
fn Flags(&self) -> ::windows_core::Result<i32>;
fn SetFlags(&self, flags: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IATSCComponentType {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IATSCComponentType_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCComponentType_Impl, const OFFSET: isize>() -> IATSCComponentType_Vtbl {
unsafe extern "system" fn Flags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Flags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(flags, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetFlags(::core::mem::transmute_copy(&flags)).into()
}
Self {
base__: IMPEG2ComponentType_Vtbl::new::<Identity, Impl, OFFSET>(),
Flags: Flags::<Identity, Impl, OFFSET>,
SetFlags: SetFlags::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IATSCComponentType as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IComponentType as ::windows_core::ComInterface>::IID || *iid == <ILanguageComponentType as ::windows_core::ComInterface>::IID || *iid == <IMPEG2ComponentType as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IATSCLocator_Impl: Sized + IDigitalLocator_Impl {
fn PhysicalChannel(&self) -> ::windows_core::Result<i32>;
fn SetPhysicalChannel(&self, physicalchannel: i32) -> ::windows_core::Result<()>;
fn TSID(&self) -> ::windows_core::Result<i32>;
fn SetTSID(&self, tsid: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IATSCLocator {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IATSCLocator_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCLocator_Impl, const OFFSET: isize>() -> IATSCLocator_Vtbl {
unsafe extern "system" fn PhysicalChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, physicalchannel: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PhysicalChannel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(physicalchannel, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPhysicalChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, physicalchannel: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPhysicalChannel(::core::mem::transmute_copy(&physicalchannel)).into()
}
unsafe extern "system" fn TSID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tsid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TSID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(tsid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetTSID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tsid: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTSID(::core::mem::transmute_copy(&tsid)).into()
}
Self {
base__: IDigitalLocator_Vtbl::new::<Identity, Impl, OFFSET>(),
PhysicalChannel: PhysicalChannel::<Identity, Impl, OFFSET>,
SetPhysicalChannel: SetPhysicalChannel::<Identity, Impl, OFFSET>,
TSID: TSID::<Identity, Impl, OFFSET>,
SetTSID: SetTSID::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IATSCLocator as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ILocator as ::windows_core::ComInterface>::IID || *iid == <IDigitalLocator as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IATSCLocator2_Impl: Sized + IATSCLocator_Impl {
fn ProgramNumber(&self) -> ::windows_core::Result<i32>;
fn SetProgramNumber(&self, programnumber: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IATSCLocator2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IATSCLocator2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCLocator2_Impl, const OFFSET: isize>() -> IATSCLocator2_Vtbl {
unsafe extern "system" fn ProgramNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCLocator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, programnumber: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ProgramNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(programnumber, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetProgramNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCLocator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, programnumber: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProgramNumber(::core::mem::transmute_copy(&programnumber)).into()
}
Self {
base__: IATSCLocator_Vtbl::new::<Identity, Impl, OFFSET>(),
ProgramNumber: ProgramNumber::<Identity, Impl, OFFSET>,
SetProgramNumber: SetProgramNumber::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IATSCLocator2 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ILocator as ::windows_core::ComInterface>::IID || *iid == <IDigitalLocator as ::windows_core::ComInterface>::IID || *iid == <IATSCLocator as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IATSCTuningSpace_Impl: Sized + IAnalogTVTuningSpace_Impl {
fn MinMinorChannel(&self) -> ::windows_core::Result<i32>;
fn SetMinMinorChannel(&self, newminminorchannelval: i32) -> ::windows_core::Result<()>;
fn MaxMinorChannel(&self) -> ::windows_core::Result<i32>;
fn SetMaxMinorChannel(&self, newmaxminorchannelval: i32) -> ::windows_core::Result<()>;
fn MinPhysicalChannel(&self) -> ::windows_core::Result<i32>;
fn SetMinPhysicalChannel(&self, newminphysicalchannelval: i32) -> ::windows_core::Result<()>;
fn MaxPhysicalChannel(&self) -> ::windows_core::Result<i32>;
fn SetMaxPhysicalChannel(&self, newmaxphysicalchannelval: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IATSCTuningSpace {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IATSCTuningSpace_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCTuningSpace_Impl, const OFFSET: isize>() -> IATSCTuningSpace_Vtbl {
unsafe extern "system" fn MinMinorChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, minminorchannelval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MinMinorChannel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(minminorchannelval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMinMinorChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newminminorchannelval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMinMinorChannel(::core::mem::transmute_copy(&newminminorchannelval)).into()
}
unsafe extern "system" fn MaxMinorChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, maxminorchannelval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MaxMinorChannel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(maxminorchannelval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMaxMinorChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newmaxminorchannelval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMaxMinorChannel(::core::mem::transmute_copy(&newmaxminorchannelval)).into()
}
unsafe extern "system" fn MinPhysicalChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, minphysicalchannelval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MinPhysicalChannel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(minphysicalchannelval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMinPhysicalChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newminphysicalchannelval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMinPhysicalChannel(::core::mem::transmute_copy(&newminphysicalchannelval)).into()
}
unsafe extern "system" fn MaxPhysicalChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, maxphysicalchannelval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MaxPhysicalChannel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(maxphysicalchannelval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMaxPhysicalChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSCTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newmaxphysicalchannelval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMaxPhysicalChannel(::core::mem::transmute_copy(&newmaxphysicalchannelval)).into()
}
Self {
base__: IAnalogTVTuningSpace_Vtbl::new::<Identity, Impl, OFFSET>(),
MinMinorChannel: MinMinorChannel::<Identity, Impl, OFFSET>,
SetMinMinorChannel: SetMinMinorChannel::<Identity, Impl, OFFSET>,
MaxMinorChannel: MaxMinorChannel::<Identity, Impl, OFFSET>,
SetMaxMinorChannel: SetMaxMinorChannel::<Identity, Impl, OFFSET>,
MinPhysicalChannel: MinPhysicalChannel::<Identity, Impl, OFFSET>,
SetMinPhysicalChannel: SetMinPhysicalChannel::<Identity, Impl, OFFSET>,
MaxPhysicalChannel: MaxPhysicalChannel::<Identity, Impl, OFFSET>,
SetMaxPhysicalChannel: SetMaxPhysicalChannel::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IATSCTuningSpace as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ITuningSpace as ::windows_core::ComInterface>::IID || *iid == <IAnalogTVTuningSpace as ::windows_core::ComInterface>::IID
}
}
pub trait IATSC_EIT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetSourceId(&self) -> ::windows_core::Result<u16>;
fn GetProtocolVersion(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u32>;
fn GetRecordEventId(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordStartTime(&self, dwrecordindex: u32) -> ::windows_core::Result<MPEG_DATE_AND_TIME>;
fn GetRecordEtmLocation(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordDuration(&self, dwrecordindex: u32) -> ::windows_core::Result<MPEG_TIME>;
fn GetRecordTitleText(&self, dwrecordindex: u32, pdwlength: *mut u32, pptext: *mut *mut u8) -> ::windows_core::Result<()>;
fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result<u32>;
fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IATSC_EIT {}
impl IATSC_EIT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_EIT_Impl, const OFFSET: isize>() -> IATSC_EIT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSourceId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSourceId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProtocolVersion<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProtocolVersion() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordEventId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordEventId(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordStartTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pmdtval: *mut MPEG_DATE_AND_TIME) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordStartTime(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pmdtval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordEtmLocation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordEtmLocation(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDuration<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pmdval: *mut MPEG_TIME) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDuration(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pmdval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordTitleText<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pdwlength: *mut u32, pptext: *mut *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordTitleText(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&pdwlength), ::core::mem::transmute_copy(&pptext)).into()
}
unsafe extern "system" fn GetRecordCountOfDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCountOfDescriptors(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDescriptorByIndex(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordDescriptorByTag(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetSourceId: GetSourceId::<Identity, Impl, OFFSET>,
GetProtocolVersion: GetProtocolVersion::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordEventId: GetRecordEventId::<Identity, Impl, OFFSET>,
GetRecordStartTime: GetRecordStartTime::<Identity, Impl, OFFSET>,
GetRecordEtmLocation: GetRecordEtmLocation::<Identity, Impl, OFFSET>,
GetRecordDuration: GetRecordDuration::<Identity, Impl, OFFSET>,
GetRecordTitleText: GetRecordTitleText::<Identity, Impl, OFFSET>,
GetRecordCountOfDescriptors: GetRecordCountOfDescriptors::<Identity, Impl, OFFSET>,
GetRecordDescriptorByIndex: GetRecordDescriptorByIndex::<Identity, Impl, OFFSET>,
GetRecordDescriptorByTag: GetRecordDescriptorByTag::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IATSC_EIT as ::windows_core::ComInterface>::IID
}
}
pub trait IATSC_ETT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetProtocolVersion(&self) -> ::windows_core::Result<u8>;
fn GetEtmId(&self) -> ::windows_core::Result<u32>;
fn GetExtendedMessageText(&self, pdwlength: *mut u32, pptext: *mut *mut u8) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IATSC_ETT {}
impl IATSC_ETT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_ETT_Impl, const OFFSET: isize>() -> IATSC_ETT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_ETT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_ETT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProtocolVersion<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_ETT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProtocolVersion() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEtmId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_ETT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEtmId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExtendedMessageText<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_ETT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwlength: *mut u32, pptext: *mut *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExtendedMessageText(::core::mem::transmute_copy(&pdwlength), ::core::mem::transmute_copy(&pptext)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetProtocolVersion: GetProtocolVersion::<Identity, Impl, OFFSET>,
GetEtmId: GetEtmId::<Identity, Impl, OFFSET>,
GetExtendedMessageText: GetExtendedMessageText::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IATSC_ETT as ::windows_core::ComInterface>::IID
}
}
pub trait IATSC_MGT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetProtocolVersion(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u32>;
fn GetRecordType(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordTypePid(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordVersionNumber(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result<u32>;
fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn GetCountOfTableDescriptors(&self, pdwval: *const u32) -> ::windows_core::Result<()>;
fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IATSC_MGT {}
impl IATSC_MGT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_MGT_Impl, const OFFSET: isize>() -> IATSC_MGT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_MGT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_MGT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProtocolVersion<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_MGT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProtocolVersion() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_MGT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_MGT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordType(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordTypePid<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_MGT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, ppidval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordTypePid(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppidval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_MGT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordVersionNumber(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCountOfDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_MGT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCountOfDescriptors(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_MGT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDescriptorByIndex(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_MGT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordDescriptorByTag(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn GetCountOfTableDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_MGT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *const u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCountOfTableDescriptors(::core::mem::transmute_copy(&pdwval)).into()
}
unsafe extern "system" fn GetTableDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_MGT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTableDescriptorByIndex(::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_MGT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTableDescriptorByTag(::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetProtocolVersion: GetProtocolVersion::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordType: GetRecordType::<Identity, Impl, OFFSET>,
GetRecordTypePid: GetRecordTypePid::<Identity, Impl, OFFSET>,
GetRecordVersionNumber: GetRecordVersionNumber::<Identity, Impl, OFFSET>,
GetRecordCountOfDescriptors: GetRecordCountOfDescriptors::<Identity, Impl, OFFSET>,
GetRecordDescriptorByIndex: GetRecordDescriptorByIndex::<Identity, Impl, OFFSET>,
GetRecordDescriptorByTag: GetRecordDescriptorByTag::<Identity, Impl, OFFSET>,
GetCountOfTableDescriptors: GetCountOfTableDescriptors::<Identity, Impl, OFFSET>,
GetTableDescriptorByIndex: GetTableDescriptorByIndex::<Identity, Impl, OFFSET>,
GetTableDescriptorByTag: GetTableDescriptorByTag::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IATSC_MGT as ::windows_core::ComInterface>::IID
}
}
pub trait IATSC_STT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetProtocolVersion(&self) -> ::windows_core::Result<u8>;
fn GetSystemTime(&self) -> ::windows_core::Result<MPEG_DATE_AND_TIME>;
fn GetGpsUtcOffset(&self) -> ::windows_core::Result<u8>;
fn GetDaylightSavings(&self) -> ::windows_core::Result<u16>;
fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result<u32>;
fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IATSC_STT {}
impl IATSC_STT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_STT_Impl, const OFFSET: isize>() -> IATSC_STT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_STT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetProtocolVersion<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_STT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProtocolVersion() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_STT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmdtsystemtime: *mut MPEG_DATE_AND_TIME) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSystemTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pmdtsystemtime, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetGpsUtcOffset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_STT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetGpsUtcOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDaylightSavings<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_STT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDaylightSavings() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfTableDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_STT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfTableDescriptors() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_STT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTableDescriptorByIndex(::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_STT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTableDescriptorByTag(::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetProtocolVersion: GetProtocolVersion::<Identity, Impl, OFFSET>,
GetSystemTime: GetSystemTime::<Identity, Impl, OFFSET>,
GetGpsUtcOffset: GetGpsUtcOffset::<Identity, Impl, OFFSET>,
GetDaylightSavings: GetDaylightSavings::<Identity, Impl, OFFSET>,
GetCountOfTableDescriptors: GetCountOfTableDescriptors::<Identity, Impl, OFFSET>,
GetTableDescriptorByIndex: GetTableDescriptorByIndex::<Identity, Impl, OFFSET>,
GetTableDescriptorByTag: GetTableDescriptorByTag::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IATSC_STT as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IATSC_VCT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetTransportStreamId(&self) -> ::windows_core::Result<u16>;
fn GetProtocolVersion(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u32>;
fn GetRecordName(&self, dwrecordindex: u32) -> ::windows_core::Result<::windows_core::PWSTR>;
fn GetRecordMajorChannelNumber(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordMinorChannelNumber(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordModulationMode(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordCarrierFrequency(&self, dwrecordindex: u32) -> ::windows_core::Result<u32>;
fn GetRecordTransportStreamId(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordProgramNumber(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordEtmLocation(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordIsAccessControlledBitSet(&self, dwrecordindex: u32) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn GetRecordIsHiddenBitSet(&self, dwrecordindex: u32) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn GetRecordIsPathSelectBitSet(&self, dwrecordindex: u32) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn GetRecordIsOutOfBandBitSet(&self, dwrecordindex: u32) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn GetRecordIsHideGuideBitSet(&self, dwrecordindex: u32) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn GetRecordServiceType(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordSourceId(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result<u32>;
fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn GetCountOfTableDescriptors(&self, pdwval: *const u32) -> ::windows_core::Result<()>;
fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IATSC_VCT {}
#[cfg(feature = "Win32_Foundation")]
impl IATSC_VCT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>() -> IATSC_VCT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTransportStreamId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTransportStreamId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProtocolVersion<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProtocolVersion() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwsname: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordName(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwsname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordMajorChannelNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordMajorChannelNumber(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordMinorChannelNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordMinorChannelNumber(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordModulationMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordModulationMode(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCarrierFrequency<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCarrierFrequency(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordTransportStreamId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordTransportStreamId(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordProgramNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordProgramNumber(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordEtmLocation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordEtmLocation(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordIsAccessControlledBitSet<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pfval: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordIsAccessControlledBitSet(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordIsHiddenBitSet<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pfval: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordIsHiddenBitSet(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordIsPathSelectBitSet<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pfval: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordIsPathSelectBitSet(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordIsOutOfBandBitSet<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pfval: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordIsOutOfBandBitSet(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordIsHideGuideBitSet<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pfval: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordIsHideGuideBitSet(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordServiceType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordServiceType(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordSourceId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordSourceId(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCountOfDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCountOfDescriptors(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDescriptorByIndex(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordDescriptorByTag(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn GetCountOfTableDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *const u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCountOfTableDescriptors(::core::mem::transmute_copy(&pdwval)).into()
}
unsafe extern "system" fn GetTableDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTableDescriptorByIndex(::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IATSC_VCT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTableDescriptorByTag(::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetTransportStreamId: GetTransportStreamId::<Identity, Impl, OFFSET>,
GetProtocolVersion: GetProtocolVersion::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordName: GetRecordName::<Identity, Impl, OFFSET>,
GetRecordMajorChannelNumber: GetRecordMajorChannelNumber::<Identity, Impl, OFFSET>,
GetRecordMinorChannelNumber: GetRecordMinorChannelNumber::<Identity, Impl, OFFSET>,
GetRecordModulationMode: GetRecordModulationMode::<Identity, Impl, OFFSET>,
GetRecordCarrierFrequency: GetRecordCarrierFrequency::<Identity, Impl, OFFSET>,
GetRecordTransportStreamId: GetRecordTransportStreamId::<Identity, Impl, OFFSET>,
GetRecordProgramNumber: GetRecordProgramNumber::<Identity, Impl, OFFSET>,
GetRecordEtmLocation: GetRecordEtmLocation::<Identity, Impl, OFFSET>,
GetRecordIsAccessControlledBitSet: GetRecordIsAccessControlledBitSet::<Identity, Impl, OFFSET>,
GetRecordIsHiddenBitSet: GetRecordIsHiddenBitSet::<Identity, Impl, OFFSET>,
GetRecordIsPathSelectBitSet: GetRecordIsPathSelectBitSet::<Identity, Impl, OFFSET>,
GetRecordIsOutOfBandBitSet: GetRecordIsOutOfBandBitSet::<Identity, Impl, OFFSET>,
GetRecordIsHideGuideBitSet: GetRecordIsHideGuideBitSet::<Identity, Impl, OFFSET>,
GetRecordServiceType: GetRecordServiceType::<Identity, Impl, OFFSET>,
GetRecordSourceId: GetRecordSourceId::<Identity, Impl, OFFSET>,
GetRecordCountOfDescriptors: GetRecordCountOfDescriptors::<Identity, Impl, OFFSET>,
GetRecordDescriptorByIndex: GetRecordDescriptorByIndex::<Identity, Impl, OFFSET>,
GetRecordDescriptorByTag: GetRecordDescriptorByTag::<Identity, Impl, OFFSET>,
GetCountOfTableDescriptors: GetCountOfTableDescriptors::<Identity, Impl, OFFSET>,
GetTableDescriptorByIndex: GetTableDescriptorByIndex::<Identity, Impl, OFFSET>,
GetTableDescriptorByTag: GetTableDescriptorByTag::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IATSC_VCT as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IAnalogAudioComponentType_Impl: Sized + IComponentType_Impl {
fn AnalogAudioMode(&self) -> ::windows_core::Result<super::TVAudioMode>;
fn SetAnalogAudioMode(&self, mode: super::TVAudioMode) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IAnalogAudioComponentType {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IAnalogAudioComponentType_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogAudioComponentType_Impl, const OFFSET: isize>() -> IAnalogAudioComponentType_Vtbl {
unsafe extern "system" fn AnalogAudioMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogAudioComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mode: *mut super::TVAudioMode) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AnalogAudioMode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mode, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAnalogAudioMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogAudioComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mode: super::TVAudioMode) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAnalogAudioMode(::core::mem::transmute_copy(&mode)).into()
}
Self {
base__: IComponentType_Vtbl::new::<Identity, Impl, OFFSET>(),
AnalogAudioMode: AnalogAudioMode::<Identity, Impl, OFFSET>,
SetAnalogAudioMode: SetAnalogAudioMode::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IAnalogAudioComponentType as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IComponentType as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IAnalogLocator_Impl: Sized + ILocator_Impl {
fn VideoStandard(&self) -> ::windows_core::Result<super::AnalogVideoStandard>;
fn SetVideoStandard(&self, avs: super::AnalogVideoStandard) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IAnalogLocator {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IAnalogLocator_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogLocator_Impl, const OFFSET: isize>() -> IAnalogLocator_Vtbl {
unsafe extern "system" fn VideoStandard<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, avs: *mut super::AnalogVideoStandard) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.VideoStandard() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(avs, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetVideoStandard<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, avs: super::AnalogVideoStandard) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetVideoStandard(::core::mem::transmute_copy(&avs)).into()
}
Self {
base__: ILocator_Vtbl::new::<Identity, Impl, OFFSET>(),
VideoStandard: VideoStandard::<Identity, Impl, OFFSET>,
SetVideoStandard: SetVideoStandard::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IAnalogLocator as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ILocator as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IAnalogRadioTuningSpace_Impl: Sized + ITuningSpace_Impl {
fn MinFrequency(&self) -> ::windows_core::Result<i32>;
fn SetMinFrequency(&self, newminfrequencyval: i32) -> ::windows_core::Result<()>;
fn MaxFrequency(&self) -> ::windows_core::Result<i32>;
fn SetMaxFrequency(&self, newmaxfrequencyval: i32) -> ::windows_core::Result<()>;
fn Step(&self) -> ::windows_core::Result<i32>;
fn SetStep(&self, newstepval: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IAnalogRadioTuningSpace {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IAnalogRadioTuningSpace_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogRadioTuningSpace_Impl, const OFFSET: isize>() -> IAnalogRadioTuningSpace_Vtbl {
unsafe extern "system" fn MinFrequency<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogRadioTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, minfrequencyval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MinFrequency() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(minfrequencyval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMinFrequency<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogRadioTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newminfrequencyval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMinFrequency(::core::mem::transmute_copy(&newminfrequencyval)).into()
}
unsafe extern "system" fn MaxFrequency<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogRadioTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, maxfrequencyval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MaxFrequency() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(maxfrequencyval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMaxFrequency<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogRadioTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newmaxfrequencyval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMaxFrequency(::core::mem::transmute_copy(&newmaxfrequencyval)).into()
}
unsafe extern "system" fn Step<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogRadioTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, stepval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Step() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(stepval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetStep<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogRadioTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newstepval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetStep(::core::mem::transmute_copy(&newstepval)).into()
}
Self {
base__: ITuningSpace_Vtbl::new::<Identity, Impl, OFFSET>(),
MinFrequency: MinFrequency::<Identity, Impl, OFFSET>,
SetMinFrequency: SetMinFrequency::<Identity, Impl, OFFSET>,
MaxFrequency: MaxFrequency::<Identity, Impl, OFFSET>,
SetMaxFrequency: SetMaxFrequency::<Identity, Impl, OFFSET>,
Step: Step::<Identity, Impl, OFFSET>,
SetStep: SetStep::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IAnalogRadioTuningSpace as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ITuningSpace as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IAnalogRadioTuningSpace2_Impl: Sized + IAnalogRadioTuningSpace_Impl {
fn CountryCode(&self) -> ::windows_core::Result<i32>;
fn SetCountryCode(&self, newcountrycodeval: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IAnalogRadioTuningSpace2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IAnalogRadioTuningSpace2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogRadioTuningSpace2_Impl, const OFFSET: isize>() -> IAnalogRadioTuningSpace2_Vtbl {
unsafe extern "system" fn CountryCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogRadioTuningSpace2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, countrycodeval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CountryCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(countrycodeval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCountryCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogRadioTuningSpace2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newcountrycodeval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCountryCode(::core::mem::transmute_copy(&newcountrycodeval)).into()
}
Self {
base__: IAnalogRadioTuningSpace_Vtbl::new::<Identity, Impl, OFFSET>(),
CountryCode: CountryCode::<Identity, Impl, OFFSET>,
SetCountryCode: SetCountryCode::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IAnalogRadioTuningSpace2 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ITuningSpace as ::windows_core::ComInterface>::IID || *iid == <IAnalogRadioTuningSpace as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IAnalogTVTuningSpace_Impl: Sized + ITuningSpace_Impl {
fn MinChannel(&self) -> ::windows_core::Result<i32>;
fn SetMinChannel(&self, newminchannelval: i32) -> ::windows_core::Result<()>;
fn MaxChannel(&self) -> ::windows_core::Result<i32>;
fn SetMaxChannel(&self, newmaxchannelval: i32) -> ::windows_core::Result<()>;
fn InputType(&self) -> ::windows_core::Result<super::TunerInputType>;
fn SetInputType(&self, newinputtypeval: super::TunerInputType) -> ::windows_core::Result<()>;
fn CountryCode(&self) -> ::windows_core::Result<i32>;
fn SetCountryCode(&self, newcountrycodeval: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IAnalogTVTuningSpace {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IAnalogTVTuningSpace_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogTVTuningSpace_Impl, const OFFSET: isize>() -> IAnalogTVTuningSpace_Vtbl {
unsafe extern "system" fn MinChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogTVTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, minchannelval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MinChannel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(minchannelval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMinChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogTVTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newminchannelval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMinChannel(::core::mem::transmute_copy(&newminchannelval)).into()
}
unsafe extern "system" fn MaxChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogTVTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, maxchannelval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MaxChannel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(maxchannelval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMaxChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogTVTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newmaxchannelval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMaxChannel(::core::mem::transmute_copy(&newmaxchannelval)).into()
}
unsafe extern "system" fn InputType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogTVTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, inputtypeval: *mut super::TunerInputType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.InputType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(inputtypeval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogTVTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newinputtypeval: super::TunerInputType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInputType(::core::mem::transmute_copy(&newinputtypeval)).into()
}
unsafe extern "system" fn CountryCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogTVTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, countrycodeval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CountryCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(countrycodeval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCountryCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAnalogTVTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newcountrycodeval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCountryCode(::core::mem::transmute_copy(&newcountrycodeval)).into()
}
Self {
base__: ITuningSpace_Vtbl::new::<Identity, Impl, OFFSET>(),
MinChannel: MinChannel::<Identity, Impl, OFFSET>,
SetMinChannel: SetMinChannel::<Identity, Impl, OFFSET>,
MaxChannel: MaxChannel::<Identity, Impl, OFFSET>,
SetMaxChannel: SetMaxChannel::<Identity, Impl, OFFSET>,
InputType: InputType::<Identity, Impl, OFFSET>,
SetInputType: SetInputType::<Identity, Impl, OFFSET>,
CountryCode: CountryCode::<Identity, Impl, OFFSET>,
SetCountryCode: SetCountryCode::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IAnalogTVTuningSpace as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ITuningSpace as ::windows_core::ComInterface>::IID
}
}
pub trait IAtscContentAdvisoryDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetRatingRegionCount(&self) -> ::windows_core::Result<u8>;
fn GetRecordRatingRegion(&self, bindex: u8) -> ::windows_core::Result<u8>;
fn GetRecordRatedDimensions(&self, bindex: u8) -> ::windows_core::Result<u8>;
fn GetRecordRatingDimension(&self, bindexouter: u8, bindexinner: u8) -> ::windows_core::Result<u8>;
fn GetRecordRatingValue(&self, bindexouter: u8, bindexinner: u8) -> ::windows_core::Result<u8>;
fn GetRecordRatingDescriptionText(&self, bindex: u8, pblength: *mut u8, pptext: *mut *mut u8) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IAtscContentAdvisoryDescriptor {}
impl IAtscContentAdvisoryDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscContentAdvisoryDescriptor_Impl, const OFFSET: isize>() -> IAtscContentAdvisoryDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscContentAdvisoryDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscContentAdvisoryDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRatingRegionCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscContentAdvisoryDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRatingRegionCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordRatingRegion<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscContentAdvisoryDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordRatingRegion(::core::mem::transmute_copy(&bindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordRatedDimensions<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscContentAdvisoryDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordRatedDimensions(::core::mem::transmute_copy(&bindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordRatingDimension<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscContentAdvisoryDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bindexouter: u8, bindexinner: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordRatingDimension(::core::mem::transmute_copy(&bindexouter), ::core::mem::transmute_copy(&bindexinner)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordRatingValue<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscContentAdvisoryDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bindexouter: u8, bindexinner: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordRatingValue(::core::mem::transmute_copy(&bindexouter), ::core::mem::transmute_copy(&bindexinner)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordRatingDescriptionText<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscContentAdvisoryDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bindex: u8, pblength: *mut u8, pptext: *mut *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordRatingDescriptionText(::core::mem::transmute_copy(&bindex), ::core::mem::transmute_copy(&pblength), ::core::mem::transmute_copy(&pptext)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetRatingRegionCount: GetRatingRegionCount::<Identity, Impl, OFFSET>,
GetRecordRatingRegion: GetRecordRatingRegion::<Identity, Impl, OFFSET>,
GetRecordRatedDimensions: GetRecordRatedDimensions::<Identity, Impl, OFFSET>,
GetRecordRatingDimension: GetRecordRatingDimension::<Identity, Impl, OFFSET>,
GetRecordRatingValue: GetRecordRatingValue::<Identity, Impl, OFFSET>,
GetRecordRatingDescriptionText: GetRecordRatingDescriptionText::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IAtscContentAdvisoryDescriptor as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IAtscPsipParser_Impl: Sized {
fn Initialize(&self, punkmpeg2data: ::core::option::Option<&::windows_core::IUnknown>) -> ::windows_core::Result<()>;
fn GetPAT(&self) -> ::windows_core::Result<IPAT>;
fn GetCAT(&self, dwtimeout: u32) -> ::windows_core::Result<ICAT>;
fn GetPMT(&self, pid: u16, pwprogramnumber: *const u16) -> ::windows_core::Result<IPMT>;
fn GetTSDT(&self) -> ::windows_core::Result<ITSDT>;
fn GetMGT(&self) -> ::windows_core::Result<IATSC_MGT>;
fn GetVCT(&self, tableid: u8, fgetnexttable: super::super::super::Foundation::BOOL) -> ::windows_core::Result<IATSC_VCT>;
fn GetEIT(&self, pid: u16, pwsourceid: *const u16, dwtimeout: u32) -> ::windows_core::Result<IATSC_EIT>;
fn GetETT(&self, pid: u16, wsourceid: *const u16, pweventid: *const u16) -> ::windows_core::Result<IATSC_ETT>;
fn GetSTT(&self) -> ::windows_core::Result<IATSC_STT>;
fn GetEAS(&self, pid: u16) -> ::windows_core::Result<ISCTE_EAS>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IAtscPsipParser {}
#[cfg(feature = "Win32_Foundation")]
impl IAtscPsipParser_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscPsipParser_Impl, const OFFSET: isize>() -> IAtscPsipParser_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscPsipParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punkmpeg2data: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&punkmpeg2data)).into()
}
unsafe extern "system" fn GetPAT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscPsipParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppat: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPAT() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pppat, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCAT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscPsipParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwtimeout: u32, ppcat: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCAT(::core::mem::transmute_copy(&dwtimeout)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppcat, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPMT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscPsipParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pid: u16, pwprogramnumber: *const u16, pppmt: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPMT(::core::mem::transmute_copy(&pid), ::core::mem::transmute_copy(&pwprogramnumber)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pppmt, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTSDT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscPsipParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptsdt: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTSDT() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pptsdt, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMGT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscPsipParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppmgt: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetMGT() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppmgt, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetVCT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscPsipParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tableid: u8, fgetnexttable: super::super::super::Foundation::BOOL, ppvct: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVCT(::core::mem::transmute_copy(&tableid), ::core::mem::transmute_copy(&fgetnexttable)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvct, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEIT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscPsipParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pid: u16, pwsourceid: *const u16, dwtimeout: u32, ppeit: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEIT(::core::mem::transmute_copy(&pid), ::core::mem::transmute_copy(&pwsourceid), ::core::mem::transmute_copy(&dwtimeout)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppeit, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetETT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscPsipParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pid: u16, wsourceid: *const u16, pweventid: *const u16, ppett: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetETT(::core::mem::transmute_copy(&pid), ::core::mem::transmute_copy(&wsourceid), ::core::mem::transmute_copy(&pweventid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppett, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSTT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscPsipParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppstt: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSTT() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppstt, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEAS<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAtscPsipParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pid: u16, ppeas: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEAS(::core::mem::transmute_copy(&pid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppeas, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetPAT: GetPAT::<Identity, Impl, OFFSET>,
GetCAT: GetCAT::<Identity, Impl, OFFSET>,
GetPMT: GetPMT::<Identity, Impl, OFFSET>,
GetTSDT: GetTSDT::<Identity, Impl, OFFSET>,
GetMGT: GetMGT::<Identity, Impl, OFFSET>,
GetVCT: GetVCT::<Identity, Impl, OFFSET>,
GetEIT: GetEIT::<Identity, Impl, OFFSET>,
GetETT: GetETT::<Identity, Impl, OFFSET>,
GetSTT: GetSTT::<Identity, Impl, OFFSET>,
GetEAS: GetEAS::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IAtscPsipParser as ::windows_core::ComInterface>::IID
}
}
pub trait IAttributeGet_Impl: Sized {
fn GetCount(&self) -> ::windows_core::Result<i32>;
fn GetAttribIndexed(&self, lindex: i32, pguidattribute: *mut ::windows_core::GUID, pbattribute: *mut u8, pdwattributelength: *mut u32) -> ::windows_core::Result<()>;
fn GetAttrib(&self, guidattribute: &::windows_core::GUID, pbattribute: *mut u8, pdwattributelength: *mut u32) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IAttributeGet {}
impl IAttributeGet_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAttributeGet_Impl, const OFFSET: isize>() -> IAttributeGet_Vtbl {
unsafe extern "system" fn GetCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAttributeGet_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plcount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAttribIndexed<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAttributeGet_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, pguidattribute: *mut ::windows_core::GUID, pbattribute: *mut u8, pdwattributelength: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetAttribIndexed(::core::mem::transmute_copy(&lindex), ::core::mem::transmute_copy(&pguidattribute), ::core::mem::transmute_copy(&pbattribute), ::core::mem::transmute_copy(&pdwattributelength)).into()
}
unsafe extern "system" fn GetAttrib<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAttributeGet_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guidattribute: ::windows_core::GUID, pbattribute: *mut u8, pdwattributelength: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetAttrib(::core::mem::transmute(&guidattribute), ::core::mem::transmute_copy(&pbattribute), ::core::mem::transmute_copy(&pdwattributelength)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetCount: GetCount::<Identity, Impl, OFFSET>,
GetAttribIndexed: GetAttribIndexed::<Identity, Impl, OFFSET>,
GetAttrib: GetAttrib::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IAttributeGet as ::windows_core::ComInterface>::IID
}
}
pub trait IAttributeSet_Impl: Sized {
fn SetAttrib(&self, guidattribute: &::windows_core::GUID, pbattribute: *const u8, dwattributelength: u32) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IAttributeSet {}
impl IAttributeSet_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAttributeSet_Impl, const OFFSET: isize>() -> IAttributeSet_Vtbl {
unsafe extern "system" fn SetAttrib<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAttributeSet_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guidattribute: ::windows_core::GUID, pbattribute: *const u8, dwattributelength: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAttrib(::core::mem::transmute(&guidattribute), ::core::mem::transmute_copy(&pbattribute), ::core::mem::transmute_copy(&dwattributelength)).into()
}
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SetAttrib: SetAttrib::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IAttributeSet as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IAuxInTuningSpace_Impl: Sized + ITuningSpace_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IAuxInTuningSpace {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IAuxInTuningSpace_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAuxInTuningSpace_Impl, const OFFSET: isize>() -> IAuxInTuningSpace_Vtbl {
Self { base__: ITuningSpace_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IAuxInTuningSpace as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ITuningSpace as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IAuxInTuningSpace2_Impl: Sized + IAuxInTuningSpace_Impl {
fn CountryCode(&self) -> ::windows_core::Result<i32>;
fn SetCountryCode(&self, newcountrycodeval: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IAuxInTuningSpace2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IAuxInTuningSpace2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAuxInTuningSpace2_Impl, const OFFSET: isize>() -> IAuxInTuningSpace2_Vtbl {
unsafe extern "system" fn CountryCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAuxInTuningSpace2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, countrycodeval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CountryCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(countrycodeval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCountryCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IAuxInTuningSpace2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newcountrycodeval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCountryCode(::core::mem::transmute_copy(&newcountrycodeval)).into()
}
Self {
base__: IAuxInTuningSpace_Vtbl::new::<Identity, Impl, OFFSET>(),
CountryCode: CountryCode::<Identity, Impl, OFFSET>,
SetCountryCode: SetCountryCode::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IAuxInTuningSpace2 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ITuningSpace as ::windows_core::ComInterface>::IID || *iid == <IAuxInTuningSpace as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait IBDAComparable_Impl: Sized {
fn CompareExact(&self, compareto: ::core::option::Option<&super::super::super::System::Com::IDispatch>) -> ::windows_core::Result<i32>;
fn CompareEquivalent(&self, compareto: ::core::option::Option<&super::super::super::System::Com::IDispatch>, dwflags: u32) -> ::windows_core::Result<i32>;
fn HashExact(&self) -> ::windows_core::Result<i64>;
fn HashExactIncremental(&self, partialresult: i64) -> ::windows_core::Result<i64>;
fn HashEquivalent(&self, dwflags: u32) -> ::windows_core::Result<i64>;
fn HashEquivalentIncremental(&self, partialresult: i64, dwflags: u32) -> ::windows_core::Result<i64>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for IBDAComparable {}
#[cfg(feature = "Win32_System_Com")]
impl IBDAComparable_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBDAComparable_Impl, const OFFSET: isize>() -> IBDAComparable_Vtbl {
unsafe extern "system" fn CompareExact<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBDAComparable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, compareto: *mut ::core::ffi::c_void, result: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CompareExact(::windows_core::from_raw_borrowed(&compareto)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CompareEquivalent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBDAComparable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, compareto: *mut ::core::ffi::c_void, dwflags: u32, result: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CompareEquivalent(::windows_core::from_raw_borrowed(&compareto), ::core::mem::transmute_copy(&dwflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn HashExact<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBDAComparable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result: *mut i64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.HashExact() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn HashExactIncremental<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBDAComparable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, partialresult: i64, result: *mut i64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.HashExactIncremental(::core::mem::transmute_copy(&partialresult)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn HashEquivalent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBDAComparable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: u32, result: *mut i64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.HashEquivalent(::core::mem::transmute_copy(&dwflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn HashEquivalentIncremental<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBDAComparable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, partialresult: i64, dwflags: u32, result: *mut i64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.HashEquivalentIncremental(::core::mem::transmute_copy(&partialresult), ::core::mem::transmute_copy(&dwflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
CompareExact: CompareExact::<Identity, Impl, OFFSET>,
CompareEquivalent: CompareEquivalent::<Identity, Impl, OFFSET>,
HashExact: HashExact::<Identity, Impl, OFFSET>,
HashExactIncremental: HashExactIncremental::<Identity, Impl, OFFSET>,
HashEquivalent: HashEquivalent::<Identity, Impl, OFFSET>,
HashEquivalentIncremental: HashEquivalentIncremental::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IBDAComparable as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait IBDACreateTuneRequestEx_Impl: Sized {
fn CreateTuneRequestEx(&self, tunerequestiid: *const ::windows_core::GUID) -> ::windows_core::Result<ITuneRequest>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for IBDACreateTuneRequestEx {}
#[cfg(feature = "Win32_System_Com")]
impl IBDACreateTuneRequestEx_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBDACreateTuneRequestEx_Impl, const OFFSET: isize>() -> IBDACreateTuneRequestEx_Vtbl {
unsafe extern "system" fn CreateTuneRequestEx<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBDACreateTuneRequestEx_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tunerequestiid: *const ::windows_core::GUID, tunerequest: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateTuneRequestEx(::core::mem::transmute_copy(&tunerequestiid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(tunerequest, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CreateTuneRequestEx: CreateTuneRequestEx::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IBDACreateTuneRequestEx as ::windows_core::ComInterface>::IID
}
}
pub trait IBDA_TIF_REGISTRATION_Impl: Sized {
fn RegisterTIFEx(&self, ptifinputpin: ::core::option::Option<&super::IPin>, ppvregistrationcontext: *mut u32, ppmpeg2datacontrol: *mut ::core::option::Option<::windows_core::IUnknown>) -> ::windows_core::Result<()>;
fn UnregisterTIF(&self, pvregistrationcontext: u32) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IBDA_TIF_REGISTRATION {}
impl IBDA_TIF_REGISTRATION_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBDA_TIF_REGISTRATION_Impl, const OFFSET: isize>() -> IBDA_TIF_REGISTRATION_Vtbl {
unsafe extern "system" fn RegisterTIFEx<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBDA_TIF_REGISTRATION_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptifinputpin: *mut ::core::ffi::c_void, ppvregistrationcontext: *mut u32, ppmpeg2datacontrol: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterTIFEx(::windows_core::from_raw_borrowed(&ptifinputpin), ::core::mem::transmute_copy(&ppvregistrationcontext), ::core::mem::transmute_copy(&ppmpeg2datacontrol)).into()
}
unsafe extern "system" fn UnregisterTIF<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IBDA_TIF_REGISTRATION_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvregistrationcontext: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.UnregisterTIF(::core::mem::transmute_copy(&pvregistrationcontext)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
RegisterTIFEx: RegisterTIFEx::<Identity, Impl, OFFSET>,
UnregisterTIF: UnregisterTIF::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IBDA_TIF_REGISTRATION as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait ICAT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result<u32>;
fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn RegisterForNextTable(&self, hnexttableavailable: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn GetNextTable(&self, dwtimeout: u32) -> ::windows_core::Result<ICAT>;
fn RegisterForWhenCurrent(&self, hnexttableiscurrent: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn ConvertNextToCurrent(&self) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for ICAT {}
#[cfg(feature = "Win32_Foundation")]
impl ICAT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICAT_Impl, const OFFSET: isize>() -> ICAT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfTableDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfTableDescriptors() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTableDescriptorByIndex(::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTableDescriptorByTag(::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn RegisterForNextTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hnexttableavailable: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterForNextTable(::core::mem::transmute_copy(&hnexttableavailable)).into()
}
unsafe extern "system" fn GetNextTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwtimeout: u32, ppcat: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNextTable(::core::mem::transmute_copy(&dwtimeout)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppcat, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RegisterForWhenCurrent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hnexttableiscurrent: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterForWhenCurrent(::core::mem::transmute_copy(&hnexttableiscurrent)).into()
}
unsafe extern "system" fn ConvertNextToCurrent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ConvertNextToCurrent().into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetCountOfTableDescriptors: GetCountOfTableDescriptors::<Identity, Impl, OFFSET>,
GetTableDescriptorByIndex: GetTableDescriptorByIndex::<Identity, Impl, OFFSET>,
GetTableDescriptorByTag: GetTableDescriptorByTag::<Identity, Impl, OFFSET>,
RegisterForNextTable: RegisterForNextTable::<Identity, Impl, OFFSET>,
GetNextTable: GetNextTable::<Identity, Impl, OFFSET>,
RegisterForWhenCurrent: RegisterForWhenCurrent::<Identity, Impl, OFFSET>,
ConvertNextToCurrent: ConvertNextToCurrent::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ICAT as ::windows_core::ComInterface>::IID
}
}
pub trait ICaptionServiceDescriptor_Impl: Sized {
fn GetNumberOfServices(&self) -> ::windows_core::Result<u8>;
fn GetLanguageCode(&self, bindex: u8, langcode: *mut u8) -> ::windows_core::Result<()>;
fn GetCaptionServiceNumber(&self, bindex: u8) -> ::windows_core::Result<u8>;
fn GetCCType(&self, bindex: u8) -> ::windows_core::Result<u8>;
fn GetEasyReader(&self, bindex: u8) -> ::windows_core::Result<u8>;
fn GetWideAspectRatio(&self, bindex: u8) -> ::windows_core::Result<u8>;
}
impl ::windows_core::RuntimeName for ICaptionServiceDescriptor {}
impl ICaptionServiceDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICaptionServiceDescriptor_Impl, const OFFSET: isize>() -> ICaptionServiceDescriptor_Vtbl {
unsafe extern "system" fn GetNumberOfServices<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICaptionServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberOfServices() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLanguageCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICaptionServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bindex: u8, langcode: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLanguageCode(::core::mem::transmute_copy(&bindex), ::core::mem::transmute_copy(&langcode)).into()
}
unsafe extern "system" fn GetCaptionServiceNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICaptionServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCaptionServiceNumber(::core::mem::transmute_copy(&bindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCCType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICaptionServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCCType(::core::mem::transmute_copy(&bindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEasyReader<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICaptionServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEasyReader(::core::mem::transmute_copy(&bindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetWideAspectRatio<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICaptionServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetWideAspectRatio(::core::mem::transmute_copy(&bindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetNumberOfServices: GetNumberOfServices::<Identity, Impl, OFFSET>,
GetLanguageCode: GetLanguageCode::<Identity, Impl, OFFSET>,
GetCaptionServiceNumber: GetCaptionServiceNumber::<Identity, Impl, OFFSET>,
GetCCType: GetCCType::<Identity, Impl, OFFSET>,
GetEasyReader: GetEasyReader::<Identity, Impl, OFFSET>,
GetWideAspectRatio: GetWideAspectRatio::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ICaptionServiceDescriptor as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IChannelIDTuneRequest_Impl: Sized + ITuneRequest_Impl {
fn ChannelID(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetChannelID(&self, channelid: &::windows_core::BSTR) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IChannelIDTuneRequest {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IChannelIDTuneRequest_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IChannelIDTuneRequest_Impl, const OFFSET: isize>() -> IChannelIDTuneRequest_Vtbl {
unsafe extern "system" fn ChannelID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IChannelIDTuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, channelid: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ChannelID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(channelid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetChannelID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IChannelIDTuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, channelid: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetChannelID(::core::mem::transmute(&channelid)).into()
}
Self {
base__: ITuneRequest_Vtbl::new::<Identity, Impl, OFFSET>(),
ChannelID: ChannelID::<Identity, Impl, OFFSET>,
SetChannelID: SetChannelID::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IChannelIDTuneRequest as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ITuneRequest as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IChannelTuneRequest_Impl: Sized + ITuneRequest_Impl {
fn Channel(&self) -> ::windows_core::Result<i32>;
fn SetChannel(&self, channel: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IChannelTuneRequest {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IChannelTuneRequest_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IChannelTuneRequest_Impl, const OFFSET: isize>() -> IChannelTuneRequest_Vtbl {
unsafe extern "system" fn Channel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IChannelTuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, channel: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Channel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(channel, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IChannelTuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, channel: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetChannel(::core::mem::transmute_copy(&channel)).into()
}
Self {
base__: ITuneRequest_Vtbl::new::<Identity, Impl, OFFSET>(),
Channel: Channel::<Identity, Impl, OFFSET>,
SetChannel: SetChannel::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IChannelTuneRequest as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ITuneRequest as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IComponent_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Type(&self) -> ::windows_core::Result<IComponentType>;
fn SetType(&self, ct: ::core::option::Option<&IComponentType>) -> ::windows_core::Result<()>;
fn DescLangID(&self) -> ::windows_core::Result<i32>;
fn SetDescLangID(&self, langid: i32) -> ::windows_core::Result<()>;
fn Status(&self) -> ::windows_core::Result<super::ComponentStatus>;
fn SetStatus(&self, status: super::ComponentStatus) -> ::windows_core::Result<()>;
fn Description(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetDescription(&self, description: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<IComponent>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IComponent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IComponent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponent_Impl, const OFFSET: isize>() -> IComponent_Vtbl {
unsafe extern "system" fn Type<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ct: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Type() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ct, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ct: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetType(::windows_core::from_raw_borrowed(&ct)).into()
}
unsafe extern "system" fn DescLangID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, langid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DescLangID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(langid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDescLangID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, langid: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDescLangID(::core::mem::transmute_copy(&langid)).into()
}
unsafe extern "system" fn Status<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: *mut super::ComponentStatus) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Status() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(status, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetStatus<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: super::ComponentStatus) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetStatus(::core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn Description<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, description: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Description() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(description, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDescription<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, description: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDescription(::core::mem::transmute(&description)).into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newcomponent: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newcomponent, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Type: Type::<Identity, Impl, OFFSET>,
SetType: SetType::<Identity, Impl, OFFSET>,
DescLangID: DescLangID::<Identity, Impl, OFFSET>,
SetDescLangID: SetDescLangID::<Identity, Impl, OFFSET>,
Status: Status::<Identity, Impl, OFFSET>,
SetStatus: SetStatus::<Identity, Impl, OFFSET>,
Description: Description::<Identity, Impl, OFFSET>,
SetDescription: SetDescription::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IComponent as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IComponentType_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Category(&self) -> ::windows_core::Result<super::ComponentCategory>;
fn SetCategory(&self, category: super::ComponentCategory) -> ::windows_core::Result<()>;
fn MediaMajorType(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetMediaMajorType(&self, mediamajortype: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn _MediaMajorType(&self) -> ::windows_core::Result<::windows_core::GUID>;
fn Set_MediaMajorType(&self, mediamajortypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()>;
fn MediaSubType(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetMediaSubType(&self, mediasubtype: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn _MediaSubType(&self) -> ::windows_core::Result<::windows_core::GUID>;
fn Set_MediaSubType(&self, mediasubtypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()>;
fn MediaFormatType(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetMediaFormatType(&self, mediaformattype: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn _MediaFormatType(&self) -> ::windows_core::Result<::windows_core::GUID>;
fn Set_MediaFormatType(&self, mediaformattypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()>;
fn MediaType(&self) -> ::windows_core::Result<super::super::MediaFoundation::AM_MEDIA_TYPE>;
fn SetMediaType(&self, mediatype: *const super::super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<IComponentType>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IComponentType {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IComponentType_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentType_Impl, const OFFSET: isize>() -> IComponentType_Vtbl {
unsafe extern "system" fn Category<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, category: *mut super::ComponentCategory) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Category() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(category, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCategory<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, category: super::ComponentCategory) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCategory(::core::mem::transmute_copy(&category)).into()
}
unsafe extern "system" fn MediaMajorType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mediamajortype: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MediaMajorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mediamajortype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMediaMajorType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mediamajortype: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMediaMajorType(::core::mem::transmute(&mediamajortype)).into()
}
unsafe extern "system" fn _MediaMajorType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mediamajortypeguid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._MediaMajorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mediamajortypeguid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Set_MediaMajorType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mediamajortypeguid: *const ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Set_MediaMajorType(::core::mem::transmute_copy(&mediamajortypeguid)).into()
}
unsafe extern "system" fn MediaSubType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mediasubtype: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MediaSubType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mediasubtype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMediaSubType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mediasubtype: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMediaSubType(::core::mem::transmute(&mediasubtype)).into()
}
unsafe extern "system" fn _MediaSubType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mediasubtypeguid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._MediaSubType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mediasubtypeguid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Set_MediaSubType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mediasubtypeguid: *const ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Set_MediaSubType(::core::mem::transmute_copy(&mediasubtypeguid)).into()
}
unsafe extern "system" fn MediaFormatType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mediaformattype: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MediaFormatType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mediaformattype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMediaFormatType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mediaformattype: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMediaFormatType(::core::mem::transmute(&mediaformattype)).into()
}
unsafe extern "system" fn _MediaFormatType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mediaformattypeguid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._MediaFormatType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mediaformattypeguid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Set_MediaFormatType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mediaformattypeguid: *const ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Set_MediaFormatType(::core::mem::transmute_copy(&mediaformattypeguid)).into()
}
unsafe extern "system" fn MediaType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mediatype: *mut super::super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MediaType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mediatype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMediaType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mediatype: *const super::super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMediaType(::core::mem::transmute_copy(&mediatype)).into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newct: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newct, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Category: Category::<Identity, Impl, OFFSET>,
SetCategory: SetCategory::<Identity, Impl, OFFSET>,
MediaMajorType: MediaMajorType::<Identity, Impl, OFFSET>,
SetMediaMajorType: SetMediaMajorType::<Identity, Impl, OFFSET>,
_MediaMajorType: _MediaMajorType::<Identity, Impl, OFFSET>,
Set_MediaMajorType: Set_MediaMajorType::<Identity, Impl, OFFSET>,
MediaSubType: MediaSubType::<Identity, Impl, OFFSET>,
SetMediaSubType: SetMediaSubType::<Identity, Impl, OFFSET>,
_MediaSubType: _MediaSubType::<Identity, Impl, OFFSET>,
Set_MediaSubType: Set_MediaSubType::<Identity, Impl, OFFSET>,
MediaFormatType: MediaFormatType::<Identity, Impl, OFFSET>,
SetMediaFormatType: SetMediaFormatType::<Identity, Impl, OFFSET>,
_MediaFormatType: _MediaFormatType::<Identity, Impl, OFFSET>,
Set_MediaFormatType: Set_MediaFormatType::<Identity, Impl, OFFSET>,
MediaType: MediaType::<Identity, Impl, OFFSET>,
SetMediaType: SetMediaType::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IComponentType as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IComponentTypes_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<super::super::super::System::Ole::IEnumVARIANT>;
fn EnumComponentTypes(&self) -> ::windows_core::Result<IEnumComponentTypes>;
fn get_Item(&self, index: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<IComponentType>;
fn put_Item(&self, index: &super::super::super::System::Variant::VARIANT, componenttype: ::core::option::Option<&IComponentType>) -> ::windows_core::Result<()>;
fn Add(&self, componenttype: ::core::option::Option<&IComponentType>) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn Remove(&self, index: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<IComponentTypes>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IComponentTypes {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IComponentTypes_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentTypes_Impl, const OFFSET: isize>() -> IComponentTypes_Vtbl {
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentTypes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentTypes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppnewenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppnewenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumComponentTypes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentTypes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppnewenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumComponentTypes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppnewenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_Item<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentTypes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: super::super::super::System::Variant::VARIANT, componenttype: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Item(::core::mem::transmute(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(componenttype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn put_Item<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentTypes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: super::super::super::System::Variant::VARIANT, componenttype: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_Item(::core::mem::transmute(&index), ::windows_core::from_raw_borrowed(&componenttype)).into()
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentTypes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, componenttype: *mut ::core::ffi::c_void, newindex: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Add(::windows_core::from_raw_borrowed(&componenttype)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newindex, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentTypes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute(&index)).into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentTypes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newlist: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newlist, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
EnumComponentTypes: EnumComponentTypes::<Identity, Impl, OFFSET>,
get_Item: get_Item::<Identity, Impl, OFFSET>,
put_Item: put_Item::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IComponentTypes as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IComponents_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<super::super::super::System::Ole::IEnumVARIANT>;
fn EnumComponents(&self) -> ::windows_core::Result<IEnumComponents>;
fn get_Item(&self, index: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<IComponent>;
fn Add(&self, component: ::core::option::Option<&IComponent>) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn Remove(&self, index: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<IComponents>;
fn put_Item(&self, index: &super::super::super::System::Variant::VARIANT, ppcomponent: ::core::option::Option<&IComponent>) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IComponents {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IComponents_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponents_Impl, const OFFSET: isize>() -> IComponents_Vtbl {
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppnewenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppnewenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumComponents<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppnewenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumComponents() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppnewenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_Item<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: super::super::super::System::Variant::VARIANT, ppcomponent: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Item(::core::mem::transmute(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppcomponent, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, component: *mut ::core::ffi::c_void, newindex: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Add(::windows_core::from_raw_borrowed(&component)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newindex, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute(&index)).into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newlist: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newlist, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn put_Item<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: super::super::super::System::Variant::VARIANT, ppcomponent: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_Item(::core::mem::transmute(&index), ::windows_core::from_raw_borrowed(&ppcomponent)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
EnumComponents: EnumComponents::<Identity, Impl, OFFSET>,
get_Item: get_Item::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
put_Item: put_Item::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IComponents as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IComponentsOld_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<super::super::super::System::Ole::IEnumVARIANT>;
fn EnumComponents(&self) -> ::windows_core::Result<IEnumComponents>;
fn get_Item(&self, index: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<IComponent>;
fn Add(&self, component: ::core::option::Option<&IComponent>) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn Remove(&self, index: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<IComponents>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IComponentsOld {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IComponentsOld_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentsOld_Impl, const OFFSET: isize>() -> IComponentsOld_Vtbl {
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentsOld_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentsOld_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppnewenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppnewenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumComponents<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentsOld_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppnewenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumComponents() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppnewenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_Item<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentsOld_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: super::super::super::System::Variant::VARIANT, ppcomponent: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Item(::core::mem::transmute(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppcomponent, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentsOld_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, component: *mut ::core::ffi::c_void, newindex: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Add(::windows_core::from_raw_borrowed(&component)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newindex, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentsOld_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute(&index)).into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IComponentsOld_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newlist: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newlist, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
EnumComponents: EnumComponents::<Identity, Impl, OFFSET>,
get_Item: get_Item::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IComponentsOld as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Registry\"`"]
#[cfg(feature = "Win32_System_Registry")]
pub trait ICreatePropBagOnRegKey_Impl: Sized {
fn Create(&self, hkey: super::super::super::System::Registry::HKEY, subkey: &::windows_core::PCWSTR, uloptions: u32, samdesired: u32, iid: *const ::windows_core::GUID, ppbag: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Registry")]
impl ::windows_core::RuntimeName for ICreatePropBagOnRegKey {}
#[cfg(feature = "Win32_System_Registry")]
impl ICreatePropBagOnRegKey_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICreatePropBagOnRegKey_Impl, const OFFSET: isize>() -> ICreatePropBagOnRegKey_Vtbl {
unsafe extern "system" fn Create<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ICreatePropBagOnRegKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hkey: super::super::super::System::Registry::HKEY, subkey: ::windows_core::PCWSTR, uloptions: u32, samdesired: u32, iid: *const ::windows_core::GUID, ppbag: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Create(::core::mem::transmute_copy(&hkey), ::core::mem::transmute(&subkey), ::core::mem::transmute_copy(&uloptions), ::core::mem::transmute_copy(&samdesired), ::core::mem::transmute_copy(&iid), ::core::mem::transmute_copy(&ppbag)).into()
}
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Create: Create::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ICreatePropBagOnRegKey as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDTFilter_Impl: Sized {
fn EvalRatObjOK(&self) -> ::windows_core::Result<::windows_core::HRESULT>;
fn GetCurrRating(&self, pensystem: *mut EnTvRat_System, penrating: *mut EnTvRat_GenericLevel, plbfenattr: *mut i32) -> ::windows_core::Result<()>;
fn get_BlockedRatingAttributes(&self, ensystem: EnTvRat_System, enlevel: EnTvRat_GenericLevel) -> ::windows_core::Result<i32>;
fn put_BlockedRatingAttributes(&self, ensystem: EnTvRat_System, enlevel: EnTvRat_GenericLevel, lbfattrs: i32) -> ::windows_core::Result<()>;
fn BlockUnRated(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn SetBlockUnRated(&self, fblockunratedshows: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn BlockUnRatedDelay(&self) -> ::windows_core::Result<i32>;
fn SetBlockUnRatedDelay(&self, msecsdelaybeforeblock: i32) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IDTFilter {}
#[cfg(feature = "Win32_Foundation")]
impl IDTFilter_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilter_Impl, const OFFSET: isize>() -> IDTFilter_Vtbl {
unsafe extern "system" fn EvalRatObjOK<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, phrcocreateretval: *mut ::windows_core::HRESULT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EvalRatObjOK() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(phrcocreateretval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrRating<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pensystem: *mut EnTvRat_System, penrating: *mut EnTvRat_GenericLevel, plbfenattr: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCurrRating(::core::mem::transmute_copy(&pensystem), ::core::mem::transmute_copy(&penrating), ::core::mem::transmute_copy(&plbfenattr)).into()
}
unsafe extern "system" fn get_BlockedRatingAttributes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ensystem: EnTvRat_System, enlevel: EnTvRat_GenericLevel, plbfenattr: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_BlockedRatingAttributes(::core::mem::transmute_copy(&ensystem), ::core::mem::transmute_copy(&enlevel)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plbfenattr, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn put_BlockedRatingAttributes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ensystem: EnTvRat_System, enlevel: EnTvRat_GenericLevel, lbfattrs: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_BlockedRatingAttributes(::core::mem::transmute_copy(&ensystem), ::core::mem::transmute_copy(&enlevel), ::core::mem::transmute_copy(&lbfattrs)).into()
}
unsafe extern "system" fn BlockUnRated<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfblockunratedshows: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.BlockUnRated() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfblockunratedshows, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetBlockUnRated<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fblockunratedshows: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetBlockUnRated(::core::mem::transmute_copy(&fblockunratedshows)).into()
}
unsafe extern "system" fn BlockUnRatedDelay<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmsecsdelaybeforeblock: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.BlockUnRatedDelay() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pmsecsdelaybeforeblock, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetBlockUnRatedDelay<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, msecsdelaybeforeblock: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetBlockUnRatedDelay(::core::mem::transmute_copy(&msecsdelaybeforeblock)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
EvalRatObjOK: EvalRatObjOK::<Identity, Impl, OFFSET>,
GetCurrRating: GetCurrRating::<Identity, Impl, OFFSET>,
get_BlockedRatingAttributes: get_BlockedRatingAttributes::<Identity, Impl, OFFSET>,
put_BlockedRatingAttributes: put_BlockedRatingAttributes::<Identity, Impl, OFFSET>,
BlockUnRated: BlockUnRated::<Identity, Impl, OFFSET>,
SetBlockUnRated: SetBlockUnRated::<Identity, Impl, OFFSET>,
BlockUnRatedDelay: BlockUnRatedDelay::<Identity, Impl, OFFSET>,
SetBlockUnRatedDelay: SetBlockUnRatedDelay::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDTFilter as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDTFilter2_Impl: Sized + IDTFilter_Impl {
fn ChallengeUrl(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetCurrLicenseExpDate(&self, prottype: *const ProtType) -> ::windows_core::Result<i32>;
fn GetLastErrorCode(&self) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IDTFilter2 {}
#[cfg(feature = "Win32_Foundation")]
impl IDTFilter2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilter2_Impl, const OFFSET: isize>() -> IDTFilter2_Vtbl {
unsafe extern "system" fn ChallengeUrl<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilter2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrchallengeurl: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ChallengeUrl() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrchallengeurl, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrLicenseExpDate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilter2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prottype: *const ProtType, lpdatetime: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrLicenseExpDate(::core::mem::transmute_copy(&prottype)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lpdatetime, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLastErrorCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilter2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLastErrorCode().into()
}
Self {
base__: IDTFilter_Vtbl::new::<Identity, Impl, OFFSET>(),
ChallengeUrl: ChallengeUrl::<Identity, Impl, OFFSET>,
GetCurrLicenseExpDate: GetCurrLicenseExpDate::<Identity, Impl, OFFSET>,
GetLastErrorCode: GetLastErrorCode::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDTFilter2 as ::windows_core::ComInterface>::IID || *iid == <IDTFilter as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDTFilter3_Impl: Sized + IDTFilter2_Impl {
fn GetProtectionType(&self) -> ::windows_core::Result<ProtType>;
fn LicenseHasExpirationDate(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn SetRights(&self, bstrrights: &::windows_core::BSTR) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IDTFilter3 {}
#[cfg(feature = "Win32_Foundation")]
impl IDTFilter3_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilter3_Impl, const OFFSET: isize>() -> IDTFilter3_Vtbl {
unsafe extern "system" fn GetProtectionType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilter3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pprotectiontype: *mut ProtType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProtectionType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pprotectiontype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn LicenseHasExpirationDate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilter3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pflicensehasexpirationdate: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.LicenseHasExpirationDate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pflicensehasexpirationdate, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRights<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilter3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrrights: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRights(::core::mem::transmute(&bstrrights)).into()
}
Self {
base__: IDTFilter2_Vtbl::new::<Identity, Impl, OFFSET>(),
GetProtectionType: GetProtectionType::<Identity, Impl, OFFSET>,
LicenseHasExpirationDate: LicenseHasExpirationDate::<Identity, Impl, OFFSET>,
SetRights: SetRights::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDTFilter3 as ::windows_core::ComInterface>::IID || *iid == <IDTFilter as ::windows_core::ComInterface>::IID || *iid == <IDTFilter2 as ::windows_core::ComInterface>::IID
}
}
pub trait IDTFilterConfig_Impl: Sized {
fn GetSecureChannelObject(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
}
impl ::windows_core::RuntimeName for IDTFilterConfig {}
impl IDTFilterConfig_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilterConfig_Impl, const OFFSET: isize>() -> IDTFilterConfig_Vtbl {
unsafe extern "system" fn GetSecureChannelObject<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilterConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppunkdrmsecurechannel: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSecureChannelObject() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppunkdrmsecurechannel, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetSecureChannelObject: GetSecureChannelObject::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDTFilterConfig as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IDTFilterEvents_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IDTFilterEvents {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IDTFilterEvents_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilterEvents_Impl, const OFFSET: isize>() -> IDTFilterEvents_Vtbl {
Self { base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDTFilterEvents as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
pub trait IDTFilterLicenseRenewal_Impl: Sized {
fn GetLicenseRenewalData(&self, ppwszfilename: *mut ::windows_core::PWSTR, ppwszexpiredkid: *mut ::windows_core::PWSTR, ppwsztunerid: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IDTFilterLicenseRenewal {}
impl IDTFilterLicenseRenewal_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilterLicenseRenewal_Impl, const OFFSET: isize>() -> IDTFilterLicenseRenewal_Vtbl {
unsafe extern "system" fn GetLicenseRenewalData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDTFilterLicenseRenewal_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppwszfilename: *mut ::windows_core::PWSTR, ppwszexpiredkid: *mut ::windows_core::PWSTR, ppwsztunerid: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLicenseRenewalData(::core::mem::transmute_copy(&ppwszfilename), ::core::mem::transmute_copy(&ppwszexpiredkid), ::core::mem::transmute_copy(&ppwsztunerid)).into()
}
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetLicenseRenewalData: GetLicenseRenewalData::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDTFilterLicenseRenewal as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IDVBCLocator_Impl: Sized + IDigitalLocator_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IDVBCLocator {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IDVBCLocator_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBCLocator_Impl, const OFFSET: isize>() -> IDVBCLocator_Vtbl {
Self { base__: IDigitalLocator_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVBCLocator as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ILocator as ::windows_core::ComInterface>::IID || *iid == <IDigitalLocator as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IDVBSLocator_Impl: Sized + IDigitalLocator_Impl {
fn SignalPolarisation(&self) -> ::windows_core::Result<super::Polarisation>;
fn SetSignalPolarisation(&self, polarisationval: super::Polarisation) -> ::windows_core::Result<()>;
fn WestPosition(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetWestPosition(&self, westlongitude: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn OrbitalPosition(&self) -> ::windows_core::Result<i32>;
fn SetOrbitalPosition(&self, longitude: i32) -> ::windows_core::Result<()>;
fn Azimuth(&self) -> ::windows_core::Result<i32>;
fn SetAzimuth(&self, azimuth: i32) -> ::windows_core::Result<()>;
fn Elevation(&self) -> ::windows_core::Result<i32>;
fn SetElevation(&self, elevation: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IDVBSLocator {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IDVBSLocator_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator_Impl, const OFFSET: isize>() -> IDVBSLocator_Vtbl {
unsafe extern "system" fn SignalPolarisation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, polarisationval: *mut super::Polarisation) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SignalPolarisation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(polarisationval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSignalPolarisation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, polarisationval: super::Polarisation) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSignalPolarisation(::core::mem::transmute_copy(&polarisationval)).into()
}
unsafe extern "system" fn WestPosition<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, westlongitude: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.WestPosition() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(westlongitude, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetWestPosition<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, westlongitude: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetWestPosition(::core::mem::transmute_copy(&westlongitude)).into()
}
unsafe extern "system" fn OrbitalPosition<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, longitude: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OrbitalPosition() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(longitude, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOrbitalPosition<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, longitude: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOrbitalPosition(::core::mem::transmute_copy(&longitude)).into()
}
unsafe extern "system" fn Azimuth<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, azimuth: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Azimuth() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(azimuth, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAzimuth<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, azimuth: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAzimuth(::core::mem::transmute_copy(&azimuth)).into()
}
unsafe extern "system" fn Elevation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, elevation: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Elevation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(elevation, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetElevation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, elevation: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetElevation(::core::mem::transmute_copy(&elevation)).into()
}
Self {
base__: IDigitalLocator_Vtbl::new::<Identity, Impl, OFFSET>(),
SignalPolarisation: SignalPolarisation::<Identity, Impl, OFFSET>,
SetSignalPolarisation: SetSignalPolarisation::<Identity, Impl, OFFSET>,
WestPosition: WestPosition::<Identity, Impl, OFFSET>,
SetWestPosition: SetWestPosition::<Identity, Impl, OFFSET>,
OrbitalPosition: OrbitalPosition::<Identity, Impl, OFFSET>,
SetOrbitalPosition: SetOrbitalPosition::<Identity, Impl, OFFSET>,
Azimuth: Azimuth::<Identity, Impl, OFFSET>,
SetAzimuth: SetAzimuth::<Identity, Impl, OFFSET>,
Elevation: Elevation::<Identity, Impl, OFFSET>,
SetElevation: SetElevation::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVBSLocator as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ILocator as ::windows_core::ComInterface>::IID || *iid == <IDigitalLocator as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IDVBSLocator2_Impl: Sized + IDVBSLocator_Impl {
fn DiseqLNBSource(&self) -> ::windows_core::Result<super::LNB_Source>;
fn SetDiseqLNBSource(&self, diseqlnbsourceval: super::LNB_Source) -> ::windows_core::Result<()>;
fn LocalOscillatorOverrideLow(&self) -> ::windows_core::Result<i32>;
fn SetLocalOscillatorOverrideLow(&self, localoscillatoroverridelowval: i32) -> ::windows_core::Result<()>;
fn LocalOscillatorOverrideHigh(&self) -> ::windows_core::Result<i32>;
fn SetLocalOscillatorOverrideHigh(&self, localoscillatoroverridehighval: i32) -> ::windows_core::Result<()>;
fn LocalLNBSwitchOverride(&self) -> ::windows_core::Result<i32>;
fn SetLocalLNBSwitchOverride(&self, locallnbswitchoverrideval: i32) -> ::windows_core::Result<()>;
fn LocalSpectralInversionOverride(&self) -> ::windows_core::Result<super::SpectralInversion>;
fn SetLocalSpectralInversionOverride(&self, localspectralinversionoverrideval: super::SpectralInversion) -> ::windows_core::Result<()>;
fn SignalRollOff(&self) -> ::windows_core::Result<super::RollOff>;
fn SetSignalRollOff(&self, rolloffval: super::RollOff) -> ::windows_core::Result<()>;
fn SignalPilot(&self) -> ::windows_core::Result<super::Pilot>;
fn SetSignalPilot(&self, pilotval: super::Pilot) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IDVBSLocator2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IDVBSLocator2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator2_Impl, const OFFSET: isize>() -> IDVBSLocator2_Vtbl {
unsafe extern "system" fn DiseqLNBSource<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, diseqlnbsourceval: *mut super::LNB_Source) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DiseqLNBSource() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(diseqlnbsourceval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDiseqLNBSource<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, diseqlnbsourceval: super::LNB_Source) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDiseqLNBSource(::core::mem::transmute_copy(&diseqlnbsourceval)).into()
}
unsafe extern "system" fn LocalOscillatorOverrideLow<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, localoscillatoroverridelowval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.LocalOscillatorOverrideLow() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(localoscillatoroverridelowval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLocalOscillatorOverrideLow<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, localoscillatoroverridelowval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLocalOscillatorOverrideLow(::core::mem::transmute_copy(&localoscillatoroverridelowval)).into()
}
unsafe extern "system" fn LocalOscillatorOverrideHigh<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, localoscillatoroverridehighval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.LocalOscillatorOverrideHigh() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(localoscillatoroverridehighval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLocalOscillatorOverrideHigh<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, localoscillatoroverridehighval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLocalOscillatorOverrideHigh(::core::mem::transmute_copy(&localoscillatoroverridehighval)).into()
}
unsafe extern "system" fn LocalLNBSwitchOverride<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, locallnbswitchoverrideval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.LocalLNBSwitchOverride() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(locallnbswitchoverrideval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLocalLNBSwitchOverride<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, locallnbswitchoverrideval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLocalLNBSwitchOverride(::core::mem::transmute_copy(&locallnbswitchoverrideval)).into()
}
unsafe extern "system" fn LocalSpectralInversionOverride<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, localspectralinversionoverrideval: *mut super::SpectralInversion) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.LocalSpectralInversionOverride() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(localspectralinversionoverrideval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLocalSpectralInversionOverride<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, localspectralinversionoverrideval: super::SpectralInversion) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLocalSpectralInversionOverride(::core::mem::transmute_copy(&localspectralinversionoverrideval)).into()
}
unsafe extern "system" fn SignalRollOff<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rolloffval: *mut super::RollOff) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SignalRollOff() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(rolloffval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSignalRollOff<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rolloffval: super::RollOff) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSignalRollOff(::core::mem::transmute_copy(&rolloffval)).into()
}
unsafe extern "system" fn SignalPilot<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pilotval: *mut super::Pilot) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SignalPilot() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pilotval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSignalPilot<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSLocator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pilotval: super::Pilot) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSignalPilot(::core::mem::transmute_copy(&pilotval)).into()
}
Self {
base__: IDVBSLocator_Vtbl::new::<Identity, Impl, OFFSET>(),
DiseqLNBSource: DiseqLNBSource::<Identity, Impl, OFFSET>,
SetDiseqLNBSource: SetDiseqLNBSource::<Identity, Impl, OFFSET>,
LocalOscillatorOverrideLow: LocalOscillatorOverrideLow::<Identity, Impl, OFFSET>,
SetLocalOscillatorOverrideLow: SetLocalOscillatorOverrideLow::<Identity, Impl, OFFSET>,
LocalOscillatorOverrideHigh: LocalOscillatorOverrideHigh::<Identity, Impl, OFFSET>,
SetLocalOscillatorOverrideHigh: SetLocalOscillatorOverrideHigh::<Identity, Impl, OFFSET>,
LocalLNBSwitchOverride: LocalLNBSwitchOverride::<Identity, Impl, OFFSET>,
SetLocalLNBSwitchOverride: SetLocalLNBSwitchOverride::<Identity, Impl, OFFSET>,
LocalSpectralInversionOverride: LocalSpectralInversionOverride::<Identity, Impl, OFFSET>,
SetLocalSpectralInversionOverride: SetLocalSpectralInversionOverride::<Identity, Impl, OFFSET>,
SignalRollOff: SignalRollOff::<Identity, Impl, OFFSET>,
SetSignalRollOff: SetSignalRollOff::<Identity, Impl, OFFSET>,
SignalPilot: SignalPilot::<Identity, Impl, OFFSET>,
SetSignalPilot: SetSignalPilot::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVBSLocator2 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ILocator as ::windows_core::ComInterface>::IID || *iid == <IDigitalLocator as ::windows_core::ComInterface>::IID || *iid == <IDVBSLocator as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IDVBSTuningSpace_Impl: Sized + IDVBTuningSpace2_Impl {
fn LowOscillator(&self) -> ::windows_core::Result<i32>;
fn SetLowOscillator(&self, lowoscillator: i32) -> ::windows_core::Result<()>;
fn HighOscillator(&self) -> ::windows_core::Result<i32>;
fn SetHighOscillator(&self, highoscillator: i32) -> ::windows_core::Result<()>;
fn LNBSwitch(&self) -> ::windows_core::Result<i32>;
fn SetLNBSwitch(&self, lnbswitch: i32) -> ::windows_core::Result<()>;
fn InputRange(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetInputRange(&self, inputrange: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn SpectralInversion(&self) -> ::windows_core::Result<super::SpectralInversion>;
fn SetSpectralInversion(&self, spectralinversionval: super::SpectralInversion) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IDVBSTuningSpace {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IDVBSTuningSpace_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSTuningSpace_Impl, const OFFSET: isize>() -> IDVBSTuningSpace_Vtbl {
unsafe extern "system" fn LowOscillator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lowoscillator: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.LowOscillator() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lowoscillator, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLowOscillator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lowoscillator: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLowOscillator(::core::mem::transmute_copy(&lowoscillator)).into()
}
unsafe extern "system" fn HighOscillator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, highoscillator: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.HighOscillator() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(highoscillator, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetHighOscillator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, highoscillator: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetHighOscillator(::core::mem::transmute_copy(&highoscillator)).into()
}
unsafe extern "system" fn LNBSwitch<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lnbswitch: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.LNBSwitch() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lnbswitch, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLNBSwitch<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lnbswitch: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLNBSwitch(::core::mem::transmute_copy(&lnbswitch)).into()
}
unsafe extern "system" fn InputRange<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, inputrange: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.InputRange() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(inputrange, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputRange<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, inputrange: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInputRange(::core::mem::transmute(&inputrange)).into()
}
unsafe extern "system" fn SpectralInversion<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, spectralinversionval: *mut super::SpectralInversion) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SpectralInversion() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(spectralinversionval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSpectralInversion<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBSTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, spectralinversionval: super::SpectralInversion) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpectralInversion(::core::mem::transmute_copy(&spectralinversionval)).into()
}
Self {
base__: IDVBTuningSpace2_Vtbl::new::<Identity, Impl, OFFSET>(),
LowOscillator: LowOscillator::<Identity, Impl, OFFSET>,
SetLowOscillator: SetLowOscillator::<Identity, Impl, OFFSET>,
HighOscillator: HighOscillator::<Identity, Impl, OFFSET>,
SetHighOscillator: SetHighOscillator::<Identity, Impl, OFFSET>,
LNBSwitch: LNBSwitch::<Identity, Impl, OFFSET>,
SetLNBSwitch: SetLNBSwitch::<Identity, Impl, OFFSET>,
InputRange: InputRange::<Identity, Impl, OFFSET>,
SetInputRange: SetInputRange::<Identity, Impl, OFFSET>,
SpectralInversion: SpectralInversion::<Identity, Impl, OFFSET>,
SetSpectralInversion: SetSpectralInversion::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVBSTuningSpace as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ITuningSpace as ::windows_core::ComInterface>::IID || *iid == <IDVBTuningSpace as ::windows_core::ComInterface>::IID || *iid == <IDVBTuningSpace2 as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IDVBTLocator_Impl: Sized + IDigitalLocator_Impl {
fn Bandwidth(&self) -> ::windows_core::Result<i32>;
fn SetBandwidth(&self, bandwidthval: i32) -> ::windows_core::Result<()>;
fn LPInnerFEC(&self) -> ::windows_core::Result<super::FECMethod>;
fn SetLPInnerFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()>;
fn LPInnerFECRate(&self) -> ::windows_core::Result<super::BinaryConvolutionCodeRate>;
fn SetLPInnerFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()>;
fn HAlpha(&self) -> ::windows_core::Result<super::HierarchyAlpha>;
fn SetHAlpha(&self, alpha: super::HierarchyAlpha) -> ::windows_core::Result<()>;
fn Guard(&self) -> ::windows_core::Result<super::GuardInterval>;
fn SetGuard(&self, gi: super::GuardInterval) -> ::windows_core::Result<()>;
fn Mode(&self) -> ::windows_core::Result<super::TransmissionMode>;
fn SetMode(&self, mode: super::TransmissionMode) -> ::windows_core::Result<()>;
fn OtherFrequencyInUse(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetOtherFrequencyInUse(&self, otherfrequencyinuseval: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IDVBTLocator {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IDVBTLocator_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTLocator_Impl, const OFFSET: isize>() -> IDVBTLocator_Vtbl {
unsafe extern "system" fn Bandwidth<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bandwidthval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Bandwidth() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bandwidthval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetBandwidth<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bandwidthval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetBandwidth(::core::mem::transmute_copy(&bandwidthval)).into()
}
unsafe extern "system" fn LPInnerFEC<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fec: *mut super::FECMethod) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.LPInnerFEC() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(fec, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLPInnerFEC<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fec: super::FECMethod) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLPInnerFEC(::core::mem::transmute_copy(&fec)).into()
}
unsafe extern "system" fn LPInnerFECRate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fec: *mut super::BinaryConvolutionCodeRate) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.LPInnerFECRate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(fec, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLPInnerFECRate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLPInnerFECRate(::core::mem::transmute_copy(&fec)).into()
}
unsafe extern "system" fn HAlpha<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, alpha: *mut super::HierarchyAlpha) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.HAlpha() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(alpha, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetHAlpha<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, alpha: super::HierarchyAlpha) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetHAlpha(::core::mem::transmute_copy(&alpha)).into()
}
unsafe extern "system" fn Guard<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, gi: *mut super::GuardInterval) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Guard() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(gi, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetGuard<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, gi: super::GuardInterval) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetGuard(::core::mem::transmute_copy(&gi)).into()
}
unsafe extern "system" fn Mode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mode: *mut super::TransmissionMode) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Mode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mode, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mode: super::TransmissionMode) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMode(::core::mem::transmute_copy(&mode)).into()
}
unsafe extern "system" fn OtherFrequencyInUse<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, otherfrequencyinuseval: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OtherFrequencyInUse() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(otherfrequencyinuseval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOtherFrequencyInUse<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, otherfrequencyinuseval: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOtherFrequencyInUse(::core::mem::transmute_copy(&otherfrequencyinuseval)).into()
}
Self {
base__: IDigitalLocator_Vtbl::new::<Identity, Impl, OFFSET>(),
Bandwidth: Bandwidth::<Identity, Impl, OFFSET>,
SetBandwidth: SetBandwidth::<Identity, Impl, OFFSET>,
LPInnerFEC: LPInnerFEC::<Identity, Impl, OFFSET>,
SetLPInnerFEC: SetLPInnerFEC::<Identity, Impl, OFFSET>,
LPInnerFECRate: LPInnerFECRate::<Identity, Impl, OFFSET>,
SetLPInnerFECRate: SetLPInnerFECRate::<Identity, Impl, OFFSET>,
HAlpha: HAlpha::<Identity, Impl, OFFSET>,
SetHAlpha: SetHAlpha::<Identity, Impl, OFFSET>,
Guard: Guard::<Identity, Impl, OFFSET>,
SetGuard: SetGuard::<Identity, Impl, OFFSET>,
Mode: Mode::<Identity, Impl, OFFSET>,
SetMode: SetMode::<Identity, Impl, OFFSET>,
OtherFrequencyInUse: OtherFrequencyInUse::<Identity, Impl, OFFSET>,
SetOtherFrequencyInUse: SetOtherFrequencyInUse::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVBTLocator as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ILocator as ::windows_core::ComInterface>::IID || *iid == <IDigitalLocator as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IDVBTLocator2_Impl: Sized + IDVBTLocator_Impl {
fn PhysicalLayerPipeId(&self) -> ::windows_core::Result<i32>;
fn SetPhysicalLayerPipeId(&self, physicallayerpipeidval: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IDVBTLocator2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IDVBTLocator2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTLocator2_Impl, const OFFSET: isize>() -> IDVBTLocator2_Vtbl {
unsafe extern "system" fn PhysicalLayerPipeId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTLocator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, physicallayerpipeidval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PhysicalLayerPipeId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(physicallayerpipeidval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPhysicalLayerPipeId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTLocator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, physicallayerpipeidval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPhysicalLayerPipeId(::core::mem::transmute_copy(&physicallayerpipeidval)).into()
}
Self {
base__: IDVBTLocator_Vtbl::new::<Identity, Impl, OFFSET>(),
PhysicalLayerPipeId: PhysicalLayerPipeId::<Identity, Impl, OFFSET>,
SetPhysicalLayerPipeId: SetPhysicalLayerPipeId::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVBTLocator2 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ILocator as ::windows_core::ComInterface>::IID || *iid == <IDigitalLocator as ::windows_core::ComInterface>::IID || *iid == <IDVBTLocator as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IDVBTuneRequest_Impl: Sized + ITuneRequest_Impl {
fn ONID(&self) -> ::windows_core::Result<i32>;
fn SetONID(&self, onid: i32) -> ::windows_core::Result<()>;
fn TSID(&self) -> ::windows_core::Result<i32>;
fn SetTSID(&self, tsid: i32) -> ::windows_core::Result<()>;
fn SID(&self) -> ::windows_core::Result<i32>;
fn SetSID(&self, sid: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IDVBTuneRequest {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IDVBTuneRequest_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTuneRequest_Impl, const OFFSET: isize>() -> IDVBTuneRequest_Vtbl {
unsafe extern "system" fn ONID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, onid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ONID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(onid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetONID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, onid: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetONID(::core::mem::transmute_copy(&onid)).into()
}
unsafe extern "system" fn TSID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tsid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TSID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(tsid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetTSID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tsid: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTSID(::core::mem::transmute_copy(&tsid)).into()
}
unsafe extern "system" fn SID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(sid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sid: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSID(::core::mem::transmute_copy(&sid)).into()
}
Self {
base__: ITuneRequest_Vtbl::new::<Identity, Impl, OFFSET>(),
ONID: ONID::<Identity, Impl, OFFSET>,
SetONID: SetONID::<Identity, Impl, OFFSET>,
TSID: TSID::<Identity, Impl, OFFSET>,
SetTSID: SetTSID::<Identity, Impl, OFFSET>,
SID: SID::<Identity, Impl, OFFSET>,
SetSID: SetSID::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVBTuneRequest as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ITuneRequest as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IDVBTuningSpace_Impl: Sized + ITuningSpace_Impl {
fn SystemType(&self) -> ::windows_core::Result<super::DVBSystemType>;
fn SetSystemType(&self, systype: super::DVBSystemType) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IDVBTuningSpace {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IDVBTuningSpace_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTuningSpace_Impl, const OFFSET: isize>() -> IDVBTuningSpace_Vtbl {
unsafe extern "system" fn SystemType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, systype: *mut super::DVBSystemType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SystemType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(systype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSystemType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, systype: super::DVBSystemType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSystemType(::core::mem::transmute_copy(&systype)).into()
}
Self {
base__: ITuningSpace_Vtbl::new::<Identity, Impl, OFFSET>(),
SystemType: SystemType::<Identity, Impl, OFFSET>,
SetSystemType: SetSystemType::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVBTuningSpace as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ITuningSpace as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IDVBTuningSpace2_Impl: Sized + IDVBTuningSpace_Impl {
fn NetworkID(&self) -> ::windows_core::Result<i32>;
fn SetNetworkID(&self, networkid: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IDVBTuningSpace2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IDVBTuningSpace2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTuningSpace2_Impl, const OFFSET: isize>() -> IDVBTuningSpace2_Vtbl {
unsafe extern "system" fn NetworkID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTuningSpace2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, networkid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.NetworkID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(networkid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNetworkID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVBTuningSpace2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, networkid: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNetworkID(::core::mem::transmute_copy(&networkid)).into()
}
Self {
base__: IDVBTuningSpace_Vtbl::new::<Identity, Impl, OFFSET>(),
NetworkID: NetworkID::<Identity, Impl, OFFSET>,
SetNetworkID: SetNetworkID::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVBTuningSpace2 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ITuningSpace as ::windows_core::ComInterface>::IID || *iid == <IDVBTuningSpace as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDVB_BAT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetBouquetId(&self) -> ::windows_core::Result<u16>;
fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result<u32>;
fn GetTableDescriptorByIndex(&self, dwindex: u32, ppdescriptor: *const ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u32>;
fn GetRecordTransportStreamId(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordOriginalNetworkId(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result<u32>;
fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn RegisterForNextTable(&self, hnexttableavailable: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn GetNextTable(&self) -> ::windows_core::Result<IDVB_BAT>;
fn RegisterForWhenCurrent(&self, hnexttableiscurrent: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn ConvertNextToCurrent(&self) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IDVB_BAT {}
#[cfg(feature = "Win32_Foundation")]
impl IDVB_BAT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_BAT_Impl, const OFFSET: isize>() -> IDVB_BAT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_BAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_BAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBouquetId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_BAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBouquetId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfTableDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_BAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfTableDescriptors() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_BAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: u32, ppdescriptor: *const *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTableDescriptorByIndex(::core::mem::transmute_copy(&dwindex), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn GetTableDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_BAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTableDescriptorByTag(::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_BAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordTransportStreamId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_BAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordTransportStreamId(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordOriginalNetworkId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_BAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordOriginalNetworkId(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCountOfDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_BAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCountOfDescriptors(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_BAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDescriptorByIndex(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_BAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordDescriptorByTag(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn RegisterForNextTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_BAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hnexttableavailable: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterForNextTable(::core::mem::transmute_copy(&hnexttableavailable)).into()
}
unsafe extern "system" fn GetNextTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_BAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppbat: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNextTable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppbat, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RegisterForWhenCurrent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_BAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hnexttableiscurrent: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterForWhenCurrent(::core::mem::transmute_copy(&hnexttableiscurrent)).into()
}
unsafe extern "system" fn ConvertNextToCurrent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_BAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ConvertNextToCurrent().into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetBouquetId: GetBouquetId::<Identity, Impl, OFFSET>,
GetCountOfTableDescriptors: GetCountOfTableDescriptors::<Identity, Impl, OFFSET>,
GetTableDescriptorByIndex: GetTableDescriptorByIndex::<Identity, Impl, OFFSET>,
GetTableDescriptorByTag: GetTableDescriptorByTag::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordTransportStreamId: GetRecordTransportStreamId::<Identity, Impl, OFFSET>,
GetRecordOriginalNetworkId: GetRecordOriginalNetworkId::<Identity, Impl, OFFSET>,
GetRecordCountOfDescriptors: GetRecordCountOfDescriptors::<Identity, Impl, OFFSET>,
GetRecordDescriptorByIndex: GetRecordDescriptorByIndex::<Identity, Impl, OFFSET>,
GetRecordDescriptorByTag: GetRecordDescriptorByTag::<Identity, Impl, OFFSET>,
RegisterForNextTable: RegisterForNextTable::<Identity, Impl, OFFSET>,
GetNextTable: GetNextTable::<Identity, Impl, OFFSET>,
RegisterForWhenCurrent: RegisterForWhenCurrent::<Identity, Impl, OFFSET>,
ConvertNextToCurrent: ConvertNextToCurrent::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVB_BAT as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDVB_DIT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>) -> ::windows_core::Result<()>;
fn GetTransitionFlag(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IDVB_DIT {}
#[cfg(feature = "Win32_Foundation")]
impl IDVB_DIT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_DIT_Impl, const OFFSET: isize>() -> IDVB_DIT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_DIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist)).into()
}
unsafe extern "system" fn GetTransitionFlag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_DIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfval: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTransitionFlag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetTransitionFlag: GetTransitionFlag::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVB_DIT as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDVB_EIT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetServiceId(&self) -> ::windows_core::Result<u16>;
fn GetTransportStreamId(&self) -> ::windows_core::Result<u16>;
fn GetOriginalNetworkId(&self) -> ::windows_core::Result<u16>;
fn GetSegmentLastSectionNumber(&self) -> ::windows_core::Result<u8>;
fn GetLastTableId(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u32>;
fn GetRecordEventId(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordStartTime(&self, dwrecordindex: u32) -> ::windows_core::Result<MPEG_DATE_AND_TIME>;
fn GetRecordDuration(&self, dwrecordindex: u32) -> ::windows_core::Result<MPEG_TIME>;
fn GetRecordRunningStatus(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordFreeCAMode(&self, dwrecordindex: u32) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result<u32>;
fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn RegisterForNextTable(&self, hnexttableavailable: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn GetNextTable(&self) -> ::windows_core::Result<IDVB_EIT>;
fn RegisterForWhenCurrent(&self, hnexttableiscurrent: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn ConvertNextToCurrent(&self) -> ::windows_core::Result<()>;
fn GetVersionHash(&self) -> ::windows_core::Result<u32>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IDVB_EIT {}
#[cfg(feature = "Win32_Foundation")]
impl IDVB_EIT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>() -> IDVB_EIT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetServiceId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetServiceId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTransportStreamId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTransportStreamId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetOriginalNetworkId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOriginalNetworkId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSegmentLastSectionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSegmentLastSectionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLastTableId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLastTableId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordEventId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordEventId(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordStartTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pmdtval: *mut MPEG_DATE_AND_TIME) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordStartTime(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pmdtval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDuration<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pmdval: *mut MPEG_TIME) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDuration(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pmdval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordRunningStatus<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordRunningStatus(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordFreeCAMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pfval: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordFreeCAMode(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCountOfDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCountOfDescriptors(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDescriptorByIndex(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordDescriptorByTag(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn RegisterForNextTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hnexttableavailable: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterForNextTable(::core::mem::transmute_copy(&hnexttableavailable)).into()
}
unsafe extern "system" fn GetNextTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppeit: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNextTable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppeit, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RegisterForWhenCurrent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hnexttableiscurrent: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterForWhenCurrent(::core::mem::transmute_copy(&hnexttableiscurrent)).into()
}
unsafe extern "system" fn ConvertNextToCurrent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ConvertNextToCurrent().into()
}
unsafe extern "system" fn GetVersionHash<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwversionhash: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionHash() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwversionhash, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetServiceId: GetServiceId::<Identity, Impl, OFFSET>,
GetTransportStreamId: GetTransportStreamId::<Identity, Impl, OFFSET>,
GetOriginalNetworkId: GetOriginalNetworkId::<Identity, Impl, OFFSET>,
GetSegmentLastSectionNumber: GetSegmentLastSectionNumber::<Identity, Impl, OFFSET>,
GetLastTableId: GetLastTableId::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordEventId: GetRecordEventId::<Identity, Impl, OFFSET>,
GetRecordStartTime: GetRecordStartTime::<Identity, Impl, OFFSET>,
GetRecordDuration: GetRecordDuration::<Identity, Impl, OFFSET>,
GetRecordRunningStatus: GetRecordRunningStatus::<Identity, Impl, OFFSET>,
GetRecordFreeCAMode: GetRecordFreeCAMode::<Identity, Impl, OFFSET>,
GetRecordCountOfDescriptors: GetRecordCountOfDescriptors::<Identity, Impl, OFFSET>,
GetRecordDescriptorByIndex: GetRecordDescriptorByIndex::<Identity, Impl, OFFSET>,
GetRecordDescriptorByTag: GetRecordDescriptorByTag::<Identity, Impl, OFFSET>,
RegisterForNextTable: RegisterForNextTable::<Identity, Impl, OFFSET>,
GetNextTable: GetNextTable::<Identity, Impl, OFFSET>,
RegisterForWhenCurrent: RegisterForWhenCurrent::<Identity, Impl, OFFSET>,
ConvertNextToCurrent: ConvertNextToCurrent::<Identity, Impl, OFFSET>,
GetVersionHash: GetVersionHash::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVB_EIT as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDVB_EIT2_Impl: Sized + IDVB_EIT_Impl {
fn GetSegmentInfo(&self, pbtid: *mut u8, pbsegment: *mut u8) -> ::windows_core::Result<()>;
fn GetRecordSection(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IDVB_EIT2 {}
#[cfg(feature = "Win32_Foundation")]
impl IDVB_EIT2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT2_Impl, const OFFSET: isize>() -> IDVB_EIT2_Vtbl {
unsafe extern "system" fn GetSegmentInfo<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbtid: *mut u8, pbsegment: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSegmentInfo(::core::mem::transmute_copy(&pbtid), ::core::mem::transmute_copy(&pbsegment)).into()
}
unsafe extern "system" fn GetRecordSection<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_EIT2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordSection(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IDVB_EIT_Vtbl::new::<Identity, Impl, OFFSET>(),
GetSegmentInfo: GetSegmentInfo::<Identity, Impl, OFFSET>,
GetRecordSection: GetRecordSection::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVB_EIT2 as ::windows_core::ComInterface>::IID || *iid == <IDVB_EIT as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDVB_NIT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetNetworkId(&self) -> ::windows_core::Result<u16>;
fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result<u32>;
fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u32>;
fn GetRecordTransportStreamId(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordOriginalNetworkId(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result<u32>;
fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn RegisterForNextTable(&self, hnexttableavailable: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn GetNextTable(&self) -> ::windows_core::Result<IDVB_NIT>;
fn RegisterForWhenCurrent(&self, hnexttableiscurrent: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn ConvertNextToCurrent(&self) -> ::windows_core::Result<()>;
fn GetVersionHash(&self) -> ::windows_core::Result<u32>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IDVB_NIT {}
#[cfg(feature = "Win32_Foundation")]
impl IDVB_NIT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_NIT_Impl, const OFFSET: isize>() -> IDVB_NIT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_NIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_NIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNetworkId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_NIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNetworkId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfTableDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_NIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfTableDescriptors() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_NIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTableDescriptorByIndex(::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_NIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTableDescriptorByTag(::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_NIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordTransportStreamId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_NIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordTransportStreamId(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordOriginalNetworkId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_NIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordOriginalNetworkId(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCountOfDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_NIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCountOfDescriptors(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_NIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDescriptorByIndex(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_NIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordDescriptorByTag(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn RegisterForNextTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_NIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hnexttableavailable: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterForNextTable(::core::mem::transmute_copy(&hnexttableavailable)).into()
}
unsafe extern "system" fn GetNextTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_NIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppnit: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNextTable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppnit, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RegisterForWhenCurrent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_NIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hnexttableiscurrent: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterForWhenCurrent(::core::mem::transmute_copy(&hnexttableiscurrent)).into()
}
unsafe extern "system" fn ConvertNextToCurrent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_NIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ConvertNextToCurrent().into()
}
unsafe extern "system" fn GetVersionHash<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_NIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwversionhash: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionHash() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwversionhash, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetNetworkId: GetNetworkId::<Identity, Impl, OFFSET>,
GetCountOfTableDescriptors: GetCountOfTableDescriptors::<Identity, Impl, OFFSET>,
GetTableDescriptorByIndex: GetTableDescriptorByIndex::<Identity, Impl, OFFSET>,
GetTableDescriptorByTag: GetTableDescriptorByTag::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordTransportStreamId: GetRecordTransportStreamId::<Identity, Impl, OFFSET>,
GetRecordOriginalNetworkId: GetRecordOriginalNetworkId::<Identity, Impl, OFFSET>,
GetRecordCountOfDescriptors: GetRecordCountOfDescriptors::<Identity, Impl, OFFSET>,
GetRecordDescriptorByIndex: GetRecordDescriptorByIndex::<Identity, Impl, OFFSET>,
GetRecordDescriptorByTag: GetRecordDescriptorByTag::<Identity, Impl, OFFSET>,
RegisterForNextTable: RegisterForNextTable::<Identity, Impl, OFFSET>,
GetNextTable: GetNextTable::<Identity, Impl, OFFSET>,
RegisterForWhenCurrent: RegisterForWhenCurrent::<Identity, Impl, OFFSET>,
ConvertNextToCurrent: ConvertNextToCurrent::<Identity, Impl, OFFSET>,
GetVersionHash: GetVersionHash::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVB_NIT as ::windows_core::ComInterface>::IID
}
}
pub trait IDVB_RST_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>) -> ::windows_core::Result<()>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u32>;
fn GetRecordTransportStreamId(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordOriginalNetworkId(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordServiceId(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordEventId(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordRunningStatus(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
}
impl ::windows_core::RuntimeName for IDVB_RST {}
impl IDVB_RST_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_RST_Impl, const OFFSET: isize>() -> IDVB_RST_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_RST_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist)).into()
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_RST_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordTransportStreamId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_RST_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordTransportStreamId(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordOriginalNetworkId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_RST_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordOriginalNetworkId(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordServiceId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_RST_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordServiceId(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordEventId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_RST_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordEventId(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordRunningStatus<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_RST_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordRunningStatus(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordTransportStreamId: GetRecordTransportStreamId::<Identity, Impl, OFFSET>,
GetRecordOriginalNetworkId: GetRecordOriginalNetworkId::<Identity, Impl, OFFSET>,
GetRecordServiceId: GetRecordServiceId::<Identity, Impl, OFFSET>,
GetRecordEventId: GetRecordEventId::<Identity, Impl, OFFSET>,
GetRecordRunningStatus: GetRecordRunningStatus::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVB_RST as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDVB_SDT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetTransportStreamId(&self) -> ::windows_core::Result<u16>;
fn GetOriginalNetworkId(&self) -> ::windows_core::Result<u16>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u32>;
fn GetRecordServiceId(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordEITScheduleFlag(&self, dwrecordindex: u32) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn GetRecordEITPresentFollowingFlag(&self, dwrecordindex: u32) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn GetRecordRunningStatus(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordFreeCAMode(&self, dwrecordindex: u32) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result<u32>;
fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn RegisterForNextTable(&self, hnexttableavailable: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn GetNextTable(&self) -> ::windows_core::Result<IDVB_SDT>;
fn RegisterForWhenCurrent(&self, hnexttableiscurrent: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn ConvertNextToCurrent(&self) -> ::windows_core::Result<()>;
fn GetVersionHash(&self) -> ::windows_core::Result<u32>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IDVB_SDT {}
#[cfg(feature = "Win32_Foundation")]
impl IDVB_SDT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>() -> IDVB_SDT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTransportStreamId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTransportStreamId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetOriginalNetworkId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOriginalNetworkId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordServiceId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordServiceId(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordEITScheduleFlag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pfval: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordEITScheduleFlag(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordEITPresentFollowingFlag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pfval: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordEITPresentFollowingFlag(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordRunningStatus<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordRunningStatus(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordFreeCAMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pfval: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordFreeCAMode(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCountOfDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCountOfDescriptors(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDescriptorByIndex(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordDescriptorByTag(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn RegisterForNextTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hnexttableavailable: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterForNextTable(::core::mem::transmute_copy(&hnexttableavailable)).into()
}
unsafe extern "system" fn GetNextTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppsdt: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNextTable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsdt, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RegisterForWhenCurrent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hnexttableiscurrent: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterForWhenCurrent(::core::mem::transmute_copy(&hnexttableiscurrent)).into()
}
unsafe extern "system" fn ConvertNextToCurrent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ConvertNextToCurrent().into()
}
unsafe extern "system" fn GetVersionHash<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwversionhash: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionHash() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwversionhash, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetTransportStreamId: GetTransportStreamId::<Identity, Impl, OFFSET>,
GetOriginalNetworkId: GetOriginalNetworkId::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordServiceId: GetRecordServiceId::<Identity, Impl, OFFSET>,
GetRecordEITScheduleFlag: GetRecordEITScheduleFlag::<Identity, Impl, OFFSET>,
GetRecordEITPresentFollowingFlag: GetRecordEITPresentFollowingFlag::<Identity, Impl, OFFSET>,
GetRecordRunningStatus: GetRecordRunningStatus::<Identity, Impl, OFFSET>,
GetRecordFreeCAMode: GetRecordFreeCAMode::<Identity, Impl, OFFSET>,
GetRecordCountOfDescriptors: GetRecordCountOfDescriptors::<Identity, Impl, OFFSET>,
GetRecordDescriptorByIndex: GetRecordDescriptorByIndex::<Identity, Impl, OFFSET>,
GetRecordDescriptorByTag: GetRecordDescriptorByTag::<Identity, Impl, OFFSET>,
RegisterForNextTable: RegisterForNextTable::<Identity, Impl, OFFSET>,
GetNextTable: GetNextTable::<Identity, Impl, OFFSET>,
RegisterForWhenCurrent: RegisterForWhenCurrent::<Identity, Impl, OFFSET>,
ConvertNextToCurrent: ConvertNextToCurrent::<Identity, Impl, OFFSET>,
GetVersionHash: GetVersionHash::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVB_SDT as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDVB_SIT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result<u32>;
fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u32>;
fn GetRecordServiceId(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordRunningStatus(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result<u32>;
fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn RegisterForNextTable(&self, hnexttableavailable: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn GetNextTable(&self, dwtimeout: u32) -> ::windows_core::Result<IDVB_SIT>;
fn RegisterForWhenCurrent(&self, hnexttableiscurrent: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn ConvertNextToCurrent(&self) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IDVB_SIT {}
#[cfg(feature = "Win32_Foundation")]
impl IDVB_SIT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SIT_Impl, const OFFSET: isize>() -> IDVB_SIT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfTableDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfTableDescriptors() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTableDescriptorByIndex(::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTableDescriptorByTag(::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordServiceId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordServiceId(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordRunningStatus<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordRunningStatus(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCountOfDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCountOfDescriptors(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDescriptorByIndex(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordDescriptorByTag(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn RegisterForNextTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hnexttableavailable: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterForNextTable(::core::mem::transmute_copy(&hnexttableavailable)).into()
}
unsafe extern "system" fn GetNextTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwtimeout: u32, ppsit: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNextTable(::core::mem::transmute_copy(&dwtimeout)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsit, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RegisterForWhenCurrent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hnexttableiscurrent: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterForWhenCurrent(::core::mem::transmute_copy(&hnexttableiscurrent)).into()
}
unsafe extern "system" fn ConvertNextToCurrent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_SIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ConvertNextToCurrent().into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetCountOfTableDescriptors: GetCountOfTableDescriptors::<Identity, Impl, OFFSET>,
GetTableDescriptorByIndex: GetTableDescriptorByIndex::<Identity, Impl, OFFSET>,
GetTableDescriptorByTag: GetTableDescriptorByTag::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordServiceId: GetRecordServiceId::<Identity, Impl, OFFSET>,
GetRecordRunningStatus: GetRecordRunningStatus::<Identity, Impl, OFFSET>,
GetRecordCountOfDescriptors: GetRecordCountOfDescriptors::<Identity, Impl, OFFSET>,
GetRecordDescriptorByIndex: GetRecordDescriptorByIndex::<Identity, Impl, OFFSET>,
GetRecordDescriptorByTag: GetRecordDescriptorByTag::<Identity, Impl, OFFSET>,
RegisterForNextTable: RegisterForNextTable::<Identity, Impl, OFFSET>,
GetNextTable: GetNextTable::<Identity, Impl, OFFSET>,
RegisterForWhenCurrent: RegisterForWhenCurrent::<Identity, Impl, OFFSET>,
ConvertNextToCurrent: ConvertNextToCurrent::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVB_SIT as ::windows_core::ComInterface>::IID
}
}
pub trait IDVB_ST_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>) -> ::windows_core::Result<()>;
fn GetDataLength(&self) -> ::windows_core::Result<u16>;
fn GetData(&self) -> ::windows_core::Result<*mut u8>;
}
impl ::windows_core::RuntimeName for IDVB_ST {}
impl IDVB_ST_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_ST_Impl, const OFFSET: isize>() -> IDVB_ST_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_ST_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist)).into()
}
unsafe extern "system" fn GetDataLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_ST_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDataLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_ST_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppdata: *mut *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetData() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdata, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetDataLength: GetDataLength::<Identity, Impl, OFFSET>,
GetData: GetData::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVB_ST as ::windows_core::ComInterface>::IID
}
}
pub trait IDVB_TDT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>) -> ::windows_core::Result<()>;
fn GetUTCTime(&self) -> ::windows_core::Result<MPEG_DATE_AND_TIME>;
}
impl ::windows_core::RuntimeName for IDVB_TDT {}
impl IDVB_TDT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_TDT_Impl, const OFFSET: isize>() -> IDVB_TDT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_TDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist)).into()
}
unsafe extern "system" fn GetUTCTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_TDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmdtval: *mut MPEG_DATE_AND_TIME) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetUTCTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pmdtval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetUTCTime: GetUTCTime::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVB_TDT as ::windows_core::ComInterface>::IID
}
}
pub trait IDVB_TOT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>) -> ::windows_core::Result<()>;
fn GetUTCTime(&self) -> ::windows_core::Result<MPEG_DATE_AND_TIME>;
fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result<u32>;
fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IDVB_TOT {}
impl IDVB_TOT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_TOT_Impl, const OFFSET: isize>() -> IDVB_TOT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_TOT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist)).into()
}
unsafe extern "system" fn GetUTCTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_TOT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmdtval: *mut MPEG_DATE_AND_TIME) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetUTCTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pmdtval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfTableDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_TOT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfTableDescriptors() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_TOT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTableDescriptorByIndex(::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDVB_TOT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTableDescriptorByTag(::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetUTCTime: GetUTCTime::<Identity, Impl, OFFSET>,
GetCountOfTableDescriptors: GetCountOfTableDescriptors::<Identity, Impl, OFFSET>,
GetTableDescriptorByIndex: GetTableDescriptorByIndex::<Identity, Impl, OFFSET>,
GetTableDescriptorByTag: GetTableDescriptorByTag::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDVB_TOT as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IDigitalCableLocator_Impl: Sized + IATSCLocator2_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IDigitalCableLocator {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IDigitalCableLocator_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDigitalCableLocator_Impl, const OFFSET: isize>() -> IDigitalCableLocator_Vtbl {
Self { base__: IATSCLocator2_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDigitalCableLocator as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ILocator as ::windows_core::ComInterface>::IID || *iid == <IDigitalLocator as ::windows_core::ComInterface>::IID || *iid == <IATSCLocator as ::windows_core::ComInterface>::IID || *iid == <IATSCLocator2 as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IDigitalCableTuneRequest_Impl: Sized + IATSCChannelTuneRequest_Impl {
fn MajorChannel(&self) -> ::windows_core::Result<i32>;
fn SetMajorChannel(&self, majorchannel: i32) -> ::windows_core::Result<()>;
fn SourceID(&self) -> ::windows_core::Result<i32>;
fn SetSourceID(&self, sourceid: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IDigitalCableTuneRequest {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IDigitalCableTuneRequest_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDigitalCableTuneRequest_Impl, const OFFSET: isize>() -> IDigitalCableTuneRequest_Vtbl {
unsafe extern "system" fn MajorChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDigitalCableTuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmajorchannel: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MajorChannel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pmajorchannel, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMajorChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDigitalCableTuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, majorchannel: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMajorChannel(::core::mem::transmute_copy(&majorchannel)).into()
}
unsafe extern "system" fn SourceID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDigitalCableTuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psourceid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SourceID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(psourceid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSourceID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDigitalCableTuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sourceid: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSourceID(::core::mem::transmute_copy(&sourceid)).into()
}
Self {
base__: IATSCChannelTuneRequest_Vtbl::new::<Identity, Impl, OFFSET>(),
MajorChannel: MajorChannel::<Identity, Impl, OFFSET>,
SetMajorChannel: SetMajorChannel::<Identity, Impl, OFFSET>,
SourceID: SourceID::<Identity, Impl, OFFSET>,
SetSourceID: SetSourceID::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDigitalCableTuneRequest as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ITuneRequest as ::windows_core::ComInterface>::IID || *iid == <IChannelTuneRequest as ::windows_core::ComInterface>::IID || *iid == <IATSCChannelTuneRequest as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IDigitalCableTuningSpace_Impl: Sized + IATSCTuningSpace_Impl {
fn MinMajorChannel(&self) -> ::windows_core::Result<i32>;
fn SetMinMajorChannel(&self, newminmajorchannelval: i32) -> ::windows_core::Result<()>;
fn MaxMajorChannel(&self) -> ::windows_core::Result<i32>;
fn SetMaxMajorChannel(&self, newmaxmajorchannelval: i32) -> ::windows_core::Result<()>;
fn MinSourceID(&self) -> ::windows_core::Result<i32>;
fn SetMinSourceID(&self, newminsourceidval: i32) -> ::windows_core::Result<()>;
fn MaxSourceID(&self) -> ::windows_core::Result<i32>;
fn SetMaxSourceID(&self, newmaxsourceidval: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IDigitalCableTuningSpace {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IDigitalCableTuningSpace_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDigitalCableTuningSpace_Impl, const OFFSET: isize>() -> IDigitalCableTuningSpace_Vtbl {
unsafe extern "system" fn MinMajorChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDigitalCableTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, minmajorchannelval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MinMajorChannel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(minmajorchannelval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMinMajorChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDigitalCableTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newminmajorchannelval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMinMajorChannel(::core::mem::transmute_copy(&newminmajorchannelval)).into()
}
unsafe extern "system" fn MaxMajorChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDigitalCableTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, maxmajorchannelval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MaxMajorChannel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(maxmajorchannelval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMaxMajorChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDigitalCableTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newmaxmajorchannelval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMaxMajorChannel(::core::mem::transmute_copy(&newmaxmajorchannelval)).into()
}
unsafe extern "system" fn MinSourceID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDigitalCableTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, minsourceidval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MinSourceID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(minsourceidval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMinSourceID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDigitalCableTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newminsourceidval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMinSourceID(::core::mem::transmute_copy(&newminsourceidval)).into()
}
unsafe extern "system" fn MaxSourceID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDigitalCableTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, maxsourceidval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MaxSourceID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(maxsourceidval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMaxSourceID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDigitalCableTuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newmaxsourceidval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMaxSourceID(::core::mem::transmute_copy(&newmaxsourceidval)).into()
}
Self {
base__: IATSCTuningSpace_Vtbl::new::<Identity, Impl, OFFSET>(),
MinMajorChannel: MinMajorChannel::<Identity, Impl, OFFSET>,
SetMinMajorChannel: SetMinMajorChannel::<Identity, Impl, OFFSET>,
MaxMajorChannel: MaxMajorChannel::<Identity, Impl, OFFSET>,
SetMaxMajorChannel: SetMaxMajorChannel::<Identity, Impl, OFFSET>,
MinSourceID: MinSourceID::<Identity, Impl, OFFSET>,
SetMinSourceID: SetMinSourceID::<Identity, Impl, OFFSET>,
MaxSourceID: MaxSourceID::<Identity, Impl, OFFSET>,
SetMaxSourceID: SetMaxSourceID::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDigitalCableTuningSpace as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ITuningSpace as ::windows_core::ComInterface>::IID || *iid == <IAnalogTVTuningSpace as ::windows_core::ComInterface>::IID || *iid == <IATSCTuningSpace as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IDigitalLocator_Impl: Sized + ILocator_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IDigitalLocator {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IDigitalLocator_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDigitalLocator_Impl, const OFFSET: isize>() -> IDigitalLocator_Vtbl {
Self { base__: ILocator_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDigitalLocator as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ILocator as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbCableDeliverySystemDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetFrequency(&self) -> ::windows_core::Result<u32>;
fn GetFECOuter(&self) -> ::windows_core::Result<u8>;
fn GetModulation(&self) -> ::windows_core::Result<u8>;
fn GetSymbolRate(&self) -> ::windows_core::Result<u32>;
fn GetFECInner(&self) -> ::windows_core::Result<u8>;
}
impl ::windows_core::RuntimeName for IDvbCableDeliverySystemDescriptor {}
impl IDvbCableDeliverySystemDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbCableDeliverySystemDescriptor_Impl, const OFFSET: isize>() -> IDvbCableDeliverySystemDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbCableDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbCableDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFrequency<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbCableDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFrequency() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFECOuter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbCableDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFECOuter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModulation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbCableDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetModulation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolRate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbCableDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolRate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFECInner<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbCableDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFECInner() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetFrequency: GetFrequency::<Identity, Impl, OFFSET>,
GetFECOuter: GetFECOuter::<Identity, Impl, OFFSET>,
GetModulation: GetModulation::<Identity, Impl, OFFSET>,
GetSymbolRate: GetSymbolRate::<Identity, Impl, OFFSET>,
GetFECInner: GetFECInner::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbCableDeliverySystemDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbComponentDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetStreamContent(&self) -> ::windows_core::Result<u8>;
fn GetComponentType(&self) -> ::windows_core::Result<u8>;
fn GetComponentTag(&self) -> ::windows_core::Result<u8>;
fn GetLanguageCode(&self, pszcode: *mut u8) -> ::windows_core::Result<()>;
fn GetTextW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
}
impl ::windows_core::RuntimeName for IDvbComponentDescriptor {}
impl IDvbComponentDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbComponentDescriptor_Impl, const OFFSET: isize>() -> IDvbComponentDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStreamContent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStreamContent() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetComponentType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetComponentType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetComponentTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetComponentTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLanguageCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszcode: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLanguageCode(::core::mem::transmute_copy(&pszcode)).into()
}
unsafe extern "system" fn GetTextW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, convmode: DVB_STRCONV_MODE, pbstrtext: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTextW(::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrtext, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetStreamContent: GetStreamContent::<Identity, Impl, OFFSET>,
GetComponentType: GetComponentType::<Identity, Impl, OFFSET>,
GetComponentTag: GetComponentTag::<Identity, Impl, OFFSET>,
GetLanguageCode: GetLanguageCode::<Identity, Impl, OFFSET>,
GetTextW: GetTextW::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbComponentDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbContentDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetRecordContentNibbles(&self, brecordindex: u8, pbvallevel1: *mut u8, pbvallevel2: *mut u8) -> ::windows_core::Result<()>;
fn GetRecordUserNibbles(&self, brecordindex: u8, pbval1: *mut u8, pbval2: *mut u8) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IDvbContentDescriptor {}
impl IDvbContentDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbContentDescriptor_Impl, const OFFSET: isize>() -> IDvbContentDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordContentNibbles<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbvallevel1: *mut u8, pbvallevel2: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordContentNibbles(::core::mem::transmute_copy(&brecordindex), ::core::mem::transmute_copy(&pbvallevel1), ::core::mem::transmute_copy(&pbvallevel2)).into()
}
unsafe extern "system" fn GetRecordUserNibbles<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbval1: *mut u8, pbval2: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordUserNibbles(::core::mem::transmute_copy(&brecordindex), ::core::mem::transmute_copy(&pbval1), ::core::mem::transmute_copy(&pbval2)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordContentNibbles: GetRecordContentNibbles::<Identity, Impl, OFFSET>,
GetRecordUserNibbles: GetRecordUserNibbles::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbContentDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbContentIdentifierDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetRecordCrid(&self, brecordindex: u8, pbtype: *mut u8, pblocation: *mut u8, pblength: *mut u8, ppbbytes: *mut *mut u8) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IDvbContentIdentifierDescriptor {}
impl IDvbContentIdentifierDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbContentIdentifierDescriptor_Impl, const OFFSET: isize>() -> IDvbContentIdentifierDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbContentIdentifierDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbContentIdentifierDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbContentIdentifierDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCrid<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbContentIdentifierDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbtype: *mut u8, pblocation: *mut u8, pblength: *mut u8, ppbbytes: *mut *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordCrid(::core::mem::transmute_copy(&brecordindex), ::core::mem::transmute_copy(&pbtype), ::core::mem::transmute_copy(&pblocation), ::core::mem::transmute_copy(&pblength), ::core::mem::transmute_copy(&ppbbytes)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordCrid: GetRecordCrid::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbContentIdentifierDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbDataBroadcastDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetDataBroadcastID(&self) -> ::windows_core::Result<u16>;
fn GetComponentTag(&self) -> ::windows_core::Result<u8>;
fn GetSelectorLength(&self) -> ::windows_core::Result<u8>;
fn GetSelectorBytes(&self, pblen: *mut u8, pbval: *mut u8) -> ::windows_core::Result<()>;
fn GetLangID(&self) -> ::windows_core::Result<u32>;
fn GetTextLength(&self) -> ::windows_core::Result<u8>;
fn GetText(&self, pblen: *mut u8, pbval: *mut u8) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IDvbDataBroadcastDescriptor {}
impl IDvbDataBroadcastDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDataBroadcastDescriptor_Impl, const OFFSET: isize>() -> IDvbDataBroadcastDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDataBroadcastDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDataBroadcastDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDataBroadcastID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDataBroadcastDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDataBroadcastID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetComponentTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDataBroadcastDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetComponentTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSelectorLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDataBroadcastDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSelectorLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSelectorBytes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDataBroadcastDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblen: *mut u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSelectorBytes(::core::mem::transmute_copy(&pblen), ::core::mem::transmute_copy(&pbval)).into()
}
unsafe extern "system" fn GetLangID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDataBroadcastDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pulval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLangID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pulval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTextLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDataBroadcastDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTextLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetText<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDataBroadcastDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblen: *mut u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetText(::core::mem::transmute_copy(&pblen), ::core::mem::transmute_copy(&pbval)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetDataBroadcastID: GetDataBroadcastID::<Identity, Impl, OFFSET>,
GetComponentTag: GetComponentTag::<Identity, Impl, OFFSET>,
GetSelectorLength: GetSelectorLength::<Identity, Impl, OFFSET>,
GetSelectorBytes: GetSelectorBytes::<Identity, Impl, OFFSET>,
GetLangID: GetLangID::<Identity, Impl, OFFSET>,
GetTextLength: GetTextLength::<Identity, Impl, OFFSET>,
GetText: GetText::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbDataBroadcastDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbDataBroadcastIDDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetDataBroadcastID(&self) -> ::windows_core::Result<u16>;
fn GetIDSelectorBytes(&self, pblen: *mut u8, pbval: *mut u8) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IDvbDataBroadcastIDDescriptor {}
impl IDvbDataBroadcastIDDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDataBroadcastIDDescriptor_Impl, const OFFSET: isize>() -> IDvbDataBroadcastIDDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDataBroadcastIDDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDataBroadcastIDDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDataBroadcastID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDataBroadcastIDDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDataBroadcastID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetIDSelectorBytes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDataBroadcastIDDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblen: *mut u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetIDSelectorBytes(::core::mem::transmute_copy(&pblen), ::core::mem::transmute_copy(&pbval)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetDataBroadcastID: GetDataBroadcastID::<Identity, Impl, OFFSET>,
GetIDSelectorBytes: GetIDSelectorBytes::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbDataBroadcastIDDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbDefaultAuthorityDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetDefaultAuthority(&self, pblength: *mut u8, ppbbytes: *mut *mut u8) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IDvbDefaultAuthorityDescriptor {}
impl IDvbDefaultAuthorityDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDefaultAuthorityDescriptor_Impl, const OFFSET: isize>() -> IDvbDefaultAuthorityDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDefaultAuthorityDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDefaultAuthorityDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDefaultAuthority<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbDefaultAuthorityDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblength: *mut u8, ppbbytes: *mut *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDefaultAuthority(::core::mem::transmute_copy(&pblength), ::core::mem::transmute_copy(&ppbbytes)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetDefaultAuthority: GetDefaultAuthority::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbDefaultAuthorityDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbExtendedEventDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetDescriptorNumber(&self) -> ::windows_core::Result<u8>;
fn GetLastDescriptorNumber(&self) -> ::windows_core::Result<u8>;
fn GetLanguageCode(&self, pszcode: *mut u8) -> ::windows_core::Result<()>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetRecordItemW(&self, brecordindex: u8, convmode: DVB_STRCONV_MODE, pbstrdesc: *mut ::windows_core::BSTR, pbstritem: *mut ::windows_core::BSTR) -> ::windows_core::Result<()>;
fn GetConcatenatedItemW(&self, pfollowingdescriptor: ::core::option::Option<&IDvbExtendedEventDescriptor>, convmode: DVB_STRCONV_MODE, pbstrdesc: *mut ::windows_core::BSTR, pbstritem: *mut ::windows_core::BSTR) -> ::windows_core::Result<()>;
fn GetTextW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetConcatenatedTextW(&self, followingdescriptor: ::core::option::Option<&IDvbExtendedEventDescriptor>, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetRecordItemRawBytes(&self, brecordindex: u8, ppbrawitem: *mut *mut u8, pbitemlength: *mut u8) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IDvbExtendedEventDescriptor {}
impl IDvbExtendedEventDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbExtendedEventDescriptor_Impl, const OFFSET: isize>() -> IDvbExtendedEventDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbExtendedEventDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbExtendedEventDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDescriptorNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbExtendedEventDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDescriptorNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLastDescriptorNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbExtendedEventDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLastDescriptorNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLanguageCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbExtendedEventDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszcode: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLanguageCode(::core::mem::transmute_copy(&pszcode)).into()
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbExtendedEventDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordItemW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbExtendedEventDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, convmode: DVB_STRCONV_MODE, pbstrdesc: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>, pbstritem: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordItemW(::core::mem::transmute_copy(&brecordindex), ::core::mem::transmute_copy(&convmode), ::core::mem::transmute_copy(&pbstrdesc), ::core::mem::transmute_copy(&pbstritem)).into()
}
unsafe extern "system" fn GetConcatenatedItemW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbExtendedEventDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfollowingdescriptor: *mut ::core::ffi::c_void, convmode: DVB_STRCONV_MODE, pbstrdesc: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>, pbstritem: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetConcatenatedItemW(::windows_core::from_raw_borrowed(&pfollowingdescriptor), ::core::mem::transmute_copy(&convmode), ::core::mem::transmute_copy(&pbstrdesc), ::core::mem::transmute_copy(&pbstritem)).into()
}
unsafe extern "system" fn GetTextW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbExtendedEventDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, convmode: DVB_STRCONV_MODE, pbstrtext: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTextW(::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrtext, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetConcatenatedTextW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbExtendedEventDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, followingdescriptor: *mut ::core::ffi::c_void, convmode: DVB_STRCONV_MODE, pbstrtext: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetConcatenatedTextW(::windows_core::from_raw_borrowed(&followingdescriptor), ::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrtext, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordItemRawBytes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbExtendedEventDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, ppbrawitem: *mut *mut u8, pbitemlength: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordItemRawBytes(::core::mem::transmute_copy(&brecordindex), ::core::mem::transmute_copy(&ppbrawitem), ::core::mem::transmute_copy(&pbitemlength)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetDescriptorNumber: GetDescriptorNumber::<Identity, Impl, OFFSET>,
GetLastDescriptorNumber: GetLastDescriptorNumber::<Identity, Impl, OFFSET>,
GetLanguageCode: GetLanguageCode::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordItemW: GetRecordItemW::<Identity, Impl, OFFSET>,
GetConcatenatedItemW: GetConcatenatedItemW::<Identity, Impl, OFFSET>,
GetTextW: GetTextW::<Identity, Impl, OFFSET>,
GetConcatenatedTextW: GetConcatenatedTextW::<Identity, Impl, OFFSET>,
GetRecordItemRawBytes: GetRecordItemRawBytes::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbExtendedEventDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbFrequencyListDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetCodingType(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetRecordCentreFrequency(&self, brecordindex: u8) -> ::windows_core::Result<u32>;
}
impl ::windows_core::RuntimeName for IDvbFrequencyListDescriptor {}
impl IDvbFrequencyListDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbFrequencyListDescriptor_Impl, const OFFSET: isize>() -> IDvbFrequencyListDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbFrequencyListDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbFrequencyListDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCodingType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbFrequencyListDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCodingType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbFrequencyListDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCentreFrequency<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbFrequencyListDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCentreFrequency(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetCodingType: GetCodingType::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordCentreFrequency: GetRecordCentreFrequency::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbFrequencyListDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbHDSimulcastLogicalChannelDescriptor_Impl: Sized + IDvbLogicalChannelDescriptor2_Impl {}
impl ::windows_core::RuntimeName for IDvbHDSimulcastLogicalChannelDescriptor {}
impl IDvbHDSimulcastLogicalChannelDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbHDSimulcastLogicalChannelDescriptor_Impl, const OFFSET: isize>() -> IDvbHDSimulcastLogicalChannelDescriptor_Vtbl {
Self { base__: IDvbLogicalChannelDescriptor2_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbHDSimulcastLogicalChannelDescriptor as ::windows_core::ComInterface>::IID || *iid == <IDvbLogicalChannelDescriptor as ::windows_core::ComInterface>::IID || *iid == <IDvbLogicalChannelDescriptor2 as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbLinkageDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetTSId(&self) -> ::windows_core::Result<u16>;
fn GetONId(&self) -> ::windows_core::Result<u16>;
fn GetServiceId(&self) -> ::windows_core::Result<u16>;
fn GetLinkageType(&self) -> ::windows_core::Result<u8>;
fn GetPrivateDataLength(&self) -> ::windows_core::Result<u8>;
fn GetPrivateData(&self, pblen: *mut u8, pbdata: *mut u8) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IDvbLinkageDescriptor {}
impl IDvbLinkageDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLinkageDescriptor_Impl, const OFFSET: isize>() -> IDvbLinkageDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLinkageDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLinkageDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTSId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLinkageDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTSId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetONId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLinkageDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetONId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetServiceId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLinkageDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetServiceId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLinkageType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLinkageDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLinkageType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPrivateDataLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLinkageDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPrivateDataLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPrivateData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLinkageDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblen: *mut u8, pbdata: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPrivateData(::core::mem::transmute_copy(&pblen), ::core::mem::transmute_copy(&pbdata)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetTSId: GetTSId::<Identity, Impl, OFFSET>,
GetONId: GetONId::<Identity, Impl, OFFSET>,
GetServiceId: GetServiceId::<Identity, Impl, OFFSET>,
GetLinkageType: GetLinkageType::<Identity, Impl, OFFSET>,
GetPrivateDataLength: GetPrivateDataLength::<Identity, Impl, OFFSET>,
GetPrivateData: GetPrivateData::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbLinkageDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbLogicalChannel2Descriptor_Impl: Sized + IDvbLogicalChannelDescriptor2_Impl {
fn GetCountOfLists(&self) -> ::windows_core::Result<u8>;
fn GetListId(&self, blistindex: u8) -> ::windows_core::Result<u8>;
fn GetListNameW(&self, blistindex: u8, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetListCountryCode(&self, blistindex: u8, pszcode: *mut u8) -> ::windows_core::Result<()>;
fn GetListCountOfRecords(&self, bchannellistindex: u8) -> ::windows_core::Result<u8>;
fn GetListRecordServiceId(&self, blistindex: u8, brecordindex: u8) -> ::windows_core::Result<u16>;
fn GetListRecordLogicalChannelNumber(&self, blistindex: u8, brecordindex: u8) -> ::windows_core::Result<u16>;
fn GetListRecordLogicalChannelAndVisibility(&self, blistindex: u8, brecordindex: u8) -> ::windows_core::Result<u16>;
}
impl ::windows_core::RuntimeName for IDvbLogicalChannel2Descriptor {}
impl IDvbLogicalChannel2Descriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLogicalChannel2Descriptor_Impl, const OFFSET: isize>() -> IDvbLogicalChannel2Descriptor_Vtbl {
unsafe extern "system" fn GetCountOfLists<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLogicalChannel2Descriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfLists() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetListId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLogicalChannel2Descriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, blistindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetListId(::core::mem::transmute_copy(&blistindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetListNameW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLogicalChannel2Descriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, blistindex: u8, convmode: DVB_STRCONV_MODE, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetListNameW(::core::mem::transmute_copy(&blistindex), ::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetListCountryCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLogicalChannel2Descriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, blistindex: u8, pszcode: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetListCountryCode(::core::mem::transmute_copy(&blistindex), ::core::mem::transmute_copy(&pszcode)).into()
}
unsafe extern "system" fn GetListCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLogicalChannel2Descriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bchannellistindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetListCountOfRecords(::core::mem::transmute_copy(&bchannellistindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetListRecordServiceId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLogicalChannel2Descriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, blistindex: u8, brecordindex: u8, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetListRecordServiceId(::core::mem::transmute_copy(&blistindex), ::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetListRecordLogicalChannelNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLogicalChannel2Descriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, blistindex: u8, brecordindex: u8, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetListRecordLogicalChannelNumber(::core::mem::transmute_copy(&blistindex), ::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetListRecordLogicalChannelAndVisibility<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLogicalChannel2Descriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, blistindex: u8, brecordindex: u8, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetListRecordLogicalChannelAndVisibility(::core::mem::transmute_copy(&blistindex), ::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IDvbLogicalChannelDescriptor2_Vtbl::new::<Identity, Impl, OFFSET>(),
GetCountOfLists: GetCountOfLists::<Identity, Impl, OFFSET>,
GetListId: GetListId::<Identity, Impl, OFFSET>,
GetListNameW: GetListNameW::<Identity, Impl, OFFSET>,
GetListCountryCode: GetListCountryCode::<Identity, Impl, OFFSET>,
GetListCountOfRecords: GetListCountOfRecords::<Identity, Impl, OFFSET>,
GetListRecordServiceId: GetListRecordServiceId::<Identity, Impl, OFFSET>,
GetListRecordLogicalChannelNumber: GetListRecordLogicalChannelNumber::<Identity, Impl, OFFSET>,
GetListRecordLogicalChannelAndVisibility: GetListRecordLogicalChannelAndVisibility::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbLogicalChannel2Descriptor as ::windows_core::ComInterface>::IID || *iid == <IDvbLogicalChannelDescriptor as ::windows_core::ComInterface>::IID || *iid == <IDvbLogicalChannelDescriptor2 as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbLogicalChannelDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetRecordServiceId(&self, brecordindex: u8) -> ::windows_core::Result<u16>;
fn GetRecordLogicalChannelNumber(&self, brecordindex: u8) -> ::windows_core::Result<u16>;
}
impl ::windows_core::RuntimeName for IDvbLogicalChannelDescriptor {}
impl IDvbLogicalChannelDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLogicalChannelDescriptor_Impl, const OFFSET: isize>() -> IDvbLogicalChannelDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLogicalChannelDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLogicalChannelDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLogicalChannelDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordServiceId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLogicalChannelDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordServiceId(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordLogicalChannelNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLogicalChannelDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordLogicalChannelNumber(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordServiceId: GetRecordServiceId::<Identity, Impl, OFFSET>,
GetRecordLogicalChannelNumber: GetRecordLogicalChannelNumber::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbLogicalChannelDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbLogicalChannelDescriptor2_Impl: Sized + IDvbLogicalChannelDescriptor_Impl {
fn GetRecordLogicalChannelAndVisibility(&self, brecordindex: u8) -> ::windows_core::Result<u16>;
}
impl ::windows_core::RuntimeName for IDvbLogicalChannelDescriptor2 {}
impl IDvbLogicalChannelDescriptor2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLogicalChannelDescriptor2_Impl, const OFFSET: isize>() -> IDvbLogicalChannelDescriptor2_Vtbl {
unsafe extern "system" fn GetRecordLogicalChannelAndVisibility<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbLogicalChannelDescriptor2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordLogicalChannelAndVisibility(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IDvbLogicalChannelDescriptor_Vtbl::new::<Identity, Impl, OFFSET>(),
GetRecordLogicalChannelAndVisibility: GetRecordLogicalChannelAndVisibility::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbLogicalChannelDescriptor2 as ::windows_core::ComInterface>::IID || *iid == <IDvbLogicalChannelDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbMultilingualServiceNameDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetRecordLangId(&self, brecordindex: u8) -> ::windows_core::Result<u32>;
fn GetRecordServiceProviderNameW(&self, brecordindex: u8, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetRecordServiceNameW(&self, brecordindex: u8, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
}
impl ::windows_core::RuntimeName for IDvbMultilingualServiceNameDescriptor {}
impl IDvbMultilingualServiceNameDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbMultilingualServiceNameDescriptor_Impl, const OFFSET: isize>() -> IDvbMultilingualServiceNameDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbMultilingualServiceNameDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbMultilingualServiceNameDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbMultilingualServiceNameDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordLangId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbMultilingualServiceNameDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, ulval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordLangId(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ulval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordServiceProviderNameW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbMultilingualServiceNameDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, convmode: DVB_STRCONV_MODE, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordServiceProviderNameW(::core::mem::transmute_copy(&brecordindex), ::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordServiceNameW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbMultilingualServiceNameDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, convmode: DVB_STRCONV_MODE, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordServiceNameW(::core::mem::transmute_copy(&brecordindex), ::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordLangId: GetRecordLangId::<Identity, Impl, OFFSET>,
GetRecordServiceProviderNameW: GetRecordServiceProviderNameW::<Identity, Impl, OFFSET>,
GetRecordServiceNameW: GetRecordServiceNameW::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbMultilingualServiceNameDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbNetworkNameDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetNetworkName(&self) -> ::windows_core::Result<*mut u8>;
fn GetNetworkNameW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
}
impl ::windows_core::RuntimeName for IDvbNetworkNameDescriptor {}
impl IDvbNetworkNameDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbNetworkNameDescriptor_Impl, const OFFSET: isize>() -> IDvbNetworkNameDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbNetworkNameDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbNetworkNameDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNetworkName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbNetworkNameDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszname: *mut *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNetworkName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pszname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNetworkNameW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbNetworkNameDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, convmode: DVB_STRCONV_MODE, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNetworkNameW(::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetNetworkName: GetNetworkName::<Identity, Impl, OFFSET>,
GetNetworkNameW: GetNetworkNameW::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbNetworkNameDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbParentalRatingDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetRecordRating(&self, brecordindex: u8, pszcountrycode: *mut u8, pbval: *mut u8) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IDvbParentalRatingDescriptor {}
impl IDvbParentalRatingDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbParentalRatingDescriptor_Impl, const OFFSET: isize>() -> IDvbParentalRatingDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbParentalRatingDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbParentalRatingDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbParentalRatingDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordRating<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbParentalRatingDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pszcountrycode: *mut u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordRating(::core::mem::transmute_copy(&brecordindex), ::core::mem::transmute_copy(&pszcountrycode), ::core::mem::transmute_copy(&pbval)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordRating: GetRecordRating::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbParentalRatingDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbPrivateDataSpecifierDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetPrivateDataSpecifier(&self) -> ::windows_core::Result<u32>;
}
impl ::windows_core::RuntimeName for IDvbPrivateDataSpecifierDescriptor {}
impl IDvbPrivateDataSpecifierDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbPrivateDataSpecifierDescriptor_Impl, const OFFSET: isize>() -> IDvbPrivateDataSpecifierDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbPrivateDataSpecifierDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbPrivateDataSpecifierDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPrivateDataSpecifier<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbPrivateDataSpecifierDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPrivateDataSpecifier() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetPrivateDataSpecifier: GetPrivateDataSpecifier::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbPrivateDataSpecifierDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbSatelliteDeliverySystemDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetFrequency(&self) -> ::windows_core::Result<u32>;
fn GetOrbitalPosition(&self) -> ::windows_core::Result<u16>;
fn GetWestEastFlag(&self) -> ::windows_core::Result<u8>;
fn GetPolarization(&self) -> ::windows_core::Result<u8>;
fn GetModulation(&self) -> ::windows_core::Result<u8>;
fn GetSymbolRate(&self) -> ::windows_core::Result<u32>;
fn GetFECInner(&self) -> ::windows_core::Result<u8>;
}
impl ::windows_core::RuntimeName for IDvbSatelliteDeliverySystemDescriptor {}
impl IDvbSatelliteDeliverySystemDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSatelliteDeliverySystemDescriptor_Impl, const OFFSET: isize>() -> IDvbSatelliteDeliverySystemDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSatelliteDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSatelliteDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFrequency<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSatelliteDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFrequency() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetOrbitalPosition<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSatelliteDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOrbitalPosition() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetWestEastFlag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSatelliteDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetWestEastFlag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPolarization<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSatelliteDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPolarization() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModulation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSatelliteDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetModulation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolRate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSatelliteDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolRate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFECInner<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSatelliteDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFECInner() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetFrequency: GetFrequency::<Identity, Impl, OFFSET>,
GetOrbitalPosition: GetOrbitalPosition::<Identity, Impl, OFFSET>,
GetWestEastFlag: GetWestEastFlag::<Identity, Impl, OFFSET>,
GetPolarization: GetPolarization::<Identity, Impl, OFFSET>,
GetModulation: GetModulation::<Identity, Impl, OFFSET>,
GetSymbolRate: GetSymbolRate::<Identity, Impl, OFFSET>,
GetFECInner: GetFECInner::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbSatelliteDeliverySystemDescriptor as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDvbServiceAttributeDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetRecordServiceId(&self, brecordindex: u8) -> ::windows_core::Result<u16>;
fn GetRecordNumericSelectionFlag(&self, brecordindex: u8) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn GetRecordVisibleServiceFlag(&self, brecordindex: u8) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IDvbServiceAttributeDescriptor {}
#[cfg(feature = "Win32_Foundation")]
impl IDvbServiceAttributeDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceAttributeDescriptor_Impl, const OFFSET: isize>() -> IDvbServiceAttributeDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceAttributeDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceAttributeDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceAttributeDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordServiceId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceAttributeDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordServiceId(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordNumericSelectionFlag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceAttributeDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pfval: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordNumericSelectionFlag(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordVisibleServiceFlag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceAttributeDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pfval: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordVisibleServiceFlag(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordServiceId: GetRecordServiceId::<Identity, Impl, OFFSET>,
GetRecordNumericSelectionFlag: GetRecordNumericSelectionFlag::<Identity, Impl, OFFSET>,
GetRecordVisibleServiceFlag: GetRecordVisibleServiceFlag::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbServiceAttributeDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbServiceDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetServiceType(&self) -> ::windows_core::Result<u8>;
fn GetServiceProviderName(&self) -> ::windows_core::Result<*mut u8>;
fn GetServiceProviderNameW(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetServiceName(&self) -> ::windows_core::Result<*mut u8>;
fn GetProcessedServiceName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetServiceNameEmphasized(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
impl ::windows_core::RuntimeName for IDvbServiceDescriptor {}
impl IDvbServiceDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceDescriptor_Impl, const OFFSET: isize>() -> IDvbServiceDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetServiceType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetServiceType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetServiceProviderName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszname: *mut *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetServiceProviderName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pszname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetServiceProviderNameW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetServiceProviderNameW() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetServiceName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszname: *mut *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetServiceName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pszname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessedServiceName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessedServiceName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetServiceNameEmphasized<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetServiceNameEmphasized() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetServiceType: GetServiceType::<Identity, Impl, OFFSET>,
GetServiceProviderName: GetServiceProviderName::<Identity, Impl, OFFSET>,
GetServiceProviderNameW: GetServiceProviderNameW::<Identity, Impl, OFFSET>,
GetServiceName: GetServiceName::<Identity, Impl, OFFSET>,
GetProcessedServiceName: GetProcessedServiceName::<Identity, Impl, OFFSET>,
GetServiceNameEmphasized: GetServiceNameEmphasized::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbServiceDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbServiceDescriptor2_Impl: Sized + IDvbServiceDescriptor_Impl {
fn GetServiceProviderNameW2(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetServiceNameW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
}
impl ::windows_core::RuntimeName for IDvbServiceDescriptor2 {}
impl IDvbServiceDescriptor2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceDescriptor2_Impl, const OFFSET: isize>() -> IDvbServiceDescriptor2_Vtbl {
unsafe extern "system" fn GetServiceProviderNameW2<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceDescriptor2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, convmode: DVB_STRCONV_MODE, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetServiceProviderNameW2(::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetServiceNameW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceDescriptor2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, convmode: DVB_STRCONV_MODE, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetServiceNameW(::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IDvbServiceDescriptor_Vtbl::new::<Identity, Impl, OFFSET>(),
GetServiceProviderNameW2: GetServiceProviderNameW2::<Identity, Impl, OFFSET>,
GetServiceNameW: GetServiceNameW::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbServiceDescriptor2 as ::windows_core::ComInterface>::IID || *iid == <IDvbServiceDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbServiceListDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetRecordServiceId(&self, brecordindex: u8) -> ::windows_core::Result<u16>;
fn GetRecordServiceType(&self, brecordindex: u8) -> ::windows_core::Result<u8>;
}
impl ::windows_core::RuntimeName for IDvbServiceListDescriptor {}
impl IDvbServiceListDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceListDescriptor_Impl, const OFFSET: isize>() -> IDvbServiceListDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceListDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceListDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceListDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordServiceId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceListDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordServiceId(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordServiceType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbServiceListDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordServiceType(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordServiceId: GetRecordServiceId::<Identity, Impl, OFFSET>,
GetRecordServiceType: GetRecordServiceType::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbServiceListDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbShortEventDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetLanguageCode(&self, pszcode: *mut u8) -> ::windows_core::Result<()>;
fn GetEventNameW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetTextW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
}
impl ::windows_core::RuntimeName for IDvbShortEventDescriptor {}
impl IDvbShortEventDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbShortEventDescriptor_Impl, const OFFSET: isize>() -> IDvbShortEventDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbShortEventDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbShortEventDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLanguageCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbShortEventDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszcode: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLanguageCode(::core::mem::transmute_copy(&pszcode)).into()
}
unsafe extern "system" fn GetEventNameW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbShortEventDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, convmode: DVB_STRCONV_MODE, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventNameW(::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTextW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbShortEventDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, convmode: DVB_STRCONV_MODE, pbstrtext: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTextW(::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrtext, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetLanguageCode: GetLanguageCode::<Identity, Impl, OFFSET>,
GetEventNameW: GetEventNameW::<Identity, Impl, OFFSET>,
GetTextW: GetTextW::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbShortEventDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbSiParser_Impl: Sized {
fn Initialize(&self, punkmpeg2data: ::core::option::Option<&::windows_core::IUnknown>) -> ::windows_core::Result<()>;
fn GetPAT(&self) -> ::windows_core::Result<IPAT>;
fn GetCAT(&self, dwtimeout: u32) -> ::windows_core::Result<ICAT>;
fn GetPMT(&self, pid: u16, pwprogramnumber: *const u16) -> ::windows_core::Result<IPMT>;
fn GetTSDT(&self) -> ::windows_core::Result<ITSDT>;
fn GetNIT(&self, tableid: u8, pwnetworkid: *const u16) -> ::windows_core::Result<IDVB_NIT>;
fn GetSDT(&self, tableid: u8, pwtransportstreamid: *const u16) -> ::windows_core::Result<IDVB_SDT>;
fn GetEIT(&self, tableid: u8, pwserviceid: *const u16) -> ::windows_core::Result<IDVB_EIT>;
fn GetBAT(&self, pwbouquetid: *const u16) -> ::windows_core::Result<IDVB_BAT>;
fn GetRST(&self, dwtimeout: u32) -> ::windows_core::Result<IDVB_RST>;
fn GetST(&self, pid: u16, dwtimeout: u32) -> ::windows_core::Result<IDVB_ST>;
fn GetTDT(&self) -> ::windows_core::Result<IDVB_TDT>;
fn GetTOT(&self) -> ::windows_core::Result<IDVB_TOT>;
fn GetDIT(&self, dwtimeout: u32) -> ::windows_core::Result<IDVB_DIT>;
fn GetSIT(&self, dwtimeout: u32) -> ::windows_core::Result<IDVB_SIT>;
}
impl ::windows_core::RuntimeName for IDvbSiParser {}
impl IDvbSiParser_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSiParser_Impl, const OFFSET: isize>() -> IDvbSiParser_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSiParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punkmpeg2data: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&punkmpeg2data)).into()
}
unsafe extern "system" fn GetPAT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSiParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppat: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPAT() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pppat, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCAT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSiParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwtimeout: u32, ppcat: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCAT(::core::mem::transmute_copy(&dwtimeout)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppcat, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPMT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSiParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pid: u16, pwprogramnumber: *const u16, pppmt: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPMT(::core::mem::transmute_copy(&pid), ::core::mem::transmute_copy(&pwprogramnumber)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pppmt, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTSDT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSiParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptsdt: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTSDT() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pptsdt, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNIT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSiParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tableid: u8, pwnetworkid: *const u16, ppnit: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNIT(::core::mem::transmute_copy(&tableid), ::core::mem::transmute_copy(&pwnetworkid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppnit, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSDT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSiParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tableid: u8, pwtransportstreamid: *const u16, ppsdt: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSDT(::core::mem::transmute_copy(&tableid), ::core::mem::transmute_copy(&pwtransportstreamid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsdt, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEIT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSiParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tableid: u8, pwserviceid: *const u16, ppeit: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEIT(::core::mem::transmute_copy(&tableid), ::core::mem::transmute_copy(&pwserviceid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppeit, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBAT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSiParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwbouquetid: *const u16, ppbat: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBAT(::core::mem::transmute_copy(&pwbouquetid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppbat, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRST<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSiParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwtimeout: u32, pprst: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRST(::core::mem::transmute_copy(&dwtimeout)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pprst, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetST<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSiParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pid: u16, dwtimeout: u32, ppst: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetST(::core::mem::transmute_copy(&pid), ::core::mem::transmute_copy(&dwtimeout)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppst, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTDT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSiParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptdt: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTDT() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pptdt, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTOT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSiParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptot: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTOT() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pptot, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDIT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSiParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwtimeout: u32, ppdit: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDIT(::core::mem::transmute_copy(&dwtimeout)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdit, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSIT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSiParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwtimeout: u32, ppsit: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSIT(::core::mem::transmute_copy(&dwtimeout)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsit, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetPAT: GetPAT::<Identity, Impl, OFFSET>,
GetCAT: GetCAT::<Identity, Impl, OFFSET>,
GetPMT: GetPMT::<Identity, Impl, OFFSET>,
GetTSDT: GetTSDT::<Identity, Impl, OFFSET>,
GetNIT: GetNIT::<Identity, Impl, OFFSET>,
GetSDT: GetSDT::<Identity, Impl, OFFSET>,
GetEIT: GetEIT::<Identity, Impl, OFFSET>,
GetBAT: GetBAT::<Identity, Impl, OFFSET>,
GetRST: GetRST::<Identity, Impl, OFFSET>,
GetST: GetST::<Identity, Impl, OFFSET>,
GetTDT: GetTDT::<Identity, Impl, OFFSET>,
GetTOT: GetTOT::<Identity, Impl, OFFSET>,
GetDIT: GetDIT::<Identity, Impl, OFFSET>,
GetSIT: GetSIT::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbSiParser as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbSiParser2_Impl: Sized + IDvbSiParser_Impl {
fn GetEIT2(&self, tableid: u8, pwserviceid: *const u16, pbsegment: *const u8) -> ::windows_core::Result<IDVB_EIT2>;
}
impl ::windows_core::RuntimeName for IDvbSiParser2 {}
impl IDvbSiParser2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSiParser2_Impl, const OFFSET: isize>() -> IDvbSiParser2_Vtbl {
unsafe extern "system" fn GetEIT2<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSiParser2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tableid: u8, pwserviceid: *const u16, pbsegment: *const u8, ppeit: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEIT2(::core::mem::transmute_copy(&tableid), ::core::mem::transmute_copy(&pwserviceid), ::core::mem::transmute_copy(&pbsegment)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppeit, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: IDvbSiParser_Vtbl::new::<Identity, Impl, OFFSET>(), GetEIT2: GetEIT2::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbSiParser2 as ::windows_core::ComInterface>::IID || *iid == <IDvbSiParser as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbSubtitlingDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetRecordLangId(&self, brecordindex: u8) -> ::windows_core::Result<u32>;
fn GetRecordSubtitlingType(&self, brecordindex: u8) -> ::windows_core::Result<u8>;
fn GetRecordCompositionPageID(&self, brecordindex: u8) -> ::windows_core::Result<u16>;
fn GetRecordAncillaryPageID(&self, brecordindex: u8) -> ::windows_core::Result<u16>;
}
impl ::windows_core::RuntimeName for IDvbSubtitlingDescriptor {}
impl IDvbSubtitlingDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSubtitlingDescriptor_Impl, const OFFSET: isize>() -> IDvbSubtitlingDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSubtitlingDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSubtitlingDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSubtitlingDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordLangId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSubtitlingDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pulval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordLangId(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pulval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordSubtitlingType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSubtitlingDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordSubtitlingType(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCompositionPageID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSubtitlingDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCompositionPageID(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordAncillaryPageID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbSubtitlingDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordAncillaryPageID(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordLangId: GetRecordLangId::<Identity, Impl, OFFSET>,
GetRecordSubtitlingType: GetRecordSubtitlingType::<Identity, Impl, OFFSET>,
GetRecordCompositionPageID: GetRecordCompositionPageID::<Identity, Impl, OFFSET>,
GetRecordAncillaryPageID: GetRecordAncillaryPageID::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbSubtitlingDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbTeletextDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetRecordLangId(&self, brecordindex: u8) -> ::windows_core::Result<u32>;
fn GetRecordTeletextType(&self, brecordindex: u8) -> ::windows_core::Result<u8>;
fn GetRecordMagazineNumber(&self, brecordindex: u8) -> ::windows_core::Result<u8>;
fn GetRecordPageNumber(&self, brecordindex: u8) -> ::windows_core::Result<u8>;
}
impl ::windows_core::RuntimeName for IDvbTeletextDescriptor {}
impl IDvbTeletextDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTeletextDescriptor_Impl, const OFFSET: isize>() -> IDvbTeletextDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTeletextDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTeletextDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTeletextDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordLangId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTeletextDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pulval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordLangId(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pulval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordTeletextType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTeletextDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordTeletextType(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordMagazineNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTeletextDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordMagazineNumber(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordPageNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTeletextDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordPageNumber(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordLangId: GetRecordLangId::<Identity, Impl, OFFSET>,
GetRecordTeletextType: GetRecordTeletextType::<Identity, Impl, OFFSET>,
GetRecordMagazineNumber: GetRecordMagazineNumber::<Identity, Impl, OFFSET>,
GetRecordPageNumber: GetRecordPageNumber::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbTeletextDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbTerrestrial2DeliverySystemDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetTagExtension(&self) -> ::windows_core::Result<u8>;
fn GetCentreFrequency(&self) -> ::windows_core::Result<u32>;
fn GetPLPId(&self) -> ::windows_core::Result<u8>;
fn GetT2SystemId(&self) -> ::windows_core::Result<u16>;
fn GetMultipleInputMode(&self) -> ::windows_core::Result<u8>;
fn GetBandwidth(&self) -> ::windows_core::Result<u8>;
fn GetGuardInterval(&self) -> ::windows_core::Result<u8>;
fn GetTransmissionMode(&self) -> ::windows_core::Result<u8>;
fn GetCellId(&self) -> ::windows_core::Result<u16>;
fn GetOtherFrequencyFlag(&self) -> ::windows_core::Result<u8>;
fn GetTFSFlag(&self) -> ::windows_core::Result<u8>;
}
impl ::windows_core::RuntimeName for IDvbTerrestrial2DeliverySystemDescriptor {}
impl IDvbTerrestrial2DeliverySystemDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrial2DeliverySystemDescriptor_Impl, const OFFSET: isize>() -> IDvbTerrestrial2DeliverySystemDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrial2DeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrial2DeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTagExtension<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrial2DeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTagExtension() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCentreFrequency<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrial2DeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCentreFrequency() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPLPId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrial2DeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPLPId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetT2SystemId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrial2DeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetT2SystemId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMultipleInputMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrial2DeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetMultipleInputMode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBandwidth<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrial2DeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBandwidth() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetGuardInterval<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrial2DeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetGuardInterval() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTransmissionMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrial2DeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTransmissionMode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCellId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrial2DeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCellId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetOtherFrequencyFlag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrial2DeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOtherFrequencyFlag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTFSFlag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrial2DeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTFSFlag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetTagExtension: GetTagExtension::<Identity, Impl, OFFSET>,
GetCentreFrequency: GetCentreFrequency::<Identity, Impl, OFFSET>,
GetPLPId: GetPLPId::<Identity, Impl, OFFSET>,
GetT2SystemId: GetT2SystemId::<Identity, Impl, OFFSET>,
GetMultipleInputMode: GetMultipleInputMode::<Identity, Impl, OFFSET>,
GetBandwidth: GetBandwidth::<Identity, Impl, OFFSET>,
GetGuardInterval: GetGuardInterval::<Identity, Impl, OFFSET>,
GetTransmissionMode: GetTransmissionMode::<Identity, Impl, OFFSET>,
GetCellId: GetCellId::<Identity, Impl, OFFSET>,
GetOtherFrequencyFlag: GetOtherFrequencyFlag::<Identity, Impl, OFFSET>,
GetTFSFlag: GetTFSFlag::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbTerrestrial2DeliverySystemDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IDvbTerrestrialDeliverySystemDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetCentreFrequency(&self) -> ::windows_core::Result<u32>;
fn GetBandwidth(&self) -> ::windows_core::Result<u8>;
fn GetConstellation(&self) -> ::windows_core::Result<u8>;
fn GetHierarchyInformation(&self) -> ::windows_core::Result<u8>;
fn GetCodeRateHPStream(&self) -> ::windows_core::Result<u8>;
fn GetCodeRateLPStream(&self) -> ::windows_core::Result<u8>;
fn GetGuardInterval(&self) -> ::windows_core::Result<u8>;
fn GetTransmissionMode(&self) -> ::windows_core::Result<u8>;
fn GetOtherFrequencyFlag(&self) -> ::windows_core::Result<u8>;
}
impl ::windows_core::RuntimeName for IDvbTerrestrialDeliverySystemDescriptor {}
impl IDvbTerrestrialDeliverySystemDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>() -> IDvbTerrestrialDeliverySystemDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCentreFrequency<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCentreFrequency() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBandwidth<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBandwidth() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetConstellation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetConstellation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetHierarchyInformation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetHierarchyInformation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCodeRateHPStream<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCodeRateHPStream() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCodeRateLPStream<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCodeRateLPStream() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetGuardInterval<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetGuardInterval() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTransmissionMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTransmissionMode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetOtherFrequencyFlag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IDvbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOtherFrequencyFlag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetCentreFrequency: GetCentreFrequency::<Identity, Impl, OFFSET>,
GetBandwidth: GetBandwidth::<Identity, Impl, OFFSET>,
GetConstellation: GetConstellation::<Identity, Impl, OFFSET>,
GetHierarchyInformation: GetHierarchyInformation::<Identity, Impl, OFFSET>,
GetCodeRateHPStream: GetCodeRateHPStream::<Identity, Impl, OFFSET>,
GetCodeRateLPStream: GetCodeRateLPStream::<Identity, Impl, OFFSET>,
GetGuardInterval: GetGuardInterval::<Identity, Impl, OFFSET>,
GetTransmissionMode: GetTransmissionMode::<Identity, Impl, OFFSET>,
GetOtherFrequencyFlag: GetOtherFrequencyFlag::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IDvbTerrestrialDeliverySystemDescriptor as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait IESCloseMmiEvent_Impl: Sized + super::IESEvent_Impl {
fn GetDialogNumber(&self) -> ::windows_core::Result<u32>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for IESCloseMmiEvent {}
#[cfg(feature = "Win32_System_Com")]
impl IESCloseMmiEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESCloseMmiEvent_Impl, const OFFSET: isize>() -> IESCloseMmiEvent_Vtbl {
unsafe extern "system" fn GetDialogNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESCloseMmiEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdialognumber: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDialogNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdialognumber, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: super::IESEvent_Vtbl::new::<Identity, Impl, OFFSET>(), GetDialogNumber: GetDialogNumber::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IESCloseMmiEvent as ::windows_core::ComInterface>::IID || *iid == <super::IESEvent as ::windows_core::ComInterface>::IID
}
}
pub trait IESEventFactory_Impl: Sized {
fn CreateESEvent(&self, pserviceprovider: ::core::option::Option<&::windows_core::IUnknown>, dweventid: u32, guideventtype: &::windows_core::GUID, dweventdatalength: u32, peventdata: *const u8, bstrbaseurl: &::windows_core::BSTR, pinitcontext: ::core::option::Option<&::windows_core::IUnknown>) -> ::windows_core::Result<super::IESEvent>;
}
impl ::windows_core::RuntimeName for IESEventFactory {}
impl IESEventFactory_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESEventFactory_Impl, const OFFSET: isize>() -> IESEventFactory_Vtbl {
unsafe extern "system" fn CreateESEvent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESEventFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pserviceprovider: *mut ::core::ffi::c_void, dweventid: u32, guideventtype: ::windows_core::GUID, dweventdatalength: u32, peventdata: *const u8, bstrbaseurl: ::std::mem::MaybeUninit<::windows_core::BSTR>, pinitcontext: *mut ::core::ffi::c_void, ppesevent: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateESEvent(::windows_core::from_raw_borrowed(&pserviceprovider), ::core::mem::transmute_copy(&dweventid), ::core::mem::transmute(&guideventtype), ::core::mem::transmute_copy(&dweventdatalength), ::core::mem::transmute_copy(&peventdata), ::core::mem::transmute(&bstrbaseurl), ::windows_core::from_raw_borrowed(&pinitcontext)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppesevent, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CreateESEvent: CreateESEvent::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IESEventFactory as ::windows_core::ComInterface>::IID
}
}
pub trait IESEventService_Impl: Sized {
fn FireESEvent(&self, pesevent: ::core::option::Option<&super::IESEvent>) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IESEventService {}
impl IESEventService_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESEventService_Impl, const OFFSET: isize>() -> IESEventService_Vtbl {
unsafe extern "system" fn FireESEvent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESEventService_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pesevent: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FireESEvent(::windows_core::from_raw_borrowed(&pesevent)).into()
}
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), FireESEvent: FireESEvent::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IESEventService as ::windows_core::ComInterface>::IID
}
}
pub trait IESEventServiceConfiguration_Impl: Sized {
fn SetParent(&self, peventservice: ::core::option::Option<&IESEventService>) -> ::windows_core::Result<()>;
fn RemoveParent(&self) -> ::windows_core::Result<()>;
fn SetOwner(&self, pesevents: ::core::option::Option<&super::IESEvents>) -> ::windows_core::Result<()>;
fn RemoveOwner(&self) -> ::windows_core::Result<()>;
fn SetGraph(&self, pgraph: ::core::option::Option<&super::IFilterGraph>) -> ::windows_core::Result<()>;
fn RemoveGraph(&self, pgraph: ::core::option::Option<&super::IFilterGraph>) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IESEventServiceConfiguration {}
impl IESEventServiceConfiguration_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESEventServiceConfiguration_Impl, const OFFSET: isize>() -> IESEventServiceConfiguration_Vtbl {
unsafe extern "system" fn SetParent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESEventServiceConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, peventservice: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetParent(::windows_core::from_raw_borrowed(&peventservice)).into()
}
unsafe extern "system" fn RemoveParent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESEventServiceConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveParent().into()
}
unsafe extern "system" fn SetOwner<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESEventServiceConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pesevents: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOwner(::windows_core::from_raw_borrowed(&pesevents)).into()
}
unsafe extern "system" fn RemoveOwner<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESEventServiceConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveOwner().into()
}
unsafe extern "system" fn SetGraph<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESEventServiceConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pgraph: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetGraph(::windows_core::from_raw_borrowed(&pgraph)).into()
}
unsafe extern "system" fn RemoveGraph<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESEventServiceConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pgraph: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveGraph(::windows_core::from_raw_borrowed(&pgraph)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetParent: SetParent::<Identity, Impl, OFFSET>,
RemoveParent: RemoveParent::<Identity, Impl, OFFSET>,
SetOwner: SetOwner::<Identity, Impl, OFFSET>,
RemoveOwner: RemoveOwner::<Identity, Impl, OFFSET>,
SetGraph: SetGraph::<Identity, Impl, OFFSET>,
RemoveGraph: RemoveGraph::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IESEventServiceConfiguration as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
pub trait IESFileExpiryDateEvent_Impl: Sized + super::IESEvent_Impl {
fn GetTunerId(&self) -> ::windows_core::Result<::windows_core::GUID>;
fn GetExpiryDate(&self) -> ::windows_core::Result<u64>;
fn GetFinalExpiryDate(&self) -> ::windows_core::Result<u64>;
fn GetMaxRenewalCount(&self) -> ::windows_core::Result<u32>;
fn IsEntitlementTokenPresent(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn DoesExpireAfterFirstUse(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
impl ::windows_core::RuntimeName for IESFileExpiryDateEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
impl IESFileExpiryDateEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESFileExpiryDateEvent_Impl, const OFFSET: isize>() -> IESFileExpiryDateEvent_Vtbl {
unsafe extern "system" fn GetTunerId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESFileExpiryDateEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pguidtunerid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTunerId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pguidtunerid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExpiryDate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESFileExpiryDateEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pqwexpirydate: *mut u64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExpiryDate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pqwexpirydate, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFinalExpiryDate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESFileExpiryDateEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pqwexpirydate: *mut u64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFinalExpiryDate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pqwexpirydate, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMaxRenewalCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESFileExpiryDateEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwmaxrenewalcount: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetMaxRenewalCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(dwmaxrenewalcount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsEntitlementTokenPresent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESFileExpiryDateEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfenttokenpresent: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsEntitlementTokenPresent() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfenttokenpresent, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DoesExpireAfterFirstUse<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESFileExpiryDateEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfexpireafterfirstuse: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DoesExpireAfterFirstUse() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfexpireafterfirstuse, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::IESEvent_Vtbl::new::<Identity, Impl, OFFSET>(),
GetTunerId: GetTunerId::<Identity, Impl, OFFSET>,
GetExpiryDate: GetExpiryDate::<Identity, Impl, OFFSET>,
GetFinalExpiryDate: GetFinalExpiryDate::<Identity, Impl, OFFSET>,
GetMaxRenewalCount: GetMaxRenewalCount::<Identity, Impl, OFFSET>,
IsEntitlementTokenPresent: IsEntitlementTokenPresent::<Identity, Impl, OFFSET>,
DoesExpireAfterFirstUse: DoesExpireAfterFirstUse::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IESFileExpiryDateEvent as ::windows_core::ComInterface>::IID || *iid == <super::IESEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait IESIsdbCasResponseEvent_Impl: Sized + super::IESEvent_Impl {
fn GetRequestId(&self) -> ::windows_core::Result<u32>;
fn GetStatus(&self) -> ::windows_core::Result<u32>;
fn GetDataLength(&self) -> ::windows_core::Result<u32>;
fn GetResponseData(&self) -> ::windows_core::Result<*mut super::super::super::System::Com::SAFEARRAY>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for IESIsdbCasResponseEvent {}
#[cfg(feature = "Win32_System_Com")]
impl IESIsdbCasResponseEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESIsdbCasResponseEvent_Impl, const OFFSET: isize>() -> IESIsdbCasResponseEvent_Vtbl {
unsafe extern "system" fn GetRequestId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESIsdbCasResponseEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prequestid: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRequestId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(prequestid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStatus<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESIsdbCasResponseEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstatus: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStatus() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstatus, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDataLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESIsdbCasResponseEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prequestlength: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDataLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(prequestlength, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetResponseData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESIsdbCasResponseEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbdata: *mut *mut super::super::super::System::Com::SAFEARRAY) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetResponseData() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbdata, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::IESEvent_Vtbl::new::<Identity, Impl, OFFSET>(),
GetRequestId: GetRequestId::<Identity, Impl, OFFSET>,
GetStatus: GetStatus::<Identity, Impl, OFFSET>,
GetDataLength: GetDataLength::<Identity, Impl, OFFSET>,
GetResponseData: GetResponseData::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IESIsdbCasResponseEvent as ::windows_core::ComInterface>::IID || *iid == <super::IESEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
pub trait IESLicenseRenewalResultEvent_Impl: Sized + super::IESEvent_Impl {
fn GetCallersId(&self) -> ::windows_core::Result<u32>;
fn GetFileName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn IsRenewalSuccessful(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn IsCheckEntitlementCallRequired(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn GetDescrambledStatus(&self) -> ::windows_core::Result<u32>;
fn GetRenewalResultCode(&self) -> ::windows_core::Result<u32>;
fn GetCASFailureCode(&self) -> ::windows_core::Result<u32>;
fn GetRenewalHResult(&self) -> ::windows_core::Result<::windows_core::HRESULT>;
fn GetEntitlementTokenLength(&self) -> ::windows_core::Result<u32>;
fn GetEntitlementToken(&self) -> ::windows_core::Result<*mut super::super::super::System::Com::SAFEARRAY>;
fn GetExpiryDate(&self) -> ::windows_core::Result<u64>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
impl ::windows_core::RuntimeName for IESLicenseRenewalResultEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
impl IESLicenseRenewalResultEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESLicenseRenewalResultEvent_Impl, const OFFSET: isize>() -> IESLicenseRenewalResultEvent_Vtbl {
unsafe extern "system" fn GetCallersId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESLicenseRenewalResultEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwcallersid: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCallersId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwcallersid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFileName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESLicenseRenewalResultEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrfilename: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFileName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrfilename, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsRenewalSuccessful<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESLicenseRenewalResultEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfrenewalsuccessful: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsRenewalSuccessful() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfrenewalsuccessful, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsCheckEntitlementCallRequired<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESLicenseRenewalResultEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfcheckenttokencallneeded: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsCheckEntitlementCallRequired() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfcheckenttokencallneeded, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDescrambledStatus<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESLicenseRenewalResultEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdescrambledstatus: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDescrambledStatus() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdescrambledstatus, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRenewalResultCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESLicenseRenewalResultEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwrenewalresultcode: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRenewalResultCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwrenewalresultcode, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCASFailureCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESLicenseRenewalResultEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwcasfailurecode: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCASFailureCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwcasfailurecode, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRenewalHResult<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESLicenseRenewalResultEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, phr: *mut ::windows_core::HRESULT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRenewalHResult() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(phr, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEntitlementTokenLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESLicenseRenewalResultEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwlength: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEntitlementTokenLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwlength, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEntitlementToken<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESLicenseRenewalResultEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbdata: *mut *mut super::super::super::System::Com::SAFEARRAY) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEntitlementToken() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbdata, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExpiryDate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESLicenseRenewalResultEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pqwexpirydate: *mut u64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExpiryDate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pqwexpirydate, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::IESEvent_Vtbl::new::<Identity, Impl, OFFSET>(),
GetCallersId: GetCallersId::<Identity, Impl, OFFSET>,
GetFileName: GetFileName::<Identity, Impl, OFFSET>,
IsRenewalSuccessful: IsRenewalSuccessful::<Identity, Impl, OFFSET>,
IsCheckEntitlementCallRequired: IsCheckEntitlementCallRequired::<Identity, Impl, OFFSET>,
GetDescrambledStatus: GetDescrambledStatus::<Identity, Impl, OFFSET>,
GetRenewalResultCode: GetRenewalResultCode::<Identity, Impl, OFFSET>,
GetCASFailureCode: GetCASFailureCode::<Identity, Impl, OFFSET>,
GetRenewalHResult: GetRenewalHResult::<Identity, Impl, OFFSET>,
GetEntitlementTokenLength: GetEntitlementTokenLength::<Identity, Impl, OFFSET>,
GetEntitlementToken: GetEntitlementToken::<Identity, Impl, OFFSET>,
GetExpiryDate: GetExpiryDate::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IESLicenseRenewalResultEvent as ::windows_core::ComInterface>::IID || *iid == <super::IESEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait IESOpenMmiEvent_Impl: Sized + super::IESEvent_Impl {
fn GetDialogNumber(&self, pdialogrequest: *mut u32, pdialognumber: *mut u32) -> ::windows_core::Result<()>;
fn GetDialogType(&self) -> ::windows_core::Result<::windows_core::GUID>;
fn GetDialogData(&self) -> ::windows_core::Result<*mut super::super::super::System::Com::SAFEARRAY>;
fn GetDialogStringData(&self, pbstrbaseurl: *mut ::windows_core::BSTR, pbstrdata: *mut ::windows_core::BSTR) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for IESOpenMmiEvent {}
#[cfg(feature = "Win32_System_Com")]
impl IESOpenMmiEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESOpenMmiEvent_Impl, const OFFSET: isize>() -> IESOpenMmiEvent_Vtbl {
unsafe extern "system" fn GetDialogNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESOpenMmiEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdialogrequest: *mut u32, pdialognumber: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDialogNumber(::core::mem::transmute_copy(&pdialogrequest), ::core::mem::transmute_copy(&pdialognumber)).into()
}
unsafe extern "system" fn GetDialogType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESOpenMmiEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guiddialogtype: *mut ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDialogType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(guiddialogtype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDialogData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESOpenMmiEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbdata: *mut *mut super::super::super::System::Com::SAFEARRAY) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDialogData() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbdata, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDialogStringData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESOpenMmiEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrbaseurl: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>, pbstrdata: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDialogStringData(::core::mem::transmute_copy(&pbstrbaseurl), ::core::mem::transmute_copy(&pbstrdata)).into()
}
Self {
base__: super::IESEvent_Vtbl::new::<Identity, Impl, OFFSET>(),
GetDialogNumber: GetDialogNumber::<Identity, Impl, OFFSET>,
GetDialogType: GetDialogType::<Identity, Impl, OFFSET>,
GetDialogData: GetDialogData::<Identity, Impl, OFFSET>,
GetDialogStringData: GetDialogStringData::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IESOpenMmiEvent as ::windows_core::ComInterface>::IID || *iid == <super::IESEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait IESRequestTunerEvent_Impl: Sized + super::IESEvent_Impl {
fn GetPriority(&self) -> ::windows_core::Result<u8>;
fn GetReason(&self) -> ::windows_core::Result<u8>;
fn GetConsequences(&self) -> ::windows_core::Result<u8>;
fn GetEstimatedTime(&self) -> ::windows_core::Result<u32>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for IESRequestTunerEvent {}
#[cfg(feature = "Win32_System_Com")]
impl IESRequestTunerEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESRequestTunerEvent_Impl, const OFFSET: isize>() -> IESRequestTunerEvent_Vtbl {
unsafe extern "system" fn GetPriority<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESRequestTunerEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbypriority: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPriority() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbypriority, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetReason<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESRequestTunerEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbyreason: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetReason() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbyreason, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetConsequences<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESRequestTunerEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbyconsequences: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetConsequences() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbyconsequences, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEstimatedTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESRequestTunerEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwestimatedtime: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEstimatedTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwestimatedtime, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::IESEvent_Vtbl::new::<Identity, Impl, OFFSET>(),
GetPriority: GetPriority::<Identity, Impl, OFFSET>,
GetReason: GetReason::<Identity, Impl, OFFSET>,
GetConsequences: GetConsequences::<Identity, Impl, OFFSET>,
GetEstimatedTime: GetEstimatedTime::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IESRequestTunerEvent as ::windows_core::ComInterface>::IID || *iid == <super::IESEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait IESValueUpdatedEvent_Impl: Sized + super::IESEvent_Impl {
fn GetValueNames(&self) -> ::windows_core::Result<*mut super::super::super::System::Com::SAFEARRAY>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for IESValueUpdatedEvent {}
#[cfg(feature = "Win32_System_Com")]
impl IESValueUpdatedEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESValueUpdatedEvent_Impl, const OFFSET: isize>() -> IESValueUpdatedEvent_Vtbl {
unsafe extern "system" fn GetValueNames<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IESValueUpdatedEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrnames: *mut *mut super::super::super::System::Com::SAFEARRAY) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetValueNames() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrnames, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: super::IESEvent_Vtbl::new::<Identity, Impl, OFFSET>(), GetValueNames: GetValueNames::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IESValueUpdatedEvent as ::windows_core::ComInterface>::IID || *iid == <super::IESEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IETFilter_Impl: Sized {
fn EvalRatObjOK(&self) -> ::windows_core::Result<::windows_core::HRESULT>;
fn GetCurrRating(&self, pensystem: *mut EnTvRat_System, penrating: *mut EnTvRat_GenericLevel, plbfenattr: *mut i32) -> ::windows_core::Result<()>;
fn GetCurrLicenseExpDate(&self, prottype: *const ProtType) -> ::windows_core::Result<i32>;
fn GetLastErrorCode(&self) -> ::windows_core::Result<()>;
fn SetRecordingOn(&self, frecstate: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IETFilter {}
#[cfg(feature = "Win32_Foundation")]
impl IETFilter_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IETFilter_Impl, const OFFSET: isize>() -> IETFilter_Vtbl {
unsafe extern "system" fn EvalRatObjOK<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IETFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, phrcocreateretval: *mut ::windows_core::HRESULT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EvalRatObjOK() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(phrcocreateretval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrRating<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IETFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pensystem: *mut EnTvRat_System, penrating: *mut EnTvRat_GenericLevel, plbfenattr: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCurrRating(::core::mem::transmute_copy(&pensystem), ::core::mem::transmute_copy(&penrating), ::core::mem::transmute_copy(&plbfenattr)).into()
}
unsafe extern "system" fn GetCurrLicenseExpDate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IETFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prottype: *const ProtType, lpdatetime: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrLicenseExpDate(::core::mem::transmute_copy(&prottype)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lpdatetime, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLastErrorCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IETFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLastErrorCode().into()
}
unsafe extern "system" fn SetRecordingOn<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IETFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, frecstate: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRecordingOn(::core::mem::transmute_copy(&frecstate)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
EvalRatObjOK: EvalRatObjOK::<Identity, Impl, OFFSET>,
GetCurrRating: GetCurrRating::<Identity, Impl, OFFSET>,
GetCurrLicenseExpDate: GetCurrLicenseExpDate::<Identity, Impl, OFFSET>,
GetLastErrorCode: GetLastErrorCode::<Identity, Impl, OFFSET>,
SetRecordingOn: SetRecordingOn::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IETFilter as ::windows_core::ComInterface>::IID
}
}
pub trait IETFilterConfig_Impl: Sized {
fn InitLicense(&self, licenseid: i32) -> ::windows_core::Result<()>;
fn GetSecureChannelObject(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
}
impl ::windows_core::RuntimeName for IETFilterConfig {}
impl IETFilterConfig_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IETFilterConfig_Impl, const OFFSET: isize>() -> IETFilterConfig_Vtbl {
unsafe extern "system" fn InitLicense<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IETFilterConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, licenseid: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitLicense(::core::mem::transmute_copy(&licenseid)).into()
}
unsafe extern "system" fn GetSecureChannelObject<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IETFilterConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppunkdrmsecurechannel: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSecureChannelObject() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppunkdrmsecurechannel, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
InitLicense: InitLicense::<Identity, Impl, OFFSET>,
GetSecureChannelObject: GetSecureChannelObject::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IETFilterConfig as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IETFilterEvents_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IETFilterEvents {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IETFilterEvents_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IETFilterEvents_Impl, const OFFSET: isize>() -> IETFilterEvents_Vtbl {
Self { base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IETFilterEvents as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait IEnumComponentTypes_Impl: Sized {
fn Next(&self, celt: u32, rgelt: *mut ::core::option::Option<IComponentType>, pceltfetched: *mut u32) -> ::windows_core::Result<()>;
fn Skip(&self, celt: u32) -> ::windows_core::Result<()>;
fn Reset(&self) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<IEnumComponentTypes>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for IEnumComponentTypes {}
#[cfg(feature = "Win32_System_Com")]
impl IEnumComponentTypes_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumComponentTypes_Impl, const OFFSET: isize>() -> IEnumComponentTypes_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumComponentTypes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, rgelt: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&rgelt), ::core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumComponentTypes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumComponentTypes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumComponentTypes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IEnumComponentTypes as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait IEnumComponents_Impl: Sized {
fn Next(&self, celt: u32, rgelt: *mut ::core::option::Option<IComponent>, pceltfetched: *mut u32) -> ::windows_core::Result<()>;
fn Skip(&self, celt: u32) -> ::windows_core::Result<()>;
fn Reset(&self) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<IEnumComponents>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for IEnumComponents {}
#[cfg(feature = "Win32_System_Com")]
impl IEnumComponents_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumComponents_Impl, const OFFSET: isize>() -> IEnumComponents_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumComponents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, rgelt: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&rgelt), ::core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumComponents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumComponents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumComponents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IEnumComponents as ::windows_core::ComInterface>::IID
}
}
pub trait IEnumGuideDataProperties_Impl: Sized {
fn Next(&self, celt: u32, ppprop: *mut ::core::option::Option<IGuideDataProperty>, pcelt: *mut u32) -> ::windows_core::Result<()>;
fn Skip(&self, celt: u32) -> ::windows_core::Result<()>;
fn Reset(&self) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<IEnumGuideDataProperties>;
}
impl ::windows_core::RuntimeName for IEnumGuideDataProperties {}
impl IEnumGuideDataProperties_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumGuideDataProperties_Impl, const OFFSET: isize>() -> IEnumGuideDataProperties_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumGuideDataProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, ppprop: *mut *mut ::core::ffi::c_void, pcelt: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&ppprop), ::core::mem::transmute_copy(&pcelt)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumGuideDataProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumGuideDataProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumGuideDataProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IEnumGuideDataProperties as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait IEnumMSVidGraphSegment_Impl: Sized {
fn Next(&self, celt: u32, rgelt: *mut ::core::option::Option<IMSVidGraphSegment>, pceltfetched: *mut u32) -> ::windows_core::Result<()>;
fn Skip(&self, celt: u32) -> ::windows_core::Result<()>;
fn Reset(&self) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<IEnumMSVidGraphSegment>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for IEnumMSVidGraphSegment {}
#[cfg(feature = "Win32_System_Com")]
impl IEnumMSVidGraphSegment_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumMSVidGraphSegment_Impl, const OFFSET: isize>() -> IEnumMSVidGraphSegment_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, rgelt: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&rgelt), ::core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IEnumMSVidGraphSegment as ::windows_core::ComInterface>::IID
}
}
pub trait IEnumStreamBufferRecordingAttrib_Impl: Sized {
fn Next(&self, crequest: u32, pstreambufferattribute: *mut STREAMBUFFER_ATTRIBUTE, pcreceived: *mut u32) -> ::windows_core::Result<()>;
fn Skip(&self, crecords: u32) -> ::windows_core::Result<()>;
fn Reset(&self) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<IEnumStreamBufferRecordingAttrib>;
}
impl ::windows_core::RuntimeName for IEnumStreamBufferRecordingAttrib {}
impl IEnumStreamBufferRecordingAttrib_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumStreamBufferRecordingAttrib_Impl, const OFFSET: isize>() -> IEnumStreamBufferRecordingAttrib_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumStreamBufferRecordingAttrib_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, crequest: u32, pstreambufferattribute: *mut STREAMBUFFER_ATTRIBUTE, pcreceived: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&crequest), ::core::mem::transmute_copy(&pstreambufferattribute), ::core::mem::transmute_copy(&pcreceived)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumStreamBufferRecordingAttrib_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, crecords: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&crecords)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumStreamBufferRecordingAttrib_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumStreamBufferRecordingAttrib_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppienumstreambufferattrib: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppienumstreambufferattrib, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IEnumStreamBufferRecordingAttrib as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait IEnumTuneRequests_Impl: Sized {
fn Next(&self, celt: u32, ppprop: *mut ::core::option::Option<ITuneRequest>, pcelt: *mut u32) -> ::windows_core::Result<()>;
fn Skip(&self, celt: u32) -> ::windows_core::Result<()>;
fn Reset(&self) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<IEnumTuneRequests>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for IEnumTuneRequests {}
#[cfg(feature = "Win32_System_Com")]
impl IEnumTuneRequests_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumTuneRequests_Impl, const OFFSET: isize>() -> IEnumTuneRequests_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumTuneRequests_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, ppprop: *mut *mut ::core::ffi::c_void, pcelt: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&ppprop), ::core::mem::transmute_copy(&pcelt)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumTuneRequests_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumTuneRequests_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumTuneRequests_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IEnumTuneRequests as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait IEnumTuningSpaces_Impl: Sized {
fn Next(&self, celt: u32, rgelt: *mut ::core::option::Option<ITuningSpace>, pceltfetched: *mut u32) -> ::windows_core::Result<()>;
fn Skip(&self, celt: u32) -> ::windows_core::Result<()>;
fn Reset(&self) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<IEnumTuningSpaces>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for IEnumTuningSpaces {}
#[cfg(feature = "Win32_System_Com")]
impl IEnumTuningSpaces_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumTuningSpaces_Impl, const OFFSET: isize>() -> IEnumTuningSpaces_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumTuningSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, rgelt: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&rgelt), ::core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumTuningSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumTuningSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEnumTuningSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IEnumTuningSpaces as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IEvalRat_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn get_BlockedRatingAttributes(&self, ensystem: EnTvRat_System, enlevel: EnTvRat_GenericLevel) -> ::windows_core::Result<i32>;
fn put_BlockedRatingAttributes(&self, ensystem: EnTvRat_System, enlevel: EnTvRat_GenericLevel, lbfattrs: i32) -> ::windows_core::Result<()>;
fn BlockUnRated(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn SetBlockUnRated(&self, fblockunratedshows: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn MostRestrictiveRating(&self, ensystem1: EnTvRat_System, enenlevel1: EnTvRat_GenericLevel, lbfenattr1: i32, ensystem2: EnTvRat_System, enenlevel2: EnTvRat_GenericLevel, lbfenattr2: i32, pensystem: *mut EnTvRat_System, penenlevel: *mut EnTvRat_GenericLevel, plbfenattr: *mut i32) -> ::windows_core::Result<()>;
fn TestRating(&self, enshowsystem: EnTvRat_System, enshowlevel: EnTvRat_GenericLevel, lbfenshowattributes: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IEvalRat {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IEvalRat_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEvalRat_Impl, const OFFSET: isize>() -> IEvalRat_Vtbl {
unsafe extern "system" fn get_BlockedRatingAttributes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEvalRat_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ensystem: EnTvRat_System, enlevel: EnTvRat_GenericLevel, plbfattrs: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_BlockedRatingAttributes(::core::mem::transmute_copy(&ensystem), ::core::mem::transmute_copy(&enlevel)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plbfattrs, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn put_BlockedRatingAttributes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEvalRat_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ensystem: EnTvRat_System, enlevel: EnTvRat_GenericLevel, lbfattrs: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_BlockedRatingAttributes(::core::mem::transmute_copy(&ensystem), ::core::mem::transmute_copy(&enlevel), ::core::mem::transmute_copy(&lbfattrs)).into()
}
unsafe extern "system" fn BlockUnRated<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEvalRat_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfblockunratedshows: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.BlockUnRated() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfblockunratedshows, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetBlockUnRated<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEvalRat_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fblockunratedshows: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetBlockUnRated(::core::mem::transmute_copy(&fblockunratedshows)).into()
}
unsafe extern "system" fn MostRestrictiveRating<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEvalRat_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ensystem1: EnTvRat_System, enenlevel1: EnTvRat_GenericLevel, lbfenattr1: i32, ensystem2: EnTvRat_System, enenlevel2: EnTvRat_GenericLevel, lbfenattr2: i32, pensystem: *mut EnTvRat_System, penenlevel: *mut EnTvRat_GenericLevel, plbfenattr: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.MostRestrictiveRating(::core::mem::transmute_copy(&ensystem1), ::core::mem::transmute_copy(&enenlevel1), ::core::mem::transmute_copy(&lbfenattr1), ::core::mem::transmute_copy(&ensystem2), ::core::mem::transmute_copy(&enenlevel2), ::core::mem::transmute_copy(&lbfenattr2), ::core::mem::transmute_copy(&pensystem), ::core::mem::transmute_copy(&penenlevel), ::core::mem::transmute_copy(&plbfenattr)).into()
}
unsafe extern "system" fn TestRating<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IEvalRat_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, enshowsystem: EnTvRat_System, enshowlevel: EnTvRat_GenericLevel, lbfenshowattributes: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TestRating(::core::mem::transmute_copy(&enshowsystem), ::core::mem::transmute_copy(&enshowlevel), ::core::mem::transmute_copy(&lbfenshowattributes)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
get_BlockedRatingAttributes: get_BlockedRatingAttributes::<Identity, Impl, OFFSET>,
put_BlockedRatingAttributes: put_BlockedRatingAttributes::<Identity, Impl, OFFSET>,
BlockUnRated: BlockUnRated::<Identity, Impl, OFFSET>,
SetBlockUnRated: SetBlockUnRated::<Identity, Impl, OFFSET>,
MostRestrictiveRating: MostRestrictiveRating::<Identity, Impl, OFFSET>,
TestRating: TestRating::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IEvalRat as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
pub trait IGenericDescriptor_Impl: Sized {
fn Initialize(&self, pbdesc: *const u8, bcount: i32) -> ::windows_core::Result<()>;
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetBody(&self) -> ::windows_core::Result<*mut u8>;
}
impl ::windows_core::RuntimeName for IGenericDescriptor {}
impl IGenericDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGenericDescriptor_Impl, const OFFSET: isize>() -> IGenericDescriptor_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGenericDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbdesc: *const u8, bcount: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&pbdesc), ::core::mem::transmute_copy(&bcount)).into()
}
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGenericDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGenericDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBody<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGenericDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppbval: *mut *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBody() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetBody: GetBody::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IGenericDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IGenericDescriptor2_Impl: Sized + IGenericDescriptor_Impl {
fn Initialize2(&self, pbdesc: *const u8, wcount: u16) -> ::windows_core::Result<()>;
fn GetLength2(&self) -> ::windows_core::Result<u16>;
}
impl ::windows_core::RuntimeName for IGenericDescriptor2 {}
impl IGenericDescriptor2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGenericDescriptor2_Impl, const OFFSET: isize>() -> IGenericDescriptor2_Vtbl {
unsafe extern "system" fn Initialize2<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGenericDescriptor2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbdesc: *const u8, wcount: u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize2(::core::mem::transmute_copy(&pbdesc), ::core::mem::transmute_copy(&wcount)).into()
}
unsafe extern "system" fn GetLength2<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGenericDescriptor2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength2() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IGenericDescriptor_Vtbl::new::<Identity, Impl, OFFSET>(),
Initialize2: Initialize2::<Identity, Impl, OFFSET>,
GetLength2: GetLength2::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IGenericDescriptor2 as ::windows_core::ComInterface>::IID || *iid == <IGenericDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IGpnvsCommonBase_Impl: Sized {
fn GetValueUpdateName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
impl ::windows_core::RuntimeName for IGpnvsCommonBase {}
impl IGpnvsCommonBase_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGpnvsCommonBase_Impl, const OFFSET: isize>() -> IGpnvsCommonBase_Vtbl {
unsafe extern "system" fn GetValueUpdateName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGpnvsCommonBase_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetValueUpdateName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetValueUpdateName: GetValueUpdateName::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IGpnvsCommonBase as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IGuideData_Impl: Sized {
fn GetServices(&self) -> ::windows_core::Result<IEnumTuneRequests>;
fn GetServiceProperties(&self, ptunerequest: ::core::option::Option<&ITuneRequest>) -> ::windows_core::Result<IEnumGuideDataProperties>;
fn GetGuideProgramIDs(&self) -> ::windows_core::Result<super::super::super::System::Ole::IEnumVARIANT>;
fn GetProgramProperties(&self, varprogramdescriptionid: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<IEnumGuideDataProperties>;
fn GetScheduleEntryIDs(&self) -> ::windows_core::Result<super::super::super::System::Ole::IEnumVARIANT>;
fn GetScheduleEntryProperties(&self, varscheduleentrydescriptionid: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<IEnumGuideDataProperties>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IGuideData {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IGuideData_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideData_Impl, const OFFSET: isize>() -> IGuideData_Vtbl {
unsafe extern "system" fn GetServices<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenumtunerequests: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetServices() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenumtunerequests, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetServiceProperties<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptunerequest: *mut ::core::ffi::c_void, ppenumproperties: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetServiceProperties(::windows_core::from_raw_borrowed(&ptunerequest)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenumproperties, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetGuideProgramIDs<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, penumprograms: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetGuideProgramIDs() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(penumprograms, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProgramProperties<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, varprogramdescriptionid: super::super::super::System::Variant::VARIANT, ppenumproperties: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProgramProperties(::core::mem::transmute(&varprogramdescriptionid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenumproperties, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetScheduleEntryIDs<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, penumscheduleentries: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetScheduleEntryIDs() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(penumscheduleentries, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetScheduleEntryProperties<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, varscheduleentrydescriptionid: super::super::super::System::Variant::VARIANT, ppenumproperties: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetScheduleEntryProperties(::core::mem::transmute(&varscheduleentrydescriptionid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenumproperties, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetServices: GetServices::<Identity, Impl, OFFSET>,
GetServiceProperties: GetServiceProperties::<Identity, Impl, OFFSET>,
GetGuideProgramIDs: GetGuideProgramIDs::<Identity, Impl, OFFSET>,
GetProgramProperties: GetProgramProperties::<Identity, Impl, OFFSET>,
GetScheduleEntryIDs: GetScheduleEntryIDs::<Identity, Impl, OFFSET>,
GetScheduleEntryProperties: GetScheduleEntryProperties::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IGuideData as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IGuideDataEvent_Impl: Sized {
fn GuideDataAcquired(&self) -> ::windows_core::Result<()>;
fn ProgramChanged(&self, varprogramdescriptionid: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn ServiceChanged(&self, varservicedescriptionid: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn ScheduleEntryChanged(&self, varscheduleentrydescriptionid: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn ProgramDeleted(&self, varprogramdescriptionid: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn ServiceDeleted(&self, varservicedescriptionid: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn ScheduleDeleted(&self, varscheduleentrydescriptionid: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IGuideDataEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IGuideDataEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideDataEvent_Impl, const OFFSET: isize>() -> IGuideDataEvent_Vtbl {
unsafe extern "system" fn GuideDataAcquired<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideDataEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GuideDataAcquired().into()
}
unsafe extern "system" fn ProgramChanged<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideDataEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, varprogramdescriptionid: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ProgramChanged(::core::mem::transmute(&varprogramdescriptionid)).into()
}
unsafe extern "system" fn ServiceChanged<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideDataEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, varservicedescriptionid: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ServiceChanged(::core::mem::transmute(&varservicedescriptionid)).into()
}
unsafe extern "system" fn ScheduleEntryChanged<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideDataEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, varscheduleentrydescriptionid: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ScheduleEntryChanged(::core::mem::transmute(&varscheduleentrydescriptionid)).into()
}
unsafe extern "system" fn ProgramDeleted<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideDataEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, varprogramdescriptionid: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ProgramDeleted(::core::mem::transmute(&varprogramdescriptionid)).into()
}
unsafe extern "system" fn ServiceDeleted<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideDataEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, varservicedescriptionid: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ServiceDeleted(::core::mem::transmute(&varservicedescriptionid)).into()
}
unsafe extern "system" fn ScheduleDeleted<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideDataEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, varscheduleentrydescriptionid: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ScheduleDeleted(::core::mem::transmute(&varscheduleentrydescriptionid)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GuideDataAcquired: GuideDataAcquired::<Identity, Impl, OFFSET>,
ProgramChanged: ProgramChanged::<Identity, Impl, OFFSET>,
ServiceChanged: ServiceChanged::<Identity, Impl, OFFSET>,
ScheduleEntryChanged: ScheduleEntryChanged::<Identity, Impl, OFFSET>,
ProgramDeleted: ProgramDeleted::<Identity, Impl, OFFSET>,
ServiceDeleted: ServiceDeleted::<Identity, Impl, OFFSET>,
ScheduleDeleted: ScheduleDeleted::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IGuideDataEvent as ::windows_core::ComInterface>::IID
}
}
pub trait IGuideDataLoader_Impl: Sized {
fn Init(&self, pguidestore: ::core::option::Option<&IGuideData>) -> ::windows_core::Result<()>;
fn Terminate(&self) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IGuideDataLoader {}
impl IGuideDataLoader_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideDataLoader_Impl, const OFFSET: isize>() -> IGuideDataLoader_Vtbl {
unsafe extern "system" fn Init<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideDataLoader_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pguidestore: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Init(::windows_core::from_raw_borrowed(&pguidestore)).into()
}
unsafe extern "system" fn Terminate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideDataLoader_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Terminate().into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Init: Init::<Identity, Impl, OFFSET>,
Terminate: Terminate::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IGuideDataLoader as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IGuideDataProperty_Impl: Sized {
fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn Language(&self) -> ::windows_core::Result<i32>;
fn Value(&self) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IGuideDataProperty {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IGuideDataProperty_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideDataProperty_Impl, const OFFSET: isize>() -> IGuideDataProperty_Vtbl {
unsafe extern "system" fn Name<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideDataProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Name() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Language<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideDataProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, idlang: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Language() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(idlang, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Value<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IGuideDataProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvar: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Value() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvar, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Name: Name::<Identity, Impl, OFFSET>,
Language: Language::<Identity, Impl, OFFSET>,
Value: Value::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IGuideDataProperty as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IISDBSLocator_Impl: Sized + IDVBSLocator_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IISDBSLocator {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IISDBSLocator_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDBSLocator_Impl, const OFFSET: isize>() -> IISDBSLocator_Vtbl {
Self { base__: IDVBSLocator_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IISDBSLocator as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ILocator as ::windows_core::ComInterface>::IID || *iid == <IDigitalLocator as ::windows_core::ComInterface>::IID || *iid == <IDVBSLocator as ::windows_core::ComInterface>::IID
}
}
pub trait IISDB_BIT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetOriginalNetworkId(&self) -> ::windows_core::Result<u16>;
fn GetBroadcastViewPropriety(&self) -> ::windows_core::Result<u8>;
fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result<u32>;
fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u32>;
fn GetRecordBroadcasterId(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result<u32>;
fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn GetVersionHash(&self) -> ::windows_core::Result<u32>;
}
impl ::windows_core::RuntimeName for IISDB_BIT {}
impl IISDB_BIT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_BIT_Impl, const OFFSET: isize>() -> IISDB_BIT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_BIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_BIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetOriginalNetworkId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_BIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOriginalNetworkId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBroadcastViewPropriety<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_BIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBroadcastViewPropriety() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfTableDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_BIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfTableDescriptors() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_BIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTableDescriptorByIndex(::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_BIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTableDescriptorByTag(::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_BIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordBroadcasterId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_BIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordBroadcasterId(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCountOfDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_BIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCountOfDescriptors(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_BIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDescriptorByIndex(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_BIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordDescriptorByTag(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn GetVersionHash<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_BIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwversionhash: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionHash() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwversionhash, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetOriginalNetworkId: GetOriginalNetworkId::<Identity, Impl, OFFSET>,
GetBroadcastViewPropriety: GetBroadcastViewPropriety::<Identity, Impl, OFFSET>,
GetCountOfTableDescriptors: GetCountOfTableDescriptors::<Identity, Impl, OFFSET>,
GetTableDescriptorByIndex: GetTableDescriptorByIndex::<Identity, Impl, OFFSET>,
GetTableDescriptorByTag: GetTableDescriptorByTag::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordBroadcasterId: GetRecordBroadcasterId::<Identity, Impl, OFFSET>,
GetRecordCountOfDescriptors: GetRecordCountOfDescriptors::<Identity, Impl, OFFSET>,
GetRecordDescriptorByIndex: GetRecordDescriptorByIndex::<Identity, Impl, OFFSET>,
GetRecordDescriptorByTag: GetRecordDescriptorByTag::<Identity, Impl, OFFSET>,
GetVersionHash: GetVersionHash::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IISDB_BIT as ::windows_core::ComInterface>::IID
}
}
pub trait IISDB_CDT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>, bsectionnumber: u8) -> ::windows_core::Result<()>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetDownloadDataId(&self) -> ::windows_core::Result<u16>;
fn GetSectionNumber(&self) -> ::windows_core::Result<u8>;
fn GetOriginalNetworkId(&self) -> ::windows_core::Result<u16>;
fn GetDataType(&self) -> ::windows_core::Result<u8>;
fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result<u32>;
fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn GetSizeOfDataModule(&self) -> ::windows_core::Result<u32>;
fn GetDataModule(&self) -> ::windows_core::Result<*mut u8>;
fn GetVersionHash(&self) -> ::windows_core::Result<u32>;
}
impl ::windows_core::RuntimeName for IISDB_CDT {}
impl IISDB_CDT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_CDT_Impl, const OFFSET: isize>() -> IISDB_CDT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_CDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void, bsectionnumber: u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata), ::core::mem::transmute_copy(&bsectionnumber)).into()
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_CDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDownloadDataId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_CDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDownloadDataId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSectionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_CDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSectionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetOriginalNetworkId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_CDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOriginalNetworkId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDataType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_CDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDataType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfTableDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_CDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfTableDescriptors() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_CDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTableDescriptorByIndex(::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_CDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTableDescriptorByTag(::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn GetSizeOfDataModule<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_CDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSizeOfDataModule() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDataModule<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_CDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbdata: *mut *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDataModule() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbdata, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetVersionHash<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_CDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwversionhash: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionHash() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwversionhash, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetDownloadDataId: GetDownloadDataId::<Identity, Impl, OFFSET>,
GetSectionNumber: GetSectionNumber::<Identity, Impl, OFFSET>,
GetOriginalNetworkId: GetOriginalNetworkId::<Identity, Impl, OFFSET>,
GetDataType: GetDataType::<Identity, Impl, OFFSET>,
GetCountOfTableDescriptors: GetCountOfTableDescriptors::<Identity, Impl, OFFSET>,
GetTableDescriptorByIndex: GetTableDescriptorByIndex::<Identity, Impl, OFFSET>,
GetTableDescriptorByTag: GetTableDescriptorByTag::<Identity, Impl, OFFSET>,
GetSizeOfDataModule: GetSizeOfDataModule::<Identity, Impl, OFFSET>,
GetDataModule: GetDataModule::<Identity, Impl, OFFSET>,
GetVersionHash: GetVersionHash::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IISDB_CDT as ::windows_core::ComInterface>::IID
}
}
pub trait IISDB_EMM_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetTableIdExtension(&self) -> ::windows_core::Result<u16>;
fn GetDataBytes(&self, pwbufferlength: *mut u16, pbbuffer: *mut u8) -> ::windows_core::Result<()>;
fn GetSharedEmmMessage(&self, pwlength: *mut u16, ppbmessage: *mut *mut u8) -> ::windows_core::Result<()>;
fn GetIndividualEmmMessage(&self, punknown: ::core::option::Option<&::windows_core::IUnknown>, pwlength: *mut u16, ppbmessage: *mut *mut u8) -> ::windows_core::Result<()>;
fn GetVersionHash(&self) -> ::windows_core::Result<u32>;
}
impl ::windows_core::RuntimeName for IISDB_EMM {}
impl IISDB_EMM_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_EMM_Impl, const OFFSET: isize>() -> IISDB_EMM_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_EMM_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_EMM_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableIdExtension<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_EMM_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTableIdExtension() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDataBytes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_EMM_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwbufferlength: *mut u16, pbbuffer: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDataBytes(::core::mem::transmute_copy(&pwbufferlength), ::core::mem::transmute_copy(&pbbuffer)).into()
}
unsafe extern "system" fn GetSharedEmmMessage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_EMM_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwlength: *mut u16, ppbmessage: *mut *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSharedEmmMessage(::core::mem::transmute_copy(&pwlength), ::core::mem::transmute_copy(&ppbmessage)).into()
}
unsafe extern "system" fn GetIndividualEmmMessage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_EMM_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punknown: *mut ::core::ffi::c_void, pwlength: *mut u16, ppbmessage: *mut *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetIndividualEmmMessage(::windows_core::from_raw_borrowed(&punknown), ::core::mem::transmute_copy(&pwlength), ::core::mem::transmute_copy(&ppbmessage)).into()
}
unsafe extern "system" fn GetVersionHash<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_EMM_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwversionhash: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionHash() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwversionhash, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetTableIdExtension: GetTableIdExtension::<Identity, Impl, OFFSET>,
GetDataBytes: GetDataBytes::<Identity, Impl, OFFSET>,
GetSharedEmmMessage: GetSharedEmmMessage::<Identity, Impl, OFFSET>,
GetIndividualEmmMessage: GetIndividualEmmMessage::<Identity, Impl, OFFSET>,
GetVersionHash: GetVersionHash::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IISDB_EMM as ::windows_core::ComInterface>::IID
}
}
pub trait IISDB_LDT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetOriginalServiceId(&self) -> ::windows_core::Result<u16>;
fn GetTransportStreamId(&self) -> ::windows_core::Result<u16>;
fn GetOriginalNetworkId(&self) -> ::windows_core::Result<u16>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u32>;
fn GetRecordDescriptionId(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result<u32>;
fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn GetVersionHash(&self) -> ::windows_core::Result<u32>;
}
impl ::windows_core::RuntimeName for IISDB_LDT {}
impl IISDB_LDT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_LDT_Impl, const OFFSET: isize>() -> IISDB_LDT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_LDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_LDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetOriginalServiceId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_LDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOriginalServiceId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTransportStreamId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_LDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTransportStreamId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetOriginalNetworkId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_LDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOriginalNetworkId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_LDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptionId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_LDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDescriptionId(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCountOfDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_LDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCountOfDescriptors(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_LDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDescriptorByIndex(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_LDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordDescriptorByTag(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn GetVersionHash<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_LDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwversionhash: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionHash() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwversionhash, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetOriginalServiceId: GetOriginalServiceId::<Identity, Impl, OFFSET>,
GetTransportStreamId: GetTransportStreamId::<Identity, Impl, OFFSET>,
GetOriginalNetworkId: GetOriginalNetworkId::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordDescriptionId: GetRecordDescriptionId::<Identity, Impl, OFFSET>,
GetRecordCountOfDescriptors: GetRecordCountOfDescriptors::<Identity, Impl, OFFSET>,
GetRecordDescriptorByIndex: GetRecordDescriptorByIndex::<Identity, Impl, OFFSET>,
GetRecordDescriptorByTag: GetRecordDescriptorByTag::<Identity, Impl, OFFSET>,
GetVersionHash: GetVersionHash::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IISDB_LDT as ::windows_core::ComInterface>::IID
}
}
pub trait IISDB_NBIT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetOriginalNetworkId(&self) -> ::windows_core::Result<u16>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u32>;
fn GetRecordInformationId(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordInformationType(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordDescriptionBodyLocation(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordMessageSectionNumber(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordUserDefined(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordNumberOfKeys(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordKeys(&self, dwrecordindex: u32) -> ::windows_core::Result<*mut u8>;
fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result<u32>;
fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn GetVersionHash(&self) -> ::windows_core::Result<u32>;
}
impl ::windows_core::RuntimeName for IISDB_NBIT {}
impl IISDB_NBIT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_NBIT_Impl, const OFFSET: isize>() -> IISDB_NBIT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_NBIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_NBIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetOriginalNetworkId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_NBIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOriginalNetworkId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_NBIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordInformationId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_NBIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordInformationId(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordInformationType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_NBIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordInformationType(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptionBodyLocation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_NBIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDescriptionBodyLocation(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordMessageSectionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_NBIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordMessageSectionNumber(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordUserDefined<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_NBIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordUserDefined(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordNumberOfKeys<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_NBIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordNumberOfKeys(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordKeys<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_NBIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbkeys: *mut *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordKeys(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbkeys, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCountOfDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_NBIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCountOfDescriptors(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_NBIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDescriptorByIndex(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_NBIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordDescriptorByTag(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn GetVersionHash<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_NBIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwversionhash: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionHash() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwversionhash, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetOriginalNetworkId: GetOriginalNetworkId::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordInformationId: GetRecordInformationId::<Identity, Impl, OFFSET>,
GetRecordInformationType: GetRecordInformationType::<Identity, Impl, OFFSET>,
GetRecordDescriptionBodyLocation: GetRecordDescriptionBodyLocation::<Identity, Impl, OFFSET>,
GetRecordMessageSectionNumber: GetRecordMessageSectionNumber::<Identity, Impl, OFFSET>,
GetRecordUserDefined: GetRecordUserDefined::<Identity, Impl, OFFSET>,
GetRecordNumberOfKeys: GetRecordNumberOfKeys::<Identity, Impl, OFFSET>,
GetRecordKeys: GetRecordKeys::<Identity, Impl, OFFSET>,
GetRecordCountOfDescriptors: GetRecordCountOfDescriptors::<Identity, Impl, OFFSET>,
GetRecordDescriptorByIndex: GetRecordDescriptorByIndex::<Identity, Impl, OFFSET>,
GetRecordDescriptorByTag: GetRecordDescriptorByTag::<Identity, Impl, OFFSET>,
GetVersionHash: GetVersionHash::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IISDB_NBIT as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IISDB_SDT_Impl: Sized + IDVB_SDT_Impl {
fn GetRecordEITUserDefinedFlags(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IISDB_SDT {}
#[cfg(feature = "Win32_Foundation")]
impl IISDB_SDT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDT_Impl, const OFFSET: isize>() -> IISDB_SDT_Vtbl {
unsafe extern "system" fn GetRecordEITUserDefinedFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordEITUserDefinedFlags(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: IDVB_SDT_Vtbl::new::<Identity, Impl, OFFSET>(), GetRecordEITUserDefinedFlags: GetRecordEITUserDefinedFlags::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IISDB_SDT as ::windows_core::ComInterface>::IID || *iid == <IDVB_SDT as ::windows_core::ComInterface>::IID
}
}
pub trait IISDB_SDTT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetTableIdExt(&self) -> ::windows_core::Result<u16>;
fn GetTransportStreamId(&self) -> ::windows_core::Result<u16>;
fn GetOriginalNetworkId(&self) -> ::windows_core::Result<u16>;
fn GetServiceId(&self) -> ::windows_core::Result<u16>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u32>;
fn GetRecordGroup(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordTargetVersion(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordNewVersion(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordDownloadLevel(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordVersionIndicator(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordScheduleTimeShiftInformation(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordCountOfSchedules(&self, dwrecordindex: u32) -> ::windows_core::Result<u32>;
fn GetRecordStartTimeByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result<MPEG_DATE_AND_TIME>;
fn GetRecordDurationByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result<MPEG_TIME>;
fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result<u32>;
fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn GetVersionHash(&self) -> ::windows_core::Result<u32>;
}
impl ::windows_core::RuntimeName for IISDB_SDTT {}
impl IISDB_SDTT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>() -> IISDB_SDTT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableIdExt<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTableIdExt() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTransportStreamId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTransportStreamId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetOriginalNetworkId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOriginalNetworkId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetServiceId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetServiceId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordGroup<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordGroup(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordTargetVersion<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordTargetVersion(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordNewVersion<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordNewVersion(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDownloadLevel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDownloadLevel(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordVersionIndicator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordVersionIndicator(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordScheduleTimeShiftInformation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordScheduleTimeShiftInformation(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCountOfSchedules<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCountOfSchedules(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordStartTimeByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, dwindex: u32, pmdtval: *mut MPEG_DATE_AND_TIME) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordStartTimeByIndex(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pmdtval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDurationByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, dwindex: u32, pmdval: *mut MPEG_TIME) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDurationByIndex(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pmdval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCountOfDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCountOfDescriptors(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDescriptorByIndex(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordDescriptorByTag(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn GetVersionHash<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IISDB_SDTT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwversionhash: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionHash() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwversionhash, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetTableIdExt: GetTableIdExt::<Identity, Impl, OFFSET>,
GetTransportStreamId: GetTransportStreamId::<Identity, Impl, OFFSET>,
GetOriginalNetworkId: GetOriginalNetworkId::<Identity, Impl, OFFSET>,
GetServiceId: GetServiceId::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordGroup: GetRecordGroup::<Identity, Impl, OFFSET>,
GetRecordTargetVersion: GetRecordTargetVersion::<Identity, Impl, OFFSET>,
GetRecordNewVersion: GetRecordNewVersion::<Identity, Impl, OFFSET>,
GetRecordDownloadLevel: GetRecordDownloadLevel::<Identity, Impl, OFFSET>,
GetRecordVersionIndicator: GetRecordVersionIndicator::<Identity, Impl, OFFSET>,
GetRecordScheduleTimeShiftInformation: GetRecordScheduleTimeShiftInformation::<Identity, Impl, OFFSET>,
GetRecordCountOfSchedules: GetRecordCountOfSchedules::<Identity, Impl, OFFSET>,
GetRecordStartTimeByIndex: GetRecordStartTimeByIndex::<Identity, Impl, OFFSET>,
GetRecordDurationByIndex: GetRecordDurationByIndex::<Identity, Impl, OFFSET>,
GetRecordCountOfDescriptors: GetRecordCountOfDescriptors::<Identity, Impl, OFFSET>,
GetRecordDescriptorByIndex: GetRecordDescriptorByIndex::<Identity, Impl, OFFSET>,
GetRecordDescriptorByTag: GetRecordDescriptorByTag::<Identity, Impl, OFFSET>,
GetVersionHash: GetVersionHash::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IISDB_SDTT as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IIsdbAudioComponentDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetStreamContent(&self) -> ::windows_core::Result<u8>;
fn GetComponentType(&self) -> ::windows_core::Result<u8>;
fn GetComponentTag(&self) -> ::windows_core::Result<u8>;
fn GetStreamType(&self) -> ::windows_core::Result<u8>;
fn GetSimulcastGroupTag(&self) -> ::windows_core::Result<u8>;
fn GetESMultiLingualFlag(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn GetMainComponentFlag(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn GetQualityIndicator(&self) -> ::windows_core::Result<u8>;
fn GetSamplingRate(&self) -> ::windows_core::Result<u8>;
fn GetLanguageCode(&self, pszcode: *mut u8) -> ::windows_core::Result<()>;
fn GetLanguageCode2(&self, pszcode: *mut u8) -> ::windows_core::Result<()>;
fn GetTextW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IIsdbAudioComponentDescriptor {}
#[cfg(feature = "Win32_Foundation")]
impl IIsdbAudioComponentDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbAudioComponentDescriptor_Impl, const OFFSET: isize>() -> IIsdbAudioComponentDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbAudioComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbAudioComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStreamContent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbAudioComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStreamContent() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetComponentType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbAudioComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetComponentType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetComponentTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbAudioComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetComponentTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStreamType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbAudioComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStreamType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSimulcastGroupTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbAudioComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSimulcastGroupTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetESMultiLingualFlag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbAudioComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfval: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetESMultiLingualFlag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMainComponentFlag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbAudioComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfval: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetMainComponentFlag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetQualityIndicator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbAudioComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetQualityIndicator() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSamplingRate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbAudioComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSamplingRate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLanguageCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbAudioComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszcode: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLanguageCode(::core::mem::transmute_copy(&pszcode)).into()
}
unsafe extern "system" fn GetLanguageCode2<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbAudioComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszcode: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLanguageCode2(::core::mem::transmute_copy(&pszcode)).into()
}
unsafe extern "system" fn GetTextW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbAudioComponentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, convmode: DVB_STRCONV_MODE, pbstrtext: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTextW(::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrtext, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetStreamContent: GetStreamContent::<Identity, Impl, OFFSET>,
GetComponentType: GetComponentType::<Identity, Impl, OFFSET>,
GetComponentTag: GetComponentTag::<Identity, Impl, OFFSET>,
GetStreamType: GetStreamType::<Identity, Impl, OFFSET>,
GetSimulcastGroupTag: GetSimulcastGroupTag::<Identity, Impl, OFFSET>,
GetESMultiLingualFlag: GetESMultiLingualFlag::<Identity, Impl, OFFSET>,
GetMainComponentFlag: GetMainComponentFlag::<Identity, Impl, OFFSET>,
GetQualityIndicator: GetQualityIndicator::<Identity, Impl, OFFSET>,
GetSamplingRate: GetSamplingRate::<Identity, Impl, OFFSET>,
GetLanguageCode: GetLanguageCode::<Identity, Impl, OFFSET>,
GetLanguageCode2: GetLanguageCode2::<Identity, Impl, OFFSET>,
GetTextW: GetTextW::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IIsdbAudioComponentDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IIsdbCAContractInformationDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetCASystemId(&self) -> ::windows_core::Result<u16>;
fn GetCAUnitId(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetRecordComponentTag(&self, brecordindex: u8) -> ::windows_core::Result<u8>;
fn GetContractVerificationInfoLength(&self) -> ::windows_core::Result<u8>;
fn GetContractVerificationInfo(&self, bbuflength: u8) -> ::windows_core::Result<u8>;
fn GetFeeNameW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
}
impl ::windows_core::RuntimeName for IIsdbCAContractInformationDescriptor {}
impl IIsdbCAContractInformationDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCAContractInformationDescriptor_Impl, const OFFSET: isize>() -> IIsdbCAContractInformationDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCAContractInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCAContractInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCASystemId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCAContractInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCASystemId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCAUnitId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCAContractInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCAUnitId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCAContractInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordComponentTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCAContractInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordComponentTag(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetContractVerificationInfoLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCAContractInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetContractVerificationInfoLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetContractVerificationInfo<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCAContractInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bbuflength: u8, pbbuf: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetContractVerificationInfo(::core::mem::transmute_copy(&bbuflength)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbbuf, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFeeNameW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCAContractInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, convmode: DVB_STRCONV_MODE, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFeeNameW(::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetCASystemId: GetCASystemId::<Identity, Impl, OFFSET>,
GetCAUnitId: GetCAUnitId::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordComponentTag: GetRecordComponentTag::<Identity, Impl, OFFSET>,
GetContractVerificationInfoLength: GetContractVerificationInfoLength::<Identity, Impl, OFFSET>,
GetContractVerificationInfo: GetContractVerificationInfo::<Identity, Impl, OFFSET>,
GetFeeNameW: GetFeeNameW::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IIsdbCAContractInformationDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IIsdbCADescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetCASystemId(&self) -> ::windows_core::Result<u16>;
fn GetReservedBits(&self) -> ::windows_core::Result<u8>;
fn GetCAPID(&self) -> ::windows_core::Result<u16>;
fn GetPrivateDataBytes(&self, pbbufferlength: *mut u8, pbbuffer: *mut u8) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IIsdbCADescriptor {}
impl IIsdbCADescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCADescriptor_Impl, const OFFSET: isize>() -> IIsdbCADescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCADescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCADescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCASystemId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCADescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCASystemId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetReservedBits<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCADescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetReservedBits() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCAPID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCADescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCAPID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPrivateDataBytes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCADescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbbufferlength: *mut u8, pbbuffer: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPrivateDataBytes(::core::mem::transmute_copy(&pbbufferlength), ::core::mem::transmute_copy(&pbbuffer)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetCASystemId: GetCASystemId::<Identity, Impl, OFFSET>,
GetReservedBits: GetReservedBits::<Identity, Impl, OFFSET>,
GetCAPID: GetCAPID::<Identity, Impl, OFFSET>,
GetPrivateDataBytes: GetPrivateDataBytes::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IIsdbCADescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IIsdbCAServiceDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetCASystemId(&self) -> ::windows_core::Result<u16>;
fn GetCABroadcasterGroupId(&self) -> ::windows_core::Result<u8>;
fn GetMessageControl(&self) -> ::windows_core::Result<u8>;
fn GetServiceIds(&self, pbnumserviceids: *mut u8, pwserviceids: *mut u16) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IIsdbCAServiceDescriptor {}
impl IIsdbCAServiceDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCAServiceDescriptor_Impl, const OFFSET: isize>() -> IIsdbCAServiceDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCAServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCAServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCASystemId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCAServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCASystemId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCABroadcasterGroupId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCAServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCABroadcasterGroupId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMessageControl<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCAServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetMessageControl() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetServiceIds<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbCAServiceDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbnumserviceids: *mut u8, pwserviceids: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetServiceIds(::core::mem::transmute_copy(&pbnumserviceids), ::core::mem::transmute_copy(&pwserviceids)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetCASystemId: GetCASystemId::<Identity, Impl, OFFSET>,
GetCABroadcasterGroupId: GetCABroadcasterGroupId::<Identity, Impl, OFFSET>,
GetMessageControl: GetMessageControl::<Identity, Impl, OFFSET>,
GetServiceIds: GetServiceIds::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IIsdbCAServiceDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IIsdbComponentGroupDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetComponentGroupType(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetRecordGroupId(&self, brecordindex: u8) -> ::windows_core::Result<u8>;
fn GetRecordNumberOfCAUnit(&self, brecordindex: u8) -> ::windows_core::Result<u8>;
fn GetRecordCAUnitCAUnitId(&self, brecordindex: u8, bcaunitindex: u8) -> ::windows_core::Result<u8>;
fn GetRecordCAUnitNumberOfComponents(&self, brecordindex: u8, bcaunitindex: u8) -> ::windows_core::Result<u8>;
fn GetRecordCAUnitComponentTag(&self, brecordindex: u8, bcaunitindex: u8, bcomponentindex: u8) -> ::windows_core::Result<u8>;
fn GetRecordTotalBitRate(&self, brecordindex: u8) -> ::windows_core::Result<u8>;
fn GetRecordTextW(&self, brecordindex: u8, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
}
impl ::windows_core::RuntimeName for IIsdbComponentGroupDescriptor {}
impl IIsdbComponentGroupDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbComponentGroupDescriptor_Impl, const OFFSET: isize>() -> IIsdbComponentGroupDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbComponentGroupDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbComponentGroupDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetComponentGroupType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbComponentGroupDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetComponentGroupType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbComponentGroupDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordGroupId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbComponentGroupDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordGroupId(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordNumberOfCAUnit<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbComponentGroupDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordNumberOfCAUnit(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCAUnitCAUnitId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbComponentGroupDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, bcaunitindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCAUnitCAUnitId(::core::mem::transmute_copy(&brecordindex), ::core::mem::transmute_copy(&bcaunitindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCAUnitNumberOfComponents<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbComponentGroupDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, bcaunitindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCAUnitNumberOfComponents(::core::mem::transmute_copy(&brecordindex), ::core::mem::transmute_copy(&bcaunitindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCAUnitComponentTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbComponentGroupDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, bcaunitindex: u8, bcomponentindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCAUnitComponentTag(::core::mem::transmute_copy(&brecordindex), ::core::mem::transmute_copy(&bcaunitindex), ::core::mem::transmute_copy(&bcomponentindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordTotalBitRate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbComponentGroupDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordTotalBitRate(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordTextW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbComponentGroupDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, convmode: DVB_STRCONV_MODE, pbstrtext: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordTextW(::core::mem::transmute_copy(&brecordindex), ::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrtext, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetComponentGroupType: GetComponentGroupType::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordGroupId: GetRecordGroupId::<Identity, Impl, OFFSET>,
GetRecordNumberOfCAUnit: GetRecordNumberOfCAUnit::<Identity, Impl, OFFSET>,
GetRecordCAUnitCAUnitId: GetRecordCAUnitCAUnitId::<Identity, Impl, OFFSET>,
GetRecordCAUnitNumberOfComponents: GetRecordCAUnitNumberOfComponents::<Identity, Impl, OFFSET>,
GetRecordCAUnitComponentTag: GetRecordCAUnitComponentTag::<Identity, Impl, OFFSET>,
GetRecordTotalBitRate: GetRecordTotalBitRate::<Identity, Impl, OFFSET>,
GetRecordTextW: GetRecordTextW::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IIsdbComponentGroupDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IIsdbDataContentDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetDataComponentId(&self) -> ::windows_core::Result<u16>;
fn GetEntryComponent(&self) -> ::windows_core::Result<u8>;
fn GetSelectorLength(&self) -> ::windows_core::Result<u8>;
fn GetSelectorBytes(&self, bbuflength: u8) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetRecordComponentRef(&self, brecordindex: u8) -> ::windows_core::Result<u8>;
fn GetLanguageCode(&self, pszcode: *mut u8) -> ::windows_core::Result<()>;
fn GetTextW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
}
impl ::windows_core::RuntimeName for IIsdbDataContentDescriptor {}
impl IIsdbDataContentDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDataContentDescriptor_Impl, const OFFSET: isize>() -> IIsdbDataContentDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDataContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDataContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDataComponentId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDataContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDataComponentId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEntryComponent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDataContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEntryComponent() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSelectorLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDataContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSelectorLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSelectorBytes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDataContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bbuflength: u8, pbbuf: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSelectorBytes(::core::mem::transmute_copy(&bbuflength)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbbuf, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDataContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordComponentRef<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDataContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordComponentRef(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLanguageCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDataContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszcode: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLanguageCode(::core::mem::transmute_copy(&pszcode)).into()
}
unsafe extern "system" fn GetTextW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDataContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, convmode: DVB_STRCONV_MODE, pbstrtext: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTextW(::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrtext, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetDataComponentId: GetDataComponentId::<Identity, Impl, OFFSET>,
GetEntryComponent: GetEntryComponent::<Identity, Impl, OFFSET>,
GetSelectorLength: GetSelectorLength::<Identity, Impl, OFFSET>,
GetSelectorBytes: GetSelectorBytes::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordComponentRef: GetRecordComponentRef::<Identity, Impl, OFFSET>,
GetLanguageCode: GetLanguageCode::<Identity, Impl, OFFSET>,
GetTextW: GetTextW::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IIsdbDataContentDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IIsdbDigitalCopyControlDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetCopyControl(&self, pbdigitalrecordingcontroldata: *mut u8, pbcopycontroltype: *mut u8, pbapscontroldata: *mut u8, pbmaximumbitrate: *mut u8) -> ::windows_core::Result<()>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetRecordCopyControl(&self, brecordindex: u8, pbcomponenttag: *mut u8, pbdigitalrecordingcontroldata: *mut u8, pbcopycontroltype: *mut u8, pbapscontroldata: *mut u8, pbmaximumbitrate: *mut u8) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IIsdbDigitalCopyControlDescriptor {}
impl IIsdbDigitalCopyControlDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDigitalCopyControlDescriptor_Impl, const OFFSET: isize>() -> IIsdbDigitalCopyControlDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDigitalCopyControlDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDigitalCopyControlDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCopyControl<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDigitalCopyControlDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbdigitalrecordingcontroldata: *mut u8, pbcopycontroltype: *mut u8, pbapscontroldata: *mut u8, pbmaximumbitrate: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCopyControl(::core::mem::transmute_copy(&pbdigitalrecordingcontroldata), ::core::mem::transmute_copy(&pbcopycontroltype), ::core::mem::transmute_copy(&pbapscontroldata), ::core::mem::transmute_copy(&pbmaximumbitrate)).into()
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDigitalCopyControlDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCopyControl<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDigitalCopyControlDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbcomponenttag: *mut u8, pbdigitalrecordingcontroldata: *mut u8, pbcopycontroltype: *mut u8, pbapscontroldata: *mut u8, pbmaximumbitrate: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordCopyControl(::core::mem::transmute_copy(&brecordindex), ::core::mem::transmute_copy(&pbcomponenttag), ::core::mem::transmute_copy(&pbdigitalrecordingcontroldata), ::core::mem::transmute_copy(&pbcopycontroltype), ::core::mem::transmute_copy(&pbapscontroldata), ::core::mem::transmute_copy(&pbmaximumbitrate)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetCopyControl: GetCopyControl::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordCopyControl: GetRecordCopyControl::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IIsdbDigitalCopyControlDescriptor as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IIsdbDownloadContentDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetFlags(&self, pfreboot: *mut super::super::super::Foundation::BOOL, pfaddon: *mut super::super::super::Foundation::BOOL, pfcompatibility: *mut super::super::super::Foundation::BOOL, pfmoduleinfo: *mut super::super::super::Foundation::BOOL, pftextinfo: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn GetComponentSize(&self) -> ::windows_core::Result<u32>;
fn GetDownloadId(&self) -> ::windows_core::Result<u32>;
fn GetTimeOutValueDII(&self) -> ::windows_core::Result<u32>;
fn GetLeakRate(&self) -> ::windows_core::Result<u32>;
fn GetComponentTag(&self) -> ::windows_core::Result<u8>;
fn GetCompatiblityDescriptorLength(&self) -> ::windows_core::Result<u16>;
fn GetCompatiblityDescriptor(&self) -> ::windows_core::Result<*mut u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u16>;
fn GetRecordModuleId(&self, wrecordindex: u16) -> ::windows_core::Result<u16>;
fn GetRecordModuleSize(&self, wrecordindex: u16) -> ::windows_core::Result<u32>;
fn GetRecordModuleInfoLength(&self, wrecordindex: u16) -> ::windows_core::Result<u8>;
fn GetRecordModuleInfo(&self, wrecordindex: u16) -> ::windows_core::Result<*mut u8>;
fn GetTextLanguageCode(&self, szcode: *mut u8) -> ::windows_core::Result<()>;
fn GetTextW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IIsdbDownloadContentDescriptor {}
#[cfg(feature = "Win32_Foundation")]
impl IIsdbDownloadContentDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDownloadContentDescriptor_Impl, const OFFSET: isize>() -> IIsdbDownloadContentDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDownloadContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDownloadContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFlags<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDownloadContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfreboot: *mut super::super::super::Foundation::BOOL, pfaddon: *mut super::super::super::Foundation::BOOL, pfcompatibility: *mut super::super::super::Foundation::BOOL, pfmoduleinfo: *mut super::super::super::Foundation::BOOL, pftextinfo: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFlags(::core::mem::transmute_copy(&pfreboot), ::core::mem::transmute_copy(&pfaddon), ::core::mem::transmute_copy(&pfcompatibility), ::core::mem::transmute_copy(&pfmoduleinfo), ::core::mem::transmute_copy(&pftextinfo)).into()
}
unsafe extern "system" fn GetComponentSize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDownloadContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetComponentSize() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDownloadId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDownloadContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDownloadId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTimeOutValueDII<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDownloadContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTimeOutValueDII() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLeakRate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDownloadContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLeakRate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetComponentTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDownloadContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetComponentTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCompatiblityDescriptorLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDownloadContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwlength: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCompatiblityDescriptorLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwlength, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCompatiblityDescriptor<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDownloadContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppbdata: *mut *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCompatiblityDescriptor() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppbdata, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDownloadContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordModuleId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDownloadContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, wrecordindex: u16, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordModuleId(::core::mem::transmute_copy(&wrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordModuleSize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDownloadContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, wrecordindex: u16, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordModuleSize(::core::mem::transmute_copy(&wrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordModuleInfoLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDownloadContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, wrecordindex: u16, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordModuleInfoLength(::core::mem::transmute_copy(&wrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordModuleInfo<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDownloadContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, wrecordindex: u16, ppbdata: *mut *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordModuleInfo(::core::mem::transmute_copy(&wrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppbdata, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTextLanguageCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDownloadContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szcode: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextLanguageCode(::core::mem::transmute_copy(&szcode)).into()
}
unsafe extern "system" fn GetTextW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbDownloadContentDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, convmode: DVB_STRCONV_MODE, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTextW(::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetFlags: GetFlags::<Identity, Impl, OFFSET>,
GetComponentSize: GetComponentSize::<Identity, Impl, OFFSET>,
GetDownloadId: GetDownloadId::<Identity, Impl, OFFSET>,
GetTimeOutValueDII: GetTimeOutValueDII::<Identity, Impl, OFFSET>,
GetLeakRate: GetLeakRate::<Identity, Impl, OFFSET>,
GetComponentTag: GetComponentTag::<Identity, Impl, OFFSET>,
GetCompatiblityDescriptorLength: GetCompatiblityDescriptorLength::<Identity, Impl, OFFSET>,
GetCompatiblityDescriptor: GetCompatiblityDescriptor::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordModuleId: GetRecordModuleId::<Identity, Impl, OFFSET>,
GetRecordModuleSize: GetRecordModuleSize::<Identity, Impl, OFFSET>,
GetRecordModuleInfoLength: GetRecordModuleInfoLength::<Identity, Impl, OFFSET>,
GetRecordModuleInfo: GetRecordModuleInfo::<Identity, Impl, OFFSET>,
GetTextLanguageCode: GetTextLanguageCode::<Identity, Impl, OFFSET>,
GetTextW: GetTextW::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IIsdbDownloadContentDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IIsdbEmergencyInformationDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetServiceId(&self, brecordindex: u8) -> ::windows_core::Result<u16>;
fn GetStartEndFlag(&self, brecordindex: u8) -> ::windows_core::Result<u8>;
fn GetSignalLevel(&self, brecordindex: u8) -> ::windows_core::Result<u8>;
fn GetAreaCode(&self, brecordindex: u8, ppwval: *mut *mut u16, pbnumareacodes: *mut u8) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IIsdbEmergencyInformationDescriptor {}
impl IIsdbEmergencyInformationDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbEmergencyInformationDescriptor_Impl, const OFFSET: isize>() -> IIsdbEmergencyInformationDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbEmergencyInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbEmergencyInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbEmergencyInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetServiceId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbEmergencyInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetServiceId(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStartEndFlag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbEmergencyInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStartEndFlag(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSignalLevel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbEmergencyInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSignalLevel(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAreaCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbEmergencyInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, ppwval: *mut *mut u16, pbnumareacodes: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetAreaCode(::core::mem::transmute_copy(&brecordindex), ::core::mem::transmute_copy(&ppwval), ::core::mem::transmute_copy(&pbnumareacodes)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetServiceId: GetServiceId::<Identity, Impl, OFFSET>,
GetStartEndFlag: GetStartEndFlag::<Identity, Impl, OFFSET>,
GetSignalLevel: GetSignalLevel::<Identity, Impl, OFFSET>,
GetAreaCode: GetAreaCode::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IIsdbEmergencyInformationDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IIsdbEventGroupDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetGroupType(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetRecordEvent(&self, brecordindex: u8, pwserviceid: *mut u16, pweventid: *mut u16) -> ::windows_core::Result<()>;
fn GetCountOfRefRecords(&self) -> ::windows_core::Result<u8>;
fn GetRefRecordEvent(&self, brecordindex: u8, pworiginalnetworkid: *mut u16, pwtransportstreamid: *mut u16, pwserviceid: *mut u16, pweventid: *mut u16) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IIsdbEventGroupDescriptor {}
impl IIsdbEventGroupDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbEventGroupDescriptor_Impl, const OFFSET: isize>() -> IIsdbEventGroupDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbEventGroupDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbEventGroupDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetGroupType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbEventGroupDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetGroupType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbEventGroupDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordEvent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbEventGroupDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pwserviceid: *mut u16, pweventid: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordEvent(::core::mem::transmute_copy(&brecordindex), ::core::mem::transmute_copy(&pwserviceid), ::core::mem::transmute_copy(&pweventid)).into()
}
unsafe extern "system" fn GetCountOfRefRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbEventGroupDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRefRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRefRecordEvent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbEventGroupDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pworiginalnetworkid: *mut u16, pwtransportstreamid: *mut u16, pwserviceid: *mut u16, pweventid: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRefRecordEvent(::core::mem::transmute_copy(&brecordindex), ::core::mem::transmute_copy(&pworiginalnetworkid), ::core::mem::transmute_copy(&pwtransportstreamid), ::core::mem::transmute_copy(&pwserviceid), ::core::mem::transmute_copy(&pweventid)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetGroupType: GetGroupType::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordEvent: GetRecordEvent::<Identity, Impl, OFFSET>,
GetCountOfRefRecords: GetCountOfRefRecords::<Identity, Impl, OFFSET>,
GetRefRecordEvent: GetRefRecordEvent::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IIsdbEventGroupDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IIsdbHierarchicalTransmissionDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetFutureUse1(&self) -> ::windows_core::Result<u8>;
fn GetQualityLevel(&self) -> ::windows_core::Result<u8>;
fn GetFutureUse2(&self) -> ::windows_core::Result<u8>;
fn GetReferencePid(&self) -> ::windows_core::Result<u16>;
}
impl ::windows_core::RuntimeName for IIsdbHierarchicalTransmissionDescriptor {}
impl IIsdbHierarchicalTransmissionDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbHierarchicalTransmissionDescriptor_Impl, const OFFSET: isize>() -> IIsdbHierarchicalTransmissionDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbHierarchicalTransmissionDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbHierarchicalTransmissionDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFutureUse1<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbHierarchicalTransmissionDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFutureUse1() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetQualityLevel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbHierarchicalTransmissionDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetQualityLevel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFutureUse2<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbHierarchicalTransmissionDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFutureUse2() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetReferencePid<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbHierarchicalTransmissionDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetReferencePid() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetFutureUse1: GetFutureUse1::<Identity, Impl, OFFSET>,
GetQualityLevel: GetQualityLevel::<Identity, Impl, OFFSET>,
GetFutureUse2: GetFutureUse2::<Identity, Impl, OFFSET>,
GetReferencePid: GetReferencePid::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IIsdbHierarchicalTransmissionDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IIsdbLogoTransmissionDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetLogoTransmissionType(&self) -> ::windows_core::Result<u8>;
fn GetLogoId(&self) -> ::windows_core::Result<u16>;
fn GetLogoVersion(&self) -> ::windows_core::Result<u16>;
fn GetDownloadDataId(&self) -> ::windows_core::Result<u16>;
fn GetLogoCharW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
}
impl ::windows_core::RuntimeName for IIsdbLogoTransmissionDescriptor {}
impl IIsdbLogoTransmissionDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbLogoTransmissionDescriptor_Impl, const OFFSET: isize>() -> IIsdbLogoTransmissionDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbLogoTransmissionDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbLogoTransmissionDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLogoTransmissionType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbLogoTransmissionDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLogoTransmissionType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLogoId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbLogoTransmissionDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLogoId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLogoVersion<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbLogoTransmissionDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLogoVersion() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDownloadDataId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbLogoTransmissionDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDownloadDataId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLogoCharW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbLogoTransmissionDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, convmode: DVB_STRCONV_MODE, pbstrchar: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLogoCharW(::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrchar, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetLogoTransmissionType: GetLogoTransmissionType::<Identity, Impl, OFFSET>,
GetLogoId: GetLogoId::<Identity, Impl, OFFSET>,
GetLogoVersion: GetLogoVersion::<Identity, Impl, OFFSET>,
GetDownloadDataId: GetDownloadDataId::<Identity, Impl, OFFSET>,
GetLogoCharW: GetLogoCharW::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IIsdbLogoTransmissionDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IIsdbSIParameterDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetParameterVersion(&self) -> ::windows_core::Result<u8>;
fn GetUpdateTime(&self) -> ::windows_core::Result<MPEG_DATE>;
fn GetRecordNumberOfTable(&self) -> ::windows_core::Result<u8>;
fn GetTableId(&self, brecordindex: u8) -> ::windows_core::Result<u8>;
fn GetTableDescriptionLength(&self, brecordindex: u8) -> ::windows_core::Result<u8>;
fn GetTableDescriptionBytes(&self, brecordindex: u8, pbbufferlength: *mut u8, pbbuffer: *mut u8) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IIsdbSIParameterDescriptor {}
impl IIsdbSIParameterDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSIParameterDescriptor_Impl, const OFFSET: isize>() -> IIsdbSIParameterDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSIParameterDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSIParameterDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetParameterVersion<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSIParameterDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetParameterVersion() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetUpdateTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSIParameterDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut MPEG_DATE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetUpdateTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordNumberOfTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSIParameterDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordNumberOfTable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSIParameterDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTableId(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptionLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSIParameterDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTableDescriptionLength(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptionBytes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSIParameterDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbbufferlength: *mut u8, pbbuffer: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTableDescriptionBytes(::core::mem::transmute_copy(&brecordindex), ::core::mem::transmute_copy(&pbbufferlength), ::core::mem::transmute_copy(&pbbuffer)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetParameterVersion: GetParameterVersion::<Identity, Impl, OFFSET>,
GetUpdateTime: GetUpdateTime::<Identity, Impl, OFFSET>,
GetRecordNumberOfTable: GetRecordNumberOfTable::<Identity, Impl, OFFSET>,
GetTableId: GetTableId::<Identity, Impl, OFFSET>,
GetTableDescriptionLength: GetTableDescriptionLength::<Identity, Impl, OFFSET>,
GetTableDescriptionBytes: GetTableDescriptionBytes::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IIsdbSIParameterDescriptor as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IIsdbSeriesDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetSeriesId(&self) -> ::windows_core::Result<u16>;
fn GetRepeatLabel(&self) -> ::windows_core::Result<u8>;
fn GetProgramPattern(&self) -> ::windows_core::Result<u8>;
fn GetExpireDate(&self, pfvalid: *mut super::super::super::Foundation::BOOL, pmdtval: *mut MPEG_DATE_AND_TIME) -> ::windows_core::Result<()>;
fn GetEpisodeNumber(&self) -> ::windows_core::Result<u16>;
fn GetLastEpisodeNumber(&self) -> ::windows_core::Result<u16>;
fn GetSeriesNameW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IIsdbSeriesDescriptor {}
#[cfg(feature = "Win32_Foundation")]
impl IIsdbSeriesDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSeriesDescriptor_Impl, const OFFSET: isize>() -> IIsdbSeriesDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSeriesDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSeriesDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSeriesId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSeriesDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSeriesId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRepeatLabel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSeriesDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRepeatLabel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProgramPattern<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSeriesDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProgramPattern() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExpireDate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSeriesDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfvalid: *mut super::super::super::Foundation::BOOL, pmdtval: *mut MPEG_DATE_AND_TIME) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExpireDate(::core::mem::transmute_copy(&pfvalid), ::core::mem::transmute_copy(&pmdtval)).into()
}
unsafe extern "system" fn GetEpisodeNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSeriesDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEpisodeNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLastEpisodeNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSeriesDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLastEpisodeNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSeriesNameW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSeriesDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, convmode: DVB_STRCONV_MODE, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSeriesNameW(::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetSeriesId: GetSeriesId::<Identity, Impl, OFFSET>,
GetRepeatLabel: GetRepeatLabel::<Identity, Impl, OFFSET>,
GetProgramPattern: GetProgramPattern::<Identity, Impl, OFFSET>,
GetExpireDate: GetExpireDate::<Identity, Impl, OFFSET>,
GetEpisodeNumber: GetEpisodeNumber::<Identity, Impl, OFFSET>,
GetLastEpisodeNumber: GetLastEpisodeNumber::<Identity, Impl, OFFSET>,
GetSeriesNameW: GetSeriesNameW::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IIsdbSeriesDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IIsdbSiParser2_Impl: Sized + IDvbSiParser2_Impl {
fn GetSDT2(&self, tableid: u8, pwtransportstreamid: *const u16) -> ::windows_core::Result<IISDB_SDT>;
fn GetBIT(&self, tableid: u8, pworiginalnetworkid: *const u16) -> ::windows_core::Result<IISDB_BIT>;
fn GetNBIT(&self, tableid: u8, pworiginalnetworkid: *const u16) -> ::windows_core::Result<IISDB_NBIT>;
fn GetLDT(&self, tableid: u8, pworiginalserviceid: *const u16) -> ::windows_core::Result<IISDB_LDT>;
fn GetSDTT(&self, tableid: u8, pwtableidext: *const u16) -> ::windows_core::Result<IISDB_SDTT>;
fn GetCDT(&self, tableid: u8, bsectionnumber: u8, pwdownloaddataid: *const u16) -> ::windows_core::Result<IISDB_CDT>;
fn GetEMM(&self, pid: u16, wtableidext: u16) -> ::windows_core::Result<IISDB_EMM>;
}
impl ::windows_core::RuntimeName for IIsdbSiParser2 {}
impl IIsdbSiParser2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSiParser2_Impl, const OFFSET: isize>() -> IIsdbSiParser2_Vtbl {
unsafe extern "system" fn GetSDT2<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSiParser2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tableid: u8, pwtransportstreamid: *const u16, ppsdt: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSDT2(::core::mem::transmute_copy(&tableid), ::core::mem::transmute_copy(&pwtransportstreamid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsdt, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBIT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSiParser2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tableid: u8, pworiginalnetworkid: *const u16, ppbit: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBIT(::core::mem::transmute_copy(&tableid), ::core::mem::transmute_copy(&pworiginalnetworkid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppbit, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNBIT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSiParser2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tableid: u8, pworiginalnetworkid: *const u16, ppnbit: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNBIT(::core::mem::transmute_copy(&tableid), ::core::mem::transmute_copy(&pworiginalnetworkid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppnbit, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLDT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSiParser2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tableid: u8, pworiginalserviceid: *const u16, ppldt: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLDT(::core::mem::transmute_copy(&tableid), ::core::mem::transmute_copy(&pworiginalserviceid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppldt, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSDTT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSiParser2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tableid: u8, pwtableidext: *const u16, ppsdtt: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSDTT(::core::mem::transmute_copy(&tableid), ::core::mem::transmute_copy(&pwtableidext)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsdtt, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCDT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSiParser2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tableid: u8, bsectionnumber: u8, pwdownloaddataid: *const u16, ppcdt: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCDT(::core::mem::transmute_copy(&tableid), ::core::mem::transmute_copy(&bsectionnumber), ::core::mem::transmute_copy(&pwdownloaddataid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppcdt, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEMM<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbSiParser2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pid: u16, wtableidext: u16, ppemm: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEMM(::core::mem::transmute_copy(&pid), ::core::mem::transmute_copy(&wtableidext)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppemm, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IDvbSiParser2_Vtbl::new::<Identity, Impl, OFFSET>(),
GetSDT2: GetSDT2::<Identity, Impl, OFFSET>,
GetBIT: GetBIT::<Identity, Impl, OFFSET>,
GetNBIT: GetNBIT::<Identity, Impl, OFFSET>,
GetLDT: GetLDT::<Identity, Impl, OFFSET>,
GetSDTT: GetSDTT::<Identity, Impl, OFFSET>,
GetCDT: GetCDT::<Identity, Impl, OFFSET>,
GetEMM: GetEMM::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IIsdbSiParser2 as ::windows_core::ComInterface>::IID || *iid == <IDvbSiParser as ::windows_core::ComInterface>::IID || *iid == <IDvbSiParser2 as ::windows_core::ComInterface>::IID
}
}
pub trait IIsdbTSInformationDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetRemoteControlKeyId(&self) -> ::windows_core::Result<u8>;
fn GetTSNameW(&self, convmode: DVB_STRCONV_MODE) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetRecordTransmissionTypeInfo(&self, brecordindex: u8) -> ::windows_core::Result<u8>;
fn GetRecordNumberOfServices(&self, brecordindex: u8) -> ::windows_core::Result<u8>;
fn GetRecordServiceIdByIndex(&self, brecordindex: u8, bserviceindex: u8) -> ::windows_core::Result<u16>;
}
impl ::windows_core::RuntimeName for IIsdbTSInformationDescriptor {}
impl IIsdbTSInformationDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbTSInformationDescriptor_Impl, const OFFSET: isize>() -> IIsdbTSInformationDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbTSInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbTSInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRemoteControlKeyId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbTSInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRemoteControlKeyId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTSNameW<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbTSInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, convmode: DVB_STRCONV_MODE, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTSNameW(::core::mem::transmute_copy(&convmode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbTSInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordTransmissionTypeInfo<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbTSInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordTransmissionTypeInfo(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordNumberOfServices<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbTSInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordNumberOfServices(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordServiceIdByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbTSInformationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, bserviceindex: u8, pdwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordServiceIdByIndex(::core::mem::transmute_copy(&brecordindex), ::core::mem::transmute_copy(&bserviceindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetRemoteControlKeyId: GetRemoteControlKeyId::<Identity, Impl, OFFSET>,
GetTSNameW: GetTSNameW::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordTransmissionTypeInfo: GetRecordTransmissionTypeInfo::<Identity, Impl, OFFSET>,
GetRecordNumberOfServices: GetRecordNumberOfServices::<Identity, Impl, OFFSET>,
GetRecordServiceIdByIndex: GetRecordServiceIdByIndex::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IIsdbTSInformationDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IIsdbTerrestrialDeliverySystemDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u8>;
fn GetAreaCode(&self) -> ::windows_core::Result<u16>;
fn GetGuardInterval(&self) -> ::windows_core::Result<u8>;
fn GetTransmissionMode(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u8>;
fn GetRecordFrequency(&self, brecordindex: u8) -> ::windows_core::Result<u32>;
}
impl ::windows_core::RuntimeName for IIsdbTerrestrialDeliverySystemDescriptor {}
impl IIsdbTerrestrialDeliverySystemDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>() -> IIsdbTerrestrialDeliverySystemDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAreaCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAreaCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetGuardInterval<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetGuardInterval() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTransmissionMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTransmissionMode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordFrequency<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IIsdbTerrestrialDeliverySystemDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecordindex: u8, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordFrequency(::core::mem::transmute_copy(&brecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetAreaCode: GetAreaCode::<Identity, Impl, OFFSET>,
GetGuardInterval: GetGuardInterval::<Identity, Impl, OFFSET>,
GetTransmissionMode: GetTransmissionMode::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordFrequency: GetRecordFrequency::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IIsdbTerrestrialDeliverySystemDescriptor as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ILanguageComponentType_Impl: Sized + IComponentType_Impl {
fn LangID(&self) -> ::windows_core::Result<i32>;
fn SetLangID(&self, langid: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ILanguageComponentType {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ILanguageComponentType_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILanguageComponentType_Impl, const OFFSET: isize>() -> ILanguageComponentType_Vtbl {
unsafe extern "system" fn LangID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILanguageComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, langid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.LangID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(langid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLangID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILanguageComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, langid: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLangID(::core::mem::transmute_copy(&langid)).into()
}
Self {
base__: IComponentType_Vtbl::new::<Identity, Impl, OFFSET>(),
LangID: LangID::<Identity, Impl, OFFSET>,
SetLangID: SetLangID::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ILanguageComponentType as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IComponentType as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ILocator_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn CarrierFrequency(&self) -> ::windows_core::Result<i32>;
fn SetCarrierFrequency(&self, frequency: i32) -> ::windows_core::Result<()>;
fn InnerFEC(&self) -> ::windows_core::Result<super::FECMethod>;
fn SetInnerFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()>;
fn InnerFECRate(&self) -> ::windows_core::Result<super::BinaryConvolutionCodeRate>;
fn SetInnerFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()>;
fn OuterFEC(&self) -> ::windows_core::Result<super::FECMethod>;
fn SetOuterFEC(&self, fec: super::FECMethod) -> ::windows_core::Result<()>;
fn OuterFECRate(&self) -> ::windows_core::Result<super::BinaryConvolutionCodeRate>;
fn SetOuterFECRate(&self, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::Result<()>;
fn Modulation(&self) -> ::windows_core::Result<super::ModulationType>;
fn SetModulation(&self, modulation: super::ModulationType) -> ::windows_core::Result<()>;
fn SymbolRate(&self) -> ::windows_core::Result<i32>;
fn SetSymbolRate(&self, rate: i32) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<ILocator>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ILocator {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ILocator_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILocator_Impl, const OFFSET: isize>() -> ILocator_Vtbl {
unsafe extern "system" fn CarrierFrequency<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, frequency: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CarrierFrequency() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(frequency, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCarrierFrequency<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, frequency: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCarrierFrequency(::core::mem::transmute_copy(&frequency)).into()
}
unsafe extern "system" fn InnerFEC<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fec: *mut super::FECMethod) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.InnerFEC() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(fec, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInnerFEC<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fec: super::FECMethod) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInnerFEC(::core::mem::transmute_copy(&fec)).into()
}
unsafe extern "system" fn InnerFECRate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fec: *mut super::BinaryConvolutionCodeRate) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.InnerFECRate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(fec, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInnerFECRate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInnerFECRate(::core::mem::transmute_copy(&fec)).into()
}
unsafe extern "system" fn OuterFEC<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fec: *mut super::FECMethod) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OuterFEC() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(fec, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOuterFEC<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fec: super::FECMethod) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOuterFEC(::core::mem::transmute_copy(&fec)).into()
}
unsafe extern "system" fn OuterFECRate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fec: *mut super::BinaryConvolutionCodeRate) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OuterFECRate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(fec, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOuterFECRate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fec: super::BinaryConvolutionCodeRate) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOuterFECRate(::core::mem::transmute_copy(&fec)).into()
}
unsafe extern "system" fn Modulation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, modulation: *mut super::ModulationType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Modulation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(modulation, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetModulation<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, modulation: super::ModulationType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetModulation(::core::mem::transmute_copy(&modulation)).into()
}
unsafe extern "system" fn SymbolRate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rate: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SymbolRate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(rate, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSymbolRate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rate: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSymbolRate(::core::mem::transmute_copy(&rate)).into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ILocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newlocator: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newlocator, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
CarrierFrequency: CarrierFrequency::<Identity, Impl, OFFSET>,
SetCarrierFrequency: SetCarrierFrequency::<Identity, Impl, OFFSET>,
InnerFEC: InnerFEC::<Identity, Impl, OFFSET>,
SetInnerFEC: SetInnerFEC::<Identity, Impl, OFFSET>,
InnerFECRate: InnerFECRate::<Identity, Impl, OFFSET>,
SetInnerFECRate: SetInnerFECRate::<Identity, Impl, OFFSET>,
OuterFEC: OuterFEC::<Identity, Impl, OFFSET>,
SetOuterFEC: SetOuterFEC::<Identity, Impl, OFFSET>,
OuterFECRate: OuterFECRate::<Identity, Impl, OFFSET>,
SetOuterFECRate: SetOuterFECRate::<Identity, Impl, OFFSET>,
Modulation: Modulation::<Identity, Impl, OFFSET>,
SetModulation: SetModulation::<Identity, Impl, OFFSET>,
SymbolRate: SymbolRate::<Identity, Impl, OFFSET>,
SetSymbolRate: SetSymbolRate::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ILocator as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMPEG2Component_Impl: Sized + IComponent_Impl {
fn PID(&self) -> ::windows_core::Result<i32>;
fn SetPID(&self, pid: i32) -> ::windows_core::Result<()>;
fn PCRPID(&self) -> ::windows_core::Result<i32>;
fn SetPCRPID(&self, pcrpid: i32) -> ::windows_core::Result<()>;
fn ProgramNumber(&self) -> ::windows_core::Result<i32>;
fn SetProgramNumber(&self, programnumber: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMPEG2Component {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMPEG2Component_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2Component_Impl, const OFFSET: isize>() -> IMPEG2Component_Vtbl {
unsafe extern "system" fn PID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2Component_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2Component_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pid: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPID(::core::mem::transmute_copy(&pid)).into()
}
unsafe extern "system" fn PCRPID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2Component_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcrpid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PCRPID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcrpid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPCRPID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2Component_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcrpid: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPCRPID(::core::mem::transmute_copy(&pcrpid)).into()
}
unsafe extern "system" fn ProgramNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2Component_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, programnumber: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ProgramNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(programnumber, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetProgramNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2Component_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, programnumber: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProgramNumber(::core::mem::transmute_copy(&programnumber)).into()
}
Self {
base__: IComponent_Vtbl::new::<Identity, Impl, OFFSET>(),
PID: PID::<Identity, Impl, OFFSET>,
SetPID: SetPID::<Identity, Impl, OFFSET>,
PCRPID: PCRPID::<Identity, Impl, OFFSET>,
SetPCRPID: SetPCRPID::<Identity, Impl, OFFSET>,
ProgramNumber: ProgramNumber::<Identity, Impl, OFFSET>,
SetProgramNumber: SetProgramNumber::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMPEG2Component as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IComponent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMPEG2ComponentType_Impl: Sized + ILanguageComponentType_Impl {
fn StreamType(&self) -> ::windows_core::Result<super::MPEG2StreamType>;
fn SetStreamType(&self, mp2streamtype: super::MPEG2StreamType) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMPEG2ComponentType {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMPEG2ComponentType_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2ComponentType_Impl, const OFFSET: isize>() -> IMPEG2ComponentType_Vtbl {
unsafe extern "system" fn StreamType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2ComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mp2streamtype: *mut super::MPEG2StreamType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.StreamType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mp2streamtype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetStreamType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2ComponentType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mp2streamtype: super::MPEG2StreamType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetStreamType(::core::mem::transmute_copy(&mp2streamtype)).into()
}
Self {
base__: ILanguageComponentType_Vtbl::new::<Identity, Impl, OFFSET>(),
StreamType: StreamType::<Identity, Impl, OFFSET>,
SetStreamType: SetStreamType::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMPEG2ComponentType as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IComponentType as ::windows_core::ComInterface>::IID || *iid == <ILanguageComponentType as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMPEG2TuneRequest_Impl: Sized + ITuneRequest_Impl {
fn TSID(&self) -> ::windows_core::Result<i32>;
fn SetTSID(&self, tsid: i32) -> ::windows_core::Result<()>;
fn ProgNo(&self) -> ::windows_core::Result<i32>;
fn SetProgNo(&self, progno: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMPEG2TuneRequest {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMPEG2TuneRequest_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2TuneRequest_Impl, const OFFSET: isize>() -> IMPEG2TuneRequest_Vtbl {
unsafe extern "system" fn TSID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2TuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tsid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TSID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(tsid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetTSID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2TuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tsid: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTSID(::core::mem::transmute_copy(&tsid)).into()
}
unsafe extern "system" fn ProgNo<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2TuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, progno: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ProgNo() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(progno, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetProgNo<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2TuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, progno: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProgNo(::core::mem::transmute_copy(&progno)).into()
}
Self {
base__: ITuneRequest_Vtbl::new::<Identity, Impl, OFFSET>(),
TSID: TSID::<Identity, Impl, OFFSET>,
SetTSID: SetTSID::<Identity, Impl, OFFSET>,
ProgNo: ProgNo::<Identity, Impl, OFFSET>,
SetProgNo: SetProgNo::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMPEG2TuneRequest as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <ITuneRequest as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMPEG2TuneRequestFactory_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn CreateTuneRequest(&self, tuningspace: ::core::option::Option<&ITuningSpace>) -> ::windows_core::Result<IMPEG2TuneRequest>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMPEG2TuneRequestFactory {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMPEG2TuneRequestFactory_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2TuneRequestFactory_Impl, const OFFSET: isize>() -> IMPEG2TuneRequestFactory_Vtbl {
unsafe extern "system" fn CreateTuneRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2TuneRequestFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tuningspace: *mut ::core::ffi::c_void, tunerequest: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateTuneRequest(::windows_core::from_raw_borrowed(&tuningspace)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(tunerequest, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
CreateTuneRequest: CreateTuneRequest::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMPEG2TuneRequestFactory as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
pub trait IMPEG2TuneRequestSupport_Impl: Sized {}
impl ::windows_core::RuntimeName for IMPEG2TuneRequestSupport {}
impl IMPEG2TuneRequestSupport_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2TuneRequestSupport_Impl, const OFFSET: isize>() -> IMPEG2TuneRequestSupport_Vtbl {
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMPEG2TuneRequestSupport as ::windows_core::ComInterface>::IID
}
}
pub trait IMPEG2_TIF_CONTROL_Impl: Sized {
fn RegisterTIF(&self, punktif: ::core::option::Option<&::windows_core::IUnknown>, ppvregistrationcontext: *mut u32) -> ::windows_core::Result<()>;
fn UnregisterTIF(&self, pvregistrationcontext: u32) -> ::windows_core::Result<()>;
fn AddPIDs(&self, ulcpids: u32, pulpids: *const u32) -> ::windows_core::Result<()>;
fn DeletePIDs(&self, ulcpids: u32, pulpids: *const u32) -> ::windows_core::Result<()>;
fn GetPIDCount(&self) -> ::windows_core::Result<u32>;
fn GetPIDs(&self, pulcpids: *mut u32, pulpids: *mut u32) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IMPEG2_TIF_CONTROL {}
impl IMPEG2_TIF_CONTROL_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2_TIF_CONTROL_Impl, const OFFSET: isize>() -> IMPEG2_TIF_CONTROL_Vtbl {
unsafe extern "system" fn RegisterTIF<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2_TIF_CONTROL_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punktif: *mut ::core::ffi::c_void, ppvregistrationcontext: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterTIF(::windows_core::from_raw_borrowed(&punktif), ::core::mem::transmute_copy(&ppvregistrationcontext)).into()
}
unsafe extern "system" fn UnregisterTIF<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2_TIF_CONTROL_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvregistrationcontext: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.UnregisterTIF(::core::mem::transmute_copy(&pvregistrationcontext)).into()
}
unsafe extern "system" fn AddPIDs<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2_TIF_CONTROL_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ulcpids: u32, pulpids: *const u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddPIDs(::core::mem::transmute_copy(&ulcpids), ::core::mem::transmute_copy(&pulpids)).into()
}
unsafe extern "system" fn DeletePIDs<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2_TIF_CONTROL_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ulcpids: u32, pulpids: *const u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DeletePIDs(::core::mem::transmute_copy(&ulcpids), ::core::mem::transmute_copy(&pulpids)).into()
}
unsafe extern "system" fn GetPIDCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2_TIF_CONTROL_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pulcpids: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPIDCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pulcpids, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPIDs<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMPEG2_TIF_CONTROL_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pulcpids: *mut u32, pulpids: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPIDs(::core::mem::transmute_copy(&pulcpids), ::core::mem::transmute_copy(&pulpids)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
RegisterTIF: RegisterTIF::<Identity, Impl, OFFSET>,
UnregisterTIF: UnregisterTIF::<Identity, Impl, OFFSET>,
AddPIDs: AddPIDs::<Identity, Impl, OFFSET>,
DeletePIDs: DeletePIDs::<Identity, Impl, OFFSET>,
GetPIDCount: GetPIDCount::<Identity, Impl, OFFSET>,
GetPIDs: GetPIDs::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMPEG2_TIF_CONTROL as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSEventBinder_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Bind(&self, peventobject: ::core::option::Option<&super::super::super::System::Com::IDispatch>, eventname: &::windows_core::BSTR, eventhandler: &::windows_core::BSTR) -> ::windows_core::Result<i32>;
fn Unbind(&self, cancelcookie: u32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSEventBinder {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSEventBinder_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSEventBinder_Impl, const OFFSET: isize>() -> IMSEventBinder_Vtbl {
unsafe extern "system" fn Bind<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSEventBinder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, peventobject: *mut ::core::ffi::c_void, eventname: ::std::mem::MaybeUninit<::windows_core::BSTR>, eventhandler: ::std::mem::MaybeUninit<::windows_core::BSTR>, cancelid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Bind(::windows_core::from_raw_borrowed(&peventobject), ::core::mem::transmute(&eventname), ::core::mem::transmute(&eventhandler)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(cancelid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Unbind<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSEventBinder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cancelcookie: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Unbind(::core::mem::transmute_copy(&cancelcookie)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Bind: Bind::<Identity, Impl, OFFSET>,
Unbind: Unbind::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSEventBinder as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidAnalogTuner_Impl: Sized + IMSVidTuner_Impl {
fn Channel(&self) -> ::windows_core::Result<i32>;
fn SetChannel(&self, channel: i32) -> ::windows_core::Result<()>;
fn VideoFrequency(&self) -> ::windows_core::Result<i32>;
fn AudioFrequency(&self) -> ::windows_core::Result<i32>;
fn CountryCode(&self) -> ::windows_core::Result<i32>;
fn SetCountryCode(&self, lcc: i32) -> ::windows_core::Result<()>;
fn SAP(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetSAP(&self, fsapon: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn ChannelAvailable(&self, nchannel: i32, signalstrength: *mut i32, fsignalpresent: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidAnalogTuner {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidAnalogTuner_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAnalogTuner_Impl, const OFFSET: isize>() -> IMSVidAnalogTuner_Vtbl {
unsafe extern "system" fn Channel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAnalogTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, channel: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Channel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(channel, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetChannel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAnalogTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, channel: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetChannel(::core::mem::transmute_copy(&channel)).into()
}
unsafe extern "system" fn VideoFrequency<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAnalogTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcc: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.VideoFrequency() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lcc, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AudioFrequency<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAnalogTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcc: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AudioFrequency() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lcc, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CountryCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAnalogTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcc: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CountryCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lcc, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCountryCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAnalogTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcc: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCountryCode(::core::mem::transmute_copy(&lcc)).into()
}
unsafe extern "system" fn SAP<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAnalogTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfsapon: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SAP() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfsapon, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSAP<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAnalogTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fsapon: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSAP(::core::mem::transmute_copy(&fsapon)).into()
}
unsafe extern "system" fn ChannelAvailable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAnalogTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nchannel: i32, signalstrength: *mut i32, fsignalpresent: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ChannelAvailable(::core::mem::transmute_copy(&nchannel), ::core::mem::transmute_copy(&signalstrength), ::core::mem::transmute_copy(&fsignalpresent)).into()
}
Self {
base__: IMSVidTuner_Vtbl::new::<Identity, Impl, OFFSET>(),
Channel: Channel::<Identity, Impl, OFFSET>,
SetChannel: SetChannel::<Identity, Impl, OFFSET>,
VideoFrequency: VideoFrequency::<Identity, Impl, OFFSET>,
AudioFrequency: AudioFrequency::<Identity, Impl, OFFSET>,
CountryCode: CountryCode::<Identity, Impl, OFFSET>,
SetCountryCode: SetCountryCode::<Identity, Impl, OFFSET>,
SAP: SAP::<Identity, Impl, OFFSET>,
SetSAP: SetSAP::<Identity, Impl, OFFSET>,
ChannelAvailable: ChannelAvailable::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidAnalogTuner as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidVideoInputDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidTuner as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidAnalogTuner2_Impl: Sized + IMSVidAnalogTuner_Impl {
fn TVFormats(&self) -> ::windows_core::Result<i32>;
fn TunerModes(&self) -> ::windows_core::Result<i32>;
fn NumAuxInputs(&self) -> ::windows_core::Result<i32>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidAnalogTuner2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidAnalogTuner2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAnalogTuner2_Impl, const OFFSET: isize>() -> IMSVidAnalogTuner2_Vtbl {
unsafe extern "system" fn TVFormats<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAnalogTuner2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, formats: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TVFormats() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(formats, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn TunerModes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAnalogTuner2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, modes: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TunerModes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(modes, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn NumAuxInputs<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAnalogTuner2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, inputs: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.NumAuxInputs() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(inputs, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IMSVidAnalogTuner_Vtbl::new::<Identity, Impl, OFFSET>(),
TVFormats: TVFormats::<Identity, Impl, OFFSET>,
TunerModes: TunerModes::<Identity, Impl, OFFSET>,
NumAuxInputs: NumAuxInputs::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidAnalogTuner2 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidVideoInputDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidTuner as ::windows_core::ComInterface>::IID || *iid == <IMSVidAnalogTuner as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidAnalogTunerEvent_Impl: Sized + IMSVidTunerEvent_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidAnalogTunerEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidAnalogTunerEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAnalogTunerEvent_Impl, const OFFSET: isize>() -> IMSVidAnalogTunerEvent_Vtbl {
Self { base__: IMSVidTunerEvent_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidAnalogTunerEvent as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidTunerEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidAudioRenderer_Impl: Sized + IMSVidOutputDevice_Impl {
fn SetVolume(&self, lvol: i32) -> ::windows_core::Result<()>;
fn Volume(&self) -> ::windows_core::Result<i32>;
fn SetBalance(&self, lbal: i32) -> ::windows_core::Result<()>;
fn Balance(&self) -> ::windows_core::Result<i32>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidAudioRenderer {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidAudioRenderer_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRenderer_Impl, const OFFSET: isize>() -> IMSVidAudioRenderer_Vtbl {
unsafe extern "system" fn SetVolume<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lvol: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetVolume(::core::mem::transmute_copy(&lvol)).into()
}
unsafe extern "system" fn Volume<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lvol: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Volume() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lvol, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetBalance<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lbal: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetBalance(::core::mem::transmute_copy(&lbal)).into()
}
unsafe extern "system" fn Balance<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lbal: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Balance() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lbal, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IMSVidOutputDevice_Vtbl::new::<Identity, Impl, OFFSET>(),
SetVolume: SetVolume::<Identity, Impl, OFFSET>,
Volume: Volume::<Identity, Impl, OFFSET>,
SetBalance: SetBalance::<Identity, Impl, OFFSET>,
Balance: Balance::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidAudioRenderer as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDevice as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidAudioRendererDevices_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<super::super::super::System::Ole::IEnumVARIANT>;
fn get_Item(&self, v: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<IMSVidAudioRenderer>;
fn Add(&self, pdb: ::core::option::Option<&IMSVidAudioRenderer>) -> ::windows_core::Result<()>;
fn Remove(&self, v: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidAudioRendererDevices {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidAudioRendererDevices_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRendererDevices_Impl, const OFFSET: isize>() -> IMSVidAudioRendererDevices_Vtbl {
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRendererDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcount: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lcount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRendererDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pd: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pd, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_Item<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRendererDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, v: super::super::super::System::Variant::VARIANT, pdb: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Item(::core::mem::transmute(&v)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdb, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRendererDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdb: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pdb)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRendererDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, v: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute(&v)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
get_Item: get_Item::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidAudioRendererDevices as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidAudioRendererEvent_Impl: Sized + IMSVidOutputDeviceEvent_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidAudioRendererEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidAudioRendererEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRendererEvent_Impl, const OFFSET: isize>() -> IMSVidAudioRendererEvent_Vtbl {
Self { base__: IMSVidOutputDeviceEvent_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidAudioRendererEvent as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDeviceEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidAudioRendererEvent2_Impl: Sized + IMSVidAudioRendererEvent_Impl {
fn AVDecAudioDualMono(&self) -> ::windows_core::Result<()>;
fn AVAudioSampleRate(&self) -> ::windows_core::Result<()>;
fn AVAudioChannelConfig(&self) -> ::windows_core::Result<()>;
fn AVAudioChannelCount(&self) -> ::windows_core::Result<()>;
fn AVDecCommonMeanBitRate(&self) -> ::windows_core::Result<()>;
fn AVDDSurroundMode(&self) -> ::windows_core::Result<()>;
fn AVDecCommonInputFormat(&self) -> ::windows_core::Result<()>;
fn AVDecCommonOutputFormat(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidAudioRendererEvent2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidAudioRendererEvent2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRendererEvent2_Impl, const OFFSET: isize>() -> IMSVidAudioRendererEvent2_Vtbl {
unsafe extern "system" fn AVDecAudioDualMono<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRendererEvent2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AVDecAudioDualMono().into()
}
unsafe extern "system" fn AVAudioSampleRate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRendererEvent2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AVAudioSampleRate().into()
}
unsafe extern "system" fn AVAudioChannelConfig<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRendererEvent2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AVAudioChannelConfig().into()
}
unsafe extern "system" fn AVAudioChannelCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRendererEvent2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AVAudioChannelCount().into()
}
unsafe extern "system" fn AVDecCommonMeanBitRate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRendererEvent2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AVDecCommonMeanBitRate().into()
}
unsafe extern "system" fn AVDDSurroundMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRendererEvent2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AVDDSurroundMode().into()
}
unsafe extern "system" fn AVDecCommonInputFormat<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRendererEvent2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AVDecCommonInputFormat().into()
}
unsafe extern "system" fn AVDecCommonOutputFormat<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidAudioRendererEvent2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AVDecCommonOutputFormat().into()
}
Self {
base__: IMSVidAudioRendererEvent_Vtbl::new::<Identity, Impl, OFFSET>(),
AVDecAudioDualMono: AVDecAudioDualMono::<Identity, Impl, OFFSET>,
AVAudioSampleRate: AVAudioSampleRate::<Identity, Impl, OFFSET>,
AVAudioChannelConfig: AVAudioChannelConfig::<Identity, Impl, OFFSET>,
AVAudioChannelCount: AVAudioChannelCount::<Identity, Impl, OFFSET>,
AVDecCommonMeanBitRate: AVDecCommonMeanBitRate::<Identity, Impl, OFFSET>,
AVDDSurroundMode: AVDDSurroundMode::<Identity, Impl, OFFSET>,
AVDecCommonInputFormat: AVDecCommonInputFormat::<Identity, Impl, OFFSET>,
AVDecCommonOutputFormat: AVDecCommonOutputFormat::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidAudioRendererEvent2 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidAudioRendererEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidClosedCaptioning_Impl: Sized + IMSVidFeature_Impl {
fn Enable(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetEnable(&self, on: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidClosedCaptioning {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidClosedCaptioning_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidClosedCaptioning_Impl, const OFFSET: isize>() -> IMSVidClosedCaptioning_Vtbl {
unsafe extern "system" fn Enable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidClosedCaptioning_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, on: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Enable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(on, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEnable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidClosedCaptioning_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, on: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEnable(::core::mem::transmute_copy(&on)).into()
}
Self {
base__: IMSVidFeature_Vtbl::new::<Identity, Impl, OFFSET>(),
Enable: Enable::<Identity, Impl, OFFSET>,
SetEnable: SetEnable::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidClosedCaptioning as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidFeature as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidClosedCaptioning2_Impl: Sized + IMSVidClosedCaptioning_Impl {
fn Service(&self) -> ::windows_core::Result<MSVidCCService>;
fn SetService(&self, on: MSVidCCService) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidClosedCaptioning2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidClosedCaptioning2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidClosedCaptioning2_Impl, const OFFSET: isize>() -> IMSVidClosedCaptioning2_Vtbl {
unsafe extern "system" fn Service<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidClosedCaptioning2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, on: *mut MSVidCCService) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Service() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(on, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetService<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidClosedCaptioning2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, on: MSVidCCService) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetService(::core::mem::transmute_copy(&on)).into()
}
Self {
base__: IMSVidClosedCaptioning_Vtbl::new::<Identity, Impl, OFFSET>(),
Service: Service::<Identity, Impl, OFFSET>,
SetService: SetService::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidClosedCaptioning2 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidFeature as ::windows_core::ComInterface>::IID || *iid == <IMSVidClosedCaptioning as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidClosedCaptioning3_Impl: Sized + IMSVidClosedCaptioning2_Impl {
fn TeleTextFilter(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidClosedCaptioning3 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidClosedCaptioning3_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidClosedCaptioning3_Impl, const OFFSET: isize>() -> IMSVidClosedCaptioning3_Vtbl {
unsafe extern "system" fn TeleTextFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidClosedCaptioning3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punkttfilter: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TeleTextFilter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(punkttfilter, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: IMSVidClosedCaptioning2_Vtbl::new::<Identity, Impl, OFFSET>(), TeleTextFilter: TeleTextFilter::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidClosedCaptioning3 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidFeature as ::windows_core::ComInterface>::IID || *iid == <IMSVidClosedCaptioning as ::windows_core::ComInterface>::IID || *iid == <IMSVidClosedCaptioning2 as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait IMSVidCompositionSegment_Impl: Sized + IMSVidGraphSegment_Impl {
fn Compose(&self, upstream: ::core::option::Option<&IMSVidGraphSegment>, downstream: ::core::option::Option<&IMSVidGraphSegment>) -> ::windows_core::Result<()>;
fn Up(&self) -> ::windows_core::Result<IMSVidGraphSegment>;
fn Down(&self) -> ::windows_core::Result<IMSVidGraphSegment>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for IMSVidCompositionSegment {}
#[cfg(feature = "Win32_System_Com")]
impl IMSVidCompositionSegment_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCompositionSegment_Impl, const OFFSET: isize>() -> IMSVidCompositionSegment_Vtbl {
unsafe extern "system" fn Compose<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCompositionSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, upstream: *mut ::core::ffi::c_void, downstream: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Compose(::windows_core::from_raw_borrowed(&upstream), ::windows_core::from_raw_borrowed(&downstream)).into()
}
unsafe extern "system" fn Up<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCompositionSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, upstream: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Up() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(upstream, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Down<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCompositionSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, downstream: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Down() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(downstream, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IMSVidGraphSegment_Vtbl::new::<Identity, Impl, OFFSET>(),
Compose: Compose::<Identity, Impl, OFFSET>,
Up: Up::<Identity, Impl, OFFSET>,
Down: Down::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidCompositionSegment as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IPersist as ::windows_core::ComInterface>::IID || *iid == <IMSVidGraphSegment as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidCtl_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn AutoSize(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetAutoSize(&self, vbool: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn BackColor(&self) -> ::windows_core::Result<u32>;
fn SetBackColor(&self, backcolor: u32) -> ::windows_core::Result<()>;
fn Enabled(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetEnabled(&self, vbool: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn TabStop(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetTabStop(&self, vbool: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn Window(&self) -> ::windows_core::Result<super::super::super::Foundation::HWND>;
fn Refresh(&self) -> ::windows_core::Result<()>;
fn DisplaySize(&self) -> ::windows_core::Result<DisplaySizeList>;
fn SetDisplaySize(&self, newvalue: DisplaySizeList) -> ::windows_core::Result<()>;
fn MaintainAspectRatio(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetMaintainAspectRatio(&self, newvalue: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn ColorKey(&self) -> ::windows_core::Result<u32>;
fn SetColorKey(&self, newvalue: u32) -> ::windows_core::Result<()>;
fn get_InputsAvailable(&self, categoryguid: &::windows_core::BSTR) -> ::windows_core::Result<IMSVidInputDevices>;
fn get_OutputsAvailable(&self, categoryguid: &::windows_core::BSTR) -> ::windows_core::Result<IMSVidOutputDevices>;
fn get__InputsAvailable(&self, categoryguid: *const ::windows_core::GUID) -> ::windows_core::Result<IMSVidInputDevices>;
fn get__OutputsAvailable(&self, categoryguid: *const ::windows_core::GUID) -> ::windows_core::Result<IMSVidOutputDevices>;
fn VideoRenderersAvailable(&self) -> ::windows_core::Result<IMSVidVideoRendererDevices>;
fn AudioRenderersAvailable(&self) -> ::windows_core::Result<IMSVidAudioRendererDevices>;
fn FeaturesAvailable(&self) -> ::windows_core::Result<IMSVidFeatures>;
fn InputActive(&self) -> ::windows_core::Result<IMSVidInputDevice>;
fn SetInputActive(&self, pval: ::core::option::Option<&IMSVidInputDevice>) -> ::windows_core::Result<()>;
fn OutputsActive(&self) -> ::windows_core::Result<IMSVidOutputDevices>;
fn SetOutputsActive(&self, pval: ::core::option::Option<&IMSVidOutputDevices>) -> ::windows_core::Result<()>;
fn VideoRendererActive(&self) -> ::windows_core::Result<IMSVidVideoRenderer>;
fn SetVideoRendererActive(&self, pval: ::core::option::Option<&IMSVidVideoRenderer>) -> ::windows_core::Result<()>;
fn AudioRendererActive(&self) -> ::windows_core::Result<IMSVidAudioRenderer>;
fn SetAudioRendererActive(&self, pval: ::core::option::Option<&IMSVidAudioRenderer>) -> ::windows_core::Result<()>;
fn FeaturesActive(&self) -> ::windows_core::Result<IMSVidFeatures>;
fn SetFeaturesActive(&self, pval: ::core::option::Option<&IMSVidFeatures>) -> ::windows_core::Result<()>;
fn State(&self) -> ::windows_core::Result<MSVidCtlStateList>;
fn View(&self, v: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn Build(&self) -> ::windows_core::Result<()>;
fn Pause(&self) -> ::windows_core::Result<()>;
fn Run(&self) -> ::windows_core::Result<()>;
fn Stop(&self) -> ::windows_core::Result<()>;
fn Decompose(&self) -> ::windows_core::Result<()>;
fn DisableVideo(&self) -> ::windows_core::Result<()>;
fn DisableAudio(&self) -> ::windows_core::Result<()>;
fn ViewNext(&self, v: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidCtl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidCtl_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>() -> IMSVidCtl_Vtbl {
unsafe extern "system" fn AutoSize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbool: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AutoSize() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbool, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAutoSize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, vbool: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAutoSize(::core::mem::transmute_copy(&vbool)).into()
}
unsafe extern "system" fn BackColor<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, backcolor: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.BackColor() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(backcolor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetBackColor<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, backcolor: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetBackColor(::core::mem::transmute_copy(&backcolor)).into()
}
unsafe extern "system" fn Enabled<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbool: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Enabled() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbool, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEnabled<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, vbool: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEnabled(::core::mem::transmute_copy(&vbool)).into()
}
unsafe extern "system" fn TabStop<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbool: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TabStop() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbool, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetTabStop<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, vbool: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTabStop(::core::mem::transmute_copy(&vbool)).into()
}
unsafe extern "system" fn Window<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, phwnd: *mut super::super::super::Foundation::HWND) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Window() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(phwnd, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Refresh<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Refresh().into()
}
unsafe extern "system" fn DisplaySize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, currentvalue: *mut DisplaySizeList) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DisplaySize() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(currentvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDisplaySize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newvalue: DisplaySizeList) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDisplaySize(::core::mem::transmute_copy(&newvalue)).into()
}
unsafe extern "system" fn MaintainAspectRatio<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, currentvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MaintainAspectRatio() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(currentvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMaintainAspectRatio<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newvalue: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMaintainAspectRatio(::core::mem::transmute_copy(&newvalue)).into()
}
unsafe extern "system" fn ColorKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, currentvalue: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ColorKey() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(currentvalue, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetColorKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newvalue: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetColorKey(::core::mem::transmute_copy(&newvalue)).into()
}
unsafe extern "system" fn get_InputsAvailable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, categoryguid: ::std::mem::MaybeUninit<::windows_core::BSTR>, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_InputsAvailable(::core::mem::transmute(&categoryguid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_OutputsAvailable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, categoryguid: ::std::mem::MaybeUninit<::windows_core::BSTR>, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_OutputsAvailable(::core::mem::transmute(&categoryguid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get__InputsAvailable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, categoryguid: *const ::windows_core::GUID, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get__InputsAvailable(::core::mem::transmute_copy(&categoryguid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get__OutputsAvailable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, categoryguid: *const ::windows_core::GUID, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get__OutputsAvailable(::core::mem::transmute_copy(&categoryguid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn VideoRenderersAvailable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.VideoRenderersAvailable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AudioRenderersAvailable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AudioRenderersAvailable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn FeaturesAvailable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FeaturesAvailable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn InputActive<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.InputActive() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputActive<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInputActive(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn OutputsActive<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OutputsActive() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputsActive<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputsActive(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn VideoRendererActive<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.VideoRendererActive() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetVideoRendererActive<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetVideoRendererActive(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn AudioRendererActive<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AudioRendererActive() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAudioRendererActive<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAudioRendererActive(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn FeaturesActive<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FeaturesActive() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetFeaturesActive<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetFeaturesActive(::windows_core::from_raw_borrowed(&pval)).into()
}
unsafe extern "system" fn State<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lstate: *mut MSVidCtlStateList) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.State() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lstate, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn View<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, v: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.View(::core::mem::transmute_copy(&v)).into()
}
unsafe extern "system" fn Build<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Build().into()
}
unsafe extern "system" fn Pause<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Pause().into()
}
unsafe extern "system" fn Run<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Run().into()
}
unsafe extern "system" fn Stop<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Stop().into()
}
unsafe extern "system" fn Decompose<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Decompose().into()
}
unsafe extern "system" fn DisableVideo<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DisableVideo().into()
}
unsafe extern "system" fn DisableAudio<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DisableAudio().into()
}
unsafe extern "system" fn ViewNext<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidCtl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, v: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ViewNext(::core::mem::transmute_copy(&v)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
AutoSize: AutoSize::<Identity, Impl, OFFSET>,
SetAutoSize: SetAutoSize::<Identity, Impl, OFFSET>,
BackColor: BackColor::<Identity, Impl, OFFSET>,
SetBackColor: SetBackColor::<Identity, Impl, OFFSET>,
Enabled: Enabled::<Identity, Impl, OFFSET>,
SetEnabled: SetEnabled::<Identity, Impl, OFFSET>,
TabStop: TabStop::<Identity, Impl, OFFSET>,
SetTabStop: SetTabStop::<Identity, Impl, OFFSET>,
Window: Window::<Identity, Impl, OFFSET>,
Refresh: Refresh::<Identity, Impl, OFFSET>,
DisplaySize: DisplaySize::<Identity, Impl, OFFSET>,
SetDisplaySize: SetDisplaySize::<Identity, Impl, OFFSET>,
MaintainAspectRatio: MaintainAspectRatio::<Identity, Impl, OFFSET>,
SetMaintainAspectRatio: SetMaintainAspectRatio::<Identity, Impl, OFFSET>,
ColorKey: ColorKey::<Identity, Impl, OFFSET>,
SetColorKey: SetColorKey::<Identity, Impl, OFFSET>,
get_InputsAvailable: get_InputsAvailable::<Identity, Impl, OFFSET>,
get_OutputsAvailable: get_OutputsAvailable::<Identity, Impl, OFFSET>,
get__InputsAvailable: get__InputsAvailable::<Identity, Impl, OFFSET>,
get__OutputsAvailable: get__OutputsAvailable::<Identity, Impl, OFFSET>,
VideoRenderersAvailable: VideoRenderersAvailable::<Identity, Impl, OFFSET>,
AudioRenderersAvailable: AudioRenderersAvailable::<Identity, Impl, OFFSET>,
FeaturesAvailable: FeaturesAvailable::<Identity, Impl, OFFSET>,
InputActive: InputActive::<Identity, Impl, OFFSET>,
SetInputActive: SetInputActive::<Identity, Impl, OFFSET>,
OutputsActive: OutputsActive::<Identity, Impl, OFFSET>,
SetOutputsActive: SetOutputsActive::<Identity, Impl, OFFSET>,
VideoRendererActive: VideoRendererActive::<Identity, Impl, OFFSET>,
SetVideoRendererActive: SetVideoRendererActive::<Identity, Impl, OFFSET>,
AudioRendererActive: AudioRendererActive::<Identity, Impl, OFFSET>,
SetAudioRendererActive: SetAudioRendererActive::<Identity, Impl, OFFSET>,
FeaturesActive: FeaturesActive::<Identity, Impl, OFFSET>,
SetFeaturesActive: SetFeaturesActive::<Identity, Impl, OFFSET>,
State: State::<Identity, Impl, OFFSET>,
View: View::<Identity, Impl, OFFSET>,
Build: Build::<Identity, Impl, OFFSET>,
Pause: Pause::<Identity, Impl, OFFSET>,
Run: Run::<Identity, Impl, OFFSET>,
Stop: Stop::<Identity, Impl, OFFSET>,
Decompose: Decompose::<Identity, Impl, OFFSET>,
DisableVideo: DisableVideo::<Identity, Impl, OFFSET>,
DisableAudio: DisableAudio::<Identity, Impl, OFFSET>,
ViewNext: ViewNext::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidCtl as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidDataServices_Impl: Sized + IMSVidFeature_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidDataServices {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidDataServices_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidDataServices_Impl, const OFFSET: isize>() -> IMSVidDataServices_Vtbl {
Self { base__: IMSVidFeature_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidDataServices as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidFeature as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidDataServicesEvent_Impl: Sized + IMSVidDeviceEvent_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidDataServicesEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidDataServicesEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidDataServicesEvent_Impl, const OFFSET: isize>() -> IMSVidDataServicesEvent_Vtbl {
Self { base__: IMSVidDeviceEvent_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidDataServicesEvent as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDeviceEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidDevice_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Name(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn Status(&self) -> ::windows_core::Result<i32>;
fn SetPower(&self, power: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn Power(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn Category(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn ClassID(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn _Category(&self) -> ::windows_core::Result<::windows_core::GUID>;
fn _ClassID(&self) -> ::windows_core::Result<::windows_core::GUID>;
fn IsEqualDevice(&self, device: ::core::option::Option<&IMSVidDevice>) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidDevice {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidDevice_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidDevice_Impl, const OFFSET: isize>() -> IMSVidDevice_Vtbl {
unsafe extern "system" fn Name<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Name() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(name, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Status<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Status() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(status, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPower<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, power: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPower(::core::mem::transmute_copy(&power)).into()
}
unsafe extern "system" fn Power<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, power: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Power() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(power, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Category<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Category() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(guid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ClassID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, clsid: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ClassID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(clsid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _Category<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._Category() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(guid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _ClassID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, clsid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._ClassID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(clsid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsEqualDevice<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, device: *mut ::core::ffi::c_void, isequal: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsEqualDevice(::windows_core::from_raw_borrowed(&device)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(isequal, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Name: Name::<Identity, Impl, OFFSET>,
Status: Status::<Identity, Impl, OFFSET>,
SetPower: SetPower::<Identity, Impl, OFFSET>,
Power: Power::<Identity, Impl, OFFSET>,
Category: Category::<Identity, Impl, OFFSET>,
ClassID: ClassID::<Identity, Impl, OFFSET>,
_Category: _Category::<Identity, Impl, OFFSET>,
_ClassID: _ClassID::<Identity, Impl, OFFSET>,
IsEqualDevice: IsEqualDevice::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
pub trait IMSVidDevice2_Impl: Sized {
fn DevicePath(&self) -> ::windows_core::Result<::windows_core::BSTR>;
}
impl ::windows_core::RuntimeName for IMSVidDevice2 {}
impl IMSVidDevice2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidDevice2_Impl, const OFFSET: isize>() -> IMSVidDevice2_Vtbl {
unsafe extern "system" fn DevicePath<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidDevice2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, devpath: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DevicePath() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(devpath, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), DevicePath: DevicePath::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidDevice2 as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidDeviceEvent_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn StateChange(&self, lpd: ::core::option::Option<&IMSVidDevice>, oldstate: i32, newstate: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidDeviceEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidDeviceEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidDeviceEvent_Impl, const OFFSET: isize>() -> IMSVidDeviceEvent_Vtbl {
unsafe extern "system" fn StateChange<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidDeviceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpd: *mut ::core::ffi::c_void, oldstate: i32, newstate: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StateChange(::windows_core::from_raw_borrowed(&lpd), ::core::mem::transmute_copy(&oldstate), ::core::mem::transmute_copy(&newstate)).into()
}
Self { base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), StateChange: StateChange::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_DirectDraw\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_Media_MediaFoundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidEVR_Impl: Sized + IMSVidVideoRenderer_Impl {
fn Presenter(&self) -> ::windows_core::Result<super::super::MediaFoundation::IMFVideoPresenter>;
fn SetPresenter(&self, pallocpresent: ::core::option::Option<&super::super::MediaFoundation::IMFVideoPresenter>) -> ::windows_core::Result<()>;
fn SetSuppressEffects(&self, bsuppress: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn SuppressEffects(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidEVR {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi", feature = "Win32_Media_MediaFoundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidEVR_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidEVR_Impl, const OFFSET: isize>() -> IMSVidEVR_Vtbl {
unsafe extern "system" fn Presenter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidEVR_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppallocpresent: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Presenter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppallocpresent, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPresenter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidEVR_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pallocpresent: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPresenter(::windows_core::from_raw_borrowed(&pallocpresent)).into()
}
unsafe extern "system" fn SetSuppressEffects<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidEVR_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bsuppress: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSuppressEffects(::core::mem::transmute_copy(&bsuppress)).into()
}
unsafe extern "system" fn SuppressEffects<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidEVR_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bsuppress: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SuppressEffects() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bsuppress, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IMSVidVideoRenderer_Vtbl::new::<Identity, Impl, OFFSET>(),
Presenter: Presenter::<Identity, Impl, OFFSET>,
SetPresenter: SetPresenter::<Identity, Impl, OFFSET>,
SetSuppressEffects: SetSuppressEffects::<Identity, Impl, OFFSET>,
SuppressEffects: SuppressEffects::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidEVR as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidVideoRenderer as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidEVREvent_Impl: Sized + IMSVidOutputDeviceEvent_Impl {
fn OnUserEvent(&self, leventcode: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidEVREvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidEVREvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidEVREvent_Impl, const OFFSET: isize>() -> IMSVidEVREvent_Vtbl {
unsafe extern "system" fn OnUserEvent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidEVREvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, leventcode: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnUserEvent(::core::mem::transmute_copy(&leventcode)).into()
}
Self { base__: IMSVidOutputDeviceEvent_Vtbl::new::<Identity, Impl, OFFSET>(), OnUserEvent: OnUserEvent::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidEVREvent as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDeviceEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidEncoder_Impl: Sized + IMSVidFeature_Impl {
fn VideoEncoderInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn AudioEncoderInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidEncoder {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidEncoder_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidEncoder_Impl, const OFFSET: isize>() -> IMSVidEncoder_Vtbl {
unsafe extern "system" fn VideoEncoderInterface<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidEncoder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppencint: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.VideoEncoderInterface() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppencint, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AudioEncoderInterface<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidEncoder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppencint: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AudioEncoderInterface() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppencint, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IMSVidFeature_Vtbl::new::<Identity, Impl, OFFSET>(),
VideoEncoderInterface: VideoEncoderInterface::<Identity, Impl, OFFSET>,
AudioEncoderInterface: AudioEncoderInterface::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidEncoder as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidFeature as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidFeature_Impl: Sized + IMSVidDevice_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidFeature {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidFeature_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidFeature_Impl, const OFFSET: isize>() -> IMSVidFeature_Vtbl {
Self { base__: IMSVidDevice_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidFeature as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidFeatureEvent_Impl: Sized + IMSVidDeviceEvent_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidFeatureEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidFeatureEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidFeatureEvent_Impl, const OFFSET: isize>() -> IMSVidFeatureEvent_Vtbl {
Self { base__: IMSVidDeviceEvent_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidFeatureEvent as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDeviceEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidFeatures_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<super::super::super::System::Ole::IEnumVARIANT>;
fn get_Item(&self, v: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<IMSVidFeature>;
fn Add(&self, pdb: ::core::option::Option<&IMSVidFeature>) -> ::windows_core::Result<()>;
fn Remove(&self, v: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidFeatures {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidFeatures_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidFeatures_Impl, const OFFSET: isize>() -> IMSVidFeatures_Vtbl {
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidFeatures_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcount: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lcount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidFeatures_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pd: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pd, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_Item<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidFeatures_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, v: super::super::super::System::Variant::VARIANT, pdb: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Item(::core::mem::transmute(&v)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdb, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidFeatures_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdb: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pdb)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidFeatures_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, v: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute(&v)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
get_Item: get_Item::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidFeatures as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidFilePlayback_Impl: Sized + IMSVidPlayback_Impl {
fn FileName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetFileName(&self, filename: &::windows_core::BSTR) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidFilePlayback {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidFilePlayback_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidFilePlayback_Impl, const OFFSET: isize>() -> IMSVidFilePlayback_Vtbl {
unsafe extern "system" fn FileName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidFilePlayback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FileName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(filename, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetFileName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidFilePlayback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetFileName(::core::mem::transmute(&filename)).into()
}
Self {
base__: IMSVidPlayback_Vtbl::new::<Identity, Impl, OFFSET>(),
FileName: FileName::<Identity, Impl, OFFSET>,
SetFileName: SetFileName::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidFilePlayback as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidPlayback as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidFilePlayback2_Impl: Sized + IMSVidFilePlayback_Impl {
fn Set_SourceFilter(&self, filename: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn Set__SourceFilter(&self, filename: &::windows_core::GUID) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidFilePlayback2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidFilePlayback2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidFilePlayback2_Impl, const OFFSET: isize>() -> IMSVidFilePlayback2_Vtbl {
unsafe extern "system" fn Set_SourceFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidFilePlayback2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Set_SourceFilter(::core::mem::transmute(&filename)).into()
}
unsafe extern "system" fn Set__SourceFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidFilePlayback2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Set__SourceFilter(::core::mem::transmute(&filename)).into()
}
Self {
base__: IMSVidFilePlayback_Vtbl::new::<Identity, Impl, OFFSET>(),
Set_SourceFilter: Set_SourceFilter::<Identity, Impl, OFFSET>,
Set__SourceFilter: Set__SourceFilter::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidFilePlayback2 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidPlayback as ::windows_core::ComInterface>::IID || *iid == <IMSVidFilePlayback as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidFilePlaybackEvent_Impl: Sized + IMSVidPlaybackEvent_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidFilePlaybackEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidFilePlaybackEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidFilePlaybackEvent_Impl, const OFFSET: isize>() -> IMSVidFilePlaybackEvent_Vtbl {
Self { base__: IMSVidPlaybackEvent_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidFilePlaybackEvent as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidPlaybackEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidGenericSink_Impl: Sized + IMSVidOutputDevice_Impl {
fn SetSinkFilter(&self, bstrname: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn SinkStreams(&self) -> ::windows_core::Result<MSVidSinkStreams>;
fn SetSinkStreams(&self, streams: MSVidSinkStreams) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidGenericSink {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidGenericSink_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGenericSink_Impl, const OFFSET: isize>() -> IMSVidGenericSink_Vtbl {
unsafe extern "system" fn SetSinkFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGenericSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSinkFilter(::core::mem::transmute(&bstrname)).into()
}
unsafe extern "system" fn SinkStreams<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGenericSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstreams: *mut MSVidSinkStreams) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SinkStreams() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstreams, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSinkStreams<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGenericSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, streams: MSVidSinkStreams) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSinkStreams(::core::mem::transmute_copy(&streams)).into()
}
Self {
base__: IMSVidOutputDevice_Vtbl::new::<Identity, Impl, OFFSET>(),
SetSinkFilter: SetSinkFilter::<Identity, Impl, OFFSET>,
SinkStreams: SinkStreams::<Identity, Impl, OFFSET>,
SetSinkStreams: SetSinkStreams::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidGenericSink as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDevice as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidGenericSink2_Impl: Sized + IMSVidGenericSink_Impl {
fn AddFilter(&self, bstrname: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn ResetFilterList(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidGenericSink2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidGenericSink2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGenericSink2_Impl, const OFFSET: isize>() -> IMSVidGenericSink2_Vtbl {
unsafe extern "system" fn AddFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGenericSink2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddFilter(::core::mem::transmute(&bstrname)).into()
}
unsafe extern "system" fn ResetFilterList<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGenericSink2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ResetFilterList().into()
}
Self {
base__: IMSVidGenericSink_Vtbl::new::<Identity, Impl, OFFSET>(),
AddFilter: AddFilter::<Identity, Impl, OFFSET>,
ResetFilterList: ResetFilterList::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidGenericSink2 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidGenericSink as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait IMSVidGraphSegment_Impl: Sized + super::super::super::System::Com::IPersist_Impl {
fn Init(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn SetInit(&self, pinit: ::core::option::Option<&::windows_core::IUnknown>) -> ::windows_core::Result<()>;
fn EnumFilters(&self) -> ::windows_core::Result<super::IEnumFilters>;
fn Container(&self) -> ::windows_core::Result<IMSVidGraphSegmentContainer>;
fn SetContainer(&self, pctl: ::core::option::Option<&IMSVidGraphSegmentContainer>) -> ::windows_core::Result<()>;
fn Type(&self) -> ::windows_core::Result<MSVidSegmentType>;
fn Category(&self) -> ::windows_core::Result<::windows_core::GUID>;
fn Build(&self) -> ::windows_core::Result<()>;
fn PostBuild(&self) -> ::windows_core::Result<()>;
fn PreRun(&self) -> ::windows_core::Result<()>;
fn PostRun(&self) -> ::windows_core::Result<()>;
fn PreStop(&self) -> ::windows_core::Result<()>;
fn PostStop(&self) -> ::windows_core::Result<()>;
fn OnEventNotify(&self, leventcode: i32, leventparm1: isize, leventparm2: isize) -> ::windows_core::Result<()>;
fn Decompose(&self) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for IMSVidGraphSegment {}
#[cfg(feature = "Win32_System_Com")]
impl IMSVidGraphSegment_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegment_Impl, const OFFSET: isize>() -> IMSVidGraphSegment_Vtbl {
unsafe extern "system" fn Init<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinit: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Init() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pinit, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInit<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinit: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInit(::windows_core::from_raw_borrowed(&pinit)).into()
}
unsafe extern "system" fn EnumFilters<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pnewenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumFilters() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pnewenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Container<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppctl: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Container() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppctl, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetContainer<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pctl: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetContainer(::windows_core::from_raw_borrowed(&pctl)).into()
}
unsafe extern "system" fn Type<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptype: *mut MSVidSegmentType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Type() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ptype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Category<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pguid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Category() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pguid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Build<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Build().into()
}
unsafe extern "system" fn PostBuild<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PostBuild().into()
}
unsafe extern "system" fn PreRun<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PreRun().into()
}
unsafe extern "system" fn PostRun<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PostRun().into()
}
unsafe extern "system" fn PreStop<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PreStop().into()
}
unsafe extern "system" fn PostStop<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PostStop().into()
}
unsafe extern "system" fn OnEventNotify<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, leventcode: i32, leventparm1: isize, leventparm2: isize) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnEventNotify(::core::mem::transmute_copy(&leventcode), ::core::mem::transmute_copy(&leventparm1), ::core::mem::transmute_copy(&leventparm2)).into()
}
unsafe extern "system" fn Decompose<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Decompose().into()
}
Self {
base__: super::super::super::System::Com::IPersist_Vtbl::new::<Identity, Impl, OFFSET>(),
Init: Init::<Identity, Impl, OFFSET>,
SetInit: SetInit::<Identity, Impl, OFFSET>,
EnumFilters: EnumFilters::<Identity, Impl, OFFSET>,
Container: Container::<Identity, Impl, OFFSET>,
SetContainer: SetContainer::<Identity, Impl, OFFSET>,
Type: Type::<Identity, Impl, OFFSET>,
Category: Category::<Identity, Impl, OFFSET>,
Build: Build::<Identity, Impl, OFFSET>,
PostBuild: PostBuild::<Identity, Impl, OFFSET>,
PreRun: PreRun::<Identity, Impl, OFFSET>,
PostRun: PostRun::<Identity, Impl, OFFSET>,
PreStop: PreStop::<Identity, Impl, OFFSET>,
PostStop: PostStop::<Identity, Impl, OFFSET>,
OnEventNotify: OnEventNotify::<Identity, Impl, OFFSET>,
Decompose: Decompose::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidGraphSegment as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IPersist as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait IMSVidGraphSegmentContainer_Impl: Sized {
fn Graph(&self) -> ::windows_core::Result<super::IGraphBuilder>;
fn Input(&self) -> ::windows_core::Result<IMSVidGraphSegment>;
fn Outputs(&self) -> ::windows_core::Result<IEnumMSVidGraphSegment>;
fn VideoRenderer(&self) -> ::windows_core::Result<IMSVidGraphSegment>;
fn AudioRenderer(&self) -> ::windows_core::Result<IMSVidGraphSegment>;
fn Features(&self) -> ::windows_core::Result<IEnumMSVidGraphSegment>;
fn Composites(&self) -> ::windows_core::Result<IEnumMSVidGraphSegment>;
fn ParentContainer(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn Decompose(&self, psegment: ::core::option::Option<&IMSVidGraphSegment>) -> ::windows_core::Result<()>;
fn IsWindowless(&self) -> ::windows_core::Result<()>;
fn GetFocus(&self) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for IMSVidGraphSegmentContainer {}
#[cfg(feature = "Win32_System_Com")]
impl IMSVidGraphSegmentContainer_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentContainer_Impl, const OFFSET: isize>() -> IMSVidGraphSegmentContainer_Vtbl {
unsafe extern "system" fn Graph<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppgraph: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Graph() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppgraph, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Input<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppinput: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Input() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppinput, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Outputs<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppoutputs: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Outputs() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppoutputs, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn VideoRenderer<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvr: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.VideoRenderer() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvr, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AudioRenderer<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppar: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AudioRenderer() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppar, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Features<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppfeatures: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Features() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppfeatures, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Composites<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppcomposites: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Composites() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppcomposites, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ParentContainer<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppcontainer: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ParentContainer() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppcontainer, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Decompose<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psegment: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Decompose(::windows_core::from_raw_borrowed(&psegment)).into()
}
unsafe extern "system" fn IsWindowless<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsWindowless().into()
}
unsafe extern "system" fn GetFocus<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFocus().into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Graph: Graph::<Identity, Impl, OFFSET>,
Input: Input::<Identity, Impl, OFFSET>,
Outputs: Outputs::<Identity, Impl, OFFSET>,
VideoRenderer: VideoRenderer::<Identity, Impl, OFFSET>,
AudioRenderer: AudioRenderer::<Identity, Impl, OFFSET>,
Features: Features::<Identity, Impl, OFFSET>,
Composites: Composites::<Identity, Impl, OFFSET>,
ParentContainer: ParentContainer::<Identity, Impl, OFFSET>,
Decompose: Decompose::<Identity, Impl, OFFSET>,
IsWindowless: IsWindowless::<Identity, Impl, OFFSET>,
GetFocus: GetFocus::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidGraphSegmentContainer as ::windows_core::ComInterface>::IID
}
}
pub trait IMSVidGraphSegmentUserInput_Impl: Sized {
fn Click(&self) -> ::windows_core::Result<()>;
fn DblClick(&self) -> ::windows_core::Result<()>;
fn KeyDown(&self, keycode: *const i16, shiftstate: i16) -> ::windows_core::Result<()>;
fn KeyPress(&self, keyascii: *const i16) -> ::windows_core::Result<()>;
fn KeyUp(&self, keycode: *const i16, shiftstate: i16) -> ::windows_core::Result<()>;
fn MouseDown(&self, buttonstate: i16, shiftstate: i16, x: i32, y: i32) -> ::windows_core::Result<()>;
fn MouseMove(&self, buttonstate: i16, shiftstate: i16, x: i32, y: i32) -> ::windows_core::Result<()>;
fn MouseUp(&self, buttonstate: i16, shiftstate: i16, x: i32, y: i32) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IMSVidGraphSegmentUserInput {}
impl IMSVidGraphSegmentUserInput_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentUserInput_Impl, const OFFSET: isize>() -> IMSVidGraphSegmentUserInput_Vtbl {
unsafe extern "system" fn Click<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentUserInput_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Click().into()
}
unsafe extern "system" fn DblClick<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentUserInput_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DblClick().into()
}
unsafe extern "system" fn KeyDown<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentUserInput_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, keycode: *const i16, shiftstate: i16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.KeyDown(::core::mem::transmute_copy(&keycode), ::core::mem::transmute_copy(&shiftstate)).into()
}
unsafe extern "system" fn KeyPress<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentUserInput_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, keyascii: *const i16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.KeyPress(::core::mem::transmute_copy(&keyascii)).into()
}
unsafe extern "system" fn KeyUp<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentUserInput_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, keycode: *const i16, shiftstate: i16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.KeyUp(::core::mem::transmute_copy(&keycode), ::core::mem::transmute_copy(&shiftstate)).into()
}
unsafe extern "system" fn MouseDown<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentUserInput_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buttonstate: i16, shiftstate: i16, x: i32, y: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.MouseDown(::core::mem::transmute_copy(&buttonstate), ::core::mem::transmute_copy(&shiftstate), ::core::mem::transmute_copy(&x), ::core::mem::transmute_copy(&y)).into()
}
unsafe extern "system" fn MouseMove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentUserInput_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buttonstate: i16, shiftstate: i16, x: i32, y: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.MouseMove(::core::mem::transmute_copy(&buttonstate), ::core::mem::transmute_copy(&shiftstate), ::core::mem::transmute_copy(&x), ::core::mem::transmute_copy(&y)).into()
}
unsafe extern "system" fn MouseUp<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidGraphSegmentUserInput_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buttonstate: i16, shiftstate: i16, x: i32, y: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.MouseUp(::core::mem::transmute_copy(&buttonstate), ::core::mem::transmute_copy(&shiftstate), ::core::mem::transmute_copy(&x), ::core::mem::transmute_copy(&y)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Click: Click::<Identity, Impl, OFFSET>,
DblClick: DblClick::<Identity, Impl, OFFSET>,
KeyDown: KeyDown::<Identity, Impl, OFFSET>,
KeyPress: KeyPress::<Identity, Impl, OFFSET>,
KeyUp: KeyUp::<Identity, Impl, OFFSET>,
MouseDown: MouseDown::<Identity, Impl, OFFSET>,
MouseMove: MouseMove::<Identity, Impl, OFFSET>,
MouseUp: MouseUp::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidGraphSegmentUserInput as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidInputDevice_Impl: Sized + IMSVidDevice_Impl {
fn IsViewable(&self, v: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn View(&self, v: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidInputDevice {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidInputDevice_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidInputDevice_Impl, const OFFSET: isize>() -> IMSVidInputDevice_Vtbl {
unsafe extern "system" fn IsViewable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidInputDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, v: *const super::super::super::System::Variant::VARIANT, pfviewable: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsViewable(::core::mem::transmute_copy(&v)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfviewable, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn View<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidInputDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, v: *const super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.View(::core::mem::transmute_copy(&v)).into()
}
Self {
base__: IMSVidDevice_Vtbl::new::<Identity, Impl, OFFSET>(),
IsViewable: IsViewable::<Identity, Impl, OFFSET>,
View: View::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidInputDevice as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidInputDeviceEvent_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidInputDeviceEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidInputDeviceEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidInputDeviceEvent_Impl, const OFFSET: isize>() -> IMSVidInputDeviceEvent_Vtbl {
Self { base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidInputDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidInputDevices_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<super::super::super::System::Ole::IEnumVARIANT>;
fn get_Item(&self, v: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<IMSVidInputDevice>;
fn Add(&self, pdb: ::core::option::Option<&IMSVidInputDevice>) -> ::windows_core::Result<()>;
fn Remove(&self, v: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidInputDevices {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidInputDevices_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidInputDevices_Impl, const OFFSET: isize>() -> IMSVidInputDevices_Vtbl {
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidInputDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcount: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lcount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidInputDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pd: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pd, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_Item<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidInputDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, v: super::super::super::System::Variant::VARIANT, pdb: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Item(::core::mem::transmute(&v)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdb, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidInputDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdb: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pdb)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidInputDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, v: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute(&v)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
get_Item: get_Item::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidInputDevices as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidOutputDevice_Impl: Sized + IMSVidDevice_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidOutputDevice {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidOutputDevice_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidOutputDevice_Impl, const OFFSET: isize>() -> IMSVidOutputDevice_Vtbl {
Self { base__: IMSVidDevice_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidOutputDevice as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidOutputDeviceEvent_Impl: Sized + IMSVidDeviceEvent_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidOutputDeviceEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidOutputDeviceEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidOutputDeviceEvent_Impl, const OFFSET: isize>() -> IMSVidOutputDeviceEvent_Vtbl {
Self { base__: IMSVidDeviceEvent_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidOutputDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDeviceEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidOutputDevices_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<super::super::super::System::Ole::IEnumVARIANT>;
fn get_Item(&self, v: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<IMSVidOutputDevice>;
fn Add(&self, pdb: ::core::option::Option<&IMSVidOutputDevice>) -> ::windows_core::Result<()>;
fn Remove(&self, v: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidOutputDevices {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidOutputDevices_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidOutputDevices_Impl, const OFFSET: isize>() -> IMSVidOutputDevices_Vtbl {
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidOutputDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcount: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lcount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidOutputDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pd: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pd, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_Item<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidOutputDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, v: super::super::super::System::Variant::VARIANT, pdb: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Item(::core::mem::transmute(&v)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdb, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidOutputDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdb: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pdb)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidOutputDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, v: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute(&v)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
get_Item: get_Item::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidOutputDevices as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidPlayback_Impl: Sized + IMSVidInputDevice_Impl {
fn EnableResetOnStop(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetEnableResetOnStop(&self, newval: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn Run(&self) -> ::windows_core::Result<()>;
fn Pause(&self) -> ::windows_core::Result<()>;
fn Stop(&self) -> ::windows_core::Result<()>;
fn get_CanStep(&self, fbackwards: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn Step(&self, lstep: i32) -> ::windows_core::Result<()>;
fn SetRate(&self, plrate: f64) -> ::windows_core::Result<()>;
fn Rate(&self) -> ::windows_core::Result<f64>;
fn SetCurrentPosition(&self, lposition: i32) -> ::windows_core::Result<()>;
fn CurrentPosition(&self) -> ::windows_core::Result<i32>;
fn SetPositionMode(&self, lpositionmode: PositionModeList) -> ::windows_core::Result<()>;
fn PositionMode(&self) -> ::windows_core::Result<PositionModeList>;
fn Length(&self) -> ::windows_core::Result<i32>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidPlayback {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidPlayback_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidPlayback_Impl, const OFFSET: isize>() -> IMSVidPlayback_Vtbl {
unsafe extern "system" fn EnableResetOnStop<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidPlayback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnableResetOnStop() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEnableResetOnStop<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidPlayback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEnableResetOnStop(::core::mem::transmute_copy(&newval)).into()
}
unsafe extern "system" fn Run<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidPlayback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Run().into()
}
unsafe extern "system" fn Pause<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidPlayback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Pause().into()
}
unsafe extern "system" fn Stop<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidPlayback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Stop().into()
}
unsafe extern "system" fn get_CanStep<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidPlayback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbackwards: super::super::super::Foundation::VARIANT_BOOL, pfcan: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_CanStep(::core::mem::transmute_copy(&fbackwards)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfcan, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Step<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidPlayback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lstep: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Step(::core::mem::transmute_copy(&lstep)).into()
}
unsafe extern "system" fn SetRate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidPlayback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plrate: f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRate(::core::mem::transmute_copy(&plrate)).into()
}
unsafe extern "system" fn Rate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidPlayback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plrate: *mut f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Rate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plrate, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentPosition<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidPlayback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lposition: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCurrentPosition(::core::mem::transmute_copy(&lposition)).into()
}
unsafe extern "system" fn CurrentPosition<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidPlayback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lposition: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CurrentPosition() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lposition, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPositionMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidPlayback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpositionmode: PositionModeList) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPositionMode(::core::mem::transmute_copy(&lpositionmode)).into()
}
unsafe extern "system" fn PositionMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidPlayback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpositionmode: *mut PositionModeList) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PositionMode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lpositionmode, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Length<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidPlayback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, llength: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Length() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(llength, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IMSVidInputDevice_Vtbl::new::<Identity, Impl, OFFSET>(),
EnableResetOnStop: EnableResetOnStop::<Identity, Impl, OFFSET>,
SetEnableResetOnStop: SetEnableResetOnStop::<Identity, Impl, OFFSET>,
Run: Run::<Identity, Impl, OFFSET>,
Pause: Pause::<Identity, Impl, OFFSET>,
Stop: Stop::<Identity, Impl, OFFSET>,
get_CanStep: get_CanStep::<Identity, Impl, OFFSET>,
Step: Step::<Identity, Impl, OFFSET>,
SetRate: SetRate::<Identity, Impl, OFFSET>,
Rate: Rate::<Identity, Impl, OFFSET>,
SetCurrentPosition: SetCurrentPosition::<Identity, Impl, OFFSET>,
CurrentPosition: CurrentPosition::<Identity, Impl, OFFSET>,
SetPositionMode: SetPositionMode::<Identity, Impl, OFFSET>,
PositionMode: PositionMode::<Identity, Impl, OFFSET>,
Length: Length::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidPlayback as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDevice as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidPlaybackEvent_Impl: Sized + IMSVidInputDeviceEvent_Impl {
fn EndOfMedia(&self, lpd: ::core::option::Option<&IMSVidPlayback>) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidPlaybackEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidPlaybackEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidPlaybackEvent_Impl, const OFFSET: isize>() -> IMSVidPlaybackEvent_Vtbl {
unsafe extern "system" fn EndOfMedia<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidPlaybackEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpd: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndOfMedia(::windows_core::from_raw_borrowed(&lpd)).into()
}
Self { base__: IMSVidInputDeviceEvent_Vtbl::new::<Identity, Impl, OFFSET>(), EndOfMedia: EndOfMedia::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidPlaybackEvent as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDeviceEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidRect_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Top(&self) -> ::windows_core::Result<i32>;
fn SetTop(&self, topval: i32) -> ::windows_core::Result<()>;
fn Left(&self) -> ::windows_core::Result<i32>;
fn SetLeft(&self, leftval: i32) -> ::windows_core::Result<()>;
fn Width(&self) -> ::windows_core::Result<i32>;
fn SetWidth(&self, widthval: i32) -> ::windows_core::Result<()>;
fn Height(&self) -> ::windows_core::Result<i32>;
fn SetHeight(&self, heightval: i32) -> ::windows_core::Result<()>;
fn HWnd(&self) -> ::windows_core::Result<super::super::super::Foundation::HWND>;
fn SetHWnd(&self, hwndval: super::super::super::Foundation::HWND) -> ::windows_core::Result<()>;
fn SetRect(&self, rectval: ::core::option::Option<&IMSVidRect>) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidRect {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidRect_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidRect_Impl, const OFFSET: isize>() -> IMSVidRect_Vtbl {
unsafe extern "system" fn Top<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidRect_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, topval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Top() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(topval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetTop<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidRect_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, topval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTop(::core::mem::transmute_copy(&topval)).into()
}
unsafe extern "system" fn Left<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidRect_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, leftval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Left() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(leftval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLeft<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidRect_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, leftval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLeft(::core::mem::transmute_copy(&leftval)).into()
}
unsafe extern "system" fn Width<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidRect_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, widthval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Width() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(widthval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetWidth<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidRect_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, widthval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetWidth(::core::mem::transmute_copy(&widthval)).into()
}
unsafe extern "system" fn Height<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidRect_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, heightval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Height() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(heightval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetHeight<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidRect_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, heightval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetHeight(::core::mem::transmute_copy(&heightval)).into()
}
unsafe extern "system" fn HWnd<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidRect_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hwndval: *mut super::super::super::Foundation::HWND) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.HWnd() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(hwndval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetHWnd<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidRect_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hwndval: super::super::super::Foundation::HWND) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetHWnd(::core::mem::transmute_copy(&hwndval)).into()
}
unsafe extern "system" fn SetRect<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidRect_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rectval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRect(::windows_core::from_raw_borrowed(&rectval)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Top: Top::<Identity, Impl, OFFSET>,
SetTop: SetTop::<Identity, Impl, OFFSET>,
Left: Left::<Identity, Impl, OFFSET>,
SetLeft: SetLeft::<Identity, Impl, OFFSET>,
Width: Width::<Identity, Impl, OFFSET>,
SetWidth: SetWidth::<Identity, Impl, OFFSET>,
Height: Height::<Identity, Impl, OFFSET>,
SetHeight: SetHeight::<Identity, Impl, OFFSET>,
HWnd: HWnd::<Identity, Impl, OFFSET>,
SetHWnd: SetHWnd::<Identity, Impl, OFFSET>,
SetRect: SetRect::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidRect as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidStreamBufferRecordingControl_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn StartTime(&self) -> ::windows_core::Result<i32>;
fn SetStartTime(&self, rtstart: i32) -> ::windows_core::Result<()>;
fn StopTime(&self) -> ::windows_core::Result<i32>;
fn SetStopTime(&self, rtstop: i32) -> ::windows_core::Result<()>;
fn RecordingStopped(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn RecordingStarted(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn RecordingType(&self) -> ::windows_core::Result<RecordingType>;
fn RecordingAttribute(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidStreamBufferRecordingControl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidStreamBufferRecordingControl_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferRecordingControl_Impl, const OFFSET: isize>() -> IMSVidStreamBufferRecordingControl_Vtbl {
unsafe extern "system" fn StartTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferRecordingControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rtstart: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.StartTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(rtstart, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetStartTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferRecordingControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rtstart: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetStartTime(::core::mem::transmute_copy(&rtstart)).into()
}
unsafe extern "system" fn StopTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferRecordingControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rtstop: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.StopTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(rtstop, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetStopTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferRecordingControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rtstop: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetStopTime(::core::mem::transmute_copy(&rtstop)).into()
}
unsafe extern "system" fn RecordingStopped<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferRecordingControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, phresult: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RecordingStopped() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(phresult, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RecordingStarted<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferRecordingControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, phresult: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RecordingStarted() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(phresult, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RecordingType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferRecordingControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwtype: *mut RecordingType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RecordingType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(dwtype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RecordingAttribute<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferRecordingControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, precordingattribute: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RecordingAttribute() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(precordingattribute, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
StartTime: StartTime::<Identity, Impl, OFFSET>,
SetStartTime: SetStartTime::<Identity, Impl, OFFSET>,
StopTime: StopTime::<Identity, Impl, OFFSET>,
SetStopTime: SetStopTime::<Identity, Impl, OFFSET>,
RecordingStopped: RecordingStopped::<Identity, Impl, OFFSET>,
RecordingStarted: RecordingStarted::<Identity, Impl, OFFSET>,
RecordingType: RecordingType::<Identity, Impl, OFFSET>,
RecordingAttribute: RecordingAttribute::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidStreamBufferRecordingControl as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidStreamBufferSink_Impl: Sized + IMSVidOutputDevice_Impl {
fn get_ContentRecorder(&self, pszfilename: &::windows_core::BSTR) -> ::windows_core::Result<IMSVidStreamBufferRecordingControl>;
fn get_ReferenceRecorder(&self, pszfilename: &::windows_core::BSTR) -> ::windows_core::Result<IMSVidStreamBufferRecordingControl>;
fn SinkName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetSinkName(&self, name: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn NameSetLock(&self) -> ::windows_core::Result<()>;
fn SBESink(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidStreamBufferSink {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidStreamBufferSink_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink_Impl, const OFFSET: isize>() -> IMSVidStreamBufferSink_Vtbl {
unsafe extern "system" fn get_ContentRecorder<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszfilename: ::std::mem::MaybeUninit<::windows_core::BSTR>, precordingiunknown: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ContentRecorder(::core::mem::transmute(&pszfilename)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(precordingiunknown, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_ReferenceRecorder<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszfilename: ::std::mem::MaybeUninit<::windows_core::BSTR>, precordingiunknown: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ReferenceRecorder(::core::mem::transmute(&pszfilename)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(precordingiunknown, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SinkName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SinkName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSinkName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSinkName(::core::mem::transmute(&name)).into()
}
unsafe extern "system" fn NameSetLock<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.NameSetLock().into()
}
unsafe extern "system" fn SBESink<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sbeconfig: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SBESink() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(sbeconfig, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IMSVidOutputDevice_Vtbl::new::<Identity, Impl, OFFSET>(),
get_ContentRecorder: get_ContentRecorder::<Identity, Impl, OFFSET>,
get_ReferenceRecorder: get_ReferenceRecorder::<Identity, Impl, OFFSET>,
SinkName: SinkName::<Identity, Impl, OFFSET>,
SetSinkName: SetSinkName::<Identity, Impl, OFFSET>,
NameSetLock: NameSetLock::<Identity, Impl, OFFSET>,
SBESink: SBESink::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidStreamBufferSink as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDevice as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidStreamBufferSink2_Impl: Sized + IMSVidStreamBufferSink_Impl {
fn UnlockProfile(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidStreamBufferSink2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidStreamBufferSink2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink2_Impl, const OFFSET: isize>() -> IMSVidStreamBufferSink2_Vtbl {
unsafe extern "system" fn UnlockProfile<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.UnlockProfile().into()
}
Self { base__: IMSVidStreamBufferSink_Vtbl::new::<Identity, Impl, OFFSET>(), UnlockProfile: UnlockProfile::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidStreamBufferSink2 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidStreamBufferSink as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidStreamBufferSink3_Impl: Sized + IMSVidStreamBufferSink2_Impl {
fn SetMinSeek(&self) -> ::windows_core::Result<i32>;
fn AudioCounter(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn VideoCounter(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn CCCounter(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn WSTCounter(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn SetAudioAnalysisFilter(&self, szclsid: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn AudioAnalysisFilter(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn Set_AudioAnalysisFilter(&self, guid: &::windows_core::GUID) -> ::windows_core::Result<()>;
fn _AudioAnalysisFilter(&self) -> ::windows_core::Result<::windows_core::GUID>;
fn SetVideoAnalysisFilter(&self, szclsid: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn VideoAnalysisFilter(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn Set_VideoAnalysisFilter(&self, guid: &::windows_core::GUID) -> ::windows_core::Result<()>;
fn _VideoAnalysisFilter(&self) -> ::windows_core::Result<::windows_core::GUID>;
fn SetDataAnalysisFilter(&self, szclsid: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn DataAnalysisFilter(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn Set_DataAnalysisFilter(&self, guid: &::windows_core::GUID) -> ::windows_core::Result<()>;
fn _DataAnalysisFilter(&self) -> ::windows_core::Result<::windows_core::GUID>;
fn LicenseErrorCode(&self) -> ::windows_core::Result<::windows_core::HRESULT>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidStreamBufferSink3 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidStreamBufferSink3_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>() -> IMSVidStreamBufferSink3_Vtbl {
unsafe extern "system" fn SetMinSeek<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwmin: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SetMinSeek() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwmin, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AudioCounter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AudioCounter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppunk, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn VideoCounter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.VideoCounter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppunk, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CCCounter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CCCounter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppunk, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn WSTCounter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.WSTCounter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppunk, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAudioAnalysisFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szclsid: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAudioAnalysisFilter(::core::mem::transmute(&szclsid)).into()
}
unsafe extern "system" fn AudioAnalysisFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszclsid: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AudioAnalysisFilter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pszclsid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Set_AudioAnalysisFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Set_AudioAnalysisFilter(::core::mem::transmute(&guid)).into()
}
unsafe extern "system" fn _AudioAnalysisFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pguid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._AudioAnalysisFilter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pguid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetVideoAnalysisFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szclsid: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetVideoAnalysisFilter(::core::mem::transmute(&szclsid)).into()
}
unsafe extern "system" fn VideoAnalysisFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszclsid: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.VideoAnalysisFilter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pszclsid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Set_VideoAnalysisFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Set_VideoAnalysisFilter(::core::mem::transmute(&guid)).into()
}
unsafe extern "system" fn _VideoAnalysisFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pguid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._VideoAnalysisFilter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pguid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDataAnalysisFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szclsid: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDataAnalysisFilter(::core::mem::transmute(&szclsid)).into()
}
unsafe extern "system" fn DataAnalysisFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszclsid: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DataAnalysisFilter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pszclsid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Set_DataAnalysisFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Set_DataAnalysisFilter(::core::mem::transmute(&guid)).into()
}
unsafe extern "system" fn _DataAnalysisFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pguid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._DataAnalysisFilter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pguid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn LicenseErrorCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hres: *mut ::windows_core::HRESULT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.LicenseErrorCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(hres, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IMSVidStreamBufferSink2_Vtbl::new::<Identity, Impl, OFFSET>(),
SetMinSeek: SetMinSeek::<Identity, Impl, OFFSET>,
AudioCounter: AudioCounter::<Identity, Impl, OFFSET>,
VideoCounter: VideoCounter::<Identity, Impl, OFFSET>,
CCCounter: CCCounter::<Identity, Impl, OFFSET>,
WSTCounter: WSTCounter::<Identity, Impl, OFFSET>,
SetAudioAnalysisFilter: SetAudioAnalysisFilter::<Identity, Impl, OFFSET>,
AudioAnalysisFilter: AudioAnalysisFilter::<Identity, Impl, OFFSET>,
Set_AudioAnalysisFilter: Set_AudioAnalysisFilter::<Identity, Impl, OFFSET>,
_AudioAnalysisFilter: _AudioAnalysisFilter::<Identity, Impl, OFFSET>,
SetVideoAnalysisFilter: SetVideoAnalysisFilter::<Identity, Impl, OFFSET>,
VideoAnalysisFilter: VideoAnalysisFilter::<Identity, Impl, OFFSET>,
Set_VideoAnalysisFilter: Set_VideoAnalysisFilter::<Identity, Impl, OFFSET>,
_VideoAnalysisFilter: _VideoAnalysisFilter::<Identity, Impl, OFFSET>,
SetDataAnalysisFilter: SetDataAnalysisFilter::<Identity, Impl, OFFSET>,
DataAnalysisFilter: DataAnalysisFilter::<Identity, Impl, OFFSET>,
Set_DataAnalysisFilter: Set_DataAnalysisFilter::<Identity, Impl, OFFSET>,
_DataAnalysisFilter: _DataAnalysisFilter::<Identity, Impl, OFFSET>,
LicenseErrorCode: LicenseErrorCode::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidStreamBufferSink3 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidStreamBufferSink as ::windows_core::ComInterface>::IID || *iid == <IMSVidStreamBufferSink2 as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidStreamBufferSinkEvent_Impl: Sized + IMSVidOutputDeviceEvent_Impl {
fn CertificateFailure(&self) -> ::windows_core::Result<()>;
fn CertificateSuccess(&self) -> ::windows_core::Result<()>;
fn WriteFailure(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidStreamBufferSinkEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidStreamBufferSinkEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSinkEvent_Impl, const OFFSET: isize>() -> IMSVidStreamBufferSinkEvent_Vtbl {
unsafe extern "system" fn CertificateFailure<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSinkEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CertificateFailure().into()
}
unsafe extern "system" fn CertificateSuccess<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSinkEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CertificateSuccess().into()
}
unsafe extern "system" fn WriteFailure<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSinkEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteFailure().into()
}
Self {
base__: IMSVidOutputDeviceEvent_Vtbl::new::<Identity, Impl, OFFSET>(),
CertificateFailure: CertificateFailure::<Identity, Impl, OFFSET>,
CertificateSuccess: CertificateSuccess::<Identity, Impl, OFFSET>,
WriteFailure: WriteFailure::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidStreamBufferSinkEvent as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDeviceEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidStreamBufferSinkEvent2_Impl: Sized + IMSVidStreamBufferSinkEvent_Impl {
fn EncryptionOn(&self) -> ::windows_core::Result<()>;
fn EncryptionOff(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidStreamBufferSinkEvent2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidStreamBufferSinkEvent2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSinkEvent2_Impl, const OFFSET: isize>() -> IMSVidStreamBufferSinkEvent2_Vtbl {
unsafe extern "system" fn EncryptionOn<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSinkEvent2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EncryptionOn().into()
}
unsafe extern "system" fn EncryptionOff<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSinkEvent2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EncryptionOff().into()
}
Self {
base__: IMSVidStreamBufferSinkEvent_Vtbl::new::<Identity, Impl, OFFSET>(),
EncryptionOn: EncryptionOn::<Identity, Impl, OFFSET>,
EncryptionOff: EncryptionOff::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidStreamBufferSinkEvent2 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidStreamBufferSinkEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidStreamBufferSinkEvent3_Impl: Sized + IMSVidStreamBufferSinkEvent2_Impl {
fn LicenseChange(&self, dwprot: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidStreamBufferSinkEvent3 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidStreamBufferSinkEvent3_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSinkEvent3_Impl, const OFFSET: isize>() -> IMSVidStreamBufferSinkEvent3_Vtbl {
unsafe extern "system" fn LicenseChange<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSinkEvent3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwprot: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.LicenseChange(::core::mem::transmute_copy(&dwprot)).into()
}
Self { base__: IMSVidStreamBufferSinkEvent2_Vtbl::new::<Identity, Impl, OFFSET>(), LicenseChange: LicenseChange::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidStreamBufferSinkEvent3 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidStreamBufferSinkEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidStreamBufferSinkEvent2 as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidStreamBufferSinkEvent4_Impl: Sized + IMSVidStreamBufferSinkEvent3_Impl {
fn WriteFailureClear(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidStreamBufferSinkEvent4 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidStreamBufferSinkEvent4_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSinkEvent4_Impl, const OFFSET: isize>() -> IMSVidStreamBufferSinkEvent4_Vtbl {
unsafe extern "system" fn WriteFailureClear<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSinkEvent4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteFailureClear().into()
}
Self { base__: IMSVidStreamBufferSinkEvent3_Vtbl::new::<Identity, Impl, OFFSET>(), WriteFailureClear: WriteFailureClear::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidStreamBufferSinkEvent4 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidStreamBufferSinkEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidStreamBufferSinkEvent2 as ::windows_core::ComInterface>::IID || *iid == <IMSVidStreamBufferSinkEvent3 as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidStreamBufferSource_Impl: Sized + IMSVidFilePlayback_Impl {
fn Start(&self) -> ::windows_core::Result<i32>;
fn RecordingAttribute(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn CurrentRatings(&self, pensystem: *mut EnTvRat_System, penrating: *mut EnTvRat_GenericLevel, pbfenattr: *mut i32) -> ::windows_core::Result<()>;
fn MaxRatingsLevel(&self, ensystem: EnTvRat_System, enrating: EnTvRat_GenericLevel, lbfenattr: i32) -> ::windows_core::Result<()>;
fn SetBlockUnrated(&self, bblock: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn SetUnratedDelay(&self, dwdelay: i32) -> ::windows_core::Result<()>;
fn SBESource(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidStreamBufferSource {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidStreamBufferSource_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSource_Impl, const OFFSET: isize>() -> IMSVidStreamBufferSource_Vtbl {
unsafe extern "system" fn Start<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSource_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lstart: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Start() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lstart, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RecordingAttribute<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSource_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, precordingattribute: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.RecordingAttribute() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(precordingattribute, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CurrentRatings<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSource_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pensystem: *mut EnTvRat_System, penrating: *mut EnTvRat_GenericLevel, pbfenattr: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CurrentRatings(::core::mem::transmute_copy(&pensystem), ::core::mem::transmute_copy(&penrating), ::core::mem::transmute_copy(&pbfenattr)).into()
}
unsafe extern "system" fn MaxRatingsLevel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSource_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ensystem: EnTvRat_System, enrating: EnTvRat_GenericLevel, lbfenattr: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.MaxRatingsLevel(::core::mem::transmute_copy(&ensystem), ::core::mem::transmute_copy(&enrating), ::core::mem::transmute_copy(&lbfenattr)).into()
}
unsafe extern "system" fn SetBlockUnrated<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSource_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bblock: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetBlockUnrated(::core::mem::transmute_copy(&bblock)).into()
}
unsafe extern "system" fn SetUnratedDelay<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSource_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwdelay: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetUnratedDelay(::core::mem::transmute_copy(&dwdelay)).into()
}
unsafe extern "system" fn SBESource<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSource_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sbefilter: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SBESource() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(sbefilter, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IMSVidFilePlayback_Vtbl::new::<Identity, Impl, OFFSET>(),
Start: Start::<Identity, Impl, OFFSET>,
RecordingAttribute: RecordingAttribute::<Identity, Impl, OFFSET>,
CurrentRatings: CurrentRatings::<Identity, Impl, OFFSET>,
MaxRatingsLevel: MaxRatingsLevel::<Identity, Impl, OFFSET>,
SetBlockUnrated: SetBlockUnrated::<Identity, Impl, OFFSET>,
SetUnratedDelay: SetUnratedDelay::<Identity, Impl, OFFSET>,
SBESource: SBESource::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidStreamBufferSource as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidPlayback as ::windows_core::ComInterface>::IID || *iid == <IMSVidFilePlayback as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidStreamBufferSource2_Impl: Sized + IMSVidStreamBufferSource_Impl {
fn put_RateEx(&self, dwrate: f64, dwframespersecond: u32) -> ::windows_core::Result<()>;
fn AudioCounter(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn VideoCounter(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn CCCounter(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn WSTCounter(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidStreamBufferSource2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidStreamBufferSource2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSource2_Impl, const OFFSET: isize>() -> IMSVidStreamBufferSource2_Vtbl {
unsafe extern "system" fn put_RateEx<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSource2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrate: f64, dwframespersecond: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_RateEx(::core::mem::transmute_copy(&dwrate), ::core::mem::transmute_copy(&dwframespersecond)).into()
}
unsafe extern "system" fn AudioCounter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSource2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AudioCounter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppunk, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn VideoCounter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSource2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.VideoCounter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppunk, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CCCounter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSource2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CCCounter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppunk, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn WSTCounter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSource2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.WSTCounter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppunk, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IMSVidStreamBufferSource_Vtbl::new::<Identity, Impl, OFFSET>(),
put_RateEx: put_RateEx::<Identity, Impl, OFFSET>,
AudioCounter: AudioCounter::<Identity, Impl, OFFSET>,
VideoCounter: VideoCounter::<Identity, Impl, OFFSET>,
CCCounter: CCCounter::<Identity, Impl, OFFSET>,
WSTCounter: WSTCounter::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidStreamBufferSource2 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidPlayback as ::windows_core::ComInterface>::IID || *iid == <IMSVidFilePlayback as ::windows_core::ComInterface>::IID || *iid == <IMSVidStreamBufferSource as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidStreamBufferSourceEvent_Impl: Sized + IMSVidFilePlaybackEvent_Impl {
fn CertificateFailure(&self) -> ::windows_core::Result<()>;
fn CertificateSuccess(&self) -> ::windows_core::Result<()>;
fn RatingsBlocked(&self) -> ::windows_core::Result<()>;
fn RatingsUnblocked(&self) -> ::windows_core::Result<()>;
fn RatingsChanged(&self) -> ::windows_core::Result<()>;
fn TimeHole(&self, streamoffsetms: i32, sizems: i32) -> ::windows_core::Result<()>;
fn StaleDataRead(&self) -> ::windows_core::Result<()>;
fn ContentBecomingStale(&self) -> ::windows_core::Result<()>;
fn StaleFileDeleted(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidStreamBufferSourceEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidStreamBufferSourceEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSourceEvent_Impl, const OFFSET: isize>() -> IMSVidStreamBufferSourceEvent_Vtbl {
unsafe extern "system" fn CertificateFailure<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSourceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CertificateFailure().into()
}
unsafe extern "system" fn CertificateSuccess<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSourceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CertificateSuccess().into()
}
unsafe extern "system" fn RatingsBlocked<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSourceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RatingsBlocked().into()
}
unsafe extern "system" fn RatingsUnblocked<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSourceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RatingsUnblocked().into()
}
unsafe extern "system" fn RatingsChanged<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSourceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RatingsChanged().into()
}
unsafe extern "system" fn TimeHole<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSourceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, streamoffsetms: i32, sizems: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TimeHole(::core::mem::transmute_copy(&streamoffsetms), ::core::mem::transmute_copy(&sizems)).into()
}
unsafe extern "system" fn StaleDataRead<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSourceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StaleDataRead().into()
}
unsafe extern "system" fn ContentBecomingStale<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSourceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ContentBecomingStale().into()
}
unsafe extern "system" fn StaleFileDeleted<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSourceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StaleFileDeleted().into()
}
Self {
base__: IMSVidFilePlaybackEvent_Vtbl::new::<Identity, Impl, OFFSET>(),
CertificateFailure: CertificateFailure::<Identity, Impl, OFFSET>,
CertificateSuccess: CertificateSuccess::<Identity, Impl, OFFSET>,
RatingsBlocked: RatingsBlocked::<Identity, Impl, OFFSET>,
RatingsUnblocked: RatingsUnblocked::<Identity, Impl, OFFSET>,
RatingsChanged: RatingsChanged::<Identity, Impl, OFFSET>,
TimeHole: TimeHole::<Identity, Impl, OFFSET>,
StaleDataRead: StaleDataRead::<Identity, Impl, OFFSET>,
ContentBecomingStale: ContentBecomingStale::<Identity, Impl, OFFSET>,
StaleFileDeleted: StaleFileDeleted::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidStreamBufferSourceEvent as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidPlaybackEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidFilePlaybackEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidStreamBufferSourceEvent2_Impl: Sized + IMSVidStreamBufferSourceEvent_Impl {
fn RateChange(&self, qwnewrate: f64, qwoldrate: f64) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidStreamBufferSourceEvent2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidStreamBufferSourceEvent2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSourceEvent2_Impl, const OFFSET: isize>() -> IMSVidStreamBufferSourceEvent2_Vtbl {
unsafe extern "system" fn RateChange<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSourceEvent2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, qwnewrate: f64, qwoldrate: f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RateChange(::core::mem::transmute_copy(&qwnewrate), ::core::mem::transmute_copy(&qwoldrate)).into()
}
Self { base__: IMSVidStreamBufferSourceEvent_Vtbl::new::<Identity, Impl, OFFSET>(), RateChange: RateChange::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidStreamBufferSourceEvent2 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidPlaybackEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidFilePlaybackEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidStreamBufferSourceEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidStreamBufferSourceEvent3_Impl: Sized + IMSVidStreamBufferSourceEvent2_Impl {
fn BroadcastEvent(&self, guid: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn BroadcastEventEx(&self, guid: &::windows_core::BSTR, param1: u32, param2: u32, param3: u32, param4: u32) -> ::windows_core::Result<()>;
fn COPPBlocked(&self) -> ::windows_core::Result<()>;
fn COPPUnblocked(&self) -> ::windows_core::Result<()>;
fn ContentPrimarilyAudio(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidStreamBufferSourceEvent3 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidStreamBufferSourceEvent3_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSourceEvent3_Impl, const OFFSET: isize>() -> IMSVidStreamBufferSourceEvent3_Vtbl {
unsafe extern "system" fn BroadcastEvent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSourceEvent3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.BroadcastEvent(::core::mem::transmute(&guid)).into()
}
unsafe extern "system" fn BroadcastEventEx<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSourceEvent3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: ::std::mem::MaybeUninit<::windows_core::BSTR>, param1: u32, param2: u32, param3: u32, param4: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.BroadcastEventEx(::core::mem::transmute(&guid), ::core::mem::transmute_copy(&param1), ::core::mem::transmute_copy(&param2), ::core::mem::transmute_copy(&param3), ::core::mem::transmute_copy(&param4)).into()
}
unsafe extern "system" fn COPPBlocked<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSourceEvent3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.COPPBlocked().into()
}
unsafe extern "system" fn COPPUnblocked<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSourceEvent3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.COPPUnblocked().into()
}
unsafe extern "system" fn ContentPrimarilyAudio<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferSourceEvent3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ContentPrimarilyAudio().into()
}
Self {
base__: IMSVidStreamBufferSourceEvent2_Vtbl::new::<Identity, Impl, OFFSET>(),
BroadcastEvent: BroadcastEvent::<Identity, Impl, OFFSET>,
BroadcastEventEx: BroadcastEventEx::<Identity, Impl, OFFSET>,
COPPBlocked: COPPBlocked::<Identity, Impl, OFFSET>,
COPPUnblocked: COPPUnblocked::<Identity, Impl, OFFSET>,
ContentPrimarilyAudio: ContentPrimarilyAudio::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidStreamBufferSourceEvent3 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidPlaybackEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidFilePlaybackEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidStreamBufferSourceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidStreamBufferSourceEvent2 as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidStreamBufferV2SourceEvent_Impl: Sized + IMSVidFilePlaybackEvent_Impl {
fn RatingsChanged(&self) -> ::windows_core::Result<()>;
fn TimeHole(&self, streamoffsetms: i32, sizems: i32) -> ::windows_core::Result<()>;
fn StaleDataRead(&self) -> ::windows_core::Result<()>;
fn ContentBecomingStale(&self) -> ::windows_core::Result<()>;
fn StaleFileDeleted(&self) -> ::windows_core::Result<()>;
fn RateChange(&self, qwnewrate: f64, qwoldrate: f64) -> ::windows_core::Result<()>;
fn BroadcastEvent(&self, guid: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn BroadcastEventEx(&self, guid: &::windows_core::BSTR, param1: u32, param2: u32, param3: u32, param4: u32) -> ::windows_core::Result<()>;
fn ContentPrimarilyAudio(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidStreamBufferV2SourceEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidStreamBufferV2SourceEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferV2SourceEvent_Impl, const OFFSET: isize>() -> IMSVidStreamBufferV2SourceEvent_Vtbl {
unsafe extern "system" fn RatingsChanged<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferV2SourceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RatingsChanged().into()
}
unsafe extern "system" fn TimeHole<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferV2SourceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, streamoffsetms: i32, sizems: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TimeHole(::core::mem::transmute_copy(&streamoffsetms), ::core::mem::transmute_copy(&sizems)).into()
}
unsafe extern "system" fn StaleDataRead<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferV2SourceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StaleDataRead().into()
}
unsafe extern "system" fn ContentBecomingStale<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferV2SourceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ContentBecomingStale().into()
}
unsafe extern "system" fn StaleFileDeleted<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferV2SourceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StaleFileDeleted().into()
}
unsafe extern "system" fn RateChange<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferV2SourceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, qwnewrate: f64, qwoldrate: f64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RateChange(::core::mem::transmute_copy(&qwnewrate), ::core::mem::transmute_copy(&qwoldrate)).into()
}
unsafe extern "system" fn BroadcastEvent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferV2SourceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.BroadcastEvent(::core::mem::transmute(&guid)).into()
}
unsafe extern "system" fn BroadcastEventEx<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferV2SourceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: ::std::mem::MaybeUninit<::windows_core::BSTR>, param1: u32, param2: u32, param3: u32, param4: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.BroadcastEventEx(::core::mem::transmute(&guid), ::core::mem::transmute_copy(&param1), ::core::mem::transmute_copy(&param2), ::core::mem::transmute_copy(&param3), ::core::mem::transmute_copy(&param4)).into()
}
unsafe extern "system" fn ContentPrimarilyAudio<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidStreamBufferV2SourceEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ContentPrimarilyAudio().into()
}
Self {
base__: IMSVidFilePlaybackEvent_Vtbl::new::<Identity, Impl, OFFSET>(),
RatingsChanged: RatingsChanged::<Identity, Impl, OFFSET>,
TimeHole: TimeHole::<Identity, Impl, OFFSET>,
StaleDataRead: StaleDataRead::<Identity, Impl, OFFSET>,
ContentBecomingStale: ContentBecomingStale::<Identity, Impl, OFFSET>,
StaleFileDeleted: StaleFileDeleted::<Identity, Impl, OFFSET>,
RateChange: RateChange::<Identity, Impl, OFFSET>,
BroadcastEvent: BroadcastEvent::<Identity, Impl, OFFSET>,
BroadcastEventEx: BroadcastEventEx::<Identity, Impl, OFFSET>,
ContentPrimarilyAudio: ContentPrimarilyAudio::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidStreamBufferV2SourceEvent as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidPlaybackEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidFilePlaybackEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidTuner_Impl: Sized + IMSVidVideoInputDevice_Impl {
fn Tune(&self) -> ::windows_core::Result<ITuneRequest>;
fn SetTune(&self, ptr: ::core::option::Option<&ITuneRequest>) -> ::windows_core::Result<()>;
fn TuningSpace(&self) -> ::windows_core::Result<ITuningSpace>;
fn SetTuningSpace(&self, plts: ::core::option::Option<&ITuningSpace>) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidTuner {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidTuner_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidTuner_Impl, const OFFSET: isize>() -> IMSVidTuner_Vtbl {
unsafe extern "system" fn Tune<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptr: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Tune() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pptr, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetTune<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptr: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTune(::windows_core::from_raw_borrowed(&ptr)).into()
}
unsafe extern "system" fn TuningSpace<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plts: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TuningSpace() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plts, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetTuningSpace<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plts: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTuningSpace(::windows_core::from_raw_borrowed(&plts)).into()
}
Self {
base__: IMSVidVideoInputDevice_Vtbl::new::<Identity, Impl, OFFSET>(),
Tune: Tune::<Identity, Impl, OFFSET>,
SetTune: SetTune::<Identity, Impl, OFFSET>,
TuningSpace: TuningSpace::<Identity, Impl, OFFSET>,
SetTuningSpace: SetTuningSpace::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidTuner as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidVideoInputDevice as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidTunerEvent_Impl: Sized + IMSVidInputDeviceEvent_Impl {
fn TuneChanged(&self, lpd: ::core::option::Option<&IMSVidTuner>) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidTunerEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidTunerEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidTunerEvent_Impl, const OFFSET: isize>() -> IMSVidTunerEvent_Vtbl {
unsafe extern "system" fn TuneChanged<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidTunerEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpd: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TuneChanged(::windows_core::from_raw_borrowed(&lpd)).into()
}
Self { base__: IMSVidInputDeviceEvent_Vtbl::new::<Identity, Impl, OFFSET>(), TuneChanged: TuneChanged::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidTunerEvent as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDeviceEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_DirectDraw\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidVMR9_Impl: Sized + IMSVidVideoRenderer_Impl {
fn Allocator_ID(&self) -> ::windows_core::Result<i32>;
fn SetAllocator(&self, allocpresent: ::core::option::Option<&::windows_core::IUnknown>, id: i32) -> ::windows_core::Result<()>;
fn SetSuppressEffects(&self, bsuppress: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn SuppressEffects(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn Allocator(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidVMR9 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidVMR9_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVMR9_Impl, const OFFSET: isize>() -> IMSVidVMR9_Vtbl {
unsafe extern "system" fn Allocator_ID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVMR9_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Allocator_ID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAllocator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVMR9_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, allocpresent: *mut ::core::ffi::c_void, id: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAllocator(::windows_core::from_raw_borrowed(&allocpresent), ::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn SetSuppressEffects<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVMR9_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bsuppress: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSuppressEffects(::core::mem::transmute_copy(&bsuppress)).into()
}
unsafe extern "system" fn SuppressEffects<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVMR9_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bsuppress: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SuppressEffects() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bsuppress, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Allocator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVMR9_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, allocpresent: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Allocator() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(allocpresent, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IMSVidVideoRenderer_Vtbl::new::<Identity, Impl, OFFSET>(),
Allocator_ID: Allocator_ID::<Identity, Impl, OFFSET>,
SetAllocator: SetAllocator::<Identity, Impl, OFFSET>,
SetSuppressEffects: SetSuppressEffects::<Identity, Impl, OFFSET>,
SuppressEffects: SuppressEffects::<Identity, Impl, OFFSET>,
Allocator: Allocator::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidVMR9 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidVideoRenderer as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_System_Com\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com"))]
pub trait IMSVidVRGraphSegment_Impl: Sized + IMSVidGraphSegment_Impl {
fn Set_VMRendererMode(&self, dwmode: i32) -> ::windows_core::Result<()>;
fn SetOwner(&self, window: super::super::super::Foundation::HWND) -> ::windows_core::Result<()>;
fn Owner(&self) -> ::windows_core::Result<super::super::super::Foundation::HWND>;
fn UseOverlay(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetUseOverlay(&self, useoverlayval: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn Visible(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetVisible(&self, visible: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn ColorKey(&self) -> ::windows_core::Result<u32>;
fn SetColorKey(&self, colorkey: u32) -> ::windows_core::Result<()>;
fn Source(&self) -> ::windows_core::Result<super::super::super::Foundation::RECT>;
fn SetSource(&self, r: &super::super::super::Foundation::RECT) -> ::windows_core::Result<()>;
fn Destination(&self) -> ::windows_core::Result<super::super::super::Foundation::RECT>;
fn SetDestination(&self, r: &super::super::super::Foundation::RECT) -> ::windows_core::Result<()>;
fn get_NativeSize(&self, sizeval: *mut super::super::super::Foundation::SIZE, aspectratio: *mut super::super::super::Foundation::SIZE) -> ::windows_core::Result<()>;
fn BorderColor(&self) -> ::windows_core::Result<u32>;
fn SetBorderColor(&self, color: u32) -> ::windows_core::Result<()>;
fn MaintainAspectRatio(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetMaintainAspectRatio(&self, fmaintain: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn Refresh(&self) -> ::windows_core::Result<()>;
fn DisplayChange(&self) -> ::windows_core::Result<()>;
fn RePaint(&self, hdc: super::super::super::Graphics::Gdi::HDC) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com"))]
impl ::windows_core::RuntimeName for IMSVidVRGraphSegment {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com"))]
impl IMSVidVRGraphSegment_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>() -> IMSVidVRGraphSegment_Vtbl {
unsafe extern "system" fn Set_VMRendererMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwmode: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Set_VMRendererMode(::core::mem::transmute_copy(&dwmode)).into()
}
unsafe extern "system" fn SetOwner<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, window: super::super::super::Foundation::HWND) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOwner(::core::mem::transmute_copy(&window)).into()
}
unsafe extern "system" fn Owner<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, window: *mut super::super::super::Foundation::HWND) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Owner() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(window, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn UseOverlay<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, useoverlayval: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.UseOverlay() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(useoverlayval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetUseOverlay<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, useoverlayval: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetUseOverlay(::core::mem::transmute_copy(&useoverlayval)).into()
}
unsafe extern "system" fn Visible<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, visible: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Visible() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(visible, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetVisible<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, visible: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetVisible(::core::mem::transmute_copy(&visible)).into()
}
unsafe extern "system" fn ColorKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, colorkey: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ColorKey() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(colorkey, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetColorKey<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, colorkey: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetColorKey(::core::mem::transmute_copy(&colorkey)).into()
}
unsafe extern "system" fn Source<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r: *mut super::super::super::Foundation::RECT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Source() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSource<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r: super::super::super::Foundation::RECT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSource(::core::mem::transmute(&r)).into()
}
unsafe extern "system" fn Destination<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r: *mut super::super::super::Foundation::RECT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Destination() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDestination<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r: super::super::super::Foundation::RECT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDestination(::core::mem::transmute(&r)).into()
}
unsafe extern "system" fn get_NativeSize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sizeval: *mut super::super::super::Foundation::SIZE, aspectratio: *mut super::super::super::Foundation::SIZE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.get_NativeSize(::core::mem::transmute_copy(&sizeval), ::core::mem::transmute_copy(&aspectratio)).into()
}
unsafe extern "system" fn BorderColor<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, color: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.BorderColor() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(color, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetBorderColor<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, color: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetBorderColor(::core::mem::transmute_copy(&color)).into()
}
unsafe extern "system" fn MaintainAspectRatio<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fmaintain: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MaintainAspectRatio() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(fmaintain, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMaintainAspectRatio<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fmaintain: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMaintainAspectRatio(::core::mem::transmute_copy(&fmaintain)).into()
}
unsafe extern "system" fn Refresh<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Refresh().into()
}
unsafe extern "system" fn DisplayChange<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DisplayChange().into()
}
unsafe extern "system" fn RePaint<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVRGraphSegment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hdc: super::super::super::Graphics::Gdi::HDC) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RePaint(::core::mem::transmute_copy(&hdc)).into()
}
Self {
base__: IMSVidGraphSegment_Vtbl::new::<Identity, Impl, OFFSET>(),
Set_VMRendererMode: Set_VMRendererMode::<Identity, Impl, OFFSET>,
SetOwner: SetOwner::<Identity, Impl, OFFSET>,
Owner: Owner::<Identity, Impl, OFFSET>,
UseOverlay: UseOverlay::<Identity, Impl, OFFSET>,
SetUseOverlay: SetUseOverlay::<Identity, Impl, OFFSET>,
Visible: Visible::<Identity, Impl, OFFSET>,
SetVisible: SetVisible::<Identity, Impl, OFFSET>,
ColorKey: ColorKey::<Identity, Impl, OFFSET>,
SetColorKey: SetColorKey::<Identity, Impl, OFFSET>,
Source: Source::<Identity, Impl, OFFSET>,
SetSource: SetSource::<Identity, Impl, OFFSET>,
Destination: Destination::<Identity, Impl, OFFSET>,
SetDestination: SetDestination::<Identity, Impl, OFFSET>,
get_NativeSize: get_NativeSize::<Identity, Impl, OFFSET>,
BorderColor: BorderColor::<Identity, Impl, OFFSET>,
SetBorderColor: SetBorderColor::<Identity, Impl, OFFSET>,
MaintainAspectRatio: MaintainAspectRatio::<Identity, Impl, OFFSET>,
SetMaintainAspectRatio: SetMaintainAspectRatio::<Identity, Impl, OFFSET>,
Refresh: Refresh::<Identity, Impl, OFFSET>,
DisplayChange: DisplayChange::<Identity, Impl, OFFSET>,
RePaint: RePaint::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidVRGraphSegment as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IPersist as ::windows_core::ComInterface>::IID || *iid == <IMSVidGraphSegment as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidVideoInputDevice_Impl: Sized + IMSVidInputDevice_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidVideoInputDevice {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidVideoInputDevice_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoInputDevice_Impl, const OFFSET: isize>() -> IMSVidVideoInputDevice_Vtbl {
Self { base__: IMSVidInputDevice_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidVideoInputDevice as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDevice as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_DirectDraw\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidVideoRenderer_Impl: Sized + IMSVidOutputDevice_Impl {
fn CustomCompositorClass(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetCustomCompositorClass(&self, compositorclsid: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn _CustomCompositorClass(&self) -> ::windows_core::Result<::windows_core::GUID>;
fn Set_CustomCompositorClass(&self, compositorclsid: *const ::windows_core::GUID) -> ::windows_core::Result<()>;
fn _CustomCompositor(&self) -> ::windows_core::Result<super::IVMRImageCompositor>;
fn Set_CustomCompositor(&self, compositor: ::core::option::Option<&super::IVMRImageCompositor>) -> ::windows_core::Result<()>;
fn MixerBitmap(&self) -> ::windows_core::Result<super::super::super::System::Ole::IPictureDisp>;
fn _MixerBitmap(&self) -> ::windows_core::Result<super::IVMRMixerBitmap>;
fn SetMixerBitmap(&self, mixerpicturedisp: ::core::option::Option<&super::super::super::System::Ole::IPictureDisp>) -> ::windows_core::Result<()>;
fn Set_MixerBitmap(&self, mixerpicture: *const super::VMRALPHABITMAP) -> ::windows_core::Result<()>;
fn MixerBitmapPositionRect(&self) -> ::windows_core::Result<IMSVidRect>;
fn SetMixerBitmapPositionRect(&self, rdest: ::core::option::Option<&IMSVidRect>) -> ::windows_core::Result<()>;
fn MixerBitmapOpacity(&self) -> ::windows_core::Result<i32>;
fn SetMixerBitmapOpacity(&self, opacity: i32) -> ::windows_core::Result<()>;
fn SetupMixerBitmap(&self, mixerpicturedisp: ::core::option::Option<&super::super::super::System::Ole::IPictureDisp>, opacity: i32, rdest: ::core::option::Option<&IMSVidRect>) -> ::windows_core::Result<()>;
fn SourceSize(&self) -> ::windows_core::Result<SourceSizeList>;
fn SetSourceSize(&self, newsize: SourceSizeList) -> ::windows_core::Result<()>;
fn OverScan(&self) -> ::windows_core::Result<i32>;
fn SetOverScan(&self, lpercent: i32) -> ::windows_core::Result<()>;
fn AvailableSourceRect(&self) -> ::windows_core::Result<IMSVidRect>;
fn MaxVidRect(&self) -> ::windows_core::Result<IMSVidRect>;
fn MinVidRect(&self) -> ::windows_core::Result<IMSVidRect>;
fn ClippedSourceRect(&self) -> ::windows_core::Result<IMSVidRect>;
fn SetClippedSourceRect(&self, prect: ::core::option::Option<&IMSVidRect>) -> ::windows_core::Result<()>;
fn UsingOverlay(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetUsingOverlay(&self, useoverlayval: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn Capture(&self) -> ::windows_core::Result<super::super::super::System::Ole::IPictureDisp>;
fn FramesPerSecond(&self) -> ::windows_core::Result<i32>;
fn DecimateInput(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetDecimateInput(&self, pdeci: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidVideoRenderer {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidVideoRenderer_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>() -> IMSVidVideoRenderer_Vtbl {
unsafe extern "system" fn CustomCompositorClass<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, compositorclsid: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CustomCompositorClass() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(compositorclsid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCustomCompositorClass<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, compositorclsid: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCustomCompositorClass(::core::mem::transmute(&compositorclsid)).into()
}
unsafe extern "system" fn _CustomCompositorClass<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, compositorclsid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._CustomCompositorClass() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(compositorclsid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Set_CustomCompositorClass<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, compositorclsid: *const ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Set_CustomCompositorClass(::core::mem::transmute_copy(&compositorclsid)).into()
}
unsafe extern "system" fn _CustomCompositor<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, compositor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._CustomCompositor() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(compositor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Set_CustomCompositor<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, compositor: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Set_CustomCompositor(::windows_core::from_raw_borrowed(&compositor)).into()
}
unsafe extern "system" fn MixerBitmap<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mixerpicturedisp: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MixerBitmap() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mixerpicturedisp, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _MixerBitmap<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mixerpicture: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._MixerBitmap() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mixerpicture, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMixerBitmap<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mixerpicturedisp: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMixerBitmap(::windows_core::from_raw_borrowed(&mixerpicturedisp)).into()
}
unsafe extern "system" fn Set_MixerBitmap<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mixerpicture: *const super::VMRALPHABITMAP) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Set_MixerBitmap(::core::mem::transmute_copy(&mixerpicture)).into()
}
unsafe extern "system" fn MixerBitmapPositionRect<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rdest: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MixerBitmapPositionRect() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(rdest, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMixerBitmapPositionRect<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rdest: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMixerBitmapPositionRect(::windows_core::from_raw_borrowed(&rdest)).into()
}
unsafe extern "system" fn MixerBitmapOpacity<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, opacity: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MixerBitmapOpacity() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(opacity, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMixerBitmapOpacity<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, opacity: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMixerBitmapOpacity(::core::mem::transmute_copy(&opacity)).into()
}
unsafe extern "system" fn SetupMixerBitmap<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mixerpicturedisp: *mut ::core::ffi::c_void, opacity: i32, rdest: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetupMixerBitmap(::windows_core::from_raw_borrowed(&mixerpicturedisp), ::core::mem::transmute_copy(&opacity), ::windows_core::from_raw_borrowed(&rdest)).into()
}
unsafe extern "system" fn SourceSize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, currentsize: *mut SourceSizeList) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SourceSize() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(currentsize, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSourceSize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newsize: SourceSizeList) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSourceSize(::core::mem::transmute_copy(&newsize)).into()
}
unsafe extern "system" fn OverScan<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plpercent: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OverScan() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plpercent, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOverScan<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpercent: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOverScan(::core::mem::transmute_copy(&lpercent)).into()
}
unsafe extern "system" fn AvailableSourceRect<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prect: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AvailableSourceRect() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(prect, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn MaxVidRect<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvidrect: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MaxVidRect() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvidrect, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn MinVidRect<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvidrect: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MinVidRect() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvidrect, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ClippedSourceRect<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prect: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ClippedSourceRect() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(prect, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetClippedSourceRect<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prect: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetClippedSourceRect(::windows_core::from_raw_borrowed(&prect)).into()
}
unsafe extern "system" fn UsingOverlay<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, useoverlayval: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.UsingOverlay() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(useoverlayval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetUsingOverlay<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, useoverlayval: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetUsingOverlay(::core::mem::transmute_copy(&useoverlayval)).into()
}
unsafe extern "system" fn Capture<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, currentimage: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Capture() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(currentimage, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn FramesPerSecond<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FramesPerSecond() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DecimateInput<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdeci: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DecimateInput() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdeci, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDecimateInput<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdeci: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDecimateInput(::core::mem::transmute_copy(&pdeci)).into()
}
Self {
base__: IMSVidOutputDevice_Vtbl::new::<Identity, Impl, OFFSET>(),
CustomCompositorClass: CustomCompositorClass::<Identity, Impl, OFFSET>,
SetCustomCompositorClass: SetCustomCompositorClass::<Identity, Impl, OFFSET>,
_CustomCompositorClass: _CustomCompositorClass::<Identity, Impl, OFFSET>,
Set_CustomCompositorClass: Set_CustomCompositorClass::<Identity, Impl, OFFSET>,
_CustomCompositor: _CustomCompositor::<Identity, Impl, OFFSET>,
Set_CustomCompositor: Set_CustomCompositor::<Identity, Impl, OFFSET>,
MixerBitmap: MixerBitmap::<Identity, Impl, OFFSET>,
_MixerBitmap: _MixerBitmap::<Identity, Impl, OFFSET>,
SetMixerBitmap: SetMixerBitmap::<Identity, Impl, OFFSET>,
Set_MixerBitmap: Set_MixerBitmap::<Identity, Impl, OFFSET>,
MixerBitmapPositionRect: MixerBitmapPositionRect::<Identity, Impl, OFFSET>,
SetMixerBitmapPositionRect: SetMixerBitmapPositionRect::<Identity, Impl, OFFSET>,
MixerBitmapOpacity: MixerBitmapOpacity::<Identity, Impl, OFFSET>,
SetMixerBitmapOpacity: SetMixerBitmapOpacity::<Identity, Impl, OFFSET>,
SetupMixerBitmap: SetupMixerBitmap::<Identity, Impl, OFFSET>,
SourceSize: SourceSize::<Identity, Impl, OFFSET>,
SetSourceSize: SetSourceSize::<Identity, Impl, OFFSET>,
OverScan: OverScan::<Identity, Impl, OFFSET>,
SetOverScan: SetOverScan::<Identity, Impl, OFFSET>,
AvailableSourceRect: AvailableSourceRect::<Identity, Impl, OFFSET>,
MaxVidRect: MaxVidRect::<Identity, Impl, OFFSET>,
MinVidRect: MinVidRect::<Identity, Impl, OFFSET>,
ClippedSourceRect: ClippedSourceRect::<Identity, Impl, OFFSET>,
SetClippedSourceRect: SetClippedSourceRect::<Identity, Impl, OFFSET>,
UsingOverlay: UsingOverlay::<Identity, Impl, OFFSET>,
SetUsingOverlay: SetUsingOverlay::<Identity, Impl, OFFSET>,
Capture: Capture::<Identity, Impl, OFFSET>,
FramesPerSecond: FramesPerSecond::<Identity, Impl, OFFSET>,
DecimateInput: DecimateInput::<Identity, Impl, OFFSET>,
SetDecimateInput: SetDecimateInput::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidVideoRenderer as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDevice as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_DirectDraw\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidVideoRenderer2_Impl: Sized + IMSVidVideoRenderer_Impl {
fn Allocator(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn _Allocator(&self) -> ::windows_core::Result<super::IVMRSurfaceAllocator>;
fn Allocator_ID(&self) -> ::windows_core::Result<i32>;
fn SetAllocator(&self, allocpresent: ::core::option::Option<&::windows_core::IUnknown>, id: i32) -> ::windows_core::Result<()>;
fn _SetAllocator2(&self, allocpresent: ::core::option::Option<&super::IVMRSurfaceAllocator>, id: i32) -> ::windows_core::Result<()>;
fn SetSuppressEffects(&self, bsuppress: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn SuppressEffects(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidVideoRenderer2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_DirectDraw", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidVideoRenderer2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer2_Impl, const OFFSET: isize>() -> IMSVidVideoRenderer2_Vtbl {
unsafe extern "system" fn Allocator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, allocpresent: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Allocator() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(allocpresent, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _Allocator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, allocpresent: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._Allocator() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(allocpresent, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Allocator_ID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Allocator_ID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAllocator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, allocpresent: *mut ::core::ffi::c_void, id: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAllocator(::windows_core::from_raw_borrowed(&allocpresent), ::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn _SetAllocator2<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, allocpresent: *mut ::core::ffi::c_void, id: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this._SetAllocator2(::windows_core::from_raw_borrowed(&allocpresent), ::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn SetSuppressEffects<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bsuppress: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSuppressEffects(::core::mem::transmute_copy(&bsuppress)).into()
}
unsafe extern "system" fn SuppressEffects<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRenderer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bsuppress: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SuppressEffects() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bsuppress, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IMSVidVideoRenderer_Vtbl::new::<Identity, Impl, OFFSET>(),
Allocator: Allocator::<Identity, Impl, OFFSET>,
_Allocator: _Allocator::<Identity, Impl, OFFSET>,
Allocator_ID: Allocator_ID::<Identity, Impl, OFFSET>,
SetAllocator: SetAllocator::<Identity, Impl, OFFSET>,
_SetAllocator2: _SetAllocator2::<Identity, Impl, OFFSET>,
SetSuppressEffects: SetSuppressEffects::<Identity, Impl, OFFSET>,
SuppressEffects: SuppressEffects::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidVideoRenderer2 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidVideoRenderer as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidVideoRendererDevices_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<super::super::super::System::Ole::IEnumVARIANT>;
fn get_Item(&self, v: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<IMSVidVideoRenderer>;
fn Add(&self, pdb: ::core::option::Option<&IMSVidVideoRenderer>) -> ::windows_core::Result<()>;
fn Remove(&self, v: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidVideoRendererDevices {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidVideoRendererDevices_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRendererDevices_Impl, const OFFSET: isize>() -> IMSVidVideoRendererDevices_Vtbl {
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRendererDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcount: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lcount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRendererDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pd: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pd, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_Item<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRendererDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, v: super::super::super::System::Variant::VARIANT, pdb: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Item(::core::mem::transmute(&v)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdb, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRendererDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdb: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Add(::windows_core::from_raw_borrowed(&pdb)).into()
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRendererDevices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, v: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute(&v)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
get_Item: get_Item::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidVideoRendererDevices as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidVideoRendererEvent_Impl: Sized + IMSVidOutputDeviceEvent_Impl {
fn OverlayUnavailable(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidVideoRendererEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidVideoRendererEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRendererEvent_Impl, const OFFSET: isize>() -> IMSVidVideoRendererEvent_Vtbl {
unsafe extern "system" fn OverlayUnavailable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRendererEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OverlayUnavailable().into()
}
Self { base__: IMSVidOutputDeviceEvent_Vtbl::new::<Identity, Impl, OFFSET>(), OverlayUnavailable: OverlayUnavailable::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidVideoRendererEvent as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDeviceEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidVideoRendererEvent2_Impl: Sized + IMSVidOutputDeviceEvent_Impl {
fn OverlayUnavailable(&self) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidVideoRendererEvent2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidVideoRendererEvent2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRendererEvent2_Impl, const OFFSET: isize>() -> IMSVidVideoRendererEvent2_Vtbl {
unsafe extern "system" fn OverlayUnavailable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidVideoRendererEvent2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OverlayUnavailable().into()
}
Self { base__: IMSVidOutputDeviceEvent_Vtbl::new::<Identity, Impl, OFFSET>(), OverlayUnavailable: OverlayUnavailable::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidVideoRendererEvent2 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidOutputDeviceEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidWebDVD_Impl: Sized + IMSVidPlayback_Impl {
fn OnDVDEvent(&self, levent: i32, lparam1: isize, lparam2: isize) -> ::windows_core::Result<()>;
fn PlayTitle(&self, ltitle: i32) -> ::windows_core::Result<()>;
fn PlayChapterInTitle(&self, ltitle: i32, lchapter: i32) -> ::windows_core::Result<()>;
fn PlayChapter(&self, lchapter: i32) -> ::windows_core::Result<()>;
fn PlayChaptersAutoStop(&self, ltitle: i32, lstrchapter: i32, lchaptercount: i32) -> ::windows_core::Result<()>;
fn PlayAtTime(&self, strtime: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn PlayAtTimeInTitle(&self, ltitle: i32, strtime: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn PlayPeriodInTitleAutoStop(&self, ltitle: i32, strstarttime: &::windows_core::BSTR, strendtime: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn ReplayChapter(&self) -> ::windows_core::Result<()>;
fn PlayPrevChapter(&self) -> ::windows_core::Result<()>;
fn PlayNextChapter(&self) -> ::windows_core::Result<()>;
fn StillOff(&self) -> ::windows_core::Result<()>;
fn get_AudioLanguage(&self, lstream: i32, fformat: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<::windows_core::BSTR>;
fn ShowMenu(&self, menuid: DVDMenuIDConstants) -> ::windows_core::Result<()>;
fn Resume(&self) -> ::windows_core::Result<()>;
fn ReturnFromSubmenu(&self) -> ::windows_core::Result<()>;
fn ButtonsAvailable(&self) -> ::windows_core::Result<i32>;
fn CurrentButton(&self) -> ::windows_core::Result<i32>;
fn SelectAndActivateButton(&self, lbutton: i32) -> ::windows_core::Result<()>;
fn ActivateButton(&self) -> ::windows_core::Result<()>;
fn SelectRightButton(&self) -> ::windows_core::Result<()>;
fn SelectLeftButton(&self) -> ::windows_core::Result<()>;
fn SelectLowerButton(&self) -> ::windows_core::Result<()>;
fn SelectUpperButton(&self) -> ::windows_core::Result<()>;
fn ActivateAtPosition(&self, xpos: i32, ypos: i32) -> ::windows_core::Result<()>;
fn SelectAtPosition(&self, xpos: i32, ypos: i32) -> ::windows_core::Result<()>;
fn get_ButtonAtPosition(&self, xpos: i32, ypos: i32) -> ::windows_core::Result<i32>;
fn get_NumberOfChapters(&self, ltitle: i32) -> ::windows_core::Result<i32>;
fn TotalTitleTime(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn TitlesAvailable(&self) -> ::windows_core::Result<i32>;
fn VolumesAvailable(&self) -> ::windows_core::Result<i32>;
fn CurrentVolume(&self) -> ::windows_core::Result<i32>;
fn CurrentDiscSide(&self) -> ::windows_core::Result<i32>;
fn CurrentDomain(&self) -> ::windows_core::Result<i32>;
fn CurrentChapter(&self) -> ::windows_core::Result<i32>;
fn CurrentTitle(&self) -> ::windows_core::Result<i32>;
fn CurrentTime(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn DVDTimeCode2bstr(&self, timecode: i32) -> ::windows_core::Result<::windows_core::BSTR>;
fn DVDDirectory(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetDVDDirectory(&self, newval: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn IsSubpictureStreamEnabled(&self, lstream: i32) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn IsAudioStreamEnabled(&self, lstream: i32) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn CurrentSubpictureStream(&self) -> ::windows_core::Result<i32>;
fn SetCurrentSubpictureStream(&self, newval: i32) -> ::windows_core::Result<()>;
fn get_SubpictureLanguage(&self, lstream: i32) -> ::windows_core::Result<::windows_core::BSTR>;
fn CurrentAudioStream(&self) -> ::windows_core::Result<i32>;
fn SetCurrentAudioStream(&self, newval: i32) -> ::windows_core::Result<()>;
fn AudioStreamsAvailable(&self) -> ::windows_core::Result<i32>;
fn AnglesAvailable(&self) -> ::windows_core::Result<i32>;
fn CurrentAngle(&self) -> ::windows_core::Result<i32>;
fn SetCurrentAngle(&self, newval: i32) -> ::windows_core::Result<()>;
fn SubpictureStreamsAvailable(&self) -> ::windows_core::Result<i32>;
fn SubpictureOn(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetSubpictureOn(&self, newval: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn DVDUniqueID(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn AcceptParentalLevelChange(&self, faccept: super::super::super::Foundation::VARIANT_BOOL, strusername: &::windows_core::BSTR, strpassword: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn NotifyParentalLevelChange(&self, newval: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn SelectParentalCountry(&self, lcountry: i32, strusername: &::windows_core::BSTR, strpassword: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn SelectParentalLevel(&self, lparentallevel: i32, strusername: &::windows_core::BSTR, strpassword: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn get_TitleParentalLevels(&self, ltitle: i32) -> ::windows_core::Result<i32>;
fn PlayerParentalCountry(&self) -> ::windows_core::Result<i32>;
fn PlayerParentalLevel(&self) -> ::windows_core::Result<i32>;
fn Eject(&self) -> ::windows_core::Result<()>;
fn UOPValid(&self, luop: i32) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn get_SPRM(&self, lindex: i32) -> ::windows_core::Result<i16>;
fn get_GPRM(&self, lindex: i32) -> ::windows_core::Result<i16>;
fn put_GPRM(&self, lindex: i32, svalue: i16) -> ::windows_core::Result<()>;
fn get_DVDTextStringType(&self, llangindex: i32, lstringindex: i32) -> ::windows_core::Result<DVDTextStringType>;
fn get_DVDTextString(&self, llangindex: i32, lstringindex: i32) -> ::windows_core::Result<::windows_core::BSTR>;
fn get_DVDTextNumberOfStrings(&self, llangindex: i32) -> ::windows_core::Result<i32>;
fn DVDTextNumberOfLanguages(&self) -> ::windows_core::Result<i32>;
fn get_DVDTextLanguageLCID(&self, llangindex: i32) -> ::windows_core::Result<i32>;
fn RegionChange(&self) -> ::windows_core::Result<()>;
fn DVDAdm(&self) -> ::windows_core::Result<super::super::super::System::Com::IDispatch>;
fn DeleteBookmark(&self) -> ::windows_core::Result<()>;
fn RestoreBookmark(&self) -> ::windows_core::Result<()>;
fn SaveBookmark(&self) -> ::windows_core::Result<()>;
fn SelectDefaultAudioLanguage(&self, lang: i32, ext: i32) -> ::windows_core::Result<()>;
fn SelectDefaultSubpictureLanguage(&self, lang: i32, ext: DVDSPExt) -> ::windows_core::Result<()>;
fn PreferredSubpictureStream(&self) -> ::windows_core::Result<i32>;
fn DefaultMenuLanguage(&self) -> ::windows_core::Result<i32>;
fn SetDefaultMenuLanguage(&self, lang: i32) -> ::windows_core::Result<()>;
fn DefaultSubpictureLanguage(&self) -> ::windows_core::Result<i32>;
fn DefaultAudioLanguage(&self) -> ::windows_core::Result<i32>;
fn DefaultSubpictureLanguageExt(&self) -> ::windows_core::Result<DVDSPExt>;
fn DefaultAudioLanguageExt(&self) -> ::windows_core::Result<i32>;
fn get_LanguageFromLCID(&self, lcid: i32) -> ::windows_core::Result<::windows_core::BSTR>;
fn KaraokeAudioPresentationMode(&self) -> ::windows_core::Result<i32>;
fn SetKaraokeAudioPresentationMode(&self, newval: i32) -> ::windows_core::Result<()>;
fn get_KaraokeChannelContent(&self, lstream: i32, lchan: i32) -> ::windows_core::Result<i32>;
fn get_KaraokeChannelAssignment(&self, lstream: i32) -> ::windows_core::Result<i32>;
fn RestorePreferredSettings(&self) -> ::windows_core::Result<()>;
fn get_ButtonRect(&self, lbutton: i32) -> ::windows_core::Result<IMSVidRect>;
fn DVDScreenInMouseCoordinates(&self) -> ::windows_core::Result<IMSVidRect>;
fn SetDVDScreenInMouseCoordinates(&self, prect: ::core::option::Option<&IMSVidRect>) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidWebDVD {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidWebDVD_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>() -> IMSVidWebDVD_Vtbl {
unsafe extern "system" fn OnDVDEvent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, levent: i32, lparam1: isize, lparam2: isize) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnDVDEvent(::core::mem::transmute_copy(&levent), ::core::mem::transmute_copy(&lparam1), ::core::mem::transmute_copy(&lparam2)).into()
}
unsafe extern "system" fn PlayTitle<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ltitle: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PlayTitle(::core::mem::transmute_copy(&ltitle)).into()
}
unsafe extern "system" fn PlayChapterInTitle<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ltitle: i32, lchapter: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PlayChapterInTitle(::core::mem::transmute_copy(&ltitle), ::core::mem::transmute_copy(&lchapter)).into()
}
unsafe extern "system" fn PlayChapter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lchapter: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PlayChapter(::core::mem::transmute_copy(&lchapter)).into()
}
unsafe extern "system" fn PlayChaptersAutoStop<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ltitle: i32, lstrchapter: i32, lchaptercount: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PlayChaptersAutoStop(::core::mem::transmute_copy(&ltitle), ::core::mem::transmute_copy(&lstrchapter), ::core::mem::transmute_copy(&lchaptercount)).into()
}
unsafe extern "system" fn PlayAtTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strtime: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PlayAtTime(::core::mem::transmute(&strtime)).into()
}
unsafe extern "system" fn PlayAtTimeInTitle<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ltitle: i32, strtime: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PlayAtTimeInTitle(::core::mem::transmute_copy(&ltitle), ::core::mem::transmute(&strtime)).into()
}
unsafe extern "system" fn PlayPeriodInTitleAutoStop<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ltitle: i32, strstarttime: ::std::mem::MaybeUninit<::windows_core::BSTR>, strendtime: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PlayPeriodInTitleAutoStop(::core::mem::transmute_copy(&ltitle), ::core::mem::transmute(&strstarttime), ::core::mem::transmute(&strendtime)).into()
}
unsafe extern "system" fn ReplayChapter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReplayChapter().into()
}
unsafe extern "system" fn PlayPrevChapter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PlayPrevChapter().into()
}
unsafe extern "system" fn PlayNextChapter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PlayNextChapter().into()
}
unsafe extern "system" fn StillOff<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StillOff().into()
}
unsafe extern "system" fn get_AudioLanguage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lstream: i32, fformat: super::super::super::Foundation::VARIANT_BOOL, straudiolang: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_AudioLanguage(::core::mem::transmute_copy(&lstream), ::core::mem::transmute_copy(&fformat)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(straudiolang, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ShowMenu<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, menuid: DVDMenuIDConstants) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ShowMenu(::core::mem::transmute_copy(&menuid)).into()
}
unsafe extern "system" fn Resume<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Resume().into()
}
unsafe extern "system" fn ReturnFromSubmenu<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReturnFromSubmenu().into()
}
unsafe extern "system" fn ButtonsAvailable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ButtonsAvailable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CurrentButton<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CurrentButton() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SelectAndActivateButton<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lbutton: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SelectAndActivateButton(::core::mem::transmute_copy(&lbutton)).into()
}
unsafe extern "system" fn ActivateButton<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ActivateButton().into()
}
unsafe extern "system" fn SelectRightButton<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SelectRightButton().into()
}
unsafe extern "system" fn SelectLeftButton<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SelectLeftButton().into()
}
unsafe extern "system" fn SelectLowerButton<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SelectLowerButton().into()
}
unsafe extern "system" fn SelectUpperButton<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SelectUpperButton().into()
}
unsafe extern "system" fn ActivateAtPosition<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, xpos: i32, ypos: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ActivateAtPosition(::core::mem::transmute_copy(&xpos), ::core::mem::transmute_copy(&ypos)).into()
}
unsafe extern "system" fn SelectAtPosition<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, xpos: i32, ypos: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SelectAtPosition(::core::mem::transmute_copy(&xpos), ::core::mem::transmute_copy(&ypos)).into()
}
unsafe extern "system" fn get_ButtonAtPosition<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, xpos: i32, ypos: i32, plbutton: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ButtonAtPosition(::core::mem::transmute_copy(&xpos), ::core::mem::transmute_copy(&ypos)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plbutton, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_NumberOfChapters<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ltitle: i32, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_NumberOfChapters(::core::mem::transmute_copy(&ltitle)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn TotalTitleTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TotalTitleTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn TitlesAvailable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TitlesAvailable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn VolumesAvailable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.VolumesAvailable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CurrentVolume<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CurrentVolume() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CurrentDiscSide<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CurrentDiscSide() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CurrentDomain<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CurrentDomain() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CurrentChapter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CurrentChapter() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CurrentTitle<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CurrentTitle() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CurrentTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CurrentTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DVDTimeCode2bstr<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timecode: i32, ptimestr: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DVDTimeCode2bstr(::core::mem::transmute_copy(&timecode)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ptimestr, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DVDDirectory<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DVDDirectory() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDVDDirectory<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDVDDirectory(::core::mem::transmute(&newval)).into()
}
unsafe extern "system" fn IsSubpictureStreamEnabled<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lstream: i32, fenabled: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsSubpictureStreamEnabled(::core::mem::transmute_copy(&lstream)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(fenabled, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsAudioStreamEnabled<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lstream: i32, fenabled: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsAudioStreamEnabled(::core::mem::transmute_copy(&lstream)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(fenabled, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CurrentSubpictureStream<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CurrentSubpictureStream() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentSubpictureStream<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCurrentSubpictureStream(::core::mem::transmute_copy(&newval)).into()
}
unsafe extern "system" fn get_SubpictureLanguage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lstream: i32, strlanguage: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_SubpictureLanguage(::core::mem::transmute_copy(&lstream)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(strlanguage, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CurrentAudioStream<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CurrentAudioStream() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentAudioStream<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCurrentAudioStream(::core::mem::transmute_copy(&newval)).into()
}
unsafe extern "system" fn AudioStreamsAvailable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AudioStreamsAvailable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AnglesAvailable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AnglesAvailable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CurrentAngle<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CurrentAngle() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentAngle<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCurrentAngle(::core::mem::transmute_copy(&newval)).into()
}
unsafe extern "system" fn SubpictureStreamsAvailable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SubpictureStreamsAvailable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SubpictureOn<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SubpictureOn() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSubpictureOn<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSubpictureOn(::core::mem::transmute_copy(&newval)).into()
}
unsafe extern "system" fn DVDUniqueID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DVDUniqueID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AcceptParentalLevelChange<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, faccept: super::super::super::Foundation::VARIANT_BOOL, strusername: ::std::mem::MaybeUninit<::windows_core::BSTR>, strpassword: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AcceptParentalLevelChange(::core::mem::transmute_copy(&faccept), ::core::mem::transmute(&strusername), ::core::mem::transmute(&strpassword)).into()
}
unsafe extern "system" fn NotifyParentalLevelChange<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.NotifyParentalLevelChange(::core::mem::transmute_copy(&newval)).into()
}
unsafe extern "system" fn SelectParentalCountry<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcountry: i32, strusername: ::std::mem::MaybeUninit<::windows_core::BSTR>, strpassword: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SelectParentalCountry(::core::mem::transmute_copy(&lcountry), ::core::mem::transmute(&strusername), ::core::mem::transmute(&strpassword)).into()
}
unsafe extern "system" fn SelectParentalLevel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lparentallevel: i32, strusername: ::std::mem::MaybeUninit<::windows_core::BSTR>, strpassword: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SelectParentalLevel(::core::mem::transmute_copy(&lparentallevel), ::core::mem::transmute(&strusername), ::core::mem::transmute(&strpassword)).into()
}
unsafe extern "system" fn get_TitleParentalLevels<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ltitle: i32, plparentallevels: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_TitleParentalLevels(::core::mem::transmute_copy(&ltitle)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plparentallevels, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn PlayerParentalCountry<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcountrycode: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PlayerParentalCountry() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plcountrycode, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn PlayerParentalLevel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plparentallevel: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PlayerParentalLevel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plparentallevel, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Eject<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Eject().into()
}
unsafe extern "system" fn UOPValid<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, luop: i32, pfvalid: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.UOPValid(::core::mem::transmute_copy(&luop)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfvalid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_SPRM<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, pssprm: *mut i16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_SPRM(::core::mem::transmute_copy(&lindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pssprm, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_GPRM<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, pssprm: *mut i16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_GPRM(::core::mem::transmute_copy(&lindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pssprm, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn put_GPRM<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, svalue: i16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_GPRM(::core::mem::transmute_copy(&lindex), ::core::mem::transmute_copy(&svalue)).into()
}
unsafe extern "system" fn get_DVDTextStringType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, llangindex: i32, lstringindex: i32, ptype: *mut DVDTextStringType) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_DVDTextStringType(::core::mem::transmute_copy(&llangindex), ::core::mem::transmute_copy(&lstringindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ptype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_DVDTextString<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, llangindex: i32, lstringindex: i32, pstrtext: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_DVDTextString(::core::mem::transmute_copy(&llangindex), ::core::mem::transmute_copy(&lstringindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstrtext, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_DVDTextNumberOfStrings<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, llangindex: i32, plnumofstrings: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_DVDTextNumberOfStrings(::core::mem::transmute_copy(&llangindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plnumofstrings, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DVDTextNumberOfLanguages<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plnumoflangs: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DVDTextNumberOfLanguages() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plnumoflangs, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_DVDTextLanguageLCID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, llangindex: i32, lcid: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_DVDTextLanguageLCID(::core::mem::transmute_copy(&llangindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lcid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RegionChange<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegionChange().into()
}
unsafe extern "system" fn DVDAdm<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DVDAdm() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DeleteBookmark<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DeleteBookmark().into()
}
unsafe extern "system" fn RestoreBookmark<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RestoreBookmark().into()
}
unsafe extern "system" fn SaveBookmark<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SaveBookmark().into()
}
unsafe extern "system" fn SelectDefaultAudioLanguage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lang: i32, ext: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SelectDefaultAudioLanguage(::core::mem::transmute_copy(&lang), ::core::mem::transmute_copy(&ext)).into()
}
unsafe extern "system" fn SelectDefaultSubpictureLanguage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lang: i32, ext: DVDSPExt) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SelectDefaultSubpictureLanguage(::core::mem::transmute_copy(&lang), ::core::mem::transmute_copy(&ext)).into()
}
unsafe extern "system" fn PreferredSubpictureStream<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PreferredSubpictureStream() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DefaultMenuLanguage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lang: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DefaultMenuLanguage() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lang, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDefaultMenuLanguage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lang: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDefaultMenuLanguage(::core::mem::transmute_copy(&lang)).into()
}
unsafe extern "system" fn DefaultSubpictureLanguage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lang: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DefaultSubpictureLanguage() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lang, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DefaultAudioLanguage<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lang: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DefaultAudioLanguage() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lang, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DefaultSubpictureLanguageExt<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ext: *mut DVDSPExt) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DefaultSubpictureLanguageExt() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ext, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DefaultAudioLanguageExt<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ext: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DefaultAudioLanguageExt() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ext, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_LanguageFromLCID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcid: i32, lang: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_LanguageFromLCID(::core::mem::transmute_copy(&lcid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lang, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn KaraokeAudioPresentationMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.KaraokeAudioPresentationMode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetKaraokeAudioPresentationMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKaraokeAudioPresentationMode(::core::mem::transmute_copy(&newval)).into()
}
unsafe extern "system" fn get_KaraokeChannelContent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lstream: i32, lchan: i32, lcontent: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_KaraokeChannelContent(::core::mem::transmute_copy(&lstream), ::core::mem::transmute_copy(&lchan)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lcontent, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_KaraokeChannelAssignment<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lstream: i32, lchannelassignment: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_KaraokeChannelAssignment(::core::mem::transmute_copy(&lstream)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lchannelassignment, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RestorePreferredSettings<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RestorePreferredSettings().into()
}
unsafe extern "system" fn get_ButtonRect<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lbutton: i32, prect: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_ButtonRect(::core::mem::transmute_copy(&lbutton)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(prect, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DVDScreenInMouseCoordinates<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pprect: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DVDScreenInMouseCoordinates() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pprect, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDVDScreenInMouseCoordinates<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prect: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDVDScreenInMouseCoordinates(::windows_core::from_raw_borrowed(&prect)).into()
}
Self {
base__: IMSVidPlayback_Vtbl::new::<Identity, Impl, OFFSET>(),
OnDVDEvent: OnDVDEvent::<Identity, Impl, OFFSET>,
PlayTitle: PlayTitle::<Identity, Impl, OFFSET>,
PlayChapterInTitle: PlayChapterInTitle::<Identity, Impl, OFFSET>,
PlayChapter: PlayChapter::<Identity, Impl, OFFSET>,
PlayChaptersAutoStop: PlayChaptersAutoStop::<Identity, Impl, OFFSET>,
PlayAtTime: PlayAtTime::<Identity, Impl, OFFSET>,
PlayAtTimeInTitle: PlayAtTimeInTitle::<Identity, Impl, OFFSET>,
PlayPeriodInTitleAutoStop: PlayPeriodInTitleAutoStop::<Identity, Impl, OFFSET>,
ReplayChapter: ReplayChapter::<Identity, Impl, OFFSET>,
PlayPrevChapter: PlayPrevChapter::<Identity, Impl, OFFSET>,
PlayNextChapter: PlayNextChapter::<Identity, Impl, OFFSET>,
StillOff: StillOff::<Identity, Impl, OFFSET>,
get_AudioLanguage: get_AudioLanguage::<Identity, Impl, OFFSET>,
ShowMenu: ShowMenu::<Identity, Impl, OFFSET>,
Resume: Resume::<Identity, Impl, OFFSET>,
ReturnFromSubmenu: ReturnFromSubmenu::<Identity, Impl, OFFSET>,
ButtonsAvailable: ButtonsAvailable::<Identity, Impl, OFFSET>,
CurrentButton: CurrentButton::<Identity, Impl, OFFSET>,
SelectAndActivateButton: SelectAndActivateButton::<Identity, Impl, OFFSET>,
ActivateButton: ActivateButton::<Identity, Impl, OFFSET>,
SelectRightButton: SelectRightButton::<Identity, Impl, OFFSET>,
SelectLeftButton: SelectLeftButton::<Identity, Impl, OFFSET>,
SelectLowerButton: SelectLowerButton::<Identity, Impl, OFFSET>,
SelectUpperButton: SelectUpperButton::<Identity, Impl, OFFSET>,
ActivateAtPosition: ActivateAtPosition::<Identity, Impl, OFFSET>,
SelectAtPosition: SelectAtPosition::<Identity, Impl, OFFSET>,
get_ButtonAtPosition: get_ButtonAtPosition::<Identity, Impl, OFFSET>,
get_NumberOfChapters: get_NumberOfChapters::<Identity, Impl, OFFSET>,
TotalTitleTime: TotalTitleTime::<Identity, Impl, OFFSET>,
TitlesAvailable: TitlesAvailable::<Identity, Impl, OFFSET>,
VolumesAvailable: VolumesAvailable::<Identity, Impl, OFFSET>,
CurrentVolume: CurrentVolume::<Identity, Impl, OFFSET>,
CurrentDiscSide: CurrentDiscSide::<Identity, Impl, OFFSET>,
CurrentDomain: CurrentDomain::<Identity, Impl, OFFSET>,
CurrentChapter: CurrentChapter::<Identity, Impl, OFFSET>,
CurrentTitle: CurrentTitle::<Identity, Impl, OFFSET>,
CurrentTime: CurrentTime::<Identity, Impl, OFFSET>,
DVDTimeCode2bstr: DVDTimeCode2bstr::<Identity, Impl, OFFSET>,
DVDDirectory: DVDDirectory::<Identity, Impl, OFFSET>,
SetDVDDirectory: SetDVDDirectory::<Identity, Impl, OFFSET>,
IsSubpictureStreamEnabled: IsSubpictureStreamEnabled::<Identity, Impl, OFFSET>,
IsAudioStreamEnabled: IsAudioStreamEnabled::<Identity, Impl, OFFSET>,
CurrentSubpictureStream: CurrentSubpictureStream::<Identity, Impl, OFFSET>,
SetCurrentSubpictureStream: SetCurrentSubpictureStream::<Identity, Impl, OFFSET>,
get_SubpictureLanguage: get_SubpictureLanguage::<Identity, Impl, OFFSET>,
CurrentAudioStream: CurrentAudioStream::<Identity, Impl, OFFSET>,
SetCurrentAudioStream: SetCurrentAudioStream::<Identity, Impl, OFFSET>,
AudioStreamsAvailable: AudioStreamsAvailable::<Identity, Impl, OFFSET>,
AnglesAvailable: AnglesAvailable::<Identity, Impl, OFFSET>,
CurrentAngle: CurrentAngle::<Identity, Impl, OFFSET>,
SetCurrentAngle: SetCurrentAngle::<Identity, Impl, OFFSET>,
SubpictureStreamsAvailable: SubpictureStreamsAvailable::<Identity, Impl, OFFSET>,
SubpictureOn: SubpictureOn::<Identity, Impl, OFFSET>,
SetSubpictureOn: SetSubpictureOn::<Identity, Impl, OFFSET>,
DVDUniqueID: DVDUniqueID::<Identity, Impl, OFFSET>,
AcceptParentalLevelChange: AcceptParentalLevelChange::<Identity, Impl, OFFSET>,
NotifyParentalLevelChange: NotifyParentalLevelChange::<Identity, Impl, OFFSET>,
SelectParentalCountry: SelectParentalCountry::<Identity, Impl, OFFSET>,
SelectParentalLevel: SelectParentalLevel::<Identity, Impl, OFFSET>,
get_TitleParentalLevels: get_TitleParentalLevels::<Identity, Impl, OFFSET>,
PlayerParentalCountry: PlayerParentalCountry::<Identity, Impl, OFFSET>,
PlayerParentalLevel: PlayerParentalLevel::<Identity, Impl, OFFSET>,
Eject: Eject::<Identity, Impl, OFFSET>,
UOPValid: UOPValid::<Identity, Impl, OFFSET>,
get_SPRM: get_SPRM::<Identity, Impl, OFFSET>,
get_GPRM: get_GPRM::<Identity, Impl, OFFSET>,
put_GPRM: put_GPRM::<Identity, Impl, OFFSET>,
get_DVDTextStringType: get_DVDTextStringType::<Identity, Impl, OFFSET>,
get_DVDTextString: get_DVDTextString::<Identity, Impl, OFFSET>,
get_DVDTextNumberOfStrings: get_DVDTextNumberOfStrings::<Identity, Impl, OFFSET>,
DVDTextNumberOfLanguages: DVDTextNumberOfLanguages::<Identity, Impl, OFFSET>,
get_DVDTextLanguageLCID: get_DVDTextLanguageLCID::<Identity, Impl, OFFSET>,
RegionChange: RegionChange::<Identity, Impl, OFFSET>,
DVDAdm: DVDAdm::<Identity, Impl, OFFSET>,
DeleteBookmark: DeleteBookmark::<Identity, Impl, OFFSET>,
RestoreBookmark: RestoreBookmark::<Identity, Impl, OFFSET>,
SaveBookmark: SaveBookmark::<Identity, Impl, OFFSET>,
SelectDefaultAudioLanguage: SelectDefaultAudioLanguage::<Identity, Impl, OFFSET>,
SelectDefaultSubpictureLanguage: SelectDefaultSubpictureLanguage::<Identity, Impl, OFFSET>,
PreferredSubpictureStream: PreferredSubpictureStream::<Identity, Impl, OFFSET>,
DefaultMenuLanguage: DefaultMenuLanguage::<Identity, Impl, OFFSET>,
SetDefaultMenuLanguage: SetDefaultMenuLanguage::<Identity, Impl, OFFSET>,
DefaultSubpictureLanguage: DefaultSubpictureLanguage::<Identity, Impl, OFFSET>,
DefaultAudioLanguage: DefaultAudioLanguage::<Identity, Impl, OFFSET>,
DefaultSubpictureLanguageExt: DefaultSubpictureLanguageExt::<Identity, Impl, OFFSET>,
DefaultAudioLanguageExt: DefaultAudioLanguageExt::<Identity, Impl, OFFSET>,
get_LanguageFromLCID: get_LanguageFromLCID::<Identity, Impl, OFFSET>,
KaraokeAudioPresentationMode: KaraokeAudioPresentationMode::<Identity, Impl, OFFSET>,
SetKaraokeAudioPresentationMode: SetKaraokeAudioPresentationMode::<Identity, Impl, OFFSET>,
get_KaraokeChannelContent: get_KaraokeChannelContent::<Identity, Impl, OFFSET>,
get_KaraokeChannelAssignment: get_KaraokeChannelAssignment::<Identity, Impl, OFFSET>,
RestorePreferredSettings: RestorePreferredSettings::<Identity, Impl, OFFSET>,
get_ButtonRect: get_ButtonRect::<Identity, Impl, OFFSET>,
DVDScreenInMouseCoordinates: DVDScreenInMouseCoordinates::<Identity, Impl, OFFSET>,
SetDVDScreenInMouseCoordinates: SetDVDScreenInMouseCoordinates::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidWebDVD as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidPlayback as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidWebDVD2_Impl: Sized + IMSVidWebDVD_Impl {
fn get_Bookmark(&self, ppdata: *mut *mut u8, pdatalength: *mut u32) -> ::windows_core::Result<()>;
fn put_Bookmark(&self, pdata: *const u8, dwdatalength: u32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidWebDVD2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidWebDVD2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD2_Impl, const OFFSET: isize>() -> IMSVidWebDVD2_Vtbl {
unsafe extern "system" fn get_Bookmark<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppdata: *mut *mut u8, pdatalength: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.get_Bookmark(::core::mem::transmute_copy(&ppdata), ::core::mem::transmute_copy(&pdatalength)).into()
}
unsafe extern "system" fn put_Bookmark<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVD2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdata: *const u8, dwdatalength: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_Bookmark(::core::mem::transmute_copy(&pdata), ::core::mem::transmute_copy(&dwdatalength)).into()
}
Self {
base__: IMSVidWebDVD_Vtbl::new::<Identity, Impl, OFFSET>(),
get_Bookmark: get_Bookmark::<Identity, Impl, OFFSET>,
put_Bookmark: put_Bookmark::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidWebDVD2 as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidPlayback as ::windows_core::ComInterface>::IID || *iid == <IMSVidWebDVD as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidWebDVDAdm_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn ChangePassword(&self, strusername: &::windows_core::BSTR, strold: &::windows_core::BSTR, strnew: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn SaveParentalLevel(&self, level: i32, strusername: &::windows_core::BSTR, strpassword: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn SaveParentalCountry(&self, country: i32, strusername: &::windows_core::BSTR, strpassword: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn ConfirmPassword(&self, strusername: &::windows_core::BSTR, strpassword: &::windows_core::BSTR) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn GetParentalLevel(&self) -> ::windows_core::Result<i32>;
fn GetParentalCountry(&self) -> ::windows_core::Result<i32>;
fn DefaultAudioLCID(&self) -> ::windows_core::Result<i32>;
fn SetDefaultAudioLCID(&self, newval: i32) -> ::windows_core::Result<()>;
fn DefaultSubpictureLCID(&self) -> ::windows_core::Result<i32>;
fn SetDefaultSubpictureLCID(&self, newval: i32) -> ::windows_core::Result<()>;
fn DefaultMenuLCID(&self) -> ::windows_core::Result<i32>;
fn SetDefaultMenuLCID(&self, newval: i32) -> ::windows_core::Result<()>;
fn BookmarkOnStop(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn SetBookmarkOnStop(&self, newval: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidWebDVDAdm {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidWebDVDAdm_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDAdm_Impl, const OFFSET: isize>() -> IMSVidWebDVDAdm_Vtbl {
unsafe extern "system" fn ChangePassword<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDAdm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strusername: ::std::mem::MaybeUninit<::windows_core::BSTR>, strold: ::std::mem::MaybeUninit<::windows_core::BSTR>, strnew: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ChangePassword(::core::mem::transmute(&strusername), ::core::mem::transmute(&strold), ::core::mem::transmute(&strnew)).into()
}
unsafe extern "system" fn SaveParentalLevel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDAdm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, level: i32, strusername: ::std::mem::MaybeUninit<::windows_core::BSTR>, strpassword: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SaveParentalLevel(::core::mem::transmute_copy(&level), ::core::mem::transmute(&strusername), ::core::mem::transmute(&strpassword)).into()
}
unsafe extern "system" fn SaveParentalCountry<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDAdm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, country: i32, strusername: ::std::mem::MaybeUninit<::windows_core::BSTR>, strpassword: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SaveParentalCountry(::core::mem::transmute_copy(&country), ::core::mem::transmute(&strusername), ::core::mem::transmute(&strpassword)).into()
}
unsafe extern "system" fn ConfirmPassword<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDAdm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strusername: ::std::mem::MaybeUninit<::windows_core::BSTR>, strpassword: ::std::mem::MaybeUninit<::windows_core::BSTR>, pval: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ConfirmPassword(::core::mem::transmute(&strusername), ::core::mem::transmute(&strpassword)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetParentalLevel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDAdm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, llevel: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetParentalLevel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(llevel, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetParentalCountry<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDAdm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcountry: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetParentalCountry() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lcountry, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DefaultAudioLCID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDAdm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DefaultAudioLCID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDefaultAudioLCID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDAdm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDefaultAudioLCID(::core::mem::transmute_copy(&newval)).into()
}
unsafe extern "system" fn DefaultSubpictureLCID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDAdm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DefaultSubpictureLCID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDefaultSubpictureLCID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDAdm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDefaultSubpictureLCID(::core::mem::transmute_copy(&newval)).into()
}
unsafe extern "system" fn DefaultMenuLCID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDAdm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DefaultMenuLCID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDefaultMenuLCID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDAdm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDefaultMenuLCID(::core::mem::transmute_copy(&newval)).into()
}
unsafe extern "system" fn BookmarkOnStop<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDAdm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.BookmarkOnStop() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetBookmarkOnStop<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDAdm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetBookmarkOnStop(::core::mem::transmute_copy(&newval)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
ChangePassword: ChangePassword::<Identity, Impl, OFFSET>,
SaveParentalLevel: SaveParentalLevel::<Identity, Impl, OFFSET>,
SaveParentalCountry: SaveParentalCountry::<Identity, Impl, OFFSET>,
ConfirmPassword: ConfirmPassword::<Identity, Impl, OFFSET>,
GetParentalLevel: GetParentalLevel::<Identity, Impl, OFFSET>,
GetParentalCountry: GetParentalCountry::<Identity, Impl, OFFSET>,
DefaultAudioLCID: DefaultAudioLCID::<Identity, Impl, OFFSET>,
SetDefaultAudioLCID: SetDefaultAudioLCID::<Identity, Impl, OFFSET>,
DefaultSubpictureLCID: DefaultSubpictureLCID::<Identity, Impl, OFFSET>,
SetDefaultSubpictureLCID: SetDefaultSubpictureLCID::<Identity, Impl, OFFSET>,
DefaultMenuLCID: DefaultMenuLCID::<Identity, Impl, OFFSET>,
SetDefaultMenuLCID: SetDefaultMenuLCID::<Identity, Impl, OFFSET>,
BookmarkOnStop: BookmarkOnStop::<Identity, Impl, OFFSET>,
SetBookmarkOnStop: SetBookmarkOnStop::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidWebDVDAdm as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidWebDVDEvent_Impl: Sized + IMSVidPlaybackEvent_Impl {
fn DVDNotify(&self, leventcode: i32, lparam1: &super::super::super::System::Variant::VARIANT, lparam2: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn PlayForwards(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn PlayBackwards(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn ShowMenu(&self, menuid: DVDMenuIDConstants, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn Resume(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn SelectOrActivateButton(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn StillOff(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn PauseOn(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn ChangeCurrentAudioStream(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn ChangeCurrentSubpictureStream(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn ChangeCurrentAngle(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn PlayAtTimeInTitle(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn PlayAtTime(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn PlayChapterInTitle(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn PlayChapter(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn ReplayChapter(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn PlayNextChapter(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn Stop(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn ReturnFromSubmenu(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn PlayTitle(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn PlayPrevChapter(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn ChangeKaraokePresMode(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
fn ChangeVideoPresMode(&self, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidWebDVDEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidWebDVDEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>() -> IMSVidWebDVDEvent_Vtbl {
unsafe extern "system" fn DVDNotify<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, leventcode: i32, lparam1: super::super::super::System::Variant::VARIANT, lparam2: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DVDNotify(::core::mem::transmute_copy(&leventcode), ::core::mem::transmute(&lparam1), ::core::mem::transmute(&lparam2)).into()
}
unsafe extern "system" fn PlayForwards<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PlayForwards(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn PlayBackwards<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PlayBackwards(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn ShowMenu<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, menuid: DVDMenuIDConstants, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ShowMenu(::core::mem::transmute_copy(&menuid), ::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn Resume<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Resume(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn SelectOrActivateButton<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SelectOrActivateButton(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn StillOff<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StillOff(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn PauseOn<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PauseOn(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn ChangeCurrentAudioStream<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ChangeCurrentAudioStream(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn ChangeCurrentSubpictureStream<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ChangeCurrentSubpictureStream(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn ChangeCurrentAngle<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ChangeCurrentAngle(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn PlayAtTimeInTitle<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PlayAtTimeInTitle(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn PlayAtTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PlayAtTime(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn PlayChapterInTitle<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PlayChapterInTitle(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn PlayChapter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PlayChapter(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn ReplayChapter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReplayChapter(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn PlayNextChapter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PlayNextChapter(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn Stop<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Stop(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn ReturnFromSubmenu<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReturnFromSubmenu(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn PlayTitle<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PlayTitle(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn PlayPrevChapter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PlayPrevChapter(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn ChangeKaraokePresMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ChangeKaraokePresMode(::core::mem::transmute_copy(&benabled)).into()
}
unsafe extern "system" fn ChangeVideoPresMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidWebDVDEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ChangeVideoPresMode(::core::mem::transmute_copy(&benabled)).into()
}
Self {
base__: IMSVidPlaybackEvent_Vtbl::new::<Identity, Impl, OFFSET>(),
DVDNotify: DVDNotify::<Identity, Impl, OFFSET>,
PlayForwards: PlayForwards::<Identity, Impl, OFFSET>,
PlayBackwards: PlayBackwards::<Identity, Impl, OFFSET>,
ShowMenu: ShowMenu::<Identity, Impl, OFFSET>,
Resume: Resume::<Identity, Impl, OFFSET>,
SelectOrActivateButton: SelectOrActivateButton::<Identity, Impl, OFFSET>,
StillOff: StillOff::<Identity, Impl, OFFSET>,
PauseOn: PauseOn::<Identity, Impl, OFFSET>,
ChangeCurrentAudioStream: ChangeCurrentAudioStream::<Identity, Impl, OFFSET>,
ChangeCurrentSubpictureStream: ChangeCurrentSubpictureStream::<Identity, Impl, OFFSET>,
ChangeCurrentAngle: ChangeCurrentAngle::<Identity, Impl, OFFSET>,
PlayAtTimeInTitle: PlayAtTimeInTitle::<Identity, Impl, OFFSET>,
PlayAtTime: PlayAtTime::<Identity, Impl, OFFSET>,
PlayChapterInTitle: PlayChapterInTitle::<Identity, Impl, OFFSET>,
PlayChapter: PlayChapter::<Identity, Impl, OFFSET>,
ReplayChapter: ReplayChapter::<Identity, Impl, OFFSET>,
PlayNextChapter: PlayNextChapter::<Identity, Impl, OFFSET>,
Stop: Stop::<Identity, Impl, OFFSET>,
ReturnFromSubmenu: ReturnFromSubmenu::<Identity, Impl, OFFSET>,
PlayTitle: PlayTitle::<Identity, Impl, OFFSET>,
PlayPrevChapter: PlayPrevChapter::<Identity, Impl, OFFSET>,
ChangeKaraokePresMode: ChangeKaraokePresMode::<Identity, Impl, OFFSET>,
ChangeVideoPresMode: ChangeVideoPresMode::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidWebDVDEvent as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidInputDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidPlaybackEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidXDS_Impl: Sized + IMSVidFeature_Impl {
fn ChannelChangeInterface(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidXDS {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidXDS_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidXDS_Impl, const OFFSET: isize>() -> IMSVidXDS_Vtbl {
unsafe extern "system" fn ChannelChangeInterface<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidXDS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punkcc: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ChannelChangeInterface() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(punkcc, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: IMSVidFeature_Vtbl::new::<Identity, Impl, OFFSET>(), ChannelChangeInterface: ChannelChangeInterface::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidXDS as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDevice as ::windows_core::ComInterface>::IID || *iid == <IMSVidFeature as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IMSVidXDSEvent_Impl: Sized + IMSVidFeatureEvent_Impl {
fn RatingChange(&self, prevratingsystem: EnTvRat_System, prevlevel: EnTvRat_GenericLevel, prevattributes: BfEnTvRat_GenericAttributes, newratingsystem: EnTvRat_System, newlevel: EnTvRat_GenericLevel, newattributes: BfEnTvRat_GenericAttributes) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IMSVidXDSEvent {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IMSVidXDSEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidXDSEvent_Impl, const OFFSET: isize>() -> IMSVidXDSEvent_Vtbl {
unsafe extern "system" fn RatingChange<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMSVidXDSEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prevratingsystem: EnTvRat_System, prevlevel: EnTvRat_GenericLevel, prevattributes: BfEnTvRat_GenericAttributes, newratingsystem: EnTvRat_System, newlevel: EnTvRat_GenericLevel, newattributes: BfEnTvRat_GenericAttributes) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RatingChange(::core::mem::transmute_copy(&prevratingsystem), ::core::mem::transmute_copy(&prevlevel), ::core::mem::transmute_copy(&prevattributes), ::core::mem::transmute_copy(&newratingsystem), ::core::mem::transmute_copy(&newlevel), ::core::mem::transmute_copy(&newattributes)).into()
}
Self { base__: IMSVidFeatureEvent_Vtbl::new::<Identity, Impl, OFFSET>(), RatingChange: RatingChange::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMSVidXDSEvent as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID || *iid == <IMSVidDeviceEvent as ::windows_core::ComInterface>::IID || *iid == <IMSVidFeatureEvent as ::windows_core::ComInterface>::IID
}
}
pub trait IMceBurnerControl_Impl: Sized {
fn GetBurnerNoDecryption(&self) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IMceBurnerControl {}
impl IMceBurnerControl_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMceBurnerControl_Impl, const OFFSET: isize>() -> IMceBurnerControl_Vtbl {
unsafe extern "system" fn GetBurnerNoDecryption<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMceBurnerControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetBurnerNoDecryption().into()
}
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetBurnerNoDecryption: GetBurnerNoDecryption::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMceBurnerControl as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IMpeg2Data_Impl: Sized {
fn GetSection(&self, pid: u16, tid: u8, pfilter: *const MPEG2_FILTER, dwtimeout: u32) -> ::windows_core::Result<ISectionList>;
fn GetTable(&self, pid: u16, tid: u8, pfilter: *const MPEG2_FILTER, dwtimeout: u32) -> ::windows_core::Result<ISectionList>;
fn GetStreamOfSections(&self, pid: u16, tid: u8, pfilter: *const MPEG2_FILTER, hdatareadyevent: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<IMpeg2Stream>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IMpeg2Data {}
#[cfg(feature = "Win32_Foundation")]
impl IMpeg2Data_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMpeg2Data_Impl, const OFFSET: isize>() -> IMpeg2Data_Vtbl {
unsafe extern "system" fn GetSection<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMpeg2Data_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pid: u16, tid: u8, pfilter: *const MPEG2_FILTER, dwtimeout: u32, ppsectionlist: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSection(::core::mem::transmute_copy(&pid), ::core::mem::transmute_copy(&tid), ::core::mem::transmute_copy(&pfilter), ::core::mem::transmute_copy(&dwtimeout)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsectionlist, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMpeg2Data_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pid: u16, tid: u8, pfilter: *const MPEG2_FILTER, dwtimeout: u32, ppsectionlist: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTable(::core::mem::transmute_copy(&pid), ::core::mem::transmute_copy(&tid), ::core::mem::transmute_copy(&pfilter), ::core::mem::transmute_copy(&dwtimeout)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsectionlist, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStreamOfSections<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMpeg2Data_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pid: u16, tid: u8, pfilter: *const MPEG2_FILTER, hdatareadyevent: super::super::super::Foundation::HANDLE, ppmpegstream: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStreamOfSections(::core::mem::transmute_copy(&pid), ::core::mem::transmute_copy(&tid), ::core::mem::transmute_copy(&pfilter), ::core::mem::transmute_copy(&hdatareadyevent)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppmpegstream, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetSection: GetSection::<Identity, Impl, OFFSET>,
GetTable: GetTable::<Identity, Impl, OFFSET>,
GetStreamOfSections: GetStreamOfSections::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMpeg2Data as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IMpeg2Stream_Impl: Sized {
fn Initialize(&self, requesttype: MPEG_REQUEST_TYPE, pmpeg2data: ::core::option::Option<&IMpeg2Data>, pcontext: *const MPEG_CONTEXT, pid: u16, tid: u8, pfilter: *const MPEG2_FILTER, hdatareadyevent: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn SupplyDataBuffer(&self, pstreambuffer: *const MPEG_STREAM_BUFFER) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IMpeg2Stream {}
#[cfg(feature = "Win32_Foundation")]
impl IMpeg2Stream_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMpeg2Stream_Impl, const OFFSET: isize>() -> IMpeg2Stream_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMpeg2Stream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, requesttype: MPEG_REQUEST_TYPE, pmpeg2data: *mut ::core::ffi::c_void, pcontext: *const MPEG_CONTEXT, pid: u16, tid: u8, pfilter: *const MPEG2_FILTER, hdatareadyevent: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&requesttype), ::windows_core::from_raw_borrowed(&pmpeg2data), ::core::mem::transmute_copy(&pcontext), ::core::mem::transmute_copy(&pid), ::core::mem::transmute_copy(&tid), ::core::mem::transmute_copy(&pfilter), ::core::mem::transmute_copy(&hdatareadyevent)).into()
}
unsafe extern "system" fn SupplyDataBuffer<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMpeg2Stream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstreambuffer: *const MPEG_STREAM_BUFFER) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SupplyDataBuffer(::core::mem::transmute_copy(&pstreambuffer)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
SupplyDataBuffer: SupplyDataBuffer::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMpeg2Stream as ::windows_core::ComInterface>::IID
}
}
pub trait IMpeg2TableFilter_Impl: Sized {
fn AddPID(&self, p: u16) -> ::windows_core::Result<()>;
fn AddTable(&self, p: u16, t: u8) -> ::windows_core::Result<()>;
fn AddExtension(&self, p: u16, t: u8, e: u16) -> ::windows_core::Result<()>;
fn RemovePID(&self, p: u16) -> ::windows_core::Result<()>;
fn RemoveTable(&self, p: u16, t: u8) -> ::windows_core::Result<()>;
fn RemoveExtension(&self, p: u16, t: u8, e: u16) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IMpeg2TableFilter {}
impl IMpeg2TableFilter_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMpeg2TableFilter_Impl, const OFFSET: isize>() -> IMpeg2TableFilter_Vtbl {
unsafe extern "system" fn AddPID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMpeg2TableFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, p: u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddPID(::core::mem::transmute_copy(&p)).into()
}
unsafe extern "system" fn AddTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMpeg2TableFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, p: u16, t: u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddTable(::core::mem::transmute_copy(&p), ::core::mem::transmute_copy(&t)).into()
}
unsafe extern "system" fn AddExtension<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMpeg2TableFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, p: u16, t: u8, e: u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddExtension(::core::mem::transmute_copy(&p), ::core::mem::transmute_copy(&t), ::core::mem::transmute_copy(&e)).into()
}
unsafe extern "system" fn RemovePID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMpeg2TableFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, p: u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemovePID(::core::mem::transmute_copy(&p)).into()
}
unsafe extern "system" fn RemoveTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMpeg2TableFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, p: u16, t: u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveTable(::core::mem::transmute_copy(&p), ::core::mem::transmute_copy(&t)).into()
}
unsafe extern "system" fn RemoveExtension<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IMpeg2TableFilter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, p: u16, t: u8, e: u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveExtension(::core::mem::transmute_copy(&p), ::core::mem::transmute_copy(&t), ::core::mem::transmute_copy(&e)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AddPID: AddPID::<Identity, Impl, OFFSET>,
AddTable: AddTable::<Identity, Impl, OFFSET>,
AddExtension: AddExtension::<Identity, Impl, OFFSET>,
RemovePID: RemovePID::<Identity, Impl, OFFSET>,
RemoveTable: RemoveTable::<Identity, Impl, OFFSET>,
RemoveExtension: RemoveExtension::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IMpeg2TableFilter as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IPAT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetTransportStreamId(&self) -> ::windows_core::Result<u16>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u32>;
fn GetRecordProgramNumber(&self, dwindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordProgramMapPid(&self, dwindex: u32) -> ::windows_core::Result<u16>;
fn FindRecordProgramMapPid(&self, wprogramnumber: u16) -> ::windows_core::Result<u16>;
fn RegisterForNextTable(&self, hnexttableavailable: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn GetNextTable(&self) -> ::windows_core::Result<IPAT>;
fn RegisterForWhenCurrent(&self, hnexttableiscurrent: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn ConvertNextToCurrent(&self) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IPAT {}
#[cfg(feature = "Win32_Foundation")]
impl IPAT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPAT_Impl, const OFFSET: isize>() -> IPAT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetTransportStreamId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTransportStreamId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordProgramNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordProgramNumber(::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordProgramMapPid<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: u32, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordProgramMapPid(::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn FindRecordProgramMapPid<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, wprogramnumber: u16, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FindRecordProgramMapPid(::core::mem::transmute_copy(&wprogramnumber)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RegisterForNextTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hnexttableavailable: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterForNextTable(::core::mem::transmute_copy(&hnexttableavailable)).into()
}
unsafe extern "system" fn GetNextTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppat: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNextTable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pppat, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RegisterForWhenCurrent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hnexttableiscurrent: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterForWhenCurrent(::core::mem::transmute_copy(&hnexttableiscurrent)).into()
}
unsafe extern "system" fn ConvertNextToCurrent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPAT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ConvertNextToCurrent().into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetTransportStreamId: GetTransportStreamId::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordProgramNumber: GetRecordProgramNumber::<Identity, Impl, OFFSET>,
GetRecordProgramMapPid: GetRecordProgramMapPid::<Identity, Impl, OFFSET>,
FindRecordProgramMapPid: FindRecordProgramMapPid::<Identity, Impl, OFFSET>,
RegisterForNextTable: RegisterForNextTable::<Identity, Impl, OFFSET>,
GetNextTable: GetNextTable::<Identity, Impl, OFFSET>,
RegisterForWhenCurrent: RegisterForWhenCurrent::<Identity, Impl, OFFSET>,
ConvertNextToCurrent: ConvertNextToCurrent::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IPAT as ::windows_core::ComInterface>::IID
}
}
pub trait IPBDAAttributesDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u16>;
fn GetAttributePayload(&self, ppbattributebuffer: *mut *mut u8, pdwattributelength: *mut u32) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IPBDAAttributesDescriptor {}
impl IPBDAAttributesDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDAAttributesDescriptor_Impl, const OFFSET: isize>() -> IPBDAAttributesDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDAAttributesDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDAAttributesDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAttributePayload<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDAAttributesDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppbattributebuffer: *mut *mut u8, pdwattributelength: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetAttributePayload(::core::mem::transmute_copy(&ppbattributebuffer), ::core::mem::transmute_copy(&pdwattributelength)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetAttributePayload: GetAttributePayload::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IPBDAAttributesDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IPBDAEntitlementDescriptor_Impl: Sized {
fn GetTag(&self) -> ::windows_core::Result<u8>;
fn GetLength(&self) -> ::windows_core::Result<u16>;
fn GetToken(&self, ppbtokenbuffer: *mut *mut u8, pdwtokenlength: *mut u32) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IPBDAEntitlementDescriptor {}
impl IPBDAEntitlementDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDAEntitlementDescriptor_Impl, const OFFSET: isize>() -> IPBDAEntitlementDescriptor_Vtbl {
unsafe extern "system" fn GetTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDAEntitlementDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTag() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDAEntitlementDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetToken<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDAEntitlementDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppbtokenbuffer: *mut *mut u8, pdwtokenlength: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetToken(::core::mem::transmute_copy(&ppbtokenbuffer), ::core::mem::transmute_copy(&pdwtokenlength)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTag: GetTag::<Identity, Impl, OFFSET>,
GetLength: GetLength::<Identity, Impl, OFFSET>,
GetToken: GetToken::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IPBDAEntitlementDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IPBDASiParser_Impl: Sized {
fn Initialize(&self, punk: ::core::option::Option<&::windows_core::IUnknown>) -> ::windows_core::Result<()>;
fn GetEIT(&self, dwsize: u32, pbuffer: *const u8) -> ::windows_core::Result<IPBDA_EIT>;
fn GetServices(&self, dwsize: u32, pbuffer: *const u8) -> ::windows_core::Result<IPBDA_Services>;
}
impl ::windows_core::RuntimeName for IPBDASiParser {}
impl IPBDASiParser_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDASiParser_Impl, const OFFSET: isize>() -> IPBDASiParser_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDASiParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punk: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&punk)).into()
}
unsafe extern "system" fn GetEIT<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDASiParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwsize: u32, pbuffer: *const u8, ppeit: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEIT(::core::mem::transmute_copy(&dwsize), ::core::mem::transmute_copy(&pbuffer)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppeit, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetServices<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDASiParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwsize: u32, pbuffer: *const u8, ppservices: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetServices(::core::mem::transmute_copy(&dwsize), ::core::mem::transmute_copy(&pbuffer)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppservices, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetEIT: GetEIT::<Identity, Impl, OFFSET>,
GetServices: GetServices::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IPBDASiParser as ::windows_core::ComInterface>::IID
}
}
pub trait IPBDA_EIT_Impl: Sized {
fn Initialize(&self, size: u32, pbuffer: *const u8) -> ::windows_core::Result<()>;
fn GetTableId(&self) -> ::windows_core::Result<u8>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u16>;
fn GetServiceIdx(&self) -> ::windows_core::Result<u64>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u32>;
fn GetRecordEventId(&self, dwrecordindex: u32) -> ::windows_core::Result<u64>;
fn GetRecordStartTime(&self, dwrecordindex: u32) -> ::windows_core::Result<MPEG_DATE_AND_TIME>;
fn GetRecordDuration(&self, dwrecordindex: u32) -> ::windows_core::Result<MPEG_TIME>;
fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result<u32>;
fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IPBDA_EIT {}
impl IPBDA_EIT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDA_EIT_Impl, const OFFSET: isize>() -> IPBDA_EIT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDA_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, size: u32, pbuffer: *const u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&pbuffer)).into()
}
unsafe extern "system" fn GetTableId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDA_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTableId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDA_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetServiceIdx<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDA_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plwval: *mut u64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetServiceIdx() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDA_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordEventId<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDA_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, plwval: *mut u64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordEventId(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordStartTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDA_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pmdtval: *mut MPEG_DATE_AND_TIME) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordStartTime(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pmdtval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDuration<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDA_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pmdval: *mut MPEG_TIME) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDuration(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pmdval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCountOfDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDA_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCountOfDescriptors(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDA_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDescriptorByIndex(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDA_EIT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordDescriptorByTag(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetTableId: GetTableId::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetServiceIdx: GetServiceIdx::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordEventId: GetRecordEventId::<Identity, Impl, OFFSET>,
GetRecordStartTime: GetRecordStartTime::<Identity, Impl, OFFSET>,
GetRecordDuration: GetRecordDuration::<Identity, Impl, OFFSET>,
GetRecordCountOfDescriptors: GetRecordCountOfDescriptors::<Identity, Impl, OFFSET>,
GetRecordDescriptorByIndex: GetRecordDescriptorByIndex::<Identity, Impl, OFFSET>,
GetRecordDescriptorByTag: GetRecordDescriptorByTag::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IPBDA_EIT as ::windows_core::ComInterface>::IID
}
}
pub trait IPBDA_Services_Impl: Sized {
fn Initialize(&self, size: u32, pbuffer: *const u8) -> ::windows_core::Result<()>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u32>;
fn GetRecordByIndex(&self, dwrecordindex: u32) -> ::windows_core::Result<u64>;
}
impl ::windows_core::RuntimeName for IPBDA_Services {}
impl IPBDA_Services_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDA_Services_Impl, const OFFSET: isize>() -> IPBDA_Services_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDA_Services_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, size: u32, pbuffer: *const u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&pbuffer)).into()
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDA_Services_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPBDA_Services_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pul64serviceidx: *mut u64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordByIndex(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pul64serviceidx, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordByIndex: GetRecordByIndex::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IPBDA_Services as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IPMT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetProgramNumber(&self) -> ::windows_core::Result<u16>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetPcrPid(&self) -> ::windows_core::Result<u16>;
fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result<u32>;
fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn GetCountOfRecords(&self) -> ::windows_core::Result<u16>;
fn GetRecordStreamType(&self, dwrecordindex: u32) -> ::windows_core::Result<u8>;
fn GetRecordElementaryPid(&self, dwrecordindex: u32) -> ::windows_core::Result<u16>;
fn GetRecordCountOfDescriptors(&self, dwrecordindex: u32) -> ::windows_core::Result<u32>;
fn GetRecordDescriptorByIndex(&self, dwrecordindex: u32, dwdescindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetRecordDescriptorByTag(&self, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn QueryServiceGatewayInfo(&self, ppdsmcclist: *mut *mut DSMCC_ELEMENT, puicount: *mut u32) -> ::windows_core::Result<()>;
fn QueryMPEInfo(&self, ppmpelist: *mut *mut MPE_ELEMENT, puicount: *mut u32) -> ::windows_core::Result<()>;
fn RegisterForNextTable(&self, hnexttableavailable: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn GetNextTable(&self) -> ::windows_core::Result<IPMT>;
fn RegisterForWhenCurrent(&self, hnexttableiscurrent: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn ConvertNextToCurrent(&self) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IPMT {}
#[cfg(feature = "Win32_Foundation")]
impl IPMT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>() -> IPMT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetProgramNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProgramNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPcrPid<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppidval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPcrPid() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppidval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfTableDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfTableDescriptors() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTableDescriptorByIndex(::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTableDescriptorByTag(::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn GetCountOfRecords<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfRecords() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordStreamType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordStreamType(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordElementaryPid<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, ppidval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordElementaryPid(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppidval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordCountOfDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordCountOfDescriptors(::core::mem::transmute_copy(&dwrecordindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, dwdescindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRecordDescriptorByIndex(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&dwdescindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRecordDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwrecordindex: u32, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordDescriptorByTag(::core::mem::transmute_copy(&dwrecordindex), ::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn QueryServiceGatewayInfo<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppdsmcclist: *mut *mut DSMCC_ELEMENT, puicount: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.QueryServiceGatewayInfo(::core::mem::transmute_copy(&ppdsmcclist), ::core::mem::transmute_copy(&puicount)).into()
}
unsafe extern "system" fn QueryMPEInfo<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppmpelist: *mut *mut MPE_ELEMENT, puicount: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.QueryMPEInfo(::core::mem::transmute_copy(&ppmpelist), ::core::mem::transmute_copy(&puicount)).into()
}
unsafe extern "system" fn RegisterForNextTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hnexttableavailable: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterForNextTable(::core::mem::transmute_copy(&hnexttableavailable)).into()
}
unsafe extern "system" fn GetNextTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppmt: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNextTable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pppmt, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RegisterForWhenCurrent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hnexttableiscurrent: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterForWhenCurrent(::core::mem::transmute_copy(&hnexttableiscurrent)).into()
}
unsafe extern "system" fn ConvertNextToCurrent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPMT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ConvertNextToCurrent().into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetProgramNumber: GetProgramNumber::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetPcrPid: GetPcrPid::<Identity, Impl, OFFSET>,
GetCountOfTableDescriptors: GetCountOfTableDescriptors::<Identity, Impl, OFFSET>,
GetTableDescriptorByIndex: GetTableDescriptorByIndex::<Identity, Impl, OFFSET>,
GetTableDescriptorByTag: GetTableDescriptorByTag::<Identity, Impl, OFFSET>,
GetCountOfRecords: GetCountOfRecords::<Identity, Impl, OFFSET>,
GetRecordStreamType: GetRecordStreamType::<Identity, Impl, OFFSET>,
GetRecordElementaryPid: GetRecordElementaryPid::<Identity, Impl, OFFSET>,
GetRecordCountOfDescriptors: GetRecordCountOfDescriptors::<Identity, Impl, OFFSET>,
GetRecordDescriptorByIndex: GetRecordDescriptorByIndex::<Identity, Impl, OFFSET>,
GetRecordDescriptorByTag: GetRecordDescriptorByTag::<Identity, Impl, OFFSET>,
QueryServiceGatewayInfo: QueryServiceGatewayInfo::<Identity, Impl, OFFSET>,
QueryMPEInfo: QueryMPEInfo::<Identity, Impl, OFFSET>,
RegisterForNextTable: RegisterForNextTable::<Identity, Impl, OFFSET>,
GetNextTable: GetNextTable::<Identity, Impl, OFFSET>,
RegisterForWhenCurrent: RegisterForWhenCurrent::<Identity, Impl, OFFSET>,
ConvertNextToCurrent: ConvertNextToCurrent::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IPMT as ::windows_core::ComInterface>::IID
}
}
pub trait IPSITables_Impl: Sized {
fn GetTable(&self, dwtsid: u32, dwtid_pid: u32, dwhashedver: u32, dwpara4: u32) -> ::windows_core::Result<::windows_core::IUnknown>;
}
impl ::windows_core::RuntimeName for IPSITables {}
impl IPSITables_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPSITables_Impl, const OFFSET: isize>() -> IPSITables_Vtbl {
unsafe extern "system" fn GetTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPSITables_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwtsid: u32, dwtid_pid: u32, dwhashedver: u32, dwpara4: u32, ppiunknown: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTable(::core::mem::transmute_copy(&dwtsid), ::core::mem::transmute_copy(&dwtid_pid), ::core::mem::transmute_copy(&dwhashedver), ::core::mem::transmute_copy(&dwpara4)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppiunknown, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetTable: GetTable::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IPSITables as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IPTFilterLicenseRenewal_Impl: Sized {
fn RenewLicenses(&self, wszfilename: &::windows_core::PCWSTR, wszexpiredkid: &::windows_core::PCWSTR, dwcallersid: u32, bhighpriority: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn CancelLicenseRenewal(&self) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IPTFilterLicenseRenewal {}
#[cfg(feature = "Win32_Foundation")]
impl IPTFilterLicenseRenewal_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPTFilterLicenseRenewal_Impl, const OFFSET: isize>() -> IPTFilterLicenseRenewal_Vtbl {
unsafe extern "system" fn RenewLicenses<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPTFilterLicenseRenewal_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, wszfilename: ::windows_core::PCWSTR, wszexpiredkid: ::windows_core::PCWSTR, dwcallersid: u32, bhighpriority: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RenewLicenses(::core::mem::transmute(&wszfilename), ::core::mem::transmute(&wszexpiredkid), ::core::mem::transmute_copy(&dwcallersid), ::core::mem::transmute_copy(&bhighpriority)).into()
}
unsafe extern "system" fn CancelLicenseRenewal<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPTFilterLicenseRenewal_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CancelLicenseRenewal().into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
RenewLicenses: RenewLicenses::<Identity, Impl, OFFSET>,
CancelLicenseRenewal: CancelLicenseRenewal::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IPTFilterLicenseRenewal as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IPersistTuneXml_Impl: Sized + super::super::super::System::Com::IPersist_Impl {
fn InitNew(&self) -> ::windows_core::Result<()>;
fn Load(&self, varvalue: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn Save(&self) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IPersistTuneXml {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IPersistTuneXml_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPersistTuneXml_Impl, const OFFSET: isize>() -> IPersistTuneXml_Vtbl {
unsafe extern "system" fn InitNew<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPersistTuneXml_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitNew().into()
}
unsafe extern "system" fn Load<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPersistTuneXml_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, varvalue: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Load(::core::mem::transmute(&varvalue)).into()
}
unsafe extern "system" fn Save<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPersistTuneXml_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarfragment: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Save() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvarfragment, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IPersist_Vtbl::new::<Identity, Impl, OFFSET>(),
InitNew: InitNew::<Identity, Impl, OFFSET>,
Load: Load::<Identity, Impl, OFFSET>,
Save: Save::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IPersistTuneXml as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IPersist as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IPersistTuneXmlUtility_Impl: Sized {
fn Deserialize(&self, varvalue: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<::windows_core::IUnknown>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IPersistTuneXmlUtility {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IPersistTuneXmlUtility_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPersistTuneXmlUtility_Impl, const OFFSET: isize>() -> IPersistTuneXmlUtility_Vtbl {
unsafe extern "system" fn Deserialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPersistTuneXmlUtility_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, varvalue: super::super::super::System::Variant::VARIANT, ppobject: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Deserialize(::core::mem::transmute(&varvalue)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppobject, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Deserialize: Deserialize::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IPersistTuneXmlUtility as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IPersistTuneXmlUtility2_Impl: Sized + IPersistTuneXmlUtility_Impl {
fn Serialize(&self, pitunerequest: ::core::option::Option<&ITuneRequest>) -> ::windows_core::Result<::windows_core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IPersistTuneXmlUtility2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IPersistTuneXmlUtility2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPersistTuneXmlUtility2_Impl, const OFFSET: isize>() -> IPersistTuneXmlUtility2_Vtbl {
unsafe extern "system" fn Serialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IPersistTuneXmlUtility2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pitunerequest: *mut ::core::ffi::c_void, pstring: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Serialize(::windows_core::from_raw_borrowed(&pitunerequest)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstring, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: IPersistTuneXmlUtility_Vtbl::new::<Identity, Impl, OFFSET>(), Serialize: Serialize::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IPersistTuneXmlUtility2 as ::windows_core::ComInterface>::IID || *iid == <IPersistTuneXmlUtility as ::windows_core::ComInterface>::IID
}
}
pub trait IRegisterTuner_Impl: Sized {
fn Register(&self, ptuner: ::core::option::Option<&ITuner>, pgraph: ::core::option::Option<&super::IGraphBuilder>) -> ::windows_core::Result<()>;
fn Unregister(&self) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IRegisterTuner {}
impl IRegisterTuner_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IRegisterTuner_Impl, const OFFSET: isize>() -> IRegisterTuner_Vtbl {
unsafe extern "system" fn Register<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IRegisterTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptuner: *mut ::core::ffi::c_void, pgraph: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Register(::windows_core::from_raw_borrowed(&ptuner), ::windows_core::from_raw_borrowed(&pgraph)).into()
}
unsafe extern "system" fn Unregister<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IRegisterTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Unregister().into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Register: Register::<Identity, Impl, OFFSET>,
Unregister: Unregister::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IRegisterTuner as ::windows_core::ComInterface>::IID
}
}
pub trait ISBE2Crossbar_Impl: Sized {
fn EnableDefaultMode(&self, defaultflags: u32) -> ::windows_core::Result<()>;
fn GetInitialProfile(&self) -> ::windows_core::Result<ISBE2MediaTypeProfile>;
fn SetOutputProfile(&self, pprofile: ::core::option::Option<&ISBE2MediaTypeProfile>, pcoutputpins: *mut u32, ppoutputpins: *mut ::core::option::Option<super::IPin>) -> ::windows_core::Result<()>;
fn EnumStreams(&self) -> ::windows_core::Result<ISBE2EnumStream>;
}
impl ::windows_core::RuntimeName for ISBE2Crossbar {}
impl ISBE2Crossbar_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2Crossbar_Impl, const OFFSET: isize>() -> ISBE2Crossbar_Vtbl {
unsafe extern "system" fn EnableDefaultMode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2Crossbar_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, defaultflags: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EnableDefaultMode(::core::mem::transmute_copy(&defaultflags)).into()
}
unsafe extern "system" fn GetInitialProfile<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2Crossbar_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppprofile: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInitialProfile() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppprofile, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputProfile<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2Crossbar_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pprofile: *mut ::core::ffi::c_void, pcoutputpins: *mut u32, ppoutputpins: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputProfile(::windows_core::from_raw_borrowed(&pprofile), ::core::mem::transmute_copy(&pcoutputpins), ::core::mem::transmute_copy(&ppoutputpins)).into()
}
unsafe extern "system" fn EnumStreams<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2Crossbar_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppstreams: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumStreams() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppstreams, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
EnableDefaultMode: EnableDefaultMode::<Identity, Impl, OFFSET>,
GetInitialProfile: GetInitialProfile::<Identity, Impl, OFFSET>,
SetOutputProfile: SetOutputProfile::<Identity, Impl, OFFSET>,
EnumStreams: EnumStreams::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ISBE2Crossbar as ::windows_core::ComInterface>::IID
}
}
pub trait ISBE2EnumStream_Impl: Sized {
fn Next(&self, crequest: u32, pstreamdesc: *mut SBE2_STREAM_DESC, pcreceived: *mut u32) -> ::windows_core::Result<()>;
fn Skip(&self, crecords: u32) -> ::windows_core::Result<()>;
fn Reset(&self) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<ISBE2EnumStream>;
}
impl ::windows_core::RuntimeName for ISBE2EnumStream {}
impl ISBE2EnumStream_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2EnumStream_Impl, const OFFSET: isize>() -> ISBE2EnumStream_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2EnumStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, crequest: u32, pstreamdesc: *mut SBE2_STREAM_DESC, pcreceived: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&crequest), ::core::mem::transmute_copy(&pstreamdesc), ::core::mem::transmute_copy(&pcreceived)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2EnumStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, crecords: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&crecords)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2EnumStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2EnumStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppienumstream: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppienumstream, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ISBE2EnumStream as ::windows_core::ComInterface>::IID
}
}
pub trait ISBE2FileScan_Impl: Sized {
fn RepairFile(&self, filename: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for ISBE2FileScan {}
impl ISBE2FileScan_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2FileScan_Impl, const OFFSET: isize>() -> ISBE2FileScan_Vtbl {
unsafe extern "system" fn RepairFile<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2FileScan_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RepairFile(::core::mem::transmute(&filename)).into()
}
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), RepairFile: RepairFile::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ISBE2FileScan as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait ISBE2GlobalEvent_Impl: Sized {
fn GetEvent(&self, idevt: *const ::windows_core::GUID, param1: u32, param2: u32, param3: u32, param4: u32, pspanning: *mut super::super::super::Foundation::BOOL, pcb: *mut u32, pb: *mut u8) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for ISBE2GlobalEvent {}
#[cfg(feature = "Win32_Foundation")]
impl ISBE2GlobalEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2GlobalEvent_Impl, const OFFSET: isize>() -> ISBE2GlobalEvent_Vtbl {
unsafe extern "system" fn GetEvent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2GlobalEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, idevt: *const ::windows_core::GUID, param1: u32, param2: u32, param3: u32, param4: u32, pspanning: *mut super::super::super::Foundation::BOOL, pcb: *mut u32, pb: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEvent(::core::mem::transmute_copy(&idevt), ::core::mem::transmute_copy(&param1), ::core::mem::transmute_copy(&param2), ::core::mem::transmute_copy(&param3), ::core::mem::transmute_copy(&param4), ::core::mem::transmute_copy(&pspanning), ::core::mem::transmute_copy(&pcb), ::core::mem::transmute_copy(&pb)).into()
}
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetEvent: GetEvent::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ISBE2GlobalEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait ISBE2GlobalEvent2_Impl: Sized + ISBE2GlobalEvent_Impl {
fn GetEventEx(&self, idevt: *const ::windows_core::GUID, param1: u32, param2: u32, param3: u32, param4: u32, pspanning: *mut super::super::super::Foundation::BOOL, pcb: *mut u32, pb: *mut u8, pstreamtime: *mut i64) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for ISBE2GlobalEvent2 {}
#[cfg(feature = "Win32_Foundation")]
impl ISBE2GlobalEvent2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2GlobalEvent2_Impl, const OFFSET: isize>() -> ISBE2GlobalEvent2_Vtbl {
unsafe extern "system" fn GetEventEx<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2GlobalEvent2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, idevt: *const ::windows_core::GUID, param1: u32, param2: u32, param3: u32, param4: u32, pspanning: *mut super::super::super::Foundation::BOOL, pcb: *mut u32, pb: *mut u8, pstreamtime: *mut i64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventEx(::core::mem::transmute_copy(&idevt), ::core::mem::transmute_copy(&param1), ::core::mem::transmute_copy(&param2), ::core::mem::transmute_copy(&param3), ::core::mem::transmute_copy(&param4), ::core::mem::transmute_copy(&pspanning), ::core::mem::transmute_copy(&pcb), ::core::mem::transmute_copy(&pb), ::core::mem::transmute_copy(&pstreamtime)).into()
}
Self { base__: ISBE2GlobalEvent_Vtbl::new::<Identity, Impl, OFFSET>(), GetEventEx: GetEventEx::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ISBE2GlobalEvent2 as ::windows_core::ComInterface>::IID || *iid == <ISBE2GlobalEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Media_MediaFoundation\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
pub trait ISBE2MediaTypeProfile_Impl: Sized {
fn GetStreamCount(&self) -> ::windows_core::Result<u32>;
fn GetStream(&self, index: u32) -> ::windows_core::Result<*mut super::super::MediaFoundation::AM_MEDIA_TYPE>;
fn AddStream(&self, pmediatype: *const super::super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::Result<()>;
fn DeleteStream(&self, index: u32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ::windows_core::RuntimeName for ISBE2MediaTypeProfile {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Media_MediaFoundation"))]
impl ISBE2MediaTypeProfile_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2MediaTypeProfile_Impl, const OFFSET: isize>() -> ISBE2MediaTypeProfile_Vtbl {
unsafe extern "system" fn GetStreamCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2MediaTypeProfile_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcount: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStreamCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStream<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2MediaTypeProfile_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, ppmediatype: *mut *mut super::super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStream(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppmediatype, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddStream<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2MediaTypeProfile_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmediatype: *const super::super::MediaFoundation::AM_MEDIA_TYPE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddStream(::core::mem::transmute_copy(&pmediatype)).into()
}
unsafe extern "system" fn DeleteStream<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2MediaTypeProfile_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DeleteStream(::core::mem::transmute_copy(&index)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetStreamCount: GetStreamCount::<Identity, Impl, OFFSET>,
GetStream: GetStream::<Identity, Impl, OFFSET>,
AddStream: AddStream::<Identity, Impl, OFFSET>,
DeleteStream: DeleteStream::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ISBE2MediaTypeProfile as ::windows_core::ComInterface>::IID
}
}
pub trait ISBE2SpanningEvent_Impl: Sized {
fn GetEvent(&self, idevt: *const ::windows_core::GUID, streamid: u32, pcb: *mut u32, pb: *mut u8) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for ISBE2SpanningEvent {}
impl ISBE2SpanningEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2SpanningEvent_Impl, const OFFSET: isize>() -> ISBE2SpanningEvent_Vtbl {
unsafe extern "system" fn GetEvent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2SpanningEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, idevt: *const ::windows_core::GUID, streamid: u32, pcb: *mut u32, pb: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEvent(::core::mem::transmute_copy(&idevt), ::core::mem::transmute_copy(&streamid), ::core::mem::transmute_copy(&pcb), ::core::mem::transmute_copy(&pb)).into()
}
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetEvent: GetEvent::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ISBE2SpanningEvent as ::windows_core::ComInterface>::IID
}
}
pub trait ISBE2StreamMap_Impl: Sized {
fn MapStream(&self, stream: u32) -> ::windows_core::Result<()>;
fn UnmapStream(&self, stream: u32) -> ::windows_core::Result<()>;
fn EnumMappedStreams(&self) -> ::windows_core::Result<ISBE2EnumStream>;
}
impl ::windows_core::RuntimeName for ISBE2StreamMap {}
impl ISBE2StreamMap_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2StreamMap_Impl, const OFFSET: isize>() -> ISBE2StreamMap_Vtbl {
unsafe extern "system" fn MapStream<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2StreamMap_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, stream: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.MapStream(::core::mem::transmute_copy(&stream)).into()
}
unsafe extern "system" fn UnmapStream<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2StreamMap_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, stream: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.UnmapStream(::core::mem::transmute_copy(&stream)).into()
}
unsafe extern "system" fn EnumMappedStreams<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISBE2StreamMap_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppstreams: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumMappedStreams() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppstreams, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
MapStream: MapStream::<Identity, Impl, OFFSET>,
UnmapStream: UnmapStream::<Identity, Impl, OFFSET>,
EnumMappedStreams: EnumMappedStreams::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ISBE2StreamMap as ::windows_core::ComInterface>::IID
}
}
pub trait ISCTE_EAS_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetSequencyNumber(&self) -> ::windows_core::Result<u8>;
fn GetProtocolVersion(&self) -> ::windows_core::Result<u8>;
fn GetEASEventID(&self) -> ::windows_core::Result<u16>;
fn GetOriginatorCode(&self) -> ::windows_core::Result<u8>;
fn GetEASEventCodeLen(&self) -> ::windows_core::Result<u8>;
fn GetEASEventCode(&self) -> ::windows_core::Result<u8>;
fn GetRawNatureOfActivationTextLen(&self) -> ::windows_core::Result<u8>;
fn GetRawNatureOfActivationText(&self) -> ::windows_core::Result<u8>;
fn GetNatureOfActivationText(&self, bstris0639code: &::windows_core::BSTR) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetTimeRemaining(&self) -> ::windows_core::Result<u8>;
fn GetStartTime(&self) -> ::windows_core::Result<u32>;
fn GetDuration(&self) -> ::windows_core::Result<u16>;
fn GetAlertPriority(&self) -> ::windows_core::Result<u8>;
fn GetDetailsOOBSourceID(&self) -> ::windows_core::Result<u16>;
fn GetDetailsMajor(&self) -> ::windows_core::Result<u16>;
fn GetDetailsMinor(&self) -> ::windows_core::Result<u16>;
fn GetDetailsAudioOOBSourceID(&self) -> ::windows_core::Result<u16>;
fn GetAlertText(&self, bstris0639code: &::windows_core::BSTR) -> ::windows_core::Result<::windows_core::BSTR>;
fn GetRawAlertTextLen(&self) -> ::windows_core::Result<u16>;
fn GetRawAlertText(&self) -> ::windows_core::Result<u8>;
fn GetLocationCount(&self) -> ::windows_core::Result<u8>;
fn GetLocationCodes(&self, bindex: u8, pbstate: *mut u8, pbcountysubdivision: *mut u8, pwcounty: *mut u16) -> ::windows_core::Result<()>;
fn GetExceptionCount(&self) -> ::windows_core::Result<u8>;
fn GetExceptionService(&self, bindex: u8, pbibref: *mut u8, pwfirst: *mut u16, pwsecond: *mut u16) -> ::windows_core::Result<()>;
fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result<u32>;
fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for ISCTE_EAS {}
impl ISCTE_EAS_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>() -> ISCTE_EAS_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSequencyNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSequencyNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProtocolVersion<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProtocolVersion() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEASEventID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEASEventID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetOriginatorCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOriginatorCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEASEventCodeLen<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEASEventCodeLen() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEASEventCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEASEventCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRawNatureOfActivationTextLen<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRawNatureOfActivationTextLen() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRawNatureOfActivationText<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRawNatureOfActivationText() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNatureOfActivationText<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstris0639code: ::std::mem::MaybeUninit<::windows_core::BSTR>, pbstrstring: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNatureOfActivationText(::core::mem::transmute(&bstris0639code)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrstring, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTimeRemaining<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTimeRemaining() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStartTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStartTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDuration<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDuration() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAlertPriority<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAlertPriority() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDetailsOOBSourceID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDetailsOOBSourceID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDetailsMajor<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDetailsMajor() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDetailsMinor<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDetailsMinor() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDetailsAudioOOBSourceID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDetailsAudioOOBSourceID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAlertText<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstris0639code: ::std::mem::MaybeUninit<::windows_core::BSTR>, pbstrstring: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAlertText(::core::mem::transmute(&bstris0639code)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrstring, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRawAlertTextLen<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRawAlertTextLen() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRawAlertText<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRawAlertText() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLocationCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLocationCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLocationCodes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bindex: u8, pbstate: *mut u8, pbcountysubdivision: *mut u8, pwcounty: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLocationCodes(::core::mem::transmute_copy(&bindex), ::core::mem::transmute_copy(&pbstate), ::core::mem::transmute_copy(&pbcountysubdivision), ::core::mem::transmute_copy(&pwcounty)).into()
}
unsafe extern "system" fn GetExceptionCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExceptionCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExceptionService<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bindex: u8, pbibref: *mut u8, pwfirst: *mut u16, pwsecond: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionService(::core::mem::transmute_copy(&bindex), ::core::mem::transmute_copy(&pbibref), ::core::mem::transmute_copy(&pwfirst), ::core::mem::transmute_copy(&pwsecond)).into()
}
unsafe extern "system" fn GetCountOfTableDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfTableDescriptors() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTableDescriptorByIndex(::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISCTE_EAS_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTableDescriptorByTag(::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetSequencyNumber: GetSequencyNumber::<Identity, Impl, OFFSET>,
GetProtocolVersion: GetProtocolVersion::<Identity, Impl, OFFSET>,
GetEASEventID: GetEASEventID::<Identity, Impl, OFFSET>,
GetOriginatorCode: GetOriginatorCode::<Identity, Impl, OFFSET>,
GetEASEventCodeLen: GetEASEventCodeLen::<Identity, Impl, OFFSET>,
GetEASEventCode: GetEASEventCode::<Identity, Impl, OFFSET>,
GetRawNatureOfActivationTextLen: GetRawNatureOfActivationTextLen::<Identity, Impl, OFFSET>,
GetRawNatureOfActivationText: GetRawNatureOfActivationText::<Identity, Impl, OFFSET>,
GetNatureOfActivationText: GetNatureOfActivationText::<Identity, Impl, OFFSET>,
GetTimeRemaining: GetTimeRemaining::<Identity, Impl, OFFSET>,
GetStartTime: GetStartTime::<Identity, Impl, OFFSET>,
GetDuration: GetDuration::<Identity, Impl, OFFSET>,
GetAlertPriority: GetAlertPriority::<Identity, Impl, OFFSET>,
GetDetailsOOBSourceID: GetDetailsOOBSourceID::<Identity, Impl, OFFSET>,
GetDetailsMajor: GetDetailsMajor::<Identity, Impl, OFFSET>,
GetDetailsMinor: GetDetailsMinor::<Identity, Impl, OFFSET>,
GetDetailsAudioOOBSourceID: GetDetailsAudioOOBSourceID::<Identity, Impl, OFFSET>,
GetAlertText: GetAlertText::<Identity, Impl, OFFSET>,
GetRawAlertTextLen: GetRawAlertTextLen::<Identity, Impl, OFFSET>,
GetRawAlertText: GetRawAlertText::<Identity, Impl, OFFSET>,
GetLocationCount: GetLocationCount::<Identity, Impl, OFFSET>,
GetLocationCodes: GetLocationCodes::<Identity, Impl, OFFSET>,
GetExceptionCount: GetExceptionCount::<Identity, Impl, OFFSET>,
GetExceptionService: GetExceptionService::<Identity, Impl, OFFSET>,
GetCountOfTableDescriptors: GetCountOfTableDescriptors::<Identity, Impl, OFFSET>,
GetTableDescriptorByIndex: GetTableDescriptorByIndex::<Identity, Impl, OFFSET>,
GetTableDescriptorByTag: GetTableDescriptorByTag::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ISCTE_EAS as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait ISIInbandEPG_Impl: Sized {
fn StartSIEPGScan(&self) -> ::windows_core::Result<()>;
fn StopSIEPGScan(&self) -> ::windows_core::Result<()>;
fn IsSIEPGScanRunning(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for ISIInbandEPG {}
#[cfg(feature = "Win32_Foundation")]
impl ISIInbandEPG_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISIInbandEPG_Impl, const OFFSET: isize>() -> ISIInbandEPG_Vtbl {
unsafe extern "system" fn StartSIEPGScan<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISIInbandEPG_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartSIEPGScan().into()
}
unsafe extern "system" fn StopSIEPGScan<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISIInbandEPG_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StopSIEPGScan().into()
}
unsafe extern "system" fn IsSIEPGScanRunning<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISIInbandEPG_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brunning: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsSIEPGScanRunning() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(brunning, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
StartSIEPGScan: StartSIEPGScan::<Identity, Impl, OFFSET>,
StopSIEPGScan: StopSIEPGScan::<Identity, Impl, OFFSET>,
IsSIEPGScanRunning: IsSIEPGScanRunning::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ISIInbandEPG as ::windows_core::ComInterface>::IID
}
}
pub trait ISIInbandEPGEvent_Impl: Sized {
fn SIObjectEvent(&self, pidvb_eit: ::core::option::Option<&IDVB_EIT2>, dwtable_id: u32, dwservice_id: u32) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for ISIInbandEPGEvent {}
impl ISIInbandEPGEvent_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISIInbandEPGEvent_Impl, const OFFSET: isize>() -> ISIInbandEPGEvent_Vtbl {
unsafe extern "system" fn SIObjectEvent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISIInbandEPGEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pidvb_eit: *mut ::core::ffi::c_void, dwtable_id: u32, dwservice_id: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SIObjectEvent(::windows_core::from_raw_borrowed(&pidvb_eit), ::core::mem::transmute_copy(&dwtable_id), ::core::mem::transmute_copy(&dwservice_id)).into()
}
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SIObjectEvent: SIObjectEvent::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ISIInbandEPGEvent as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait IScanningTuner_Impl: Sized + ITuner_Impl {
fn SeekUp(&self) -> ::windows_core::Result<()>;
fn SeekDown(&self) -> ::windows_core::Result<()>;
fn ScanUp(&self, millisecondspause: i32) -> ::windows_core::Result<()>;
fn ScanDown(&self, millisecondspause: i32) -> ::windows_core::Result<()>;
fn AutoProgram(&self) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for IScanningTuner {}
#[cfg(feature = "Win32_System_Com")]
impl IScanningTuner_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IScanningTuner_Impl, const OFFSET: isize>() -> IScanningTuner_Vtbl {
unsafe extern "system" fn SeekUp<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IScanningTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SeekUp().into()
}
unsafe extern "system" fn SeekDown<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IScanningTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SeekDown().into()
}
unsafe extern "system" fn ScanUp<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IScanningTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, millisecondspause: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ScanUp(::core::mem::transmute_copy(&millisecondspause)).into()
}
unsafe extern "system" fn ScanDown<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IScanningTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, millisecondspause: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ScanDown(::core::mem::transmute_copy(&millisecondspause)).into()
}
unsafe extern "system" fn AutoProgram<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IScanningTuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AutoProgram().into()
}
Self {
base__: ITuner_Vtbl::new::<Identity, Impl, OFFSET>(),
SeekUp: SeekUp::<Identity, Impl, OFFSET>,
SeekDown: SeekDown::<Identity, Impl, OFFSET>,
ScanUp: ScanUp::<Identity, Impl, OFFSET>,
ScanDown: ScanDown::<Identity, Impl, OFFSET>,
AutoProgram: AutoProgram::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IScanningTuner as ::windows_core::ComInterface>::IID || *iid == <ITuner as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
pub trait IScanningTunerEx_Impl: Sized + IScanningTuner_Impl {
fn GetCurrentLocator(&self, pilocator: *const ::core::option::Option<ILocator>) -> ::windows_core::Result<()>;
fn PerformExhaustiveScan(&self, dwlowerfreq: i32, dwhigherfreq: i32, bfinetune: super::super::super::Foundation::VARIANT_BOOL, hevent: usize) -> ::windows_core::Result<()>;
fn TerminateCurrentScan(&self) -> ::windows_core::Result<i32>;
fn ResumeCurrentScan(&self, hevent: usize) -> ::windows_core::Result<()>;
fn GetTunerScanningCapability(&self, hardwareassistedscanning: *mut i32, numstandardssupported: *mut i32, broadcaststandards: *mut ::windows_core::GUID) -> ::windows_core::Result<()>;
fn GetTunerStatus(&self, secondsleft: *mut i32, currentlocktype: *mut i32, autodetect: *mut i32, currentfreq: *mut i32) -> ::windows_core::Result<()>;
fn GetCurrentTunerStandardCapability(&self, currentbroadcaststandard: &::windows_core::GUID, settlingtime: *mut i32, tvstandardssupported: *mut i32) -> ::windows_core::Result<()>;
fn SetScanSignalTypeFilter(&self, scanmodulationtypes: i32, analogvideostandard: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
impl ::windows_core::RuntimeName for IScanningTunerEx {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
impl IScanningTunerEx_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IScanningTunerEx_Impl, const OFFSET: isize>() -> IScanningTunerEx_Vtbl {
unsafe extern "system" fn GetCurrentLocator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IScanningTunerEx_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pilocator: *const *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCurrentLocator(::core::mem::transmute_copy(&pilocator)).into()
}
unsafe extern "system" fn PerformExhaustiveScan<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IScanningTunerEx_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwlowerfreq: i32, dwhigherfreq: i32, bfinetune: super::super::super::Foundation::VARIANT_BOOL, hevent: usize) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PerformExhaustiveScan(::core::mem::transmute_copy(&dwlowerfreq), ::core::mem::transmute_copy(&dwhigherfreq), ::core::mem::transmute_copy(&bfinetune), ::core::mem::transmute_copy(&hevent)).into()
}
unsafe extern "system" fn TerminateCurrentScan<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IScanningTunerEx_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcurrentfreq: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TerminateCurrentScan() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcurrentfreq, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ResumeCurrentScan<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IScanningTunerEx_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hevent: usize) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ResumeCurrentScan(::core::mem::transmute_copy(&hevent)).into()
}
unsafe extern "system" fn GetTunerScanningCapability<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IScanningTunerEx_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hardwareassistedscanning: *mut i32, numstandardssupported: *mut i32, broadcaststandards: *mut ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTunerScanningCapability(::core::mem::transmute_copy(&hardwareassistedscanning), ::core::mem::transmute_copy(&numstandardssupported), ::core::mem::transmute_copy(&broadcaststandards)).into()
}
unsafe extern "system" fn GetTunerStatus<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IScanningTunerEx_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, secondsleft: *mut i32, currentlocktype: *mut i32, autodetect: *mut i32, currentfreq: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTunerStatus(::core::mem::transmute_copy(&secondsleft), ::core::mem::transmute_copy(&currentlocktype), ::core::mem::transmute_copy(&autodetect), ::core::mem::transmute_copy(&currentfreq)).into()
}
unsafe extern "system" fn GetCurrentTunerStandardCapability<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IScanningTunerEx_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, currentbroadcaststandard: ::windows_core::GUID, settlingtime: *mut i32, tvstandardssupported: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCurrentTunerStandardCapability(::core::mem::transmute(&currentbroadcaststandard), ::core::mem::transmute_copy(&settlingtime), ::core::mem::transmute_copy(&tvstandardssupported)).into()
}
unsafe extern "system" fn SetScanSignalTypeFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IScanningTunerEx_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scanmodulationtypes: i32, analogvideostandard: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScanSignalTypeFilter(::core::mem::transmute_copy(&scanmodulationtypes), ::core::mem::transmute_copy(&analogvideostandard)).into()
}
Self {
base__: IScanningTuner_Vtbl::new::<Identity, Impl, OFFSET>(),
GetCurrentLocator: GetCurrentLocator::<Identity, Impl, OFFSET>,
PerformExhaustiveScan: PerformExhaustiveScan::<Identity, Impl, OFFSET>,
TerminateCurrentScan: TerminateCurrentScan::<Identity, Impl, OFFSET>,
ResumeCurrentScan: ResumeCurrentScan::<Identity, Impl, OFFSET>,
GetTunerScanningCapability: GetTunerScanningCapability::<Identity, Impl, OFFSET>,
GetTunerStatus: GetTunerStatus::<Identity, Impl, OFFSET>,
GetCurrentTunerStandardCapability: GetCurrentTunerStandardCapability::<Identity, Impl, OFFSET>,
SetScanSignalTypeFilter: SetScanSignalTypeFilter::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IScanningTunerEx as ::windows_core::ComInterface>::IID || *iid == <ITuner as ::windows_core::ComInterface>::IID || *iid == <IScanningTuner as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait ISectionList_Impl: Sized {
fn Initialize(&self, requesttype: MPEG_REQUEST_TYPE, pmpeg2data: ::core::option::Option<&IMpeg2Data>, pcontext: *const MPEG_CONTEXT, pid: u16, tid: u8, pfilter: *const MPEG2_FILTER, timeout: u32, hdoneevent: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn InitializeWithRawSections(&self, pmplsections: *const MPEG_PACKET_LIST) -> ::windows_core::Result<()>;
fn CancelPendingRequest(&self) -> ::windows_core::Result<()>;
fn GetNumberOfSections(&self) -> ::windows_core::Result<u16>;
fn GetSectionData(&self, sectionnumber: u16, pdwrawpacketlength: *mut u32, ppsection: *mut *mut SECTION) -> ::windows_core::Result<()>;
fn GetProgramIdentifier(&self, ppid: *const u16) -> ::windows_core::Result<()>;
fn GetTableIdentifier(&self, ptableid: *const u8) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for ISectionList {}
#[cfg(feature = "Win32_Foundation")]
impl ISectionList_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISectionList_Impl, const OFFSET: isize>() -> ISectionList_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISectionList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, requesttype: MPEG_REQUEST_TYPE, pmpeg2data: *mut ::core::ffi::c_void, pcontext: *const MPEG_CONTEXT, pid: u16, tid: u8, pfilter: *const MPEG2_FILTER, timeout: u32, hdoneevent: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&requesttype), ::windows_core::from_raw_borrowed(&pmpeg2data), ::core::mem::transmute_copy(&pcontext), ::core::mem::transmute_copy(&pid), ::core::mem::transmute_copy(&tid), ::core::mem::transmute_copy(&pfilter), ::core::mem::transmute_copy(&timeout), ::core::mem::transmute_copy(&hdoneevent)).into()
}
unsafe extern "system" fn InitializeWithRawSections<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISectionList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmplsections: *const MPEG_PACKET_LIST) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeWithRawSections(::core::mem::transmute_copy(&pmplsections)).into()
}
unsafe extern "system" fn CancelPendingRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISectionList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CancelPendingRequest().into()
}
unsafe extern "system" fn GetNumberOfSections<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISectionList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcount: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberOfSections() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSectionData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISectionList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sectionnumber: u16, pdwrawpacketlength: *mut u32, ppsection: *mut *mut SECTION) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSectionData(::core::mem::transmute_copy(&sectionnumber), ::core::mem::transmute_copy(&pdwrawpacketlength), ::core::mem::transmute_copy(&ppsection)).into()
}
unsafe extern "system" fn GetProgramIdentifier<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISectionList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppid: *const u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetProgramIdentifier(::core::mem::transmute_copy(&ppid)).into()
}
unsafe extern "system" fn GetTableIdentifier<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ISectionList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptableid: *const u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTableIdentifier(::core::mem::transmute_copy(&ptableid)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
InitializeWithRawSections: InitializeWithRawSections::<Identity, Impl, OFFSET>,
CancelPendingRequest: CancelPendingRequest::<Identity, Impl, OFFSET>,
GetNumberOfSections: GetNumberOfSections::<Identity, Impl, OFFSET>,
GetSectionData: GetSectionData::<Identity, Impl, OFFSET>,
GetProgramIdentifier: GetProgramIdentifier::<Identity, Impl, OFFSET>,
GetTableIdentifier: GetTableIdentifier::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ISectionList as ::windows_core::ComInterface>::IID
}
}
pub trait IServiceLocationDescriptor_Impl: Sized {
fn GetPCR_PID(&self) -> ::windows_core::Result<u16>;
fn GetNumberOfElements(&self) -> ::windows_core::Result<u8>;
fn GetElementStreamType(&self, bindex: u8) -> ::windows_core::Result<u8>;
fn GetElementPID(&self, bindex: u8) -> ::windows_core::Result<u16>;
fn GetElementLanguageCode(&self, bindex: u8, langcode: *mut u8) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IServiceLocationDescriptor {}
impl IServiceLocationDescriptor_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IServiceLocationDescriptor_Impl, const OFFSET: isize>() -> IServiceLocationDescriptor_Vtbl {
unsafe extern "system" fn GetPCR_PID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IServiceLocationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPCR_PID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberOfElements<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IServiceLocationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberOfElements() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetElementStreamType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IServiceLocationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bindex: u8, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetElementStreamType(::core::mem::transmute_copy(&bindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetElementPID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IServiceLocationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bindex: u8, pwval: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetElementPID(::core::mem::transmute_copy(&bindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetElementLanguageCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IServiceLocationDescriptor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bindex: u8, langcode: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetElementLanguageCode(::core::mem::transmute_copy(&bindex), ::core::mem::transmute_copy(&langcode)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetPCR_PID: GetPCR_PID::<Identity, Impl, OFFSET>,
GetNumberOfElements: GetNumberOfElements::<Identity, Impl, OFFSET>,
GetElementStreamType: GetElementStreamType::<Identity, Impl, OFFSET>,
GetElementPID: GetElementPID::<Identity, Impl, OFFSET>,
GetElementLanguageCode: GetElementLanguageCode::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IServiceLocationDescriptor as ::windows_core::ComInterface>::IID
}
}
pub trait IStreamBufferConfigure_Impl: Sized {
fn SetDirectory(&self, pszdirectoryname: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn GetDirectory(&self) -> ::windows_core::Result<::windows_core::PWSTR>;
fn SetBackingFileCount(&self, dwmin: u32, dwmax: u32) -> ::windows_core::Result<()>;
fn GetBackingFileCount(&self, pdwmin: *mut u32, pdwmax: *mut u32) -> ::windows_core::Result<()>;
fn SetBackingFileDuration(&self, dwseconds: u32) -> ::windows_core::Result<()>;
fn GetBackingFileDuration(&self) -> ::windows_core::Result<u32>;
}
impl ::windows_core::RuntimeName for IStreamBufferConfigure {}
impl IStreamBufferConfigure_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferConfigure_Impl, const OFFSET: isize>() -> IStreamBufferConfigure_Vtbl {
unsafe extern "system" fn SetDirectory<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferConfigure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszdirectoryname: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDirectory(::core::mem::transmute(&pszdirectoryname)).into()
}
unsafe extern "system" fn GetDirectory<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferConfigure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszdirectoryname: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDirectory() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppszdirectoryname, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetBackingFileCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferConfigure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwmin: u32, dwmax: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetBackingFileCount(::core::mem::transmute_copy(&dwmin), ::core::mem::transmute_copy(&dwmax)).into()
}
unsafe extern "system" fn GetBackingFileCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferConfigure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwmin: *mut u32, pdwmax: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetBackingFileCount(::core::mem::transmute_copy(&pdwmin), ::core::mem::transmute_copy(&pdwmax)).into()
}
unsafe extern "system" fn SetBackingFileDuration<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferConfigure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwseconds: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetBackingFileDuration(::core::mem::transmute_copy(&dwseconds)).into()
}
unsafe extern "system" fn GetBackingFileDuration<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferConfigure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwseconds: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBackingFileDuration() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwseconds, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetDirectory: SetDirectory::<Identity, Impl, OFFSET>,
GetDirectory: GetDirectory::<Identity, Impl, OFFSET>,
SetBackingFileCount: SetBackingFileCount::<Identity, Impl, OFFSET>,
GetBackingFileCount: GetBackingFileCount::<Identity, Impl, OFFSET>,
SetBackingFileDuration: SetBackingFileDuration::<Identity, Impl, OFFSET>,
GetBackingFileDuration: GetBackingFileDuration::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IStreamBufferConfigure as ::windows_core::ComInterface>::IID
}
}
pub trait IStreamBufferConfigure2_Impl: Sized + IStreamBufferConfigure_Impl {
fn SetMultiplexedPacketSize(&self, cbbytesperpacket: u32) -> ::windows_core::Result<()>;
fn GetMultiplexedPacketSize(&self) -> ::windows_core::Result<u32>;
fn SetFFTransitionRates(&self, dwmaxfullframerate: u32, dwmaxnonskippingrate: u32) -> ::windows_core::Result<()>;
fn GetFFTransitionRates(&self, pdwmaxfullframerate: *mut u32, pdwmaxnonskippingrate: *mut u32) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IStreamBufferConfigure2 {}
impl IStreamBufferConfigure2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferConfigure2_Impl, const OFFSET: isize>() -> IStreamBufferConfigure2_Vtbl {
unsafe extern "system" fn SetMultiplexedPacketSize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferConfigure2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cbbytesperpacket: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMultiplexedPacketSize(::core::mem::transmute_copy(&cbbytesperpacket)).into()
}
unsafe extern "system" fn GetMultiplexedPacketSize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferConfigure2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcbbytesperpacket: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetMultiplexedPacketSize() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcbbytesperpacket, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetFFTransitionRates<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferConfigure2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwmaxfullframerate: u32, dwmaxnonskippingrate: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetFFTransitionRates(::core::mem::transmute_copy(&dwmaxfullframerate), ::core::mem::transmute_copy(&dwmaxnonskippingrate)).into()
}
unsafe extern "system" fn GetFFTransitionRates<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferConfigure2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwmaxfullframerate: *mut u32, pdwmaxnonskippingrate: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFFTransitionRates(::core::mem::transmute_copy(&pdwmaxfullframerate), ::core::mem::transmute_copy(&pdwmaxnonskippingrate)).into()
}
Self {
base__: IStreamBufferConfigure_Vtbl::new::<Identity, Impl, OFFSET>(),
SetMultiplexedPacketSize: SetMultiplexedPacketSize::<Identity, Impl, OFFSET>,
GetMultiplexedPacketSize: GetMultiplexedPacketSize::<Identity, Impl, OFFSET>,
SetFFTransitionRates: SetFFTransitionRates::<Identity, Impl, OFFSET>,
GetFFTransitionRates: GetFFTransitionRates::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IStreamBufferConfigure2 as ::windows_core::ComInterface>::IID || *iid == <IStreamBufferConfigure as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IStreamBufferConfigure3_Impl: Sized + IStreamBufferConfigure2_Impl {
fn SetStartRecConfig(&self, fstartstopscur: super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
fn GetStartRecConfig(&self) -> ::windows_core::Result<super::super::super::Foundation::BOOL>;
fn SetNamespace(&self, psznamespace: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn GetNamespace(&self) -> ::windows_core::Result<::windows_core::PWSTR>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IStreamBufferConfigure3 {}
#[cfg(feature = "Win32_Foundation")]
impl IStreamBufferConfigure3_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferConfigure3_Impl, const OFFSET: isize>() -> IStreamBufferConfigure3_Vtbl {
unsafe extern "system" fn SetStartRecConfig<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferConfigure3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fstartstopscur: super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetStartRecConfig(::core::mem::transmute_copy(&fstartstopscur)).into()
}
unsafe extern "system" fn GetStartRecConfig<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferConfigure3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfstartstopscur: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStartRecConfig() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfstartstopscur, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNamespace<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferConfigure3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psznamespace: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNamespace(::core::mem::transmute(&psznamespace)).into()
}
unsafe extern "system" fn GetNamespace<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferConfigure3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppsznamespace: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNamespace() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsznamespace, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IStreamBufferConfigure2_Vtbl::new::<Identity, Impl, OFFSET>(),
SetStartRecConfig: SetStartRecConfig::<Identity, Impl, OFFSET>,
GetStartRecConfig: GetStartRecConfig::<Identity, Impl, OFFSET>,
SetNamespace: SetNamespace::<Identity, Impl, OFFSET>,
GetNamespace: GetNamespace::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IStreamBufferConfigure3 as ::windows_core::ComInterface>::IID || *iid == <IStreamBufferConfigure as ::windows_core::ComInterface>::IID || *iid == <IStreamBufferConfigure2 as ::windows_core::ComInterface>::IID
}
}
pub trait IStreamBufferDataCounters_Impl: Sized {
fn GetData(&self, ppindata: *mut SBE_PIN_DATA) -> ::windows_core::Result<()>;
fn ResetData(&self) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IStreamBufferDataCounters {}
impl IStreamBufferDataCounters_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferDataCounters_Impl, const OFFSET: isize>() -> IStreamBufferDataCounters_Vtbl {
unsafe extern "system" fn GetData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferDataCounters_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppindata: *mut SBE_PIN_DATA) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetData(::core::mem::transmute_copy(&ppindata)).into()
}
unsafe extern "system" fn ResetData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferDataCounters_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ResetData().into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetData: GetData::<Identity, Impl, OFFSET>,
ResetData: ResetData::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IStreamBufferDataCounters as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Registry\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
pub trait IStreamBufferInitialize_Impl: Sized {
fn SetHKEY(&self, hkeyroot: super::super::super::System::Registry::HKEY) -> ::windows_core::Result<()>;
fn SetSIDs(&self, csids: u32, ppsid: *mut super::super::super::Foundation::PSID) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
impl ::windows_core::RuntimeName for IStreamBufferInitialize {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
impl IStreamBufferInitialize_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferInitialize_Impl, const OFFSET: isize>() -> IStreamBufferInitialize_Vtbl {
unsafe extern "system" fn SetHKEY<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferInitialize_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hkeyroot: super::super::super::System::Registry::HKEY) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetHKEY(::core::mem::transmute_copy(&hkeyroot)).into()
}
unsafe extern "system" fn SetSIDs<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferInitialize_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, csids: u32, ppsid: *mut super::super::super::Foundation::PSID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSIDs(::core::mem::transmute_copy(&csids), ::core::mem::transmute_copy(&ppsid)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetHKEY: SetHKEY::<Identity, Impl, OFFSET>,
SetSIDs: SetSIDs::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IStreamBufferInitialize as ::windows_core::ComInterface>::IID
}
}
pub trait IStreamBufferMediaSeeking_Impl: Sized + super::IMediaSeeking_Impl {}
impl ::windows_core::RuntimeName for IStreamBufferMediaSeeking {}
impl IStreamBufferMediaSeeking_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferMediaSeeking_Impl, const OFFSET: isize>() -> IStreamBufferMediaSeeking_Vtbl {
Self { base__: super::IMediaSeeking_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IStreamBufferMediaSeeking as ::windows_core::ComInterface>::IID || *iid == <super::IMediaSeeking as ::windows_core::ComInterface>::IID
}
}
pub trait IStreamBufferMediaSeeking2_Impl: Sized + IStreamBufferMediaSeeking_Impl {
fn SetRateEx(&self, drate: f64, dwframespersec: u32) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IStreamBufferMediaSeeking2 {}
impl IStreamBufferMediaSeeking2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferMediaSeeking2_Impl, const OFFSET: isize>() -> IStreamBufferMediaSeeking2_Vtbl {
unsafe extern "system" fn SetRateEx<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferMediaSeeking2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, drate: f64, dwframespersec: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRateEx(::core::mem::transmute_copy(&drate), ::core::mem::transmute_copy(&dwframespersec)).into()
}
Self { base__: IStreamBufferMediaSeeking_Vtbl::new::<Identity, Impl, OFFSET>(), SetRateEx: SetRateEx::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IStreamBufferMediaSeeking2 as ::windows_core::ComInterface>::IID || *iid == <super::IMediaSeeking as ::windows_core::ComInterface>::IID || *iid == <IStreamBufferMediaSeeking as ::windows_core::ComInterface>::IID
}
}
pub trait IStreamBufferRecComp_Impl: Sized {
fn Initialize(&self, psztargetfilename: &::windows_core::PCWSTR, pszsbrecprofileref: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn Append(&self, pszsbrecording: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn AppendEx(&self, pszsbrecording: &::windows_core::PCWSTR, rtstart: i64, rtstop: i64) -> ::windows_core::Result<()>;
fn GetCurrentLength(&self) -> ::windows_core::Result<u32>;
fn Close(&self) -> ::windows_core::Result<()>;
fn Cancel(&self) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IStreamBufferRecComp {}
impl IStreamBufferRecComp_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferRecComp_Impl, const OFFSET: isize>() -> IStreamBufferRecComp_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferRecComp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psztargetfilename: ::windows_core::PCWSTR, pszsbrecprofileref: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute(&psztargetfilename), ::core::mem::transmute(&pszsbrecprofileref)).into()
}
unsafe extern "system" fn Append<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferRecComp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszsbrecording: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Append(::core::mem::transmute(&pszsbrecording)).into()
}
unsafe extern "system" fn AppendEx<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferRecComp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszsbrecording: ::windows_core::PCWSTR, rtstart: i64, rtstop: i64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendEx(::core::mem::transmute(&pszsbrecording), ::core::mem::transmute_copy(&rtstart), ::core::mem::transmute_copy(&rtstop)).into()
}
unsafe extern "system" fn GetCurrentLength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferRecComp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcseconds: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentLength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcseconds, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Close<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferRecComp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Close().into()
}
unsafe extern "system" fn Cancel<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferRecComp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Cancel().into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
Append: Append::<Identity, Impl, OFFSET>,
AppendEx: AppendEx::<Identity, Impl, OFFSET>,
GetCurrentLength: GetCurrentLength::<Identity, Impl, OFFSET>,
Close: Close::<Identity, Impl, OFFSET>,
Cancel: Cancel::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IStreamBufferRecComp as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait IStreamBufferRecordControl_Impl: Sized {
fn Start(&self, prtstart: *mut i64) -> ::windows_core::Result<()>;
fn Stop(&self, rtstop: i64) -> ::windows_core::Result<()>;
fn GetRecordingStatus(&self, phresult: *mut ::windows_core::HRESULT, pbstarted: *mut super::super::super::Foundation::BOOL, pbstopped: *mut super::super::super::Foundation::BOOL) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for IStreamBufferRecordControl {}
#[cfg(feature = "Win32_Foundation")]
impl IStreamBufferRecordControl_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferRecordControl_Impl, const OFFSET: isize>() -> IStreamBufferRecordControl_Vtbl {
unsafe extern "system" fn Start<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferRecordControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prtstart: *mut i64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Start(::core::mem::transmute_copy(&prtstart)).into()
}
unsafe extern "system" fn Stop<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferRecordControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rtstop: i64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Stop(::core::mem::transmute_copy(&rtstop)).into()
}
unsafe extern "system" fn GetRecordingStatus<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferRecordControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, phresult: *mut ::windows_core::HRESULT, pbstarted: *mut super::super::super::Foundation::BOOL, pbstopped: *mut super::super::super::Foundation::BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRecordingStatus(::core::mem::transmute_copy(&phresult), ::core::mem::transmute_copy(&pbstarted), ::core::mem::transmute_copy(&pbstopped)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Start: Start::<Identity, Impl, OFFSET>,
Stop: Stop::<Identity, Impl, OFFSET>,
GetRecordingStatus: GetRecordingStatus::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IStreamBufferRecordControl as ::windows_core::ComInterface>::IID
}
}
pub trait IStreamBufferRecordingAttribute_Impl: Sized {
fn SetAttribute(&self, ulreserved: u32, pszattributename: &::windows_core::PCWSTR, streambufferattributetype: STREAMBUFFER_ATTR_DATATYPE, pbattribute: *const u8, cbattributelength: u16) -> ::windows_core::Result<()>;
fn GetAttributeCount(&self, ulreserved: u32) -> ::windows_core::Result<u16>;
fn GetAttributeByName(&self, pszattributename: &::windows_core::PCWSTR, pulreserved: *const u32, pstreambufferattributetype: *mut STREAMBUFFER_ATTR_DATATYPE, pbattribute: *mut u8, pcblength: *mut u16) -> ::windows_core::Result<()>;
fn GetAttributeByIndex(&self, windex: u16, pulreserved: *const u32, pszattributename: ::windows_core::PWSTR, pcchnamelength: *mut u16, pstreambufferattributetype: *mut STREAMBUFFER_ATTR_DATATYPE, pbattribute: *mut u8, pcblength: *mut u16) -> ::windows_core::Result<()>;
fn EnumAttributes(&self) -> ::windows_core::Result<IEnumStreamBufferRecordingAttrib>;
}
impl ::windows_core::RuntimeName for IStreamBufferRecordingAttribute {}
impl IStreamBufferRecordingAttribute_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferRecordingAttribute_Impl, const OFFSET: isize>() -> IStreamBufferRecordingAttribute_Vtbl {
unsafe extern "system" fn SetAttribute<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferRecordingAttribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ulreserved: u32, pszattributename: ::windows_core::PCWSTR, streambufferattributetype: STREAMBUFFER_ATTR_DATATYPE, pbattribute: *const u8, cbattributelength: u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAttribute(::core::mem::transmute_copy(&ulreserved), ::core::mem::transmute(&pszattributename), ::core::mem::transmute_copy(&streambufferattributetype), ::core::mem::transmute_copy(&pbattribute), ::core::mem::transmute_copy(&cbattributelength)).into()
}
unsafe extern "system" fn GetAttributeCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferRecordingAttribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ulreserved: u32, pcattributes: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAttributeCount(::core::mem::transmute_copy(&ulreserved)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcattributes, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAttributeByName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferRecordingAttribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszattributename: ::windows_core::PCWSTR, pulreserved: *const u32, pstreambufferattributetype: *mut STREAMBUFFER_ATTR_DATATYPE, pbattribute: *mut u8, pcblength: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetAttributeByName(::core::mem::transmute(&pszattributename), ::core::mem::transmute_copy(&pulreserved), ::core::mem::transmute_copy(&pstreambufferattributetype), ::core::mem::transmute_copy(&pbattribute), ::core::mem::transmute_copy(&pcblength)).into()
}
unsafe extern "system" fn GetAttributeByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferRecordingAttribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, windex: u16, pulreserved: *const u32, pszattributename: ::windows_core::PWSTR, pcchnamelength: *mut u16, pstreambufferattributetype: *mut STREAMBUFFER_ATTR_DATATYPE, pbattribute: *mut u8, pcblength: *mut u16) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetAttributeByIndex(::core::mem::transmute_copy(&windex), ::core::mem::transmute_copy(&pulreserved), ::core::mem::transmute_copy(&pszattributename), ::core::mem::transmute_copy(&pcchnamelength), ::core::mem::transmute_copy(&pstreambufferattributetype), ::core::mem::transmute_copy(&pbattribute), ::core::mem::transmute_copy(&pcblength)).into()
}
unsafe extern "system" fn EnumAttributes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferRecordingAttribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppienumstreambufferattrib: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumAttributes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppienumstreambufferattrib, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetAttribute: SetAttribute::<Identity, Impl, OFFSET>,
GetAttributeCount: GetAttributeCount::<Identity, Impl, OFFSET>,
GetAttributeByName: GetAttributeByName::<Identity, Impl, OFFSET>,
GetAttributeByIndex: GetAttributeByIndex::<Identity, Impl, OFFSET>,
EnumAttributes: EnumAttributes::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IStreamBufferRecordingAttribute as ::windows_core::ComInterface>::IID
}
}
pub trait IStreamBufferSink_Impl: Sized {
fn LockProfile(&self, pszstreambufferfilename: &::windows_core::PCWSTR) -> ::windows_core::Result<()>;
fn CreateRecorder(&self, pszfilename: &::windows_core::PCWSTR, dwrecordtype: u32) -> ::windows_core::Result<::windows_core::IUnknown>;
fn IsProfileLocked(&self) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IStreamBufferSink {}
impl IStreamBufferSink_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferSink_Impl, const OFFSET: isize>() -> IStreamBufferSink_Vtbl {
unsafe extern "system" fn LockProfile<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszstreambufferfilename: ::windows_core::PCWSTR) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.LockProfile(::core::mem::transmute(&pszstreambufferfilename)).into()
}
unsafe extern "system" fn CreateRecorder<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszfilename: ::windows_core::PCWSTR, dwrecordtype: u32, precordingiunknown: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateRecorder(::core::mem::transmute(&pszfilename), ::core::mem::transmute_copy(&dwrecordtype)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(precordingiunknown, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsProfileLocked<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsProfileLocked().into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
LockProfile: LockProfile::<Identity, Impl, OFFSET>,
CreateRecorder: CreateRecorder::<Identity, Impl, OFFSET>,
IsProfileLocked: IsProfileLocked::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IStreamBufferSink as ::windows_core::ComInterface>::IID
}
}
pub trait IStreamBufferSink2_Impl: Sized + IStreamBufferSink_Impl {
fn UnlockProfile(&self) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IStreamBufferSink2 {}
impl IStreamBufferSink2_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferSink2_Impl, const OFFSET: isize>() -> IStreamBufferSink2_Vtbl {
unsafe extern "system" fn UnlockProfile<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferSink2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.UnlockProfile().into()
}
Self { base__: IStreamBufferSink_Vtbl::new::<Identity, Impl, OFFSET>(), UnlockProfile: UnlockProfile::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IStreamBufferSink2 as ::windows_core::ComInterface>::IID || *iid == <IStreamBufferSink as ::windows_core::ComInterface>::IID
}
}
pub trait IStreamBufferSink3_Impl: Sized + IStreamBufferSink2_Impl {
fn SetAvailableFilter(&self, prtmin: *mut i64) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IStreamBufferSink3 {}
impl IStreamBufferSink3_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferSink3_Impl, const OFFSET: isize>() -> IStreamBufferSink3_Vtbl {
unsafe extern "system" fn SetAvailableFilter<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferSink3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prtmin: *mut i64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAvailableFilter(::core::mem::transmute_copy(&prtmin)).into()
}
Self { base__: IStreamBufferSink2_Vtbl::new::<Identity, Impl, OFFSET>(), SetAvailableFilter: SetAvailableFilter::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IStreamBufferSink3 as ::windows_core::ComInterface>::IID || *iid == <IStreamBufferSink as ::windows_core::ComInterface>::IID || *iid == <IStreamBufferSink2 as ::windows_core::ComInterface>::IID
}
}
pub trait IStreamBufferSource_Impl: Sized {
fn SetStreamSink(&self, pistreambuffersink: ::core::option::Option<&IStreamBufferSink>) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IStreamBufferSource {}
impl IStreamBufferSource_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferSource_Impl, const OFFSET: isize>() -> IStreamBufferSource_Vtbl {
unsafe extern "system" fn SetStreamSink<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IStreamBufferSource_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pistreambuffersink: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetStreamSink(::windows_core::from_raw_borrowed(&pistreambuffersink)).into()
}
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SetStreamSink: SetStreamSink::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IStreamBufferSource as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait ITSDT_Impl: Sized {
fn Initialize(&self, psectionlist: ::core::option::Option<&ISectionList>, pmpegdata: ::core::option::Option<&IMpeg2Data>) -> ::windows_core::Result<()>;
fn GetVersionNumber(&self) -> ::windows_core::Result<u8>;
fn GetCountOfTableDescriptors(&self) -> ::windows_core::Result<u32>;
fn GetTableDescriptorByIndex(&self, dwindex: u32) -> ::windows_core::Result<IGenericDescriptor>;
fn GetTableDescriptorByTag(&self, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut ::core::option::Option<IGenericDescriptor>) -> ::windows_core::Result<()>;
fn RegisterForNextTable(&self, hnexttableavailable: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn GetNextTable(&self) -> ::windows_core::Result<ITSDT>;
fn RegisterForWhenCurrent(&self, hnexttableiscurrent: super::super::super::Foundation::HANDLE) -> ::windows_core::Result<()>;
fn ConvertNextToCurrent(&self) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for ITSDT {}
#[cfg(feature = "Win32_Foundation")]
impl ITSDT_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITSDT_Impl, const OFFSET: isize>() -> ITSDT_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITSDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psectionlist: *mut ::core::ffi::c_void, pmpegdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::windows_core::from_raw_borrowed(&psectionlist), ::windows_core::from_raw_borrowed(&pmpegdata)).into()
}
unsafe extern "system" fn GetVersionNumber<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITSDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbval: *mut u8) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVersionNumber() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCountOfTableDescriptors<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITSDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwval: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCountOfTableDescriptors() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByIndex<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITSDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTableDescriptorByIndex(::core::mem::transmute_copy(&dwindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdescriptor, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTableDescriptorByTag<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITSDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, btag: u8, pdwcookie: *mut u32, ppdescriptor: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTableDescriptorByTag(::core::mem::transmute_copy(&btag), ::core::mem::transmute_copy(&pdwcookie), ::core::mem::transmute_copy(&ppdescriptor)).into()
}
unsafe extern "system" fn RegisterForNextTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITSDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hnexttableavailable: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterForNextTable(::core::mem::transmute_copy(&hnexttableavailable)).into()
}
unsafe extern "system" fn GetNextTable<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITSDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptsdt: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNextTable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pptsdt, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RegisterForWhenCurrent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITSDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hnexttableiscurrent: super::super::super::Foundation::HANDLE) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterForWhenCurrent(::core::mem::transmute_copy(&hnexttableiscurrent)).into()
}
unsafe extern "system" fn ConvertNextToCurrent<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITSDT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ConvertNextToCurrent().into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
GetVersionNumber: GetVersionNumber::<Identity, Impl, OFFSET>,
GetCountOfTableDescriptors: GetCountOfTableDescriptors::<Identity, Impl, OFFSET>,
GetTableDescriptorByIndex: GetTableDescriptorByIndex::<Identity, Impl, OFFSET>,
GetTableDescriptorByTag: GetTableDescriptorByTag::<Identity, Impl, OFFSET>,
RegisterForNextTable: RegisterForNextTable::<Identity, Impl, OFFSET>,
GetNextTable: GetNextTable::<Identity, Impl, OFFSET>,
RegisterForWhenCurrent: RegisterForWhenCurrent::<Identity, Impl, OFFSET>,
ConvertNextToCurrent: ConvertNextToCurrent::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ITSDT as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ITuneRequest_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn TuningSpace(&self) -> ::windows_core::Result<ITuningSpace>;
fn Components(&self) -> ::windows_core::Result<IComponents>;
fn Clone(&self) -> ::windows_core::Result<ITuneRequest>;
fn Locator(&self) -> ::windows_core::Result<ILocator>;
fn SetLocator(&self, locator: ::core::option::Option<&ILocator>) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ITuneRequest {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ITuneRequest_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuneRequest_Impl, const OFFSET: isize>() -> ITuneRequest_Vtbl {
unsafe extern "system" fn TuningSpace<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tuningspace: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TuningSpace() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(tuningspace, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Components<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, components: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Components() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(components, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newtunerequest: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newtunerequest, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Locator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, locator: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Locator() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(locator, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLocator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuneRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, locator: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLocator(::windows_core::from_raw_borrowed(&locator)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
TuningSpace: TuningSpace::<Identity, Impl, OFFSET>,
Components: Components::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
Locator: Locator::<Identity, Impl, OFFSET>,
SetLocator: SetLocator::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ITuneRequest as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait ITuneRequestInfo_Impl: Sized {
fn GetLocatorData(&self, request: ::core::option::Option<&ITuneRequest>) -> ::windows_core::Result<()>;
fn GetComponentData(&self, currentrequest: ::core::option::Option<&ITuneRequest>) -> ::windows_core::Result<()>;
fn CreateComponentList(&self, currentrequest: ::core::option::Option<&ITuneRequest>) -> ::windows_core::Result<()>;
fn GetNextProgram(&self, currentrequest: ::core::option::Option<&ITuneRequest>) -> ::windows_core::Result<ITuneRequest>;
fn GetPreviousProgram(&self, currentrequest: ::core::option::Option<&ITuneRequest>) -> ::windows_core::Result<ITuneRequest>;
fn GetNextLocator(&self, currentrequest: ::core::option::Option<&ITuneRequest>) -> ::windows_core::Result<ITuneRequest>;
fn GetPreviousLocator(&self, currentrequest: ::core::option::Option<&ITuneRequest>) -> ::windows_core::Result<ITuneRequest>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for ITuneRequestInfo {}
#[cfg(feature = "Win32_System_Com")]
impl ITuneRequestInfo_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuneRequestInfo_Impl, const OFFSET: isize>() -> ITuneRequestInfo_Vtbl {
unsafe extern "system" fn GetLocatorData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuneRequestInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, request: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLocatorData(::windows_core::from_raw_borrowed(&request)).into()
}
unsafe extern "system" fn GetComponentData<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuneRequestInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, currentrequest: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetComponentData(::windows_core::from_raw_borrowed(&currentrequest)).into()
}
unsafe extern "system" fn CreateComponentList<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuneRequestInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, currentrequest: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateComponentList(::windows_core::from_raw_borrowed(&currentrequest)).into()
}
unsafe extern "system" fn GetNextProgram<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuneRequestInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, currentrequest: *mut ::core::ffi::c_void, tunerequest: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNextProgram(::windows_core::from_raw_borrowed(&currentrequest)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(tunerequest, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPreviousProgram<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuneRequestInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, currentrequest: *mut ::core::ffi::c_void, tunerequest: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPreviousProgram(::windows_core::from_raw_borrowed(&currentrequest)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(tunerequest, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextLocator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuneRequestInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, currentrequest: *mut ::core::ffi::c_void, tunerequest: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNextLocator(::windows_core::from_raw_borrowed(&currentrequest)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(tunerequest, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPreviousLocator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuneRequestInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, currentrequest: *mut ::core::ffi::c_void, tunerequest: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPreviousLocator(::windows_core::from_raw_borrowed(&currentrequest)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(tunerequest, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetLocatorData: GetLocatorData::<Identity, Impl, OFFSET>,
GetComponentData: GetComponentData::<Identity, Impl, OFFSET>,
CreateComponentList: CreateComponentList::<Identity, Impl, OFFSET>,
GetNextProgram: GetNextProgram::<Identity, Impl, OFFSET>,
GetPreviousProgram: GetPreviousProgram::<Identity, Impl, OFFSET>,
GetNextLocator: GetNextLocator::<Identity, Impl, OFFSET>,
GetPreviousLocator: GetPreviousLocator::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ITuneRequestInfo as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait ITuneRequestInfoEx_Impl: Sized + ITuneRequestInfo_Impl {
fn CreateComponentListEx(&self, currentrequest: ::core::option::Option<&ITuneRequest>) -> ::windows_core::Result<::windows_core::IUnknown>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for ITuneRequestInfoEx {}
#[cfg(feature = "Win32_System_Com")]
impl ITuneRequestInfoEx_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuneRequestInfoEx_Impl, const OFFSET: isize>() -> ITuneRequestInfoEx_Vtbl {
unsafe extern "system" fn CreateComponentListEx<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuneRequestInfoEx_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, currentrequest: *mut ::core::ffi::c_void, ppcurpmt: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateComponentListEx(::windows_core::from_raw_borrowed(&currentrequest)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppcurpmt, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ITuneRequestInfo_Vtbl::new::<Identity, Impl, OFFSET>(), CreateComponentListEx: CreateComponentListEx::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ITuneRequestInfoEx as ::windows_core::ComInterface>::IID || *iid == <ITuneRequestInfo as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_System_Com\"`"]
#[cfg(feature = "Win32_System_Com")]
pub trait ITuner_Impl: Sized {
fn TuningSpace(&self) -> ::windows_core::Result<ITuningSpace>;
fn SetTuningSpace(&self, tuningspace: ::core::option::Option<&ITuningSpace>) -> ::windows_core::Result<()>;
fn EnumTuningSpaces(&self) -> ::windows_core::Result<IEnumTuningSpaces>;
fn TuneRequest(&self) -> ::windows_core::Result<ITuneRequest>;
fn SetTuneRequest(&self, tunerequest: ::core::option::Option<&ITuneRequest>) -> ::windows_core::Result<()>;
fn Validate(&self, tunerequest: ::core::option::Option<&ITuneRequest>) -> ::windows_core::Result<()>;
fn PreferredComponentTypes(&self) -> ::windows_core::Result<IComponentTypes>;
fn SetPreferredComponentTypes(&self, componenttypes: ::core::option::Option<&IComponentTypes>) -> ::windows_core::Result<()>;
fn SignalStrength(&self) -> ::windows_core::Result<i32>;
fn TriggerSignalEvents(&self, interval: i32) -> ::windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows_core::RuntimeName for ITuner {}
#[cfg(feature = "Win32_System_Com")]
impl ITuner_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuner_Impl, const OFFSET: isize>() -> ITuner_Vtbl {
unsafe extern "system" fn TuningSpace<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tuningspace: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TuningSpace() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(tuningspace, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetTuningSpace<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tuningspace: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTuningSpace(::windows_core::from_raw_borrowed(&tuningspace)).into()
}
unsafe extern "system" fn EnumTuningSpaces<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumTuningSpaces() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn TuneRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tunerequest: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TuneRequest() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(tunerequest, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetTuneRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tunerequest: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTuneRequest(::windows_core::from_raw_borrowed(&tunerequest)).into()
}
unsafe extern "system" fn Validate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tunerequest: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Validate(::windows_core::from_raw_borrowed(&tunerequest)).into()
}
unsafe extern "system" fn PreferredComponentTypes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, componenttypes: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PreferredComponentTypes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(componenttypes, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPreferredComponentTypes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, componenttypes: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPreferredComponentTypes(::windows_core::from_raw_borrowed(&componenttypes)).into()
}
unsafe extern "system" fn SignalStrength<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strength: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SignalStrength() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(strength, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn TriggerSignalEvents<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, interval: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TriggerSignalEvents(::core::mem::transmute_copy(&interval)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
TuningSpace: TuningSpace::<Identity, Impl, OFFSET>,
SetTuningSpace: SetTuningSpace::<Identity, Impl, OFFSET>,
EnumTuningSpaces: EnumTuningSpaces::<Identity, Impl, OFFSET>,
TuneRequest: TuneRequest::<Identity, Impl, OFFSET>,
SetTuneRequest: SetTuneRequest::<Identity, Impl, OFFSET>,
Validate: Validate::<Identity, Impl, OFFSET>,
PreferredComponentTypes: PreferredComponentTypes::<Identity, Impl, OFFSET>,
SetPreferredComponentTypes: SetPreferredComponentTypes::<Identity, Impl, OFFSET>,
SignalStrength: SignalStrength::<Identity, Impl, OFFSET>,
TriggerSignalEvents: TriggerSignalEvents::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ITuner as ::windows_core::ComInterface>::IID
}
}
pub trait ITunerCap_Impl: Sized {
fn get_SupportedNetworkTypes(&self, ulcnetworktypesmax: u32, pulcnetworktypes: *mut u32, pguidnetworktypes: *mut ::windows_core::GUID) -> ::windows_core::Result<()>;
fn get_SupportedVideoFormats(&self, pulamtunermodetype: *mut u32, pulanalogvideostandard: *mut u32) -> ::windows_core::Result<()>;
fn get_AuxInputCount(&self, pulcompositecount: *mut u32, pulsvideocount: *mut u32) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for ITunerCap {}
impl ITunerCap_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITunerCap_Impl, const OFFSET: isize>() -> ITunerCap_Vtbl {
unsafe extern "system" fn get_SupportedNetworkTypes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITunerCap_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ulcnetworktypesmax: u32, pulcnetworktypes: *mut u32, pguidnetworktypes: *mut ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.get_SupportedNetworkTypes(::core::mem::transmute_copy(&ulcnetworktypesmax), ::core::mem::transmute_copy(&pulcnetworktypes), ::core::mem::transmute_copy(&pguidnetworktypes)).into()
}
unsafe extern "system" fn get_SupportedVideoFormats<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITunerCap_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pulamtunermodetype: *mut u32, pulanalogvideostandard: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.get_SupportedVideoFormats(::core::mem::transmute_copy(&pulamtunermodetype), ::core::mem::transmute_copy(&pulanalogvideostandard)).into()
}
unsafe extern "system" fn get_AuxInputCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITunerCap_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pulcompositecount: *mut u32, pulsvideocount: *mut u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.get_AuxInputCount(::core::mem::transmute_copy(&pulcompositecount), ::core::mem::transmute_copy(&pulsvideocount)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
get_SupportedNetworkTypes: get_SupportedNetworkTypes::<Identity, Impl, OFFSET>,
get_SupportedVideoFormats: get_SupportedVideoFormats::<Identity, Impl, OFFSET>,
get_AuxInputCount: get_AuxInputCount::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ITunerCap as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`"]
#[cfg(feature = "Win32_Foundation")]
pub trait ITunerCapEx_Impl: Sized {
fn Has608_708Caption(&self) -> ::windows_core::Result<super::super::super::Foundation::VARIANT_BOOL>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows_core::RuntimeName for ITunerCapEx {}
#[cfg(feature = "Win32_Foundation")]
impl ITunerCapEx_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITunerCapEx_Impl, const OFFSET: isize>() -> ITunerCapEx_Vtbl {
unsafe extern "system" fn Has608_708Caption<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITunerCapEx_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbhascaption: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Has608_708Caption() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbhascaption, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Has608_708Caption: Has608_708Caption::<Identity, Impl, OFFSET> }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ITunerCapEx as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ITuningSpace_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn UniqueName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetUniqueName(&self, name: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn FriendlyName(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetFriendlyName(&self, name: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn CLSID(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn NetworkType(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetNetworkType(&self, networktypeguid: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn _NetworkType(&self) -> ::windows_core::Result<::windows_core::GUID>;
fn Set_NetworkType(&self, networktypeguid: *const ::windows_core::GUID) -> ::windows_core::Result<()>;
fn CreateTuneRequest(&self) -> ::windows_core::Result<ITuneRequest>;
fn EnumCategoryGUIDs(&self) -> ::windows_core::Result<super::super::super::System::Com::IEnumGUID>;
fn EnumDeviceMonikers(&self) -> ::windows_core::Result<super::super::super::System::Com::IEnumMoniker>;
fn DefaultPreferredComponentTypes(&self) -> ::windows_core::Result<IComponentTypes>;
fn SetDefaultPreferredComponentTypes(&self, newcomponenttypes: ::core::option::Option<&IComponentTypes>) -> ::windows_core::Result<()>;
fn FrequencyMapping(&self) -> ::windows_core::Result<::windows_core::BSTR>;
fn SetFrequencyMapping(&self, mapping: &::windows_core::BSTR) -> ::windows_core::Result<()>;
fn DefaultLocator(&self) -> ::windows_core::Result<ILocator>;
fn SetDefaultLocator(&self, locatorval: ::core::option::Option<&ILocator>) -> ::windows_core::Result<()>;
fn Clone(&self) -> ::windows_core::Result<ITuningSpace>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ITuningSpace {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ITuningSpace_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>() -> ITuningSpace_Vtbl {
unsafe extern "system" fn UniqueName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.UniqueName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(name, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetUniqueName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetUniqueName(::core::mem::transmute(&name)).into()
}
unsafe extern "system" fn FriendlyName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FriendlyName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(name, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetFriendlyName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetFriendlyName(::core::mem::transmute(&name)).into()
}
unsafe extern "system" fn CLSID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, spaceclsid: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CLSID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(spaceclsid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn NetworkType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, networktypeguid: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.NetworkType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(networktypeguid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNetworkType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, networktypeguid: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNetworkType(::core::mem::transmute(&networktypeguid)).into()
}
unsafe extern "system" fn _NetworkType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, networktypeguid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NetworkType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(networktypeguid, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Set_NetworkType<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, networktypeguid: *const ::windows_core::GUID) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Set_NetworkType(::core::mem::transmute_copy(&networktypeguid)).into()
}
unsafe extern "system" fn CreateTuneRequest<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tunerequest: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateTuneRequest() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(tunerequest, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumCategoryGUIDs<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumCategoryGUIDs() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumDeviceMonikers<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumDeviceMonikers() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DefaultPreferredComponentTypes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, componenttypes: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DefaultPreferredComponentTypes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(componenttypes, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDefaultPreferredComponentTypes<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newcomponenttypes: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDefaultPreferredComponentTypes(::windows_core::from_raw_borrowed(&newcomponenttypes)).into()
}
unsafe extern "system" fn FrequencyMapping<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmapping: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FrequencyMapping() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pmapping, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetFrequencyMapping<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mapping: ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetFrequencyMapping(::core::mem::transmute(&mapping)).into()
}
unsafe extern "system" fn DefaultLocator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, locatorval: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DefaultLocator() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(locatorval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDefaultLocator<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, locatorval: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDefaultLocator(::windows_core::from_raw_borrowed(&locatorval)).into()
}
unsafe extern "system" fn Clone<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newts: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newts, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
UniqueName: UniqueName::<Identity, Impl, OFFSET>,
SetUniqueName: SetUniqueName::<Identity, Impl, OFFSET>,
FriendlyName: FriendlyName::<Identity, Impl, OFFSET>,
SetFriendlyName: SetFriendlyName::<Identity, Impl, OFFSET>,
CLSID: CLSID::<Identity, Impl, OFFSET>,
NetworkType: NetworkType::<Identity, Impl, OFFSET>,
SetNetworkType: SetNetworkType::<Identity, Impl, OFFSET>,
_NetworkType: _NetworkType::<Identity, Impl, OFFSET>,
Set_NetworkType: Set_NetworkType::<Identity, Impl, OFFSET>,
CreateTuneRequest: CreateTuneRequest::<Identity, Impl, OFFSET>,
EnumCategoryGUIDs: EnumCategoryGUIDs::<Identity, Impl, OFFSET>,
EnumDeviceMonikers: EnumDeviceMonikers::<Identity, Impl, OFFSET>,
DefaultPreferredComponentTypes: DefaultPreferredComponentTypes::<Identity, Impl, OFFSET>,
SetDefaultPreferredComponentTypes: SetDefaultPreferredComponentTypes::<Identity, Impl, OFFSET>,
FrequencyMapping: FrequencyMapping::<Identity, Impl, OFFSET>,
SetFrequencyMapping: SetFrequencyMapping::<Identity, Impl, OFFSET>,
DefaultLocator: DefaultLocator::<Identity, Impl, OFFSET>,
SetDefaultLocator: SetDefaultLocator::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ITuningSpace as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ITuningSpaceContainer_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<super::super::super::System::Ole::IEnumVARIANT>;
fn get_Item(&self, varindex: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<ITuningSpace>;
fn put_Item(&self, varindex: &super::super::super::System::Variant::VARIANT, tuningspace: ::core::option::Option<&ITuningSpace>) -> ::windows_core::Result<()>;
fn TuningSpacesForCLSID(&self, spaceclsid: &::windows_core::BSTR) -> ::windows_core::Result<ITuningSpaces>;
fn _TuningSpacesForCLSID2(&self, spaceclsid: *const ::windows_core::GUID) -> ::windows_core::Result<ITuningSpaces>;
fn TuningSpacesForName(&self, name: &::windows_core::BSTR) -> ::windows_core::Result<ITuningSpaces>;
fn FindID(&self, tuningspace: ::core::option::Option<&ITuningSpace>) -> ::windows_core::Result<i32>;
fn Add(&self, tuningspace: ::core::option::Option<&ITuningSpace>) -> ::windows_core::Result<super::super::super::System::Variant::VARIANT>;
fn EnumTuningSpaces(&self) -> ::windows_core::Result<IEnumTuningSpaces>;
fn Remove(&self, index: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<()>;
fn MaxCount(&self) -> ::windows_core::Result<i32>;
fn SetMaxCount(&self, maxcount: i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ITuningSpaceContainer {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ITuningSpaceContainer_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaceContainer_Impl, const OFFSET: isize>() -> ITuningSpaceContainer_Vtbl {
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaceContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaceContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_Item<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaceContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, varindex: super::super::super::System::Variant::VARIANT, tuningspace: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Item(::core::mem::transmute(&varindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(tuningspace, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn put_Item<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaceContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, varindex: super::super::super::System::Variant::VARIANT, tuningspace: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.put_Item(::core::mem::transmute(&varindex), ::windows_core::from_raw_borrowed(&tuningspace)).into()
}
unsafe extern "system" fn TuningSpacesForCLSID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaceContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, spaceclsid: ::std::mem::MaybeUninit<::windows_core::BSTR>, newcoll: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TuningSpacesForCLSID(::core::mem::transmute(&spaceclsid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newcoll, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _TuningSpacesForCLSID2<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaceContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, spaceclsid: *const ::windows_core::GUID, newcoll: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._TuningSpacesForCLSID2(::core::mem::transmute_copy(&spaceclsid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newcoll, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn TuningSpacesForName<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaceContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows_core::BSTR>, newcoll: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TuningSpacesForName(::core::mem::transmute(&name)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newcoll, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn FindID<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaceContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tuningspace: *mut ::core::ffi::c_void, id: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FindID(::windows_core::from_raw_borrowed(&tuningspace)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Add<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaceContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tuningspace: *mut ::core::ffi::c_void, newindex: *mut super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Add(::windows_core::from_raw_borrowed(&tuningspace)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newindex, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumTuningSpaces<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaceContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumTuningSpaces() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Remove<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaceContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: super::super::super::System::Variant::VARIANT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove(::core::mem::transmute(&index)).into()
}
unsafe extern "system" fn MaxCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaceContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, maxcount: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MaxCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(maxcount, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMaxCount<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaceContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, maxcount: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMaxCount(::core::mem::transmute_copy(&maxcount)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
get_Item: get_Item::<Identity, Impl, OFFSET>,
put_Item: put_Item::<Identity, Impl, OFFSET>,
TuningSpacesForCLSID: TuningSpacesForCLSID::<Identity, Impl, OFFSET>,
_TuningSpacesForCLSID2: _TuningSpacesForCLSID2::<Identity, Impl, OFFSET>,
TuningSpacesForName: TuningSpacesForName::<Identity, Impl, OFFSET>,
FindID: FindID::<Identity, Impl, OFFSET>,
Add: Add::<Identity, Impl, OFFSET>,
EnumTuningSpaces: EnumTuningSpaces::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
MaxCount: MaxCount::<Identity, Impl, OFFSET>,
SetMaxCount: SetMaxCount::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ITuningSpaceContainer as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait ITuningSpaces_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Count(&self) -> ::windows_core::Result<i32>;
fn _NewEnum(&self) -> ::windows_core::Result<super::super::super::System::Ole::IEnumVARIANT>;
fn get_Item(&self, varindex: &super::super::super::System::Variant::VARIANT) -> ::windows_core::Result<ITuningSpace>;
fn EnumTuningSpaces(&self) -> ::windows_core::Result<IEnumTuningSpaces>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for ITuningSpaces {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ITuningSpaces_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaces_Impl, const OFFSET: isize>() -> ITuningSpaces_Vtbl {
unsafe extern "system" fn Count<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Count() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this._NewEnum() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn get_Item<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, varindex: super::super::super::System::Variant::VARIANT, tuningspace: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.get_Item(::core::mem::transmute(&varindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(tuningspace, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumTuningSpaces<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: ITuningSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumTuningSpaces() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newenum, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Count: Count::<Identity, Impl, OFFSET>,
_NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
get_Item: get_Item::<Identity, Impl, OFFSET>,
EnumTuningSpaces: EnumTuningSpaces::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <ITuningSpaces as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
pub trait IXDSCodec_Impl: Sized {
fn XDSToRatObjOK(&self) -> ::windows_core::Result<::windows_core::HRESULT>;
fn SetCCSubstreamService(&self, substreammask: i32) -> ::windows_core::Result<()>;
fn CCSubstreamService(&self) -> ::windows_core::Result<i32>;
fn GetContentAdvisoryRating(&self, prat: *mut i32, ppktseqid: *mut i32, pcallseqid: *mut i32, ptimestart: *mut i64, ptimeend: *mut i64) -> ::windows_core::Result<()>;
fn GetXDSPacket(&self, pxdsclasspkt: *mut i32, pxdstypepkt: *mut i32, pbstrxdspkt: *mut ::windows_core::BSTR, ppktseqid: *mut i32, pcallseqid: *mut i32, ptimestart: *mut i64, ptimeend: *mut i64) -> ::windows_core::Result<()>;
fn GetCurrLicenseExpDate(&self, prottype: *const ProtType) -> ::windows_core::Result<i32>;
fn GetLastErrorCode(&self) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IXDSCodec {}
impl IXDSCodec_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IXDSCodec_Impl, const OFFSET: isize>() -> IXDSCodec_Vtbl {
unsafe extern "system" fn XDSToRatObjOK<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IXDSCodec_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, phrcocreateretval: *mut ::windows_core::HRESULT) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.XDSToRatObjOK() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(phrcocreateretval, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCCSubstreamService<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IXDSCodec_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, substreammask: i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCCSubstreamService(::core::mem::transmute_copy(&substreammask)).into()
}
unsafe extern "system" fn CCSubstreamService<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IXDSCodec_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psubstreammask: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CCSubstreamService() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(psubstreammask, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetContentAdvisoryRating<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IXDSCodec_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prat: *mut i32, ppktseqid: *mut i32, pcallseqid: *mut i32, ptimestart: *mut i64, ptimeend: *mut i64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetContentAdvisoryRating(::core::mem::transmute_copy(&prat), ::core::mem::transmute_copy(&ppktseqid), ::core::mem::transmute_copy(&pcallseqid), ::core::mem::transmute_copy(&ptimestart), ::core::mem::transmute_copy(&ptimeend)).into()
}
unsafe extern "system" fn GetXDSPacket<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IXDSCodec_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pxdsclasspkt: *mut i32, pxdstypepkt: *mut i32, pbstrxdspkt: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>, ppktseqid: *mut i32, pcallseqid: *mut i32, ptimestart: *mut i64, ptimeend: *mut i64) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetXDSPacket(::core::mem::transmute_copy(&pxdsclasspkt), ::core::mem::transmute_copy(&pxdstypepkt), ::core::mem::transmute_copy(&pbstrxdspkt), ::core::mem::transmute_copy(&ppktseqid), ::core::mem::transmute_copy(&pcallseqid), ::core::mem::transmute_copy(&ptimestart), ::core::mem::transmute_copy(&ptimeend)).into()
}
unsafe extern "system" fn GetCurrLicenseExpDate<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IXDSCodec_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prottype: *const ProtType, lpdatetime: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrLicenseExpDate(::core::mem::transmute_copy(&prottype)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(lpdatetime, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLastErrorCode<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IXDSCodec_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLastErrorCode().into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
XDSToRatObjOK: XDSToRatObjOK::<Identity, Impl, OFFSET>,
SetCCSubstreamService: SetCCSubstreamService::<Identity, Impl, OFFSET>,
CCSubstreamService: CCSubstreamService::<Identity, Impl, OFFSET>,
GetContentAdvisoryRating: GetContentAdvisoryRating::<Identity, Impl, OFFSET>,
GetXDSPacket: GetXDSPacket::<Identity, Impl, OFFSET>,
GetCurrLicenseExpDate: GetCurrLicenseExpDate::<Identity, Impl, OFFSET>,
GetLastErrorCode: GetLastErrorCode::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IXDSCodec as ::windows_core::ComInterface>::IID
}
}
pub trait IXDSCodecConfig_Impl: Sized {
fn GetSecureChannelObject(&self) -> ::windows_core::Result<::windows_core::IUnknown>;
fn SetPauseBufferTime(&self, dwpausebuffertime: u32) -> ::windows_core::Result<()>;
}
impl ::windows_core::RuntimeName for IXDSCodecConfig {}
impl IXDSCodecConfig_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IXDSCodecConfig_Impl, const OFFSET: isize>() -> IXDSCodecConfig_Vtbl {
unsafe extern "system" fn GetSecureChannelObject<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IXDSCodecConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppunkdrmsecurechannel: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSecureChannelObject() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppunkdrmsecurechannel, ::core::mem::transmute(ok__));
::windows_core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPauseBufferTime<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IXDSCodecConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwpausebuffertime: u32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPauseBufferTime(::core::mem::transmute_copy(&dwpausebuffertime)).into()
}
Self {
base__: ::windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetSecureChannelObject: GetSecureChannelObject::<Identity, Impl, OFFSET>,
SetPauseBufferTime: SetPauseBufferTime::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IXDSCodecConfig as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IXDSCodecEvents_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IXDSCodecEvents {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IXDSCodecEvents_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IXDSCodecEvents_Impl, const OFFSET: isize>() -> IXDSCodecEvents_Vtbl {
Self { base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IXDSCodecEvents as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait IXDSToRat_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
fn Init(&self) -> ::windows_core::Result<()>;
fn ParseXDSBytePair(&self, byte1: u8, byte2: u8, pensystem: *mut EnTvRat_System, penlevel: *mut EnTvRat_GenericLevel, plbfenattributes: *mut i32) -> ::windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for IXDSToRat {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl IXDSToRat_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IXDSToRat_Impl, const OFFSET: isize>() -> IXDSToRat_Vtbl {
unsafe extern "system" fn Init<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IXDSToRat_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Init().into()
}
unsafe extern "system" fn ParseXDSBytePair<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: IXDSToRat_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, byte1: u8, byte2: u8, pensystem: *mut EnTvRat_System, penlevel: *mut EnTvRat_GenericLevel, plbfenattributes: *mut i32) -> ::windows_core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ParseXDSBytePair(::core::mem::transmute_copy(&byte1), ::core::mem::transmute_copy(&byte2), ::core::mem::transmute_copy(&pensystem), ::core::mem::transmute_copy(&penlevel), ::core::mem::transmute_copy(&plbfenattributes)).into()
}
Self {
base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
Init: Init::<Identity, Impl, OFFSET>,
ParseXDSBytePair: ParseXDSBytePair::<Identity, Impl, OFFSET>,
}
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <IXDSToRat as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}
#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
pub trait _IMSVidCtlEvents_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl ::windows_core::RuntimeName for _IMSVidCtlEvents {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
impl _IMSVidCtlEvents_Vtbl {
pub const fn new<Identity: ::windows_core::IUnknownImpl<Impl = Impl>, Impl: _IMSVidCtlEvents_Impl, const OFFSET: isize>() -> _IMSVidCtlEvents_Vtbl {
Self { base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub unsafe fn matches(iid: *const ::windows_core::GUID) -> bool {
*iid == <_IMSVidCtlEvents as ::windows_core::ComInterface>::IID || *iid == <super::super::super::System::Com::IDispatch as ::windows_core::ComInterface>::IID
}
}