Trait vst3::Interface

source ·
pub unsafe trait Interface: Unknown {
    type Vtbl;

    const IID: [u8; 16];

    // Required method
    fn inherits(iid: &[u8; 16]) -> bool;
}
Expand description

Implemented by all COM interface types.

§Safety

If a type I implements Interface, it must have the same layout as the pointer type *const I::Vtbl.

If I::inherits(J::IID) returns true, then the layout of J::Vtbl must be a prefix of the layout of I::Vtbl, i.e. a valid pointer to an instance of I::Vtbl must also be valid pointer to an instance of J::Vtbl.

Required Associated Types§

source

type Vtbl

The type of the virtual method table for this interface.

Required Associated Constants§

source

const IID: [u8; 16]

A 16-byte unique identifier (Guid) for the COM interface represented by this type.

Required Methods§

source

fn inherits(iid: &[u8; 16]) -> bool

Returns true if this interface transitively inherits from the interface identified by iid.

Note that this has safety implications; see the top-level documentation for Interface.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Interface for IEventHandler

source§

impl Interface for IRunLoop

source§

impl Interface for ITimerHandler

source§

impl Interface for IInfoListener

source§

impl Interface for IAttributeList

source§

impl Interface for IAudioPresentationLatency

source§

impl Interface for IAudioProcessor

source§

impl Interface for IAutomationState

source§

impl Interface for IComponent

source§

impl Interface for IComponentHandler2

source§

impl Interface for IComponentHandler3

source§

impl Interface for IComponentHandler

source§

impl Interface for IComponentHandlerBusActivation

source§

impl Interface for IConnectionPoint

source§

impl Interface for IContextMenu

source§

impl Interface for IContextMenuTarget

source§

impl Interface for IEditController2

source§

impl Interface for IEditController

source§

impl Interface for IEditControllerHostEditing

source§

impl Interface for IEventList

source§

impl Interface for IHostApplication

source§

impl Interface for IInterAppAudioConnectionNotification

source§

impl Interface for IInterAppAudioHost

source§

impl Interface for IInterAppAudioPresetManager

source§

impl Interface for IKeyswitchController

source§

impl Interface for IMessage

source§

impl Interface for IMidiLearn

source§

impl Interface for IMidiMapping

source§

impl Interface for INoteExpressionController

source§

impl Interface for INoteExpressionPhysicalUIMapping

source§

impl Interface for IParamValueQueue

source§

impl Interface for IParameterChanges

source§

impl Interface for IParameterFinder

source§

impl Interface for IParameterFunctionName

source§

impl Interface for IPlugInterfaceSupport

source§

impl Interface for IPrefetchableSupport

source§

impl Interface for IProcessContextRequirements

source§

impl Interface for IProgramListData

source§

impl Interface for IProgress

source§

impl Interface for IStreamAttributes

source§

impl Interface for IUnitData

source§

impl Interface for IUnitHandler2

source§

impl Interface for IUnitHandler

source§

impl Interface for IUnitInfo

source§

impl Interface for IVst3WrapperMPESupport

source§

impl Interface for IXmlRepresentationController

source§

impl Interface for FUnknown

source§

impl Interface for IAttributes2

source§

impl Interface for IAttributes

source§

impl Interface for IBStream

source§

impl Interface for ICloneable

source§

impl Interface for IDependent

source§

impl Interface for IErrorContext

source§

impl Interface for IPersistent

source§

impl Interface for IPlugFrame

source§

impl Interface for IPlugView

source§

impl Interface for IPlugViewContentScaleSupport

source§

impl Interface for IPluginBase

source§

impl Interface for IPluginCompatibility

source§

impl Interface for IPluginFactory2

source§

impl Interface for IPluginFactory3

source§

impl Interface for IPluginFactory

source§

impl Interface for ISizeableStream

source§

impl Interface for IString

source§

impl Interface for IStringResult

source§

impl Interface for IUpdateHandler