Interface Technology Basics  VST 3.6.14
SDK for developing VST Plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
FUnknown Class Referenceabstract

The basic interface of all interfaces. More...

#include <funknown.h>

+ Inheritance diagram for FUnknown:

Public Member Functions

virtual tresult queryInterface (const TUID _iid, void **obj)=0
 Query for a pointer to the specified interface. More...
 
virtual uint32 addRef ()=0
 Adds a reference and return the new reference count. More...
 
virtual uint32 release ()=0
 Releases a reference and return the new reference count. More...
 

Static Public Attributes

static const FUID iid
 

Detailed Description

The basic interface of all interfaces.

Interfaces are identified by 16 byte Globally Unique Identifiers. The SDK provides a class called FUID for this purpose.

How to derive a class from an interface

Member Function Documentation

virtual tresult queryInterface ( const TUID  _iid,
void **  obj 
)
pure virtual

Query for a pointer to the specified interface.

Returns kResultOk on success or kNoInterface if the object does not implement the interface. The object has to call addRef when returning an interface.

Parameters
_iid: (in) 16 Byte interface identifier (-> FUID)
obj: (out) On return, *obj points to the requested interface
virtual uint32 addRef ( )
pure virtual

Adds a reference and return the new reference count.

Remarks:
The initial reference count after creating an object is 1.
virtual uint32 release ( )
pure virtual

Releases a reference and return the new reference count.

If the reference count reaches zero, the object will be destroyed in memory.

Member Data Documentation

const FUID iid
static
Empty

Copyright ©2019 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.