pub trait IMFVirtualCamera_Impl: Sized + IMFAttributes_Impl {
    // Required methods
    fn AddDeviceSourceInfo(&self, devicesourceinfo: &PCWSTR) -> Result<()>;
    fn AddProperty(
        &self,
        pkey: *const DEVPROPKEY,
        type: DEVPROPTYPE,
        pbdata: *const u8,
        cbdata: u32
    ) -> Result<()>;
    fn AddRegistryEntry(
        &self,
        entryname: &PCWSTR,
        subkeypath: &PCWSTR,
        dwregtype: u32,
        pbdata: *const u8,
        cbdata: u32
    ) -> Result<()>;
    fn Start(&self, pcallback: Option<&IMFAsyncCallback>) -> Result<()>;
    fn Stop(&self) -> Result<()>;
    fn Remove(&self) -> Result<()>;
    fn GetMediaSource(&self) -> Result<IMFMediaSource>;
    fn SendCameraProperty(
        &self,
        propertyset: *const GUID,
        propertyid: u32,
        propertyflags: u32,
        propertypayload: *mut c_void,
        propertypayloadlength: u32,
        data: *mut c_void,
        datalength: u32,
        datawritten: *mut u32
    ) -> Result<()>;
    fn CreateSyncEvent(
        &self,
        kseventset: *const GUID,
        kseventid: u32,
        kseventflags: u32,
        eventhandle: HANDLE
    ) -> Result<IMFCameraSyncObject>;
    fn CreateSyncSemaphore(
        &self,
        kseventset: *const GUID,
        kseventid: u32,
        kseventflags: u32,
        semaphorehandle: HANDLE,
        semaphoreadjustment: i32
    ) -> Result<IMFCameraSyncObject>;
    fn Shutdown(&self) -> Result<()>;
}

Required Methods§

fn AddDeviceSourceInfo(&self, devicesourceinfo: &PCWSTR) -> Result<()>

fn AddProperty( &self, pkey: *const DEVPROPKEY, type: DEVPROPTYPE, pbdata: *const u8, cbdata: u32 ) -> Result<()>

fn AddRegistryEntry( &self, entryname: &PCWSTR, subkeypath: &PCWSTR, dwregtype: u32, pbdata: *const u8, cbdata: u32 ) -> Result<()>

fn Start(&self, pcallback: Option<&IMFAsyncCallback>) -> Result<()>

fn Stop(&self) -> Result<()>

fn Remove(&self) -> Result<()>

fn GetMediaSource(&self) -> Result<IMFMediaSource>

fn SendCameraProperty( &self, propertyset: *const GUID, propertyid: u32, propertyflags: u32, propertypayload: *mut c_void, propertypayloadlength: u32, data: *mut c_void, datalength: u32, datawritten: *mut u32 ) -> Result<()>

fn CreateSyncEvent( &self, kseventset: *const GUID, kseventid: u32, kseventflags: u32, eventhandle: HANDLE ) -> Result<IMFCameraSyncObject>

fn CreateSyncSemaphore( &self, kseventset: *const GUID, kseventid: u32, kseventflags: u32, semaphorehandle: HANDLE, semaphoreadjustment: i32 ) -> Result<IMFCameraSyncObject>

fn Shutdown(&self) -> Result<()>

Object Safety§

This trait is not object safe.

Implementors§