Partager via


IMAPIStatus::FlushQueues

S’applique à : Outlook 2013 | Outlook 2016

Force le chargement ou le téléchargement immédiat de tous les messages en attente d’envoi ou de réception. Le spouleur MAPI status objet et status objets implémentés par les fournisseurs de transport prennent en charge cette méthode.

HRESULT FlushQueues(
  ULONG_PTR ulUIParam,
  ULONG cbTargetTransport,
  LPENTRYID lpTargetTransport,
  ULONG ulFlags
);

Paramètres

ulUIParam

[in] Handle vers la fenêtre parente de toutes les boîtes de dialogue ou fenêtres affichées par cette méthode.

cbTargetTransport

[in] Nombre d’octets dans l’identificateur d’entrée vers lequel pointe le paramètre lpTargetTransport . Le paramètre cbTargetTransport est défini uniquement sur les appels à l’objet status du spouleur MAPI. Pour les appels à un fournisseur de transport, le paramètre cbTargetTransport est défini sur 0.

lpTargetTransport

[in] Pointeur vers l’identificateur d’entrée du fournisseur de transport qui doit vider ses files d’attente de messages. Le paramètre lpTargetTransport est défini uniquement sur les appels à l’objet status du spouleur MAPI. Pour les appels à un fournisseur de transport, le paramètre lpTargetTransport est défini sur NULL.

ulFlags

[in] Masque de bits d’indicateurs qui contrôle l’opération de vidage. Les indicateurs suivants peuvent être définis :

FLUSH_ASYNC_OK

L’opération de vidage peut se produire de manière asynchrone. Cet indicateur s’applique uniquement à l’objet status du spouleur MAPI.

FLUSH_DOWNLOAD

Les files d’attente de messages entrants doivent être vidées.

FLUSH_FORCE

L’opération de vidage doit se produire indépendamment, malgré le risque de diminution des performances. Cet indicateur doit être défini lorsqu’un fournisseur de transport asynchrone est ciblé.

FLUSH_NO_UI

L’objet status ne doit pas afficher d’indicateur de progression.

FLUSH_UPLOAD

Les files d’attente de messages sortants doivent être vidées.

Valeur renvoyée

S_OK

L’opération de vidage a réussi.

MAPI_E_BUSY

Une autre opération est en cours ; elle doit être autorisée à se terminer, ou elle doit être arrêtée, avant que cette opération puisse être lancée.

MAPI_E_NO_SUPPORT

L’objet status ne prend pas en charge cette opération, comme l’indique l’absence de l’indicateur STATUS_FLUSH_QUEUES dans la propriété PR_RESOURCE_METHODS (PidTagResourceMethods) de l’objet status.

Remarques

La méthode IMAPIStatus ::FlushQueues demande que le spouleur MAPI ou un fournisseur de transport envoie immédiatement tous les messages dans la file d’attente sortante ou reçoive tous les messages de la file d’attente entrante. FlushQueues est implémenté uniquement par le spouleur MAPI status objet et par status objets fournis par les fournisseurs de transport.

MAPI_E_BUSY doivent être retournés pour les demandes asynchrones afin que les clients puissent continuer à travailler.

Par défaut, FlushQueues est une opération synchrone ; Le contrôle ne retourne pas à l’appelant tant que le vidage n’est pas terminé. Seule l’opération de vidage effectuée par le spouleur MAPI peut être asynchrone ; les clients demandent ce comportement en définissant l’indicateur FLUSH_ASYNC_OK.

Remarques pour les responsables de l’implémentation

L’implémentation de FlushQueues par un fournisseur de transport distant définit des bits dans la propriété PR_STATUS_CODE (PidTagStatusCode) dans la ligne status de l’objet d’ouverture de session pour contrôler la façon dont les files d’attente sont vidées. Si une visionneuse distante transmet l’indicateur FLUSH_UPLOAD, la méthode FlushQueues doit définir les bits STATUS_INBOUND_ENABLED et STATUS_INBOUND_ACTIVE. Si une visionneuse distante transmet l’indicateur FLUSH_DOWNLOAD, la méthode FlushQueues doit définir les bits STATUS_OUTBOUND_ENABLED et STATUS_OUTBOUND_ACTIVE. FlushQueues doit ensuite retourner S_OK. Le spouleur MAPI lance ensuite les actions appropriées pour charger et télécharger des messages.

Remarques pour les appelants

Un appel au spouleur MAPI status objet est une directive permettant de transférer tous les messages vers ou depuis le fournisseur de transport approprié. Lorsque vous appelez l’objet status d’un fournisseur de transport individuel, seuls les messages de ce fournisseur sont affectés.

Voir aussi

Propriété canonique PidTagResourceMethods

Propriété canonique PidTagStatusCode

IMAPIStatus : IMAPIProp