IMAPIProgress::Progress
適用対象: Outlook 2013 | Outlook 2016
操作の完了に向けて行われた進行状況を表示する進行状況インジケーターを更新します。
HRESULT Progress(
ULONG ulValue,
ULONG ulCount,
ULONG ulTotal
);
パラメーター
ulValue
[in]グローバル下限とグローバル上限の間の現在の進行状況レベル (ulCount パラメーターと ulTotal パラメーターから、または IMAPIProgress::SetLimits メソッドの lpulMin パラメーターと lpulMax パラメーターから計算される) を示す数値。
ulCount
[in]現在処理されている項目を合計に対して相対的に示す数値。
ulTotal
[in]操作中に処理される項目の合計数。
戻り値
S_OK
進行状況インジケーターが正常に更新されました。
実装に関するメモ
ulValue パラメーターは、操作の開始時にのみグローバル最小値と、操作の完了時にのみグローバル最大値に等しくなります。
ulCount パラメーターと ulTotal パラメーター (使用可能な場合) を使用して、"10 個のうち 5 項目が完了しました" などの省略可能なメッセージを表示します。ulCount と ulTotal が 0 に設定されている場合は、進行状況インジケーターを視覚的に変更するかどうかを決定します。 一部のサービス プロバイダーでは、これらのパラメーターを 0 に設定して、親オブジェクトを基準として進行状況が監視されるサブオブジェクトを処理していることを示します。 この状況では、親オブジェクトが進行状況を報告する場合にのみ表示を変更するのが理にかなっています。 一部のサービス プロバイダーは、これらのパラメーターに対して毎回 0 を渡します。
Progress メソッドとその他の IMAPIProgress メソッドを実装する方法の詳細については、「進行状況インジケーターの実装」を参照してください。
呼び出し側への注意
IMAPIProgress::P rogress に対する 3 つのパラメーターがすべて必要なわけではありません。 必要なパラメーターは ulValue のみです。進行状況の割合を示す数値です。 MAPI_TOP_LEVEL フラグが設定されている場合は、オブジェクト数とオブジェクトの合計を渡すこともできます。 一部の実装では、これらの値を使用して、進行状況インジケーターで "10 個のうち 5 つの項目が完了しました" などの語句を表示します。
1 つのフォルダー内のすべてのメッセージをコピーする場合は、 ulTotal をコピーするメッセージの合計数に設定します。 フォルダーをコピーする場合は、 ulTotal をフォルダー内のサブフォルダーの数に設定します。 コピーするフォルダーにサブフォルダーがなく、メッセージのみが含まれている場合は、 ulTotal を 1 に設定します。
進行状況オブジェクトを呼び出す方法とタイミングの詳細については、「進行状況インジケーターを表示する」を参照してください。
MFCMAPI リファレンス
MFCMAPI のサンプル コードについては、次の表を参照してください。
ファイル | 関数 | コメント |
---|---|---|
MAPIProgress.cpp |
CMAPIProgress::P rogress |
MFCMAPI では 、IMAPIProgress::P rogress メソッドを使用して、MFCMAPI ステータス バーを、 uValue と現在の最大値と最小値から計算された現在の進行状況の割合で更新します。 |