IXPLogon::FlushQueues

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

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

Reference

IMAPIStatus::FlushQueues

IXPLogon : IUnknown