pub trait IBDA_Topology_Impl: Sized {
    // Required methods
    fn GetNodeTypes(
        &self,
        pulcnodetypes: *mut u32,
        ulcnodetypesmax: u32,
        rgulnodetypes: *mut u32
    ) -> Result<()>;
    fn GetNodeDescriptors(
        &self,
        ulcnodedescriptors: *mut u32,
        ulcnodedescriptorsmax: u32,
        rgnodedescriptors: *mut BDANODE_DESCRIPTOR
    ) -> Result<()>;
    fn GetNodeInterfaces(
        &self,
        ulnodetype: u32,
        pulcinterfaces: *mut u32,
        ulcinterfacesmax: u32,
        rgguidinterfaces: *mut GUID
    ) -> Result<()>;
    fn GetPinTypes(
        &self,
        pulcpintypes: *mut u32,
        ulcpintypesmax: u32,
        rgulpintypes: *mut u32
    ) -> Result<()>;
    fn GetTemplateConnections(
        &self,
        pulcconnections: *mut u32,
        ulcconnectionsmax: u32,
        rgconnections: *mut BDA_TEMPLATE_CONNECTION
    ) -> Result<()>;
    fn CreatePin(&self, ulpintype: u32, pulpinid: *mut u32) -> Result<()>;
    fn DeletePin(&self, ulpinid: u32) -> Result<()>;
    fn SetMediaType(
        &self,
        ulpinid: u32,
        pmediatype: *const AM_MEDIA_TYPE
    ) -> Result<()>;
    fn SetMedium(
        &self,
        ulpinid: u32,
        pmedium: *const REGPINMEDIUM
    ) -> Result<()>;
    fn CreateTopology(
        &self,
        ulinputpinid: u32,
        uloutputpinid: u32
    ) -> Result<()>;
    fn GetControlNode(
        &self,
        ulinputpinid: u32,
        uloutputpinid: u32,
        ulnodetype: u32,
        ppcontrolnode: *mut Option<IUnknown>
    ) -> Result<()>;
}

Required Methods§

fn GetNodeTypes( &self, pulcnodetypes: *mut u32, ulcnodetypesmax: u32, rgulnodetypes: *mut u32 ) -> Result<()>

fn GetNodeDescriptors( &self, ulcnodedescriptors: *mut u32, ulcnodedescriptorsmax: u32, rgnodedescriptors: *mut BDANODE_DESCRIPTOR ) -> Result<()>

fn GetNodeInterfaces( &self, ulnodetype: u32, pulcinterfaces: *mut u32, ulcinterfacesmax: u32, rgguidinterfaces: *mut GUID ) -> Result<()>

fn GetPinTypes( &self, pulcpintypes: *mut u32, ulcpintypesmax: u32, rgulpintypes: *mut u32 ) -> Result<()>

fn GetTemplateConnections( &self, pulcconnections: *mut u32, ulcconnectionsmax: u32, rgconnections: *mut BDA_TEMPLATE_CONNECTION ) -> Result<()>

fn CreatePin(&self, ulpintype: u32, pulpinid: *mut u32) -> Result<()>

fn DeletePin(&self, ulpinid: u32) -> Result<()>

fn SetMediaType( &self, ulpinid: u32, pmediatype: *const AM_MEDIA_TYPE ) -> Result<()>

fn SetMedium(&self, ulpinid: u32, pmedium: *const REGPINMEDIUM) -> Result<()>

fn CreateTopology(&self, ulinputpinid: u32, uloutputpinid: u32) -> Result<()>

fn GetControlNode( &self, ulinputpinid: u32, uloutputpinid: u32, ulnodetype: u32, ppcontrolnode: *mut Option<IUnknown> ) -> Result<()>

Object Safety§

This trait is not object safe.

Implementors§