SRowSet 

The SRowSet structure describes multiple rows from a table. Each row contains selected properties for a specific object.

Quick Info

Header file:

MAPIDEFS.H

Related macros:

CbNewSRowSet0QHD26
CbSRowSetZP5ZHT
SizedSRowSetIF0EKD

 

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 SRowB8USB6 structures, one for each row in the table.

 

Remarks

An SRowSet structure is used to describe multiple rows of data from a table. Clients and service providers are given SRowSet structures when they call IMAPITable::QueryRowsKPHHB and HrQueryAllRowsDD_DWA. An SRowSet structure contains multiple SRow structures and a count of the total number of rows.

Because the layout is the same for SRowSet and ADRLIST16760YG structures and for SRow and ADRENTRY structures, SRowSet structures can be cast into ADRLIST structures and passed to methods such as IMessage::ModifyRecipientsBTAS42 and IAddrBook::Address3K38VR.

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 MAPIAllocateBuffer1MW3BAZ. Each property value structure also must be deallocated prior to the deallocation of its SRowSet so that pointers to the allocated SPropValue structures are not lost. A row s allocated memory can then be preserved and reused outside of the context of the SRowSet. For more information about how the memory for SRowSet structures should be allocated, see Managing Memory for ADRLIST and SRowSet StructuresJEZ06_.

See Also

IMAPITable::QueryRows, ADRLIST, SRow