IMAPITable::SeekRowApprox
Область применения: Outlook 2013 | Outlook 2016
Перемещает курсор в приблизительное положение дроби в таблице.
HRESULT SeekRowApprox(
ULONG ulNumerator,
ULONG ulDenominator
);
Параметры
ulNumerator
[в] Указатель на числитель дроби, представляющей позицию таблицы. Если параметр ulNumerator равен нулю, курсор размещается в начале таблицы независимо от значения знаменателя. Если ulNumerator равен параметру ulDenominator , курсор размещается после последней строки таблицы.
ulDenominator
[в] Указатель на знаменатель дроби, представляющей положение таблицы. Параметр ulDenominator не может быть равен нулю.
Возвращаемое значение
S_OK
Операция поиска прошла успешно.
MAPI_E_BUSY
Выполняется другая операция, которая предотвращает запуск операции поиска строк. Либо выполняющиеся операции должны быть разрешены к завершению, либо она должна быть остановлена.
Замечания
Позиция курсора в таблице после вызова метода IMAPITable::SeekRowApprox эвристически является дробью и может быть не точной. Например, некоторые поставщики могут реализовать таблицу поверх двоичного дерева, рассматривая полпути таблицы как верхнюю часть дерева по соображениям производительности. Если дерево не сбалансировано, то используемая точка на полпути может находиться не совсем на полпути через таблицу.
Примечания для вызывающих методов
Вызовите SeekRowApprox , чтобы предоставить данные для реализации полосы прокрутки. Например, если пользователь размещает поле прокрутки 2/3 вниз по полосе прокрутки, можно смоделировать это действие, вызвав SeekRowApprox и передав эквивалентное дробное значение с помощью ulNumerator и ulDenominator. Поиск SeekRowApprox всегда является абсолютным с начала таблицы. Чтобы переместиться в конец таблицы, значения в ulNumerator и ulDenominator должны быть одинаковыми.
Используйте любую подходящую схему чисел. То есть для поиска позиции на полпути к таблице можно указать 1/2, 10/20 или 50/100.