IMAPIStatus::FlushQueues
Hace referencia a: Outlook 2013 | Outlook 2016
Obliga a que todos los mensajes que esperan ser enviados o recibidos se carguen o descarguen inmediatamente. El objeto de estado de cola MAPI y los objetos de estado que implementan los proveedores de transporte admiten este método.
HRESULT FlushQueues(
ULONG_PTR ulUIParam,
ULONG cbTargetTransport,
LPENTRYID lpTargetTransport,
ULONG ulFlags
);
Parameters
ulUIParam
[in] Identificador de la ventana primaria de los cuadros de diálogo o ventanas que muestra este método.
cbTargetTransport
[in] Recuento de bytes en el identificador de entrada al que apunta el parámetro lpTargetTransport . El parámetro cbTargetTransport solo se establece en las llamadas al objeto de estado de la cola MAPI. Para las llamadas a un proveedor de transporte, el parámetro cbTargetTransport se establece en 0.
lpTargetTransport
[in] Puntero al identificador de entrada del proveedor de transporte que va a vaciar sus colas de mensajes. El parámetro lpTargetTransport solo se establece en las llamadas al objeto de estado de la cola MAPI. Para las llamadas a un proveedor de transporte, el parámetro lpTargetTransport se establece en NULL.
ulFlags
[in] Máscara de bits de marcas que controla la operación de vaciado. Se pueden establecer las siguientes marcas:
FLUSH_ASYNC_OK
La operación de vaciado puede producirse de forma asincrónica. Esta marca solo se aplica al objeto de estado de la cola MAPI.
FLUSH_DOWNLOAD
Las colas de mensajes entrantes deben vaciarse.
FLUSH_FORCE
La operación de vaciado debe producirse independientemente, a pesar de la posibilidad de una disminución en el rendimiento. Esta marca debe establecerse cuando se tiene como destino un proveedor de transporte asincrónico.
FLUSH_NO_UI
El objeto de estado no debe mostrar un indicador de progreso.
FLUSH_UPLOAD
Las colas de mensajes salientes deben vaciarse.
Valor devuelto
S_OK
La operación de vaciado se realizó correctamente.
MAPI_E_BUSY
Hay otra operación en curso; se debe permitir que se complete, o se debe detener, antes de que se pueda iniciar esta operación.
MAPI_E_NO_SUPPORT
El objeto status no admite esta operación, como se indica en la ausencia de la marca de STATUS_FLUSH_QUEUES en la propiedad PR_RESOURCE_METHODS del objeto de estado (PidTagResourceMethods).
Comentarios
El método IMAPIStatus::FlushQueues solicita que la cola MAPI o un proveedor de transporte envíen inmediatamente todos los mensajes de la cola saliente o reciban todos los mensajes de la cola entrante. FlushQueues solo lo implementa el objeto de estado de cola MAPI y los objetos de estado que proporcionan los proveedores de transporte.
MAPI_E_BUSY deben devolverse para las solicitudes asincrónicas para que los clientes puedan continuar trabajando.
De forma predeterminada, FlushQueues es una operación sincrónica; el control no vuelve al autor de la llamada hasta que se haya completado el vaciado. Solo la operación de vaciado realizada por la cola MAPI puede ser asincrónica; los clientes solicitan este comportamiento estableciendo la marca de FLUSH_ASYNC_OK.
Notas a los implementadores
La implementación de FlushQueues de un proveedor de transporte remoto establece bits en la propiedad PR_STATUS_CODE (PidTagStatusCode) de la fila de estado del objeto de inicio de sesión para controlar cómo se vacían las colas. Si un visor remoto pasa la marca FLUSH_UPLOAD, el método FlushQueues debe establecer los bits STATUS_INBOUND_ENABLED y STATUS_INBOUND_ACTIVE. Si un visor remoto pasa la marca FLUSH_DOWNLOAD, el método FlushQueues debe establecer los bits STATUS_OUTBOUND_ENABLED y STATUS_OUTBOUND_ACTIVE. A continuación, FlushQueues debe devolver S_OK. A continuación, la cola MAPI iniciará las acciones adecuadas para cargar y descargar mensajes.
Notas para los llamadores
Una llamada al objeto de estado de cola MAPI es una directiva para transferir todos los mensajes hacia o desde el proveedor de transporte adecuado. Cuando se llama al objeto de estado de un proveedor de transporte individual, solo se ven afectados los mensajes de ese proveedor.
Vea también
Propiedad canónica PidTagResourceMethods