IMAPIMessageSite::DeleteMessage
適用対象: Outlook 2013 | Outlook 2016
現在のメッセージを削除します。
HRESULT DeleteMessage(
LPMAPIVIEWCONTEXT pViewContext,
LPCRECT prcPosRect
);
パラメーター
pViewContext
[in]ビュー コンテキスト オブジェクトへのポインター。
prcPosRect
[in]現在のフォームのウィンドウ サイズと位置を含む RECT 構造体へのポインター。 次に表示されるフォームでは、このウィンドウの四角形も使用されます。
戻り値
S_OK
�ʘb���������A�\�������l�܂��͒l���Ԃ���܂��B
MAPI_E_NO_SUPPORT
この操作は、このメッセージ サイトではサポートされていません。
注釈
フォーム オブジェクトは IMAPIMessageSite::D eleteMessage メソッドを呼び出して、フォームが現在表示しているメッセージを削除します。
呼び出し側への注意
DeleteMessage が返された後、フォーム オブジェクトは新しいメッセージにチェックし、存在しない場合はそれ自体を無視する必要があります。 アクションが実行されたメッセージ DeleteMessage が削除されたか、 削除済みアイテム フォルダーに移動されたかどうかを判断するために、フォーム オブジェクトは IMAPIMessageSite::GetSiteStatus メソッドを呼び出して、DELETE_IS_MOVE フラグが返されたかどうかを判断できます。
実装に関するメモ
DeleteMessage メソッドのフォーム ビューアーの実装がメッセージを削除した後に次のメッセージに移動する場合、実装では IMAPIViewContext::ActivateNext メソッドを呼び出し、実際の削除を実行する前に VCDIR_DELETE フラグを渡す必要があります。 DeleteMessage のフォーム ビューアーの実装によって削除されたメッセージ (削除済みアイテム フォルダーなど) が移動された場合、メッセージが変更された場合、実装はメッセージへの変更を保存する必要があります。
DeleteMessage の一般的な実装では、次のタスクが実行されます。
実装がメッセージを移動している場合は、IPersistMessage::Save メソッドを呼び出し、pMessage パラメーターに null を渡し、fSameAsLoad パラメーターで true を渡します。
IMAPIViewContext::ActivateNext メソッドを呼び出し、ulDir パラメーターにVCDIR_DELETE フラグを渡します。
ActivateNext 呼び出しが失敗した場合は、 が返されます。 ActivateNext がS_FALSEを返す場合は、IPersistMessage::HandsOffMessage メソッドを呼び出します。
メッセージを削除または移動します。
フォームのウィンドウで使用される RECT 構造体を取得するには、Windows GetWindowRect 関数を呼び出します。
フォーム サーバーに関連するインターフェイスの一覧については、「 MAPI フォーム インターフェイス」を参照してください。
MFCMAPI リファレンス
MFCMAPI のサンプル コードについては、次の表を参照してください。
ファイル | 関数 | コメント |
---|---|---|
MyMAPIFormViewer.cpp |
CMyMAPIFormViewer::D eleteMessage |
実装されていません。 |
関連項目
IMAPIMessageSite::GetSiteStatus
IMAPIViewContext::ActivateNext