SRowSet

The SRowSet structure contains an array of SRow structures, each SRow structure describing a row from a table.

Quick Info

Header file: MAPIDEFS.H
Related macros: CbNewSRowSet
CbSRowSet
SizedSRowSet

typedef struct _SRowSet 
{
     ULONG   cRows; 
     SRow    aRow[MAPI_DIM]; 
} SRowSet, FAR *LPSRowSet; 
 

Members

cRows
Count of SRow structures in the aRow member.
aRow
Array of SRow structures, one for each row in the table.

Remarks

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:

HrQueryAllRows

FBadRowSet

FreeProws

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.

See Also

Table Structures