Send Feedback

The CopyMessages method copies or moves one or more messages to another folder.


HRESULT CopyMessages (
  LPCIID lpInterface,
  LPVOID lpDestFolder,
  ULONG ulUIParam,
  ULONG ulFlags


  • lpMsgList
    [in] Reference to an ENTRYLIST structure that contains an array of messages to copy or move; cannot be NULL.

  • lpInterface
    [in] Must be NULL.

  • lpDestFolder
    [in] Reference to the open folder to receive the copied or moved messages.

  • ulUIParam
    [in] Must be zero.

  • lpProgress
    [in] Ignored.

  • ulFlags
    [in] Bitmask of flags that controls how the copy or move operation is accomplished. The following flags can be set:


    The message or messages are to be moved rather than copied. If MESSAGE_MOVE is not set, the messages are copied.

Return Values

This method returns the standard values E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED, and E_FAIL, as well as the following:

  • S_OK
    Indicates success.
    The provider implements this method by calling a support object method, and the caller has passed the MAPI_DECLINE_OK flag.
    The call succeeded, but not all entries were successfully copied or moved. When this warning is returned, the call should be handled as successful.


Messages that are open with read/write access can be moved or copied.

When CopyMessages is unable to complete, do not assume that no work was done. CopyMessages might have been able to copy or move one or more messages before encountering the error.


Pocket PC: Pocket PC 2002 and later
Smartphone: Smartphone 2002 and later
OS Versions: Windows CE 3.0 and later
Header: mapidefs.h
Library: cemapi.lib

See Also

IMAPIFolder | Messaging

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.