The ITLargeObject interface

Base class: ITEssential

Manipulates a large object returned by a query. Client value objects that are, in the server, based on large objects, expose an ITLargeObject interface; users creating such client value objects can use the ITLargeObjectManager class, which implements much of the functionality for accessing large objects.

This interface provides the following methods.
Method Description
const MI_LO_HANDLE *Handle() Returns the handle of the currently managed large object.
int Read(char *buf, int cnt) Reads bytes from the large object at the current position.
int Write(const char *buf, int cnt) Writes bytes to the large object at the current position.
ITInt8 Seek(ITInt8 off, int cntl = 0) Sets the current position of the large object; cntl is a position like UNIX™ lseek (0 is absolute position, 1 is relative to current position, and 2 is relative to end of the large object).
ITBool SetHandle(const MI_LO_HANDLE *handle, int flags=MI_LO_RDWR) Sets the specified DataBlade® API large object handle to this large object. The flags parameter is a bit mask argument with the following values:
MI_LO_RDONLY 
MI_LO_WRONLY
MI_LO_RDWR
MI_LO_TRUNC
MI_LO_APPEND
MI_LO_RANDOM
MI_LO_SEQUENTIAL
MI_LO_BUFFER
MI_LO_NOBUFFER
ITInt8 Size() Returns the total size of the large object.
ITBool SetSize(ITInt8) Sets the total size of the large object.