The IMsgStore::GetOutgoingQueue method provides access to the outgoing queue table — a table with information about all of the messages in the message store's outgoing queue. This method is called only by the MAPI spooler.
HRESULT GetOutgoingQueue(
ULONG ulFlags,
LPMAPITABLE FAR * lppTable
);
The IMsgStore::GetOutgoingQueue method provides the MAPI spooler with access to the table showing the message store's queue of outgoing messages. Typically, messages are placed in the outgoing queue table after their IMessage::SubmitMessage method is called. However, because the order of submission affects the order of preprocessing and submission to the transport provider, some messages that have been marked for sending might not appear in the outgoing queue table immediately.
For a list of the properties that must be included as columns in your outgoing queue table, see Outgoing Queue Tables.
Because the MAPI spooler is designed to accept messages from a message store in ascending order of submission time, either allow the MAPI spooler to sort the outgoing queue table to match this order or establish it as the default sort order.
You must support notifications for the outgoing message queue table, ensuring that the MAPI spooler is notified when the contents of the queue change.