windows::Win32::Devices::WebServicesOnDevices

Trait IWSDDeviceHost_Impl

pub trait IWSDDeviceHost_Impl: IUnknownImpl {
    // Required methods
    fn Init(
        &self,
        pszlocalid: &PCWSTR,
        pcontext: Ref<'_, IWSDXMLContext>,
        pphostaddresses: *const Option<IWSDAddress>,
        dwhostaddresscount: u32,
    ) -> Result<()>;
    fn Start(
        &self,
        ullinstanceid: u64,
        pscopelist: *const WSD_URI_LIST,
        pnotificationsink: Ref<'_, IWSDDeviceHostNotify>,
    ) -> Result<()>;
    fn Stop(&self) -> Result<()>;
    fn Terminate(&self) -> Result<()>;
    fn RegisterPortType(&self, pporttype: *const WSD_PORT_TYPE) -> Result<()>;
    fn SetMetadata(
        &self,
        pthismodelmetadata: *const WSD_THIS_MODEL_METADATA,
        pthisdevicemetadata: *const WSD_THIS_DEVICE_METADATA,
        phostmetadata: *const WSD_HOST_METADATA,
        pcustommetadata: *const WSD_METADATA_SECTION_LIST,
    ) -> Result<()>;
    fn RegisterService(
        &self,
        pszserviceid: &PCWSTR,
        pservice: Ref<'_, IUnknown>,
    ) -> Result<()>;
    fn RetireService(&self, pszserviceid: &PCWSTR) -> Result<()>;
    fn AddDynamicService(
        &self,
        pszserviceid: &PCWSTR,
        pszendpointaddress: &PCWSTR,
        pporttype: *const WSD_PORT_TYPE,
        pportname: *const WSDXML_NAME,
        pany: *const WSDXML_ELEMENT,
        pservice: Ref<'_, IUnknown>,
    ) -> Result<()>;
    fn RemoveDynamicService(&self, pszserviceid: &PCWSTR) -> Result<()>;
    fn SetServiceDiscoverable(
        &self,
        pszserviceid: &PCWSTR,
        fdiscoverable: BOOL,
    ) -> Result<()>;
    fn SignalEvent(
        &self,
        pszserviceid: &PCWSTR,
        pbody: *const c_void,
        poperation: *const WSD_OPERATION,
    ) -> Result<()>;
}

Required Methods§

fn Init( &self, pszlocalid: &PCWSTR, pcontext: Ref<'_, IWSDXMLContext>, pphostaddresses: *const Option<IWSDAddress>, dwhostaddresscount: u32, ) -> Result<()>

fn Start( &self, ullinstanceid: u64, pscopelist: *const WSD_URI_LIST, pnotificationsink: Ref<'_, IWSDDeviceHostNotify>, ) -> Result<()>

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

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

fn RegisterPortType(&self, pporttype: *const WSD_PORT_TYPE) -> Result<()>

fn SetMetadata( &self, pthismodelmetadata: *const WSD_THIS_MODEL_METADATA, pthisdevicemetadata: *const WSD_THIS_DEVICE_METADATA, phostmetadata: *const WSD_HOST_METADATA, pcustommetadata: *const WSD_METADATA_SECTION_LIST, ) -> Result<()>

fn RegisterService( &self, pszserviceid: &PCWSTR, pservice: Ref<'_, IUnknown>, ) -> Result<()>

fn RetireService(&self, pszserviceid: &PCWSTR) -> Result<()>

fn AddDynamicService( &self, pszserviceid: &PCWSTR, pszendpointaddress: &PCWSTR, pporttype: *const WSD_PORT_TYPE, pportname: *const WSDXML_NAME, pany: *const WSDXML_ELEMENT, pservice: Ref<'_, IUnknown>, ) -> Result<()>

fn RemoveDynamicService(&self, pszserviceid: &PCWSTR) -> Result<()>

fn SetServiceDiscoverable( &self, pszserviceid: &PCWSTR, fdiscoverable: BOOL, ) -> Result<()>

fn SignalEvent( &self, pszserviceid: &PCWSTR, pbody: *const c_void, poperation: *const WSD_OPERATION, ) -> 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§