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 , если бы память не была фактором.