Last modified: July 23, 2011

Applies to: Outlook

Returns the message's recipient table.

HRESULT GetRecipientTable(
  ULONG ulFlags,


[in] Bitmask of flags that controls the return of the table. The following flags can be set:


Allows GetRecipientTable to return successfully, possibly before the table is fully available to the calling client. If the table is not available, making a subsequent call to it can cause an error.


String columns should be in Unicode format. If the MAPI_UNICODE flag is not set, the string columns should be in ANSI format.


[out] Pointer to a pointer to the recipient table.


The recipient table was returned successfully.

The IMessage::GetRecipientTable method returns a pointer to the message's recipient table, which includes information about all of the recipients for the message. There is one row for every recipient.

Recipient tables have a different column set depending on whether the message has been submitted. For a complete list of the columns in a recipient table, see Recipient Tables.

Some recipient tables support a wide variety of restrictions; others do not. Support for restrictions depends on the message store provider's implementation.

Setting the MAPI_UNICODE flag in the ulFlags parameter affects the following calls to the recipient table:

Setting the Unicode flag requests that the information for any string columns returned from these calls be in Unicode format. However, because not all message store providers support Unicode, setting this flag is only a request.

You can change a recipient table while it is open by calling the IMessage::ModifyRecipients method. ModifyRecipients adds recipients, deletes recipients, or modifies recipient properties.