Last modified: July 23, 2011

Applies to: Outlook

Contains an array of SRow structures. Each SRow structure describes a row from a table.

Header file:


Related macros:

CbNewSRowSet , CbSRowSet, SizedSRowSet

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


Count of SRow structures in the aRow member.


Array of SRow structures. There is one structure for each row in the table.

An SRowSet structure is used to describe multiple rows of data from a table. SRowSet structures are used in the IAddrBook, ITableData, and IMAPITable interface methods, in addition to 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 must also be deallocated using MAPIFreeBuffer before 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.