Compartir a través de


IMSProvider::SpoolerLogon

Hace referencia a: Outlook 2013 | Outlook 2016

Registra la cola MAPI en un almacén de mensajes.

HRESULT SpoolerLogon(
  LPMAPISUP lpMAPISup,
  ULONG_PTR ulUIParam,
  LPSTR lpszProfileName,
  ULONG cbEntryID,
  LPENTRYID lpEntryID,
  ULONG ulFlags,
  LPCIID lpInterface,
  ULONG cbSpoolSecurity,
  LPBYTE lpbSpoolSecurity,
  LPMAPIERROR FAR * lppMAPIError,
  LPMSLOGON FAR * lppMSLogon,
  LPMDB FAR * lppMDB     
);

Parameters

lpMAPISup

[in] Puntero al objeto de compatibilidad MAPI para el almacén de mensajes.

ulUIParam

[in] Identificador de la ventana primaria de los cuadros de diálogo o ventanas que muestra este método.

lpszProfileName

[in] Puntero a una cadena que contiene el nombre del perfil que se usa para el inicio de sesión de cola MAPI. Esta cadena se puede mostrar en cuadros de diálogo, escribirse en un archivo de registro o simplemente omitirse. Debe estar en formato Unicode si la marca de MAPI_UNICODE está establecida en el parámetro ulFlags .

cbEntryID

[in] Tamaño, en bytes, del identificador de entrada al que apunta el parámetro lpEntryID .

lpEntryID

[in] Puntero al identificador de entrada del almacén de mensajes. Pasar NULL en el parámetro lpEntryID indica que aún no se ha seleccionado un almacén de mensajes y que se pueden presentar cuadros de diálogo que permiten al usuario seleccionar un almacén de mensajes.

ulFlags

[in] Máscara de bits de marcas que controla cómo se realiza el inicio de sesión. Se pueden establecer las siguientes marcas:

MAPI_DEFERRED_ERRORS

La llamada puede realizarse correctamente incluso si el objeto subyacente no está disponible para la implementación de llamada. Si el objeto no está disponible, una llamada posterior al objeto podría generar un error.

MAPI_UNICODE

Las cadenas pasadas están en formato Unicode. Si no se establece MAPI_UNICODE, las cadenas están en formato ANSI.

MDB_NO_DIALOG

Impide la visualización de cuadros de diálogo de inicio de sesión. Si se establece esta marca, se devuelve el valor de error MAPI_E_LOGON_FAILED si el inicio de sesión no se realiza correctamente. 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, que inserte un disco o que realice otras acciones necesarias para establecer la conexión con el almacén.

MDB_WRITE

Solicita permiso de lectura y escritura.

lpInterface

[in] Puntero al identificador de interfaz (IID) para que el almacén de mensajes inicie sesión en . Pasar NULL indica que se devuelve la interfaz MAPI para el almacén de mensajes (IMsgStore). El parámetro lpInterface también se puede establecer en un identificador para una interfaz adecuada para el almacén de mensajes (por ejemplo, IID_IUnknown o IID_IMAPIProp).

cbSpoolSecurity

[in] Puntero al tamaño, en bytes, de los datos de validación en el parámetro lppbSpoolSecurity .

lpbSpoolSecurity

[in] Puntero a un puntero a los datos de validación. El método SpoolerLogon usa estos datos para registrar la cola MAPI en el mismo almacén en el que el proveedor del almacén de mensajes ha iniciado sesión anteriormente mediante el método IMSProvider::Logon .

lppMAPIError

[out] Puntero a un puntero a la estructura MAPIERROR devuelta, si existe, que contiene información de versión, componente y contexto para un error. El parámetro lppMAPIError se puede establecer en NULL si no hay ninguna estructura MAPIERROR que devolver.

lppMSLogon

[out] Puntero al puntero al objeto de inicio de sesión del almacén de mensajes para que MAPI inicie sesión en .

lppMDB

[out] Puntero al puntero al objeto de almacén de mensajes para que las aplicaciones cliente y de cola MAPI inicien sesión.

Valor devuelto

S_OK

La llamada se ha realizado correctamente y devuelva el valor esperado o los valores.

MAPI_E_UNCONFIGURED

El perfil no contiene suficiente información para que se complete el inicio de sesión. Cuando se devuelve este valor, MAPI llama a la función de punto de entrada del servicio de mensajes del proveedor de mensajes.

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 probar esta advertencia, use la macro HR_FAILED . Para obtener más información, vea Uso de macros para el control de errores. Para obtener la información de error del proveedor, llame al método IMAPISession::GetLastError .

Comentarios

La cola MAPI llama al método IMSProvider::SpoolerLogon para iniciar sesión en un almacén de mensajes. La cola MAPI debe usar el objeto de almacén de mensajes devuelto por el proveedor de almacén de mensajes en el parámetro lppMDB durante y después del inicio de sesión.

Por motivos de coherencia con el método IMSProvider::Logon , el proveedor también devuelve un objeto de inicio de sesión del almacén de mensajes en el parámetro lppMSLogon . El uso del objeto de almacén y el objeto de inicio de sesión son idénticos para el inicio de sesión habitual en el almacén; debe haber una correspondencia uno a uno entre el objeto de inicio de sesión y el objeto de almacén de modo que los objetos actúen como si fueran un objeto que expone dos interfaces. Los dos objetos se crean juntos y se liberan juntos.

El proveedor de almacén debe marcar internamente el objeto de almacén de mensajes devuelto para indicar que el almacén está siendo utilizado por la cola MAPI. Algunos de los métodos de este objeto de almacén se comportan de forma diferente que para el objeto de almacén de mensajes proporcionado a las aplicaciones cliente. Mantener esta marca interna es la forma más común de desencadenar el comportamiento específico de la cola MAPI.

Vea también

IMSProvider::Logon

MAPIERROR

IMSProvider : IUnknown