Partager via


Création de composants pouvant être mis en file d’attente

Un composant ayant une interface au moins pouvant être mise en file d’attente est un composant pouvant être mis en file d’attente. Pour qu’un composant soit invoqué par une file d’attente, les interfaces doivent être marquées comme pouvant être mises en file d’attente et le composant doit être installé dans une application mise en file d’attente. Toutefois, il est possible qu’un composant pouvant être mis en file d’attente soit un composant d’une application non mise en file d’attente.

Une interface pouvant être mise en file d’attente ne doit contenir que des paramètres d’entrée, pas de paramètres de sortie ni de valeurs renvoyées. Ces caractéristiques sont vérifiées en analysant les informations de type lors de l’installation du composant. Si l’interface ne peut pas être mise en file d’attente, il sera impossible d’activer la file d’attente de l’application contenant le composant.

Pour spécifier une interface COM+ comme pouvant être mise en file d’attente, procédez comme suit :

  1. Dans l’arborescence de la console de l’outil d’administration des services de composants, sous Services de composants, ouvrez le dossier Applications COM+ associé à l’ordinateur que vous souhaitez gérer.

  2. Ouvrez le dossier Interfaces du composant de l’application COM+ que vous souhaitez mettre en file d’attente.

  3. Cliquez avec le bouton droit sur l’interface que vous souhaitez marquer comme pouvant être mise en file d’attente, puis cliquez sur Propriétés.

  4. Dans la boîte de dialogue des propriétés, sélectionnez l’onglet Mise en file d’attente.

  5. Activez la case à cocher intitulée Mise en file d’attente.

    Remarque

    Si la case à cocher Mise en file d’attente est grisée, cela veut dire que l’interface ne satisfait pas aux contraintes de mise en file d’attente décrites ci-dessus.

     

  6. Cliquez sur OK.

    Il est possible qu’un composant pouvant être mis en file d’attente soit identifié comme tel et ce en ajoutant la macro d’attribut QUEUEABLE à la section Interface du fichier source Interface Definition Language (IDL) pour toutes les interfaces pouvant être mises en file d’attente.

    #include "mtxattr.h"
    [ object, dual, uuid(), helpstring(IShiphip"), QUEUEABLE ]
    interface IShip:IDispatch{
       [propput, id(1)] HRESULT CustomerId ([in] long CustId);
       [propput, id(2)] HRESULT OrderId ([in] long OrderID);
       [id(3)] HRESULT LineItem ([in] long Qty);
       [id(4)] HRESULT Process ();
    }
    

Création de files d’attente de composants

Développement de composants mis en file d’attente