Compartir a través de


IMAPISession::OpenMsgStore

Hace referencia a: Outlook 2013 | Outlook 2016

Abre un almacén de mensajes y devuelve un puntero IMsgStore para obtener más acceso.

HRESULT OpenMsgStore(
  ULONG_PTR ulUIParam,
  ULONG cbEntryID,
  LPENTRYID lpEntryID,
  LPCIID lpInterface,
  ULONG ulFlags,
  LPMDB FAR * lppMDB
);

Parameters

ulUIParam

[in] Identificador de la ventana primaria del cuadro de diálogo de dirección común y otras pantallas relacionadas.

cbEntryID

[in] Recuento de bytes en el identificador de entrada al que apunta el parámetro lpEntryID .

lpEntryID

[in] Puntero al identificador de entrada del almacén de mensajes que se va a abrir. El parámetro lpEntryID no debe ser NULL.

lpInterface

[in] Puntero al identificador de interfaz (IID) que representa la interfaz que se va a usar para acceder al almacén de mensajes. Pasar NULL hace que el parámetro lppMDB devuelva un puntero a la interfaz estándar de un almacén de mensajes (IMsgStore).

ulFlags

[in] Máscara de bits de marcas que controla cómo se abre el objeto. Se pueden usar las siguientes marcas:

  • MAPI_BEST_ACCESS: solicita que el almacén de mensajes se abra con los permisos de red máximos permitidos para el usuario y el número máximo de permisos de aplicación cliente. Por ejemplo, si el cliente tiene permiso de lectura y escritura, el almacén de mensajes debe abrirse con permiso de lectura y escritura; Si el cliente tiene permiso de solo lectura, el almacén de mensajes debe abrirse con permiso de solo lectura.

  • MAPI_DEFERRED_ERRORS: permite que OpenMsgStore devuelva correctamente, posiblemente antes de que el almacén de mensajes esté totalmente disponible para el cliente que realiza la llamada. Si el almacén de mensajes no está disponible, la realización de una llamada de objeto posterior puede generar un error.

  • MDB_NO_DIALOG: impide la visualización de cuadros de diálogo de inicio de sesión. Si se establece esta marca y OpenMsgStore no tiene suficiente información de configuración para abrir el almacén de mensajes sin la ayuda del usuario, devuelve MAPI_E_LOGON_FAILED. Si no se establece esta marca, el proveedor del almacén de mensajes puede pedir al usuario que corrija un nombre o una contraseña o que realice otras acciones necesarias para establecer una conexión con el almacén de mensajes.

  • MDB_NO_MAIL: El almacén de mensajes no debe usarse para enviar o recibir correo. Cuando se establece esta marca, MAPI no notifica a la cola MAPI que se está abriendo este almacén de mensajes.

  • MDB_ONLINE: en modo de intercambio almacenado en caché, un cliente o proveedor de servicios puede llamar a este método con MDB_ONLINE para invalidar la conexión al almacén de mensajes local y abrir el almacén en el servidor remoto. No se puede abrir un almacén de Exchange en modo almacenado en caché y en modo no almacenado en caché al mismo tiempo en la misma sesión MAPI. Si ya ha abierto el almacén de mensajes en modo caché, debe cerrar el almacén antes de abrirlo con esta marca o abrir una nueva sesión MAPI donde puede abrir el almacén de Exchange en el servidor remoto mediante este marcador.

  • MDB_TEMPORARY: indica a MAPI que el almacén de mensajes no es permanente y no debe agregarse a la tabla del almacén de mensajes. Esta marca se usa para iniciar sesión en el almacén de mensajes, de modo que la información se pueda recuperar mediante programación desde la sección de perfil.

  • MDB_WRITE: solicita permiso de lectura y escritura al almacén de mensajes.

lppMDB

[out] Puntero a un puntero del almacén de mensajes.

Valor devuelto

S_OK

El almacén de mensajes se abrió correctamente.

MAPI_E_NO_ACCESS

Se intentó acceder a un almacén de mensajes para el que el usuario no tiene permisos suficientes.

MAPI_E_NOT_FOUND

El almacén de mensajes indicado por lpEntryID no existe.

MAPI_E_UNKNOWN_CPID

El servidor no está configurado para admitir la página de códigos del cliente.

MAPI_E_UNKNOWN_LCID

El servidor no está configurado para admitir la información de configuración regional del cliente.

MAPI_W_ERRORS_RETURNED

La llamada se realizó correctamente, pero el proveedor del almacén de mensajes tiene información de error disponible. Cuando se devuelve esta advertencia, la llamada debe controlarse correctamente. Para obtener la información de error del proveedor, llame al método IMAPISession::GetLastError . Para probar esta advertencia, use la macro HR_FAILED . Para obtener más información, vea Uso de macros para el control de errores.

Comentarios

El método IMAPISession::OpenMsgStore abre un almacén de mensajes determinado.

Notas para los llamadores

El nivel de permiso predeterminado para los almacenes de mensajes es de solo lectura. Si establece la marca de MDB_WRITE, es posible que no se le conceda permiso de lectura y escritura. El nivel final de acceso que MAPI asigna al almacén de mensajes depende del nivel de permiso, del propio almacén de mensajes y del proveedor del almacén de mensajes.

Si llama a OpenMsgStore para abrir un almacén de mensajes con permiso de solo lectura, se producirá lo siguiente:

Referencia de MFCMAPI

Para obtener un ejemplo de código de MFCMAPI, vea la siguiente tabla.

Archivo Función Comment
MAPIStoreFunctions.cpp
CallOpenMsgStore
MFCMAPI usa el método IMAPISession::OpenMsgStore para abrir un almacén de mensajes.

Vea también