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
IUnknownMethod 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.