IMailMsgProperties Interface

IMailMsgProperties Interface

The IMailMsgProperties interface defines methods used to access transport envelope properties and message content for a MailMsg object.

  • IID
    ab95fb40-a34f-11d1-aa8a-00aa006bc80b
  • Extends
    IUnknown

    Method Description

    PutProperty

    Write a property.

    GetProperty

    Get a property.

    Commit

    Commit properties to disk.

    PutStringA

    Write a string property.

    GetStringA

    Get a string property.

    PutStringW

    Write a UNICODE string property.

    GetStringW

    Get a UNICODE string property.

    PutDWORD

    Write a DWORD property.

    GetDWORD

    Get a DWORD property.

    PutBool

    Write a BOOL property.

    GetBool

    Get a BOOL property.

    GetContentSize

    Get the content size in bytes (with asynchronous completion).

    ReadContent

    Read content from the object.

    WriteContent

    Write content into the object.

    CopyContentToFile

    Write (copy) content to the specified file.

    CopyContentToFileAtOffset

    Write (copy) content to file starting at the specified byte offset.

    CopyContentToStream

    Write (copy) content to the object exposing the IStream interface.

    ForkForRecipients

    Return a new MailMsg object for different recipients.

    RebindAfterFork

    Allocates storage and re-binds the MailMsg object.

Remarks

The IMailMsgProperties interface is primary for a MailMsg object. Through this interface, the following functionality is provided:

  • Read/write access to the transport envelope properties. Properties can be of type BOOL, LPSTR, LPWSTR, and DWORD.
  • Read/write access the message's content stream.
  • Write message content to some location using a HANDLE value you create. The handle must have been created with the FILE_FLAG_OVERLAPPED flag and have been associated with an FIO_CONTEXT structure using the AssociateFile function. All I/O functions for the MailMsg object require use of this structure.
  • Duplicate the MailMsg object (fork) and set new recipients.
  • Rebind the duplicated MailMsg object to the current store driver.

A MailMsg object that is bound to the store driver has its properties and content automatically persisted to physical storage. Updates to the physically stored contents only occur when the IMailMsgProperties::Commit method is invoked.

Unbound MailMsg objects do not have properties or message content persisted to physical storage.