pub trait IMFMediaEngineExtension_Impl: Sized {
    // Required methods
    fn CanPlayType(
        &self,
        audioonly: BOOL,
        mimetype: &BSTR
    ) -> Result<MF_MEDIA_ENGINE_CANPLAY>;
    fn BeginCreateObject(
        &self,
        bstrurl: &BSTR,
        pbytestream: Option<&IMFByteStream>,
        type: MF_OBJECT_TYPE,
        ppiunknowncancelcookie: *mut Option<IUnknown>,
        pcallback: Option<&IMFAsyncCallback>,
        punkstate: Option<&IUnknown>
    ) -> Result<()>;
    fn CancelObjectCreation(
        &self,
        piunknowncancelcookie: Option<&IUnknown>
    ) -> Result<()>;
    fn EndCreateObject(
        &self,
        presult: Option<&IMFAsyncResult>
    ) -> Result<IUnknown>;
}

Required Methods§

fn CanPlayType( &self, audioonly: BOOL, mimetype: &BSTR ) -> Result<MF_MEDIA_ENGINE_CANPLAY>

fn BeginCreateObject( &self, bstrurl: &BSTR, pbytestream: Option<&IMFByteStream>, type: MF_OBJECT_TYPE, ppiunknowncancelcookie: *mut Option<IUnknown>, pcallback: Option<&IMFAsyncCallback>, punkstate: Option<&IUnknown> ) -> Result<()>

fn CancelObjectCreation( &self, piunknowncancelcookie: Option<&IUnknown> ) -> Result<()>

fn EndCreateObject(&self, presult: Option<&IMFAsyncResult>) -> Result<IUnknown>

Object Safety§

This trait is not object safe.

Implementors§