44 virtual tresult PLUGIN_API
read (
void* buffer, int32 numBytes, int32* numBytesRead =
nullptr) = 0;
50 virtual tresult PLUGIN_API
write (
void* buffer, int32 numBytes, int32* numBytesWritten =
nullptr) = 0;
56 virtual tresult PLUGIN_API
seek (int64 pos, int32 mode, int64* result =
nullptr) = 0;
60 virtual tresult PLUGIN_API
tell (int64* pos) = 0;
62 static const FUID iid;
65DECLARE_CLASS_IID (
IBStream, 0xC3BF6EA2, 0x30994752, 0x9B6BF990, 0x1EE33E9B)
82 static const FUID iid;
84DECLARE_CLASS_IID (
ISizeableStream, 0x04F9549E, 0xE02F4E6E, 0x87E86A87, 0x47F4E17F)
Handling 16 Byte Globally Unique Identifiers.
The basic interface of all interfaces.
virtual tresult PLUGIN_API tell(int64 *pos)=0
Gets current stream read-write position.
virtual tresult PLUGIN_API read(void *buffer, int32 numBytes, int32 *numBytesRead=nullptr)=0
Reads binary data from stream.
virtual tresult PLUGIN_API seek(int64 pos, int32 mode, int64 *result=nullptr)=0
Sets stream read-write position.
virtual tresult PLUGIN_API write(void *buffer, int32 numBytes, int32 *numBytesWritten=nullptr)=0
Writes binary data to stream.
@ kIBSeekCur
set seek position relative to current position
@ kIBSeekEnd
set seek position relative to stream end
@ kIBSeekSet
set absolute seek position
virtual tresult PLUGIN_API getStreamSize(int64 &size)=0
Return the stream size.
virtual tresult PLUGIN_API setStreamSize(int64 size)=0
Set the steam size.