次の方法で共有


IMAPITable::SeekRowApprox

適用対象: Outlook 2013 | Outlook 2016

カーソルをテーブル内のおおよその小数部の位置に移動します。

HRESULT SeekRowApprox(
ULONG ulNumerator,
ULONG ulDenominator
);

パラメーター

ulNumerator

[in]テーブル位置を表す分数の分子へのポインター。 ulNumerator パラメーターが 0 の場合、分母値に関係なく、カーソルはテーブルの先頭に配置されます。 ulNumeratorulDenominator パラメーターと等しい場合、カーソルは最後のテーブル行の後に配置されます。

ulDenominator

[in]テーブル位置を表す分母の分母へのポインター。 ulDenominator パラメーターを 0 にすることはできません。

戻り値

S_OK

シーク操作が成功しました。

MAPI_E_BUSY

もう 1 つの操作が進行中で、行シーク操作が開始されないようにします。 進行中の操作の完了を許可するか、停止する必要があります。

注釈

IMAPITable::SeekRowApprox メソッドの呼び出し後のテーブル内のカーソル位置は、ヒューリスティックに分数であり、正確ではない可能性があります。 たとえば、特定のプロバイダーはバイナリ ツリーの上にテーブルを実装し、パフォーマンス上の理由からテーブルの中間点をツリーの最上位として扱う場合があります。 ツリーがバランスを取っていない場合は、使用される中間点がテーブルのちょうど中間ではない可能性があります。

呼び出し側への注意

SeekRowApprox を呼び出して、スクロール バーの実装のデータを提供します。 たとえば、ユーザーがスクロール ボックスをスクロール バーの下 2/3 に配置する場合は、 SeekRowApprox を呼び出し、 ulNumeratorulDenominator を使用して同等の小数部の値を渡すことで、そのアクションをモデル化できます。 SeekRowApprox 検索は、常にテーブルの先頭から絶対検索です。 テーブルの末尾に移動するには、 ulNumeratorulDenominator の値が同じである必要があります。

適切な数値スキームを使用します。 つまり、テーブルの途中で位置をシークするには、1/2、10/20、または 50/100 を指定できます。

関連項目

IMAPITable : IUnknown