Interface Technology Basics: IPluginBase Class Reference
Author: Steinberg

Interface Technology Basics VST 3.7 SDK for developing VST plug-in

Public Member Functions | Static Public Attributes | List of all members
IPluginBase Class Referenceabstract
Basic Interfaces

Basic interface to a plug-in component: IPluginBase. More...

`#include <ipluginbase.h>`

Inheritance diagram for IPluginBase:

## Public Member Functions
virtual tresult | initialize (FUnknown *context)=0
| The host passes a number of interfaces as context to initialize the plug-in class. More...
virtual tresult | terminate ()=0
| This function is called before the plug-in is unloaded and can be used for cleanups. More...
Public Member Functions inherited from FUnknown
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 returns the new reference count. More...
virtual uint32 | release ()=0
| Releases a reference and returns the new reference count. More...

## Static Public Attributes
static const FUID | iid
Static Public Attributes inherited from FUnknown
static const FUID | iid

## Detailed Description

Basic interface to a plug-in component: IPluginBase.

- [plug imp]
- initialize/terminate the plug-in component

The host uses this interface to initialize and to terminate the plug-in component. The context that is passed to the initialize method contains any interface to the host that the plug-in will need to work. These interfaces can vary from category to category. A list of supported host context interfaces should be included in the documentation of a specific category.

## Member Function Documentation

## ◆ initialize()

virtual tresult initialize | ( | FUnknown * | context | ) |
| pure virtual

The host passes a number of interfaces as context to initialize the plug-in class.

Parameters

  context,passed | by the host, is mandatory and should implement IHostApplication

Note
  Extensive memory allocations etc. should be performed in this method rather than in the class' constructor! If the method does NOT return kResultOk, the object is released immediately. In this case terminate is not called!

## ◆ terminate()

virtual tresult terminate | ( |  | ) |
| pure virtual

This function is called before the plug-in is unloaded and can be used for cleanups.

You have to release all references to any host application interfaces.

## Member Data Documentation

## ◆ iid

const FUID iid
| static

Empty

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