IXPLogon::ValidateState
The IXPLogon::ValidateState method checks the transport provider's external status.
Quick Info
See IXPLogon : IUnknown.
HRESULT ValidateState(
ULONG ulUIParam,
ULONG ulFlags
);
Parameters
-
ulUIParam
-
[in] Handle of the parent window for any dialog boxes or windows this method displays.
-
ulFlags
-
[in] Bitmask of flags that controls how the status check is done and its results. The following flags can be set:
-
ABORT_XP_HEADER_OPERATION
-
The user canceled the operation, typically by clicking the Cancel button in a dialog box. The transport provider has the option to continue working on the operation, or it can abort the operation and return MAPI_E_USER_CANCELED.
-
CONFIG_CHANGED
-
Validates the state of currently loaded transport providers by causing the MAPI spooler to call their IXPLogon::AddressTypes and IMAPISession::MessageOptions methods. This flag also provides the MAPI spooler an opportunity to correct critical transport-provider failures without forcing client applications to log off and then log on again.
-
FORCE_XP_CONNECT
-
The user selected a connect operation. When this flag is used with the REFRESH_XP_HEADER_CACHE or PROCESS_XP_HEADER_CACHE flag, the connect action occurs without caching.
-
FORCE_XP_DISCONNECT
-
The user selected a disconnect operation. When this flag is used with REFRESH_XP_HEADER_CACHE or PROCESS_XP_HEADER_CACHE, the disconnect action occurs without caching.
-
PROCESS_XP_HEADER_CACHE
-
Entries in the header cache table should be processed, all messages marked with the MSGSTATUS_REMOTE_DOWNLOAD flag should be downloaded, and all messages marked with the MSGSTATUS_REMOTE_DELETE flag should be deleted. Messages that have both MSGSTATUS_REMOTE_DOWNLOAD and MSGSTATUS_REMOTE_DELETE set should be moved.
-
REFRESH_XP_HEADER_CACHE
-
A new list of message headers should be downloaded, and all message status marking flags should be cleared.
-
SUPPRESS_UI
-
Prevents the transport provider from displaying a user interface.
Return Values
-
S_OK
-
The call succeeded and has returned the expected value or values.
-
MAPI_E_BUSY
-
Another operation is in progress; it should be allowed to complete or it should be stopped before this operation is attempted.
-
MAPI_E_NO_SUPPORT
-
The remote transport provider involved does not support a user interface, and the client application should display the dialog box itself.
-
MAPI_E_USER_CANCEL
-
The user canceled the operation, typically by clicking the Cancel button in a dialog box.
Remarks
The MAPI spooler calls the IXPLogon::ValidateState method to support calls to the IMAPIStatus::ValidateState method for the status object. The transport provider should respond to the IXPLogon::ValidateState call exactly as if the MAPI spooler had opened a status object for the current logon session and then called ValidateState on that object.
To support its implementation of IMAPIStatus::ValidateState, the MAPI spooler calls IXPLogon::ValidateState on all logon objects for all active transport providers running in a profile session.
See Also
IMAPISession::MessageOptions, IMAPIStatus::ValidateState, IXPLogon::AddressTypes