IMimeMessageTree::GetMessageSource method

Gets the message source for the message.

Syntax

HRESULT GetMessageSource(
  [out] IStream **ppStream,
  [in]  DWORD   dwFlags
);

Parameters

ppStream [out]

Type: IStream**

Receives the address to a pointer to an IStream object. The client is responsible for releasing this object.

Note

The client should not write to this stream.

dwFlags [in]

Type: DWORD

Specifies how an IMimeMessageTree object should be committed.

Value Meaning
COMMIT_ONLYIFDIRTY
0x00000001
Indicates that if the message object is dirty, the message should internally commit all changes so that the method being called reflects the committed state of the message.
COMMIT_REUSESTORAGE
0x00000002
Indicates that if the message object needs to commit itself, it should reuse its current storage object. For example, if a message object is loaded from a client provided IStream, the message object saves itself back into that original IStream.
COMMIT_SMIMETRANSFERENCODE
0x00000004
Indicates secure messaging.

Return value

Type: HRESULT

Returns one of the following values.

Return code Description
S_OK
Indicates success.
E_FAIL
Indicates that an unknown error has occurred.
E_INVALIDARG
Indicates that ppStream is NULL.
MIME_E_NO_DATA
Indicates that the message has no data to save.
E_OUTOFMEMORY
Indicates that an attempt to allocate memory failed.
STG_E_MEDIUMFULL
Indicates that not enough disk space or memory is available to save the message.

Remarks

This method creates an IStream object that can be used to read the MIME or RFC 822 message source. It is faster than calling IMimeMessageTree::Save because if the message object is not dirty, MimeOLE returns a pointer to an internal IStream object and does not have to write the message.

Requirements

Minimum supported client
Windows XP [desktop apps only]
Minimum supported server
Windows Server 2003 [desktop apps only]
Product
Outlook Express 6.0
Header
Mimeole.h
IDL
Mimeole.idl
DLL
Inetcomm.dll (version 6.0 or later)