windows::Networking::Vpn

Trait IVpnPlugIn_Impl

pub trait IVpnPlugIn_Impl: IUnknownImpl {
    // Required methods
    fn Connect(&self, channel: Ref<'_, VpnChannel>) -> Result<()>;
    fn Disconnect(&self, channel: Ref<'_, VpnChannel>) -> Result<()>;
    fn GetKeepAlivePayload(
        &self,
        channel: Ref<'_, VpnChannel>,
        keepAlivePacket: OutRef<'_, VpnPacketBuffer>,
    ) -> Result<()>;
    fn Encapsulate(
        &self,
        channel: Ref<'_, VpnChannel>,
        packets: Ref<'_, VpnPacketBufferList>,
        encapulatedPackets: Ref<'_, VpnPacketBufferList>,
    ) -> Result<()>;
    fn Decapsulate(
        &self,
        channel: Ref<'_, VpnChannel>,
        encapBuffer: Ref<'_, VpnPacketBuffer>,
        decapsulatedPackets: Ref<'_, VpnPacketBufferList>,
        controlPacketsToSend: Ref<'_, VpnPacketBufferList>,
    ) -> Result<()>;
}

Required Methods§

fn Connect(&self, channel: Ref<'_, VpnChannel>) -> Result<()>

fn Disconnect(&self, channel: Ref<'_, VpnChannel>) -> Result<()>

fn GetKeepAlivePayload( &self, channel: Ref<'_, VpnChannel>, keepAlivePacket: OutRef<'_, VpnPacketBuffer>, ) -> Result<()>

fn Encapsulate( &self, channel: Ref<'_, VpnChannel>, packets: Ref<'_, VpnPacketBufferList>, encapulatedPackets: Ref<'_, VpnPacketBufferList>, ) -> Result<()>

fn Decapsulate( &self, channel: Ref<'_, VpnChannel>, encapBuffer: Ref<'_, VpnPacketBuffer>, decapsulatedPackets: Ref<'_, VpnPacketBufferList>, controlPacketsToSend: Ref<'_, VpnPacketBufferList>, ) -> 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§