IMAPIProp::DeleteProps
適用対象: Outlook 2013 | Outlook 2016
オブジェクトから 1 つ以上のプロパティを削除します。
HRESULT DeleteProps(
LPSPropTagArray lpPropTagArray,
LPSPropProblemArray FAR * lppProblems
);
パラメーター
lpPropTagArray
[in]削除するプロパティを示すプロパティ タグの配列へのポインター。 lpPropTagArray が指す SPropTagArray 構造体の cValues メンバーは 0 にすることはできません。また、lpPropTagArray パラメーター自体は NULL にすることはできません。
lppProblems
[in, out]入力時に、 SPropProblemArray 構造体へのポインターへのポインター。それ以外の場合は、エラー情報が不要であることを示す NULL。 lppProblems が入力の有効なポインターである場合、DeleteProps は 1 つ以上のプロパティを削除するときのエラーに関する詳細情報を返します。
戻り値
S_OK
プロパティが正常に削除されました。
MAPI_E_NO_ACCESS
呼び出し元には、プロパティを削除するための十分なアクセス許可がありません。
注釈
IMAPIProp::D eleteProps メソッドは、現在のオブジェクトから 1 つ以上のプロパティを削除します。
実装に関するメモ
プロパティをすべてのオブジェクトから削除できるようにする必要はありません。 オブジェクトが変更できない場合は、 DeleteProps メソッドからMAPI_E_NO_ACCESSを返します。
呼び出し側への注意
lpPropTagArray パラメーターが指すプロパティ タグ配列内の各プロパティ タグのプロパティ型を設定する必要はありません。 プロパティ型は無視されます。プロパティ識別子のみが使用されます。
一部のオブジェクトは変更を許可せず、これらのオブジェクトは DeleteProps メソッドからMAPI_E_NO_ACCESSを返していることに注意してください。 他のオブジェクトでは、一部のプロパティを削除できますが、他のプロパティは削除できません。 一部のプロパティのみを削除する際に問題が発生した場合、 DeleteProps はS_OKを返します。 lppProblems パラメーターに有効なポインターを渡した場合、DeleteProps は、各プロパティの問題に関する詳細情報を含む SPropProblemArray 構造体へのポインターを設定します。 たとえば、メッセージのすべてのプロパティを削除していて、1 つ以上の添付ファイルに問題がある場合、 SPropProblemArray 構造体には 、PR_MESSAGE_ATTACHMENTS (PidTagMessageAttachments) プロパティのエントリが含まれます。
lppProblems が指す構造体は、DeleteProps がS_OKを返す場合にのみ有効です。 DeleteProps がエラーを返す場合は、SPropProblemArray 構造体の使用を試みないでください。 代わりに、オブジェクトの IMAPIProp::GetLastError メソッドを呼び出して、エラーの詳細を取得します。
MAPIFreeBuffer 関数を呼び出して、返された SPropProblemArray 構造体を解放します。
MFCMAPI リファレンス
MFCMAPI のサンプル コードについては、次の表を参照してください。
ファイル | 関数 | コメント |
---|---|---|
MAPIFunctions.cpp |
DeleteProperty |
MFCMAPI では、 IMAPIProp::D eleteProps メソッドを使用して、オブジェクトからプロパティを削除します。 |