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

Required Methods§

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

fn Query( &self, pifunctiondiscoveryproviderquery: Option<&IFunctionDiscoveryProviderQuery> ) -> Result<IFunctionInstanceCollection>

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

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

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

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

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

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

Object Safety§

This trait is not object safe.

Implementors§