ITableData::HrQueryRow

Applies to: Outlook 2013 | Outlook 2016

Retrieves a table row.

HRESULT HrQueryRow(
  LPSPropValue lpSPropValue,
  LPSRow FAR * lppSRow,
  ULONG FAR * lpuliRow
);

Parameters

lpSPropValue

[in] A pointer to a property value structure that describes 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 the CreateTable function, which accesses the ITableData implementation.

lppSRow

[out] A pointer to a pointer to the retrieved row.

lpuliRow

[in, out] On input, a valid pointer or NULL, which indicates that no information needs to be returned. On output, a valid pointer that points to the row's row number, a sequential number that identifies the row's position in the table.

Return value

S_OK

The row was successfully retrieved.

MAPI_E_INVALID_PARAMETER

The SPropValue structure that lpSPropValue points to 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 the row number, if the caller requests it, that identifies the row's position in the table.

Because HrQueryRow does not modify the SPropValue structure pointed to by lpSPropValue, callers must free the structure when HrQueryRow returns. Callers must also free the SRow structure that contains the retrieved row.

See also

MAPIAllocateBuffer

MAPIFreeBuffer

SPropValue

SRow

ITableData : IUnknown