Interface Technology Basics: IBStream Class Reference
Author: Steinberg

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

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
IBStream Class Referenceabstract
Basic Interfaces

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

## ◆ IStreamSeekMode

enum IStreamSeekMode

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

## ◆ read()

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)

## ◆ write()

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)

## ◆ seek()

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)

## ◆ tell()

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

## ◆ iid

const::Steinberg::FUID iid
| static

Empty

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