The SRowSet structure contains an array of SRow structures, each SRow structure describing a row from a table.
Header file: | MAPIDEFS.H |
Related macros: | CbNewSRowSet CbSRowSet SizedSRowSet |
typedef struct _SRowSet
{
ULONG cRows;
SRow aRow[MAPI_DIM];
} SRowSet, FAR *LPSRowSet;
An SRowSet structure is used to describe multiple rows of data from a table. SRowSet structures are used in the methods of the IMAPITable interface, such as QueryRows, the ITableData interface, the IAddrBook interface, and the following functions:
SRowSet structures are defined the same as ADRLIST structures to allow the rows of a recipient table and the entries in an address list to be treated the same. Both SRowSet structures and ADRLIST structures can be passed to methods such as IMessage::ModifyRecipients and IAddrBook::Address.
Also, the rules for memory allocation for SRowSet structures are the same as for ADRLIST structures. To summarize, each SPropValue structure in the array pointed to by the lpProps member of each row in the row set must be allocated separately using MAPIAllocateBuffer. Each property value structure also must be deallocated using MAPIFreeBuffer prior to the deallocation of its SRowSet structure so that pointers to the allocated SPropValue structures are not lost. A row's allocated memory can then be preserved and reused outside the context of the SRowSet structure.
For more information about how the memory for SRowSet structures should be allocated, see Managing Memory for ADRLIST and SRowSet Structures.