次の方法で共有


IMAPIProgress::GetFlags

適用対象: Outlook 2013 | Outlook 2016

進行状況情報が計算される操作レベルの進行状況オブジェクトからフラグ設定を返します。

HRESULT GetFlags(
  ULONG FAR * lpulFlags
);

パラメーター

lpulFlags

[out]進行状況情報を計算する操作のレベルを制御するフラグのビットマスク。 次のフラグを返すことができます。

MAPI_TOP_LEVEL

操作を開始するためにクライアントによって呼び出されるオブジェクトである最上位のオブジェクトの進行状況が計算されています。 たとえば、フォルダーのコピー操作の最上位オブジェクトは、コピーされるフォルダーです。 MAPI_TOP_LEVELが設定されていない場合、進行状況は下位レベルのオブジェクトまたはサブオブジェクトに対して計算されます。 フォルダーのコピー操作では、下位レベルのオブジェクトは、コピーするフォルダー内のサブフォルダーの 1 つです。

戻り値

S_OK

flags 値が正常に返されました。

注釈

MAPI を使用すると、サービス プロバイダーは、操作に関係するすべてのオブジェクトが同じ IMAPIProgress 実装を使用して進行状況を表示できるように、MAPI_TOP_LEVEL フラグを使用して最上位のオブジェクトとサブオブジェクトを区別できます。 これにより、インジケーターの表示が 1 つの正の方向にスムーズに進みます。 MAPI_TOP_LEVEL フラグが設定されているかどうかによって、サービス プロバイダーが後続の progress オブジェクトの呼び出しで他のパラメーターを設定する方法が決まります。

GetFlags によって返される値は、実装者によって最初に設定され、その後、IMAPIProgress::SetLimits メソッドの呼び出しによってサービス プロバイダーによって設定されます。

実装に関するメモ

フラグを常に初期化してMAPI_TOP_LEVELし、必要に応じてサービス プロバイダーに依存してクリアします。 サービス プロバイダーは、 IMAPIProgress::SetLimits メソッドを呼び出すことによって、フラグをクリアしてリセットできます。 GetFlags とその他の IMAPIProgress メソッドを実装する方法の詳細については、「進行状況インジケーターの実装」を参照してください。

呼び出し側への注意

進行状況インジケーターを表示するときは、最初に IMAPIProgress::GetFlags を呼び出します。 すべての実装で lpulFlags パラメーターの内容がこの値に初期化されるため、返される値はMAPI_TOP_LEVELする必要があります。 進行状況オブジェクトの呼び出しのシーケンスの詳細については、「 進行状況インジケーターの表示」を参照してください。

MFCMAPI リファレンス

MFCMAPI のサンプル コードについては、次の表を参照してください。

ファイル 関数 コメント
MAPIProgress.cpp
CMAPIProgress::GetFlags
MFCMAPI では、 IMAPIProgress::GetFlags メソッドを使用して、設定されるフラグを決定します。 IMAPIProgress::SetLimits メソッドを使用してフラグが設定されていない限り、MAPI_TOP_LEVELを返します。

関連項目

IMAPIProgress::SetLimits
IMAPIProgress: コード サンプルとしての IUnknownMFCMAPI
進行状況インジケーターを表示する
進行状況インジケーターの実装