IXPLogon::FlushQueues

Applies to: Outlook 2013 | Outlook 2016

Requests that the transport provider immediately deliver all pending inbound or outbound messages.

HRESULT FlushQueues(
  ULONG_PTR ulUIParam,
  ULONG cbTargetTransport,
  LPENTRYID lpTargetTransport,
  ULONG ulFlags
);

Parameters

ulUIParam

[in] A handle to the parent window of any dialog boxes or windows that this method displays.

cbTargetTransport

[in] Reserved; must be zero.

lpTargetTransport

[in] Reserved; must be NULL.

ulFlags

[in] A bitmask of flags that controls how message queue flushing is accomplished. The following flags can be set:

FLUSH_DOWNLOAD

The inbound message queue or queues should be flushed.

FLUSH_FORCE

The transport provider should process this request, if possible, even if doing so is time consuming.

FLUSH_NO_UI

The transport provider should not display a user interface.

FLUSH_UPLOAD

The outbound message queue or queues should be flushed.

Return value

S_OK

The call succeeded and returned the expected value or values.

Remarks

The MAPI spooler calls the IXPLogon::FlushQueues method to advise the transport provider that the MAPI spooler is about to begin processing messages. The transport provider should call the IMAPISupport::ModifyStatusRow method to set an appropriate bit for its state in the PR_STATUS_CODE (PidTagStatusCode) property of its status row. After updating its status row, the transport provider should return S_OK for the FlushQueues call. The MAPI spooler then starts sending messages, with the operation being synchronous to the MAPI spooler.

To support its implementation of the IMAPIStatus::FlushQueues method, the MAPI spooler calls IXPLogon::FlushQueues for all logon objects for active transport providers that are running in a profile session. When a transport provider's FlushQueues method is called as a result of a client application call to IMAPIStatus::FlushQueues, the message processing occurs asynchronously to the client.

See also

IMAPIStatus::FlushQueues

IXPLogon : IUnknown