Interface Technology Basics  VST 3.7
SDK for developing VST plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
IBStream Class Referenceabstract

Base class for streams. More...

#include <ibstream.h>

+ Inheritance diagram for IBStream:

Public Types

enum  IStreamSeekMode { kIBSeekSet = 0, kIBSeekCur, kIBSeekEnd }
 

Public Member Functions

virtual tresult read (void *buffer, int32 numBytes, int32 *numBytesRead=nullptr)=0
 Reads binary data from stream.
 
virtual tresult write (void *buffer, int32 numBytes, int32 *numBytesWritten=nullptr)=0
 Writes binary data to stream.
 
virtual tresult seek (int64 pos, int32 mode, int64 *result=nullptr)=0
 Sets stream read-write position.
 
virtual tresult tell (int64 *pos)=0
 Gets current stream read-write position.
 
- Public Member Functions inherited from FUnknown
virtual tresult queryInterface (const TUID _iid, void **obj)=0
 Query for a pointer to the specified interface.
 
virtual uint32 addRef ()=0
 Adds a reference and returns the new reference count.
 
virtual uint32 release ()=0
 Releases a reference and returns the new reference count.
 

Static Public Attributes

static const FUID iid
 
- Static Public Attributes inherited from FUnknown
static const FUID iid
 

Detailed Description

Base class for streams.

  • read/write binary data from/to stream
  • get/set stream read-write position (read and write position is the same)

Member Enumeration Documentation

Enumerator
kIBSeekSet 

set absolute seek position

kIBSeekCur 

set seek position relative to current position

kIBSeekEnd 

set seek position relative to stream end

Member Function Documentation

virtual tresult read ( void *  buffer,
int32  numBytes,
int32 numBytesRead = nullptr 
)
pure virtual

Reads binary data from stream.

Parameters
buffer: destination buffer
numBytes: amount of bytes to be read
numBytesRead: result - how many bytes have been read from stream (set to 0 if this is of no interest)
virtual tresult write ( void *  buffer,
int32  numBytes,
int32 numBytesWritten = nullptr 
)
pure virtual

Writes binary data to stream.

Parameters
buffer: source buffer
numBytes: amount of bytes to write
numBytesWritten: result - how many bytes have been written to stream (set to 0 if this is of no interest)
virtual tresult seek ( int64  pos,
int32  mode,
int64 result = nullptr 
)
pure virtual

Sets stream read-write position.

Parameters
pos: new stream position (dependent on mode)
mode: value of enum IStreamSeekMode
result: new seek position (set to 0 if this is of no interest)
virtual tresult tell ( int64 pos)
pure virtual

Gets current stream read-write position.

Parameters
pos: is assigned the current position if function succeeds

Member Data Documentation

const FUID iid
static
Empty

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