The mi_streamwrite_collection() function

The mi_streamwrite_collection() function writes a collection structure (LIST, SET, MULTISET) value to a stream, converting any difference in the internal representation to that of the stream representation.

Syntax

mi_integer mi_streamwrite_collection(strm_desc, coll_ptr)
   MI_STREAM *strm_desc;
   MI_COLLECTION *coll_ptr;
strm_desc
A pointer to the stream descriptor for the open stream to which to write the collection structure (MI_COLLECTION).
coll_ptr
A pointer to the collection structure to write to the stream.
Valid in client LIBMI application? Valid in user-defined routine?
No Yes
Important: Enterprise Replication does not support this function.

Usage

The mi_streamwrite_collection() function writes a collection structure to the stream that strm_desc stream references. The function writes the value that coll_ptr references. The write operation begins at the current stream seek position. You can use mi_stream_tell() or mi_stream_getpos() to obtain this seek position.

The mi_streamwrite_collection() function is useful in a streamwrite() support function of an opaque data type that contains a collection structure (MI_COLLECTION).
Important: The mi_streamwrite_collection() function requires the caller to have an open connection to the database server.

For more information about the use of mi_streamwrite_collection() in a streamwrite() support function, see the Informix® DataBlade® API Programmer's Guide.

Return values

>=0
The number of bytes that the function has written to the open stream.
MI_STREAM_EEOF
The end of the stream has been reached.
MI_STREAM_EBADARG
The stream descriptor that strm_desc references or the value that coll_ptr references is invalid.
MI_ERROR
The function was not successful.