Поделиться через


IMAPITable::GetRowCount

Область применения: Outlook 2013 | Outlook 2016

Возвращает общее количество строк в таблице.

HRESULT GetRowCount(
ULONG ulFlags,
ULONG FAR * lpulCount
);

Параметры

ulFlags

Защищены; значение должно быть равно нулю.

lpulCount

[out] Указатель на количество строк в таблице.

Возвращаемое значение

S_OK

Счетчик строк успешно возвращен.

MAPI_E_BUSY

Выполняется другая операция, которая предотвращает запуск операции извлечения счетчика строк. Либо выполняющиеся операции должны быть разрешены к завершению, либо она должна быть остановлена.

MAPI_E_NO_SUPPORT

Таблица не может вычислить количество строк.

MAPI_W_APPROX_COUNT

Вызов выполнен успешно, но было возвращено приблизительное число строк, так как точное число строк не удалось определить, возможно, из-за ограничений памяти. Чтобы проверить наличие этого предупреждения, используйте макрос HR_FAILED . См . раздел Использование макросов для обработки ошибок.

Замечания

Метод IMAPITable::GetRowCount извлекает общее количество строк в таблице.

Примечания для исполнителей

Если точное число строк таблицы определить невозможно, верните MAPI_W_APPROX_COUNT и приблизительное число строк в содержимом параметра lpulCount .

Примечания для вызывающих методов

Используйте GetRowCount , чтобы узнать, сколько строк содержит таблица, прежде чем выполнять вызов метода IMAPITable::QueryRows для получения данных. Если в таблице меньше двадцати строк, можно с уверенностью вызвать QueryPosition , чтобы получить всю таблицу. Если в таблице более двадцати строк, попробуйте выполнить несколько вызовов QueryPosition и ограничить количество строк, полученных в каждом вызове.

Некоторые таблицы не поддерживают GetRowCount и возвращают MAPI_E_NO_SUPPORT. Если GetRowCount не поддерживается, можно вызвать метод IMAPITable::QueryPosition. С помощью результатов queryPosition можно определить связь между текущей и последней строкой.

Когда GetRowCount возвращает MAPI_E_BUSY, так как ему временно не удается получить количество строк, вызовите метод IMAPITable::WaitForCompletion . Когда функция WaitForCompletion возвращается, повторите вызов GetRowCount. Другой способ определить, выполняется ли асинхронная операция, — вызвать метод IMAPITable::GetStatus и проверка содержимое параметра lpulTableState.

Справочные материалы по MFCMAPI

Пример кода MFCMAPI указан в приведенной ниже таблице.

Файл Функция Comment
MAPIFunctions.cpp
CopyFolderContents
MFCMAPI использует метод IMAPITable::GetRowCount для определения количества строк в исходной таблице, чтобы можно было выделить память для копирования.

См. также

IMAPITable::GetStatus

IMAPITable::QueryPosition

IMAPITable::QueryRows

IMAPITable::WaitForCompletion

IMAPITable : IUnknown

Mfcmapi (en) � �������� ������� ����