IMessage::DeleteAttach

The IMessage::DeleteAttach method deletes an attachment.

Quick Info

See IMessage : IMAPIProp3LEP_T6.

 

HRESULT DeleteAttach(

    ULONG ulAttachmentNum,

 

    ULONG ulUIParam,

 

    LPMAPIPROGRESS lpProgress,

 

    ULONG ulFlags

 

   )

 

 

Parameters

ulAttachmentNum

[in] Index number of the attachment to delete. This is the value for the attachment s PR_ATTACH_NUM4MKONE property.

ulUIParam

[in] Handle of the parent window for any dialog boxes or windows this method displays. The ulUIParam parameter is ignored unless the ATTACH_DIALOG flag is set in the ulFlags parameter.

lpProgress

[in] Pointer to a progress object for displaying a progress indicator. If NULL is passed in lpProgress, the message store provider displays a progress indicator using the MAPI progress object implementation. The lpProgress parameter is ignored unless the ATTACH_DIALOG flag is set in ulFlags.

ulFlags

[in] Bitmask of flags that controls the display of a user interface. The following flag can be set:

ATTACH_DIALOG

Requests the display of a progress indicator as the operation proceeds.

 

Return Value

S_OK

The attachment was successfully deleted.

 

Remarks

The IMessage::DeleteAttach method deletes an attachment from within a message.

A deleted attachment is not permanently deleted until the message s IMAPIProp::SaveChanges21IFXQ method has been called.

Notes to Callers

Before calling DeleteAttach, call the IUnknown::Release method for the attachment and each of its streams.

Because deleting an attachment can be a lengthy process, DeleteAttach provides the mechanism for displaying a progress indicator. You can request the display of a progress indicator by passing a pointer to your IMAPIProgress : IUnknown3DLV4_ implementation or to take charge of the progress display or NULL if you do not have an implementation. You must also specify a window handle in the ulUIParam parameter and the ATTACH_DIALOG flag in the ulFlags parameter.

See Also

IMAPIProp::SaveChanges