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


IMAPITable::QueryPosition

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

Извлекает текущее положение строки таблицы курсора на основе дробного значения.

HRESULT QueryPosition(
ULONG FAR * lpulRow,
ULONG FAR * lpulNumerator,
ULONG FAR * lpulDenominator
);

Параметры

lpulRow

[out] Указатель на номер текущей строки. Номер строки отсчитывается от нуля; первая строка в таблице равна нулю.

lpulNumerator

[out] Указатель на числитель дроби, определяющей положение таблицы.

lpulDenominator

[out] Указатель на знаменатель дроби, определяющей положение таблицы. Параметр lpulDenominator не может быть равен нулю.

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

S_OK

Метод возвращал допустимые значения в lpulRow, lpulNumerator и lpulDenominator.

Замечания

Метод IMAPITable::QueryPosition определяет текущую позицию строки и возвращает как номер текущей строки, так и дробное значение, указывающее ее относительное положение в конце таблицы. MAPI определяет текущую строку как следующую строку для чтения.

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

Вам не нужно возвращать точное количество строк в таблице для параметра lpulDenominator ; это может быть аппроксимация.

Если вы не можете определить текущую строку, верните значение 0xFFFFFFFF в lpulRow.

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

Вы можете использовать QueryPosition для размещения поля прокрутки в полосе прокрутки. Например, в таблице, содержащей 100 строк, если QueryPosition возвращает значение 75 в параметре lpulNumerator , 100 в параметре lpulDenominator и 75 в параметре lpulRow , можно разместить поле прокрутки на 3/4 пути по полосе прокрутки.

Не полагайтесь на то, что значение в lpulDenominator — это количество строк в таблице. QueryPosition не всегда может определить точную строку, в которую расположен курсор.

Вызов QueryPosition может потребовать больших объемов памяти, особенно для больших таблиц с классификацией. Если для параметра lpulRow задано значение 0xFFFFFFFF, для queryPosition требуется слишком большой объем памяти для определения текущей строки. Вызовите метод IMAPITable::SeekRowApprox , чтобы разместить таблицу в строке, определяемой параметрами lpulNumerator и lpulDenominator . Однако не всегда ожидайте, что SeekRowApprox установит в качестве текущей позиции ту же строку QueryPosition , если бы память не была фактором.

См. также

IMAPITable::SeekRowApprox
IMAPITable : IUnknown