ITableData::HrQueryRow

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

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

Reference

MAPIAllocateBuffer

MAPIFreeBuffer

SPropValue

SRow

ITableData : IUnknown