windows::Win32::Devices::FunctionDiscovery

Trait IFunctionDiscoveryProvider_Impl

pub trait IFunctionDiscoveryProvider_Impl: IUnknownImpl {
    // Required methods
    fn Initialize(
        &self,
        pifunctiondiscoveryproviderfactory: Ref<'_, IFunctionDiscoveryProviderFactory>,
        pifunctiondiscoverynotification: Ref<'_, IFunctionDiscoveryNotification>,
        lciduserdefault: u32,
    ) -> Result<u32>;
    fn Query(
        &self,
        pifunctiondiscoveryproviderquery: Ref<'_, IFunctionDiscoveryProviderQuery>,
    ) -> Result<IFunctionInstanceCollection>;
    fn EndQuery(&self) -> Result<()>;
    fn InstancePropertyStoreValidateAccess(
        &self,
        pifunctioninstance: Ref<'_, IFunctionInstance>,
        iproviderinstancecontext: isize,
        dwstgaccess: u32,
    ) -> Result<()>;
    fn InstancePropertyStoreOpen(
        &self,
        pifunctioninstance: Ref<'_, IFunctionInstance>,
        iproviderinstancecontext: isize,
        dwstgaccess: u32,
    ) -> Result<IPropertyStore>;
    fn InstancePropertyStoreFlush(
        &self,
        pifunctioninstance: Ref<'_, IFunctionInstance>,
        iproviderinstancecontext: isize,
    ) -> Result<()>;
    fn InstanceQueryService(
        &self,
        pifunctioninstance: Ref<'_, IFunctionInstance>,
        iproviderinstancecontext: isize,
        guidservice: *const GUID,
        riid: *const GUID,
    ) -> Result<IUnknown>;
    fn InstanceReleased(
        &self,
        pifunctioninstance: Ref<'_, IFunctionInstance>,
        iproviderinstancecontext: isize,
    ) -> Result<()>;
}

Required Methods§

fn Initialize( &self, pifunctiondiscoveryproviderfactory: Ref<'_, IFunctionDiscoveryProviderFactory>, pifunctiondiscoverynotification: Ref<'_, IFunctionDiscoveryNotification>, lciduserdefault: u32, ) -> Result<u32>

fn Query( &self, pifunctiondiscoveryproviderquery: Ref<'_, IFunctionDiscoveryProviderQuery>, ) -> Result<IFunctionInstanceCollection>

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

fn InstancePropertyStoreValidateAccess( &self, pifunctioninstance: Ref<'_, IFunctionInstance>, iproviderinstancecontext: isize, dwstgaccess: u32, ) -> Result<()>

fn InstancePropertyStoreOpen( &self, pifunctioninstance: Ref<'_, IFunctionInstance>, iproviderinstancecontext: isize, dwstgaccess: u32, ) -> Result<IPropertyStore>

fn InstancePropertyStoreFlush( &self, pifunctioninstance: Ref<'_, IFunctionInstance>, iproviderinstancecontext: isize, ) -> Result<()>

fn InstanceQueryService( &self, pifunctioninstance: Ref<'_, IFunctionInstance>, iproviderinstancecontext: isize, guidservice: *const GUID, riid: *const GUID, ) -> Result<IUnknown>

fn InstanceReleased( &self, pifunctioninstance: Ref<'_, IFunctionInstance>, iproviderinstancecontext: isize, ) -> Result<()>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§