IMAPISession::OpenMsgStore
The IMAPISession::OpenMsgStore method opens a message store and returns an IMsgStore pointer for further access.
Quick Info
See IMAPISession : IUnknown.
HRESULT OpenMsgStore(
ULONG ulUIParam,
ULONG cbEntryID,
LPENTRYID lpEntryID,
LPCIID lpInterface,
ULONG ulFlags,
LPMDB FAR * lppMDB
);
Parameters
-
ulUIParam
-
[in] Handle of the parent window for the common address dialog box and other related displays.
-
cbEntryID
-
[in] Count of bytes in the entry identifier pointed to by the lpEntryID parameter.
-
lpEntryID
-
[in] Pointer to the entry identifier of the message store to be opened. The lpEntryID parameter must not be NULL.
-
lpInterface
-
[in] Pointer to the interface identifier (IID) representing the interface to be used to access the message store. Passing NULL results in a pointer to its standard interface being returned in the lppMDB parameter. The standard interface for a message store is IMsgStore.
-
ulFlags
-
[in] Bitmask of flags that controls how the object is opened. The following flags can be used:
-
MAPI_BEST_ACCESS
-
Requests that the message store be opened with the maximum network permissions allowed for the user and the maximum client application access. For example, if the client has read/write access, the message store should be opened with read/write access; if the client has read-only access, the message store should be opened with read-only access.
-
MAPI_DEFERRED_ERRORS
-
Allows OpenMsgStore to return successfully, possibly before the message store is fully accessible to the calling client. If the message store is not accessible, making a subsequent object call can result in an error.
-
MDB_NO_DIALOG
-
Prevents the display of logon dialog boxes. If this flag is set, and OpenMsgStore does not have enough configuration information to open the message store without the user's help, it returns MAPI_E_LOGON_FAILED. If this flag is not set, the message store provider can prompt the user to correct a name or password, to insert a disk, or to perform other actions necessary to establish connection to the message store.
-
MDB_NO_MAIL
-
The message store should not be used for sending or receiving mail. When this flag is set, MAPI does not notify the MAPI spooler that this message store is being opened.
-
MDB_TEMPORARY
-
Instructs MAPI that the message store is not permanent and should not be added to the message store table. This flag is used to log on the message store so that information can be retrieved programmatically from the profile section.
-
MDB_WRITE
-
Requests read/write access to the message store.
-
lppMDB
-
[out] Pointer to a pointer to the message store.
Return Values
-
S_OK
-
The message store was successfully opened.
-
MAPI_E_NO_ACCESS
-
An attempt was made to access a message store for which the user has insufficient permissions.
-
MAPI_E_NOT_FOUND
-
The message store indicated by lpEntryID does not exist.
-
MAPI_E_UNKNOWN_CPID
-
The server is not configured to support the client's code page.
-
MAPI_E_UNKNOWN_LCID
-
The server is not configured to support the client's locale information.
-
MAPI_W_ERRORS_RETURNED
-
The call succeeded, but the message store provider has error information available. When this warning is returned, the call should be handled as successful. To get the error information from the provider, call the IMAPISession::GetLastError method. To test for this warning, use the HR_FAILED macro. See Using Macros for Error Handling.
Remarks
The IMAPISession::OpenMsgStore method opens a particular message store.
Notes to Callers
The default access level for message stores is read-only. If you set the MDB_WRITE flag, you may or may not be granted read/write access. The final level of access that MAPI assigns to the message store depends on your level of access, the message store itself, and the message store provider.
If you call OpenMsgStore to open a message store with read-only access: