pub trait IDMLDevice_Impl: Sized + IDMLObject_Impl {
    // Required methods
    fn CheckFeatureSupport(
        &self,
        feature: DML_FEATURE,
        featurequerydatasize: u32,
        featurequerydata: *const c_void,
        featuresupportdatasize: u32,
        featuresupportdata: *mut c_void
    ) -> Result<()>;
    fn CreateOperator(
        &self,
        desc: *const DML_OPERATOR_DESC,
        riid: *const GUID,
        ppv: *mut *mut c_void
    ) -> Result<()>;
    fn CompileOperator(
        &self,
        op: Option<&IDMLOperator>,
        flags: DML_EXECUTION_FLAGS,
        riid: *const GUID,
        ppv: *mut *mut c_void
    ) -> Result<()>;
    fn CreateOperatorInitializer(
        &self,
        operatorcount: u32,
        operators: *const Option<IDMLCompiledOperator>,
        riid: *const GUID,
        ppv: *mut *mut c_void
    ) -> Result<()>;
    fn CreateCommandRecorder(
        &self,
        riid: *const GUID,
        ppv: *mut *mut c_void
    ) -> Result<()>;
    fn CreateBindingTable(
        &self,
        desc: *const DML_BINDING_TABLE_DESC,
        riid: *const GUID,
        ppv: *mut *mut c_void
    ) -> Result<()>;
    fn Evict(
        &self,
        count: u32,
        ppobjects: *const Option<IDMLPageable>
    ) -> Result<()>;
    fn MakeResident(
        &self,
        count: u32,
        ppobjects: *const Option<IDMLPageable>
    ) -> Result<()>;
    fn GetDeviceRemovedReason(&self) -> Result<()>;
    fn GetParentDevice(
        &self,
        riid: *const GUID,
        ppv: *mut *mut c_void
    ) -> Result<()>;
}

Required Methods§

fn CheckFeatureSupport( &self, feature: DML_FEATURE, featurequerydatasize: u32, featurequerydata: *const c_void, featuresupportdatasize: u32, featuresupportdata: *mut c_void ) -> Result<()>

fn CreateOperator( &self, desc: *const DML_OPERATOR_DESC, riid: *const GUID, ppv: *mut *mut c_void ) -> Result<()>

fn CompileOperator( &self, op: Option<&IDMLOperator>, flags: DML_EXECUTION_FLAGS, riid: *const GUID, ppv: *mut *mut c_void ) -> Result<()>

fn CreateOperatorInitializer( &self, operatorcount: u32, operators: *const Option<IDMLCompiledOperator>, riid: *const GUID, ppv: *mut *mut c_void ) -> Result<()>

fn CreateCommandRecorder( &self, riid: *const GUID, ppv: *mut *mut c_void ) -> Result<()>

fn CreateBindingTable( &self, desc: *const DML_BINDING_TABLE_DESC, riid: *const GUID, ppv: *mut *mut c_void ) -> Result<()>

fn Evict( &self, count: u32, ppobjects: *const Option<IDMLPageable> ) -> Result<()>

fn MakeResident( &self, count: u32, ppobjects: *const Option<IDMLPageable> ) -> Result<()>

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

fn GetParentDevice( &self, riid: *const GUID, ppv: *mut *mut c_void ) -> Result<()>

Object Safety§

This trait is not object safe.

Implementors§