IMessage::OpenAttach
The IMessage::OpenAttach
method opens an attachment.
Quick Info
See IMessage
: IMAPIProp
HRESULT OpenAttach(
ULONG ulAttachmentNum, |
|
LPCIID lpInterface, |
|
ULONG ulFlags,
|
|
LPATTACH FAR * lppAttach |
|
) |
|
Parameters
ulAttachmentNum
[in] Index
number of the attachment to open, as stored in the attachment s PR_ATTACH_NUM
lpInterface
[in] Pointer
to the interface identifier (IID) representing the interface to be used to
access the attachment. Passing NULL results in the attachment s standard
interface, or IAttach, being returned.
ulFlags
[in] Bitmask
of flags that controls how the attachment is opened. The following flags can be
set:
MAPI_BEST_ACCESS
Requests that
the attachment be opened with the maximum network permissions allowed for the
user and the maximum client application access. For example, if the client has
read/write access, the attachment should be opened with read/write access; if
the client has read-only access, the attachment should be opened with read-only
access.
MAPI_DEFERRED_ERRORS
Allows OpenAttach
to return successfully, possibly before the attachment is fully accessible to
the calling client. If the attachment is not accessible, making a subsequent
call to it can result in an error.
MAPI_MODIFY
Requests
read/write access. By default, attachments are opened with read-only access,
and clients should not work on the assumption that read/write access has been
granted.
lppAttach
[out] Pointer
to a pointer to the open attachment.
Return Value
S_OK
The
attachment was successfully opened.
Remarks
The IMessage::OpenAttach
method opens a message s attachment.
Notes to Callers
To open an
attachment, you must have access to its attachment number or PR_ATTACH_NUM
Do not try to
open one attachment multiple times; the results are undefined and dependent on
the message store provider.
You can
request that the attachment be opened in read/write mode, rather than the
default read-only mode. However, whether or not the attachment will actually be
opened in read/write mode is up to the message store provider. You can either
attempt to modify the attachment, preparing to handle possible failure, or
check the level of access that was granted by retrieving the attachment s PR_ACCESS_LEVEL