IMAPIFolder::EmptyFolder
適用対象: Outlook 2013 | Outlook 2016
フォルダー自体を削除せずに、フォルダーからすべてのメッセージとサブフォルダーを削除します。
HRESULT EmptyFolder(
ULONG_PTR ulUIParam,
LPMAPIPROGRESS lpProgress,
ULONG ulFlags
);
パラメーター
ulUIParam
[in]進行状況インジケーターの親ウィンドウへのハンドル。 ulUIParam パラメーターは、ulFlags パラメーターに FOLDER_DIALOG フラグが設定されていない限り無視されます。
lpProgress
[in]進行状況インジケーターを表示する進行状況オブジェクトへのポインター。 LPProgress で NULL が渡された場合、メッセージ ストア プロバイダーは MAPI 進行状況オブジェクトの実装を使用して進行状況インジケーターを表示します。 lpProgress パラメーターは、ulFlags パラメーターに FOLDER_DIALOG フラグが設定されていない限り無視されます。
ulFlags
[in]フォルダーを空にする方法を制御するフラグのビットマスク。 次のフラグを設定できます。
DEL_ASSOCIATED
関連するコンテンツを含むメッセージを含むすべてのサブフォルダーを削除します。 DEL_ASSOCIATED フラグは、呼び出しが機能する最上位フォルダーに対してのみ意味を持ちます。
DELETE_HARD_DELETE
論理的に削除されたメッセージを含むすべてのメッセージを完全に削除します。
FOLDER_DIALOG
操作の進行中に進行状況インジケーターを表示します。
戻り値
S_OK
フォルダーが正常に空になりました。
MAPI_W_PARTIAL_COMPLETION
呼び出しは成功しましたが、フォルダーが完全に空にされませんでした。 この警告が返されたら、呼び出しは成功として処理する必要があります。 この警告をテストするには、 HR_FAILED マクロを使用します。 詳細については、「 エラー処理にマクロを使用する」を参照してください。
注釈
IMAPIFolder::EmptyFolder メソッドは、フォルダー自体を削除せずに、フォルダーのすべての内容を削除します。
EmptyFolder 呼び出し中に、送信されたメッセージは削除されません。
フォルダーの関連コンテンツには、ビュー、ルール、カスタム フォーム、カスタム ソリューション ストレージを記述するために使用されるメッセージが含まれます。また、フォーム定義を含めることもできます。
実装に関するメモ
送信されたフォルダー内のメッセージに対して IMsgStore::AbortSubmit メソッドを呼び出さないでください。 送信されたメッセージは削除されません。
呼び出し側への注意
これらの戻り値は、次の条件で想定します。
Condition | 戻り値 |
---|---|
EmptyFolder によってフォルダーが正常に空にされました。 | S_OK |
EmptyFolder でフォルダーを完全に空にできませんでした。 | MAPI_W_PARTIAL_COMPLETION |
EmptyFolder を完了できませんでした。 | エラー値 |
EmptyFolder が完了できない場合は、作業が完了していないと想定しないでください。 EmptyFolder は、エラーが発生する前にフォルダーの内容の一部を削除できた可能性があります。
MFCMAPI リファレンス
MFCMAPI のサンプル コードについては、次の表を参照してください。
ファイル | 関数 | コメント |
---|---|---|
MsgStoreDlg.cpp |
CMsgStoreDlg::OnEmptyFolder |
MFCMAPI では、 IMAPIFolder::EmptyFolder メソッドを使用して、指定したフォルダーの内容を削除します。 |