ITableData::HrQueryRow
The ITableData::HrQueryRow method retrieves a table row.
Quick Info
See ITableData : IUnknown.
HRESULT HrQueryRow(
LPSPropValue lpSPropValue,
LPSRow FAR * lppSRow,
ULONG FAR * lpuliRow
);
Parameters
-
lpSPropValue
-
[in] Pointer to a property value structure describing the index column for the row to be retrieved. The ulPropTag member of the property value structure should contain the same property tag as the ulPropTagIndexColumn parameter from the call to CreateTable — the function used to access the ITableData implementation.
-
lppSRow
-
[out] Pointer to a pointer to the retrieved row.
-
lpuliRow
-
[in, out] On input, either a valid pointer or NULL, indicating no information need be returned. On output, a valid pointer points to the row's row number, a sequential number that identifies the row's position in the table.
Return Values
-
S_OK
-
The row was successfully retrieved.
-
MAPI_E_INVALID_PARAMETER
-
The SPropValue structure pointed to by lpSPropValue does not contain the index column property.
Remarks
The ITableData::HrQueryRow method retrieves all of the properties for the row that has an index column that matches the value of the index column included in the property structure pointed to by lpSPropValue. HrQueryRow also returns, if desired by the caller, the row number identifying the row's position within the table.
Because HrQueryRow does not modify the SPropValue structure pointed to by lpSPropValue, callers must free it when HrQueryRow returns. Callers must also free the SRow structure containing the retrieved row.
See Also
MAPIAllocateBuffer, MAPIFreeBuffer, SPropValue, SRow