Utilisation du moniker de la file d’attente

Le moniker de la file d’attente est utilisé pour activer un composant mis en file d’attente par programmation. Le moniker de la file d’attente requiert qu’il reçoive l’ID de classe (CLSID) de l’objet à appeler à partir du nouveau moniker directement à sa droite. Lorsqu’il est préfixé à gauche, le nouveau moniker passe le CLSID au moniker à gauche de celui-ci.

Outil d’administration Services de composants

Non applicable.

Visual Basic

Le paramètre de nom complet GetObject est « queue:/New : », suivi de l’ID de programme ou du GUID de forme chaîne, avec ou sans accolades, de l’objet serveur à instancier. Les exemples suivants illustrent trois activations valides d’un composant avec le moniker de file d’attente :

  1. Set objMyQC = GetObject ("queue:/new:QCShip.Ship")
    
  2. Set objMyQC = GetObject ("queue:/new:{812DF40E-BD88-11D0-8A6D-00C04FC340EE}")
    
  3. Set objMyQC = GetObject ("queue:/new:812DF40E-BD88-11D0-8A6D-00C04FC340EE")
    

C/C++

Le paramètre CoGetObject Display Name est « queue:/New : », suivi de l’ID de programme ou du GUID de forme chaîne, avec ou sans accolades, de l’objet serveur à instancier. Les exemples suivants illustrent trois activations valides d’un composant avec le moniker de file d’attente :

  1. hr = CoGetObject (
      L"queue:/new:QCShip.Ship",
      NULL, IID_IShip, (void**)&pShip);
    
  2. hr = CoGetObject (
      L"queue:/new:{812DF40E-BD88-11D0-8A6D-00C04FC340EE}", 
      NULL, IID_IShip, (void**)&pShip);
    
  3. hr = CoGetObject (
      L"queue:/new:812DF40E-BD88-11D0-8A6D-00C04FC340EE",
      NULL, IID_IShip, (void**)&pShip);
    

Remarques

Le moniker de la file d’attente accepte des paramètres facultatifs qui modifient les propriétés du message envoyé à Message Queuing. Par exemple, pour faire en sorte que le message Message Queuing soit envoyé avec une priorité 6, le composant mis en file d’attente est activé comme suit :

hr = CoGetObject (
  L"queue:Priority=6,ComputerName=MyComp/new:QCShip.Ship",
  NULL, IID_IShip, (void**)&pShip);

Le tableau suivant répertorie les paramètres du moniker de la file d’attente qui affectent la file d’attente de destination.

Paramètre Description
ComputerName
Spécifie la partie nom d’ordinateur d’un nom de chemin d’accès de file d’attente Message Queuing. Le nom du chemin d’accès de la file d’attente Message Queuing est au format ComputerName <em> QueueName . S’il n’est pas spécifié, le nom de l’ordinateur associé à l’application configurée est utilisé.
QueueName
Spécifie le nom de la file d’attente Message Queuing. Le nom du chemin d’accès de la file d’attente Message Queuing est au format ComputerName <em> QueueName . S’il n’est pas spécifié, le nom de la file d’attente associé à l’application configurée est utilisé.
Pour obtenir une file d’attente non transactionnelle, vous pouvez d’abord spécifier le nom de la file d’attente, puis créer une application COM+ portant le même nom.
PathName
Spécifie le nom complet du chemin d’accès de la file d’attente Message Queuing. S’il n’est pas spécifié, le nom du chemin d’accès de la file d’attente Message Queuing associé à l’application configurée est utilisé. Pour remplacer le nom de destination, le chemin d’accès peut être spécifié sous la forme suivante pour une installation de Message Queuing groupe de travail :
Queue :pathname = nomordinateur\private $ \ AppName/New : MyProject. CMyClass
[!Note]
les langages de programmation C et Microsoft Visual C++ requièrent deux barres obliques inverses pour représenter une barre oblique inverse dans les littéraux de chaîne, par exemple, chicago \ payroll.

FormatName
Lorsque vous marquez une application COM+ comme en file d’attente, COM+ crée une file d’attente Message Queuing dont le nom est identique à celui de l’application. Le nom de format Message Queuing de cette file d’attente se trouve dans le catalogue COM+, associé à l’application COM+. Pour remplacer le nom de destination, le nom de format peut être spécifié sous la forme suivante pour une installation Message Queuing groupe de travail :
Queue :FormatName= direct = OS :nom_ordinateur\private $ \ AppName/New : ProgID
Dans une configuration Active Directory, « PRIVATE $ » n’est pas spécifié dans le nom de la file d’attente.

Notes

Les paramètres facultatifs du moniker de la file d’attente sont traités de gauche à droite. Spécifiez chaque mot clé une seule fois. La spécification du paramètre pathname remplace les paramètres ComputerName et QueueName. Un paramètre FormatName spécifique supprime la connaissance préalable d’un paramètre ComputerName, QueueName et pathname .

Association de l’écouteur de composants en file d’attente à une file d’attente privée spécifique

L’écouteur de composants en file d’attente COM+ reçoit uniquement des files d’attente associées à l’application COM+ marquée en file d’attente. Lorsque vous marquez une application COM+ comme en file d’attente, COM+ crée une file d’attente Message Queuing dont le nom est identique à celui de l’application. Le nom de format Message Queuing de cette file d’attente se trouve dans le catalogue COM+, associé à l’application COM+. Lorsque l’application COM+ est démarrée et marquée comme Listen, un écouteur dans le processus de l’application COM+ est démarré et la file d’attente est ouverte. Le tableau suivant répertorie les paramètres du moniker de la file d’attente qui affectent le message de Message Queuing.

Paramètre Description
AppSpecific
Spécifie un entier non signé, par exemple, AppSpecific = 12345.
AuthLevel
Spécifie le niveau d’authentification du message. Un message authentifié est signé numériquement et requiert un certificat pour l’utilisateur qui envoie le message. Valeurs acceptables :
  • MQMSG_AUTH_LEVEL_NONE, 0
  • MQMSG_AUTH_LEVEL_ALWAYS, 1
Distribution
Spécifie l’option de remise de message. Cette valeur est ignorée pour les files d’attente transactionnelles. Valeurs acceptables :
  • MQMSG_DELIVERY_EXPRESS, 0
  • MQMSG_DELIVERY_RECOVERABLE, 1
EncryptAlgorithm
Spécifie l’algorithme de chiffrement à utiliser par Message Queuing pour chiffrer et déchiffrer le message. Valeurs acceptables :
  • CALG_RC2, CALG_RC4
  • Toute valeur entière acceptable pour Message Queuing pour un EncryptAlgorithm.
HashAlgorithm
Spécifie une fonction de hachage de chiffrement. Valeurs acceptables :
  • CALG_MD2, CALG_MD4, CALG_MD5, CALG_SHA, CALG_SHA1, CALG_MAC, CALG_SSL3_SHAMD5, CALG_HMAC, CALG_TLS1PRF
  • Toute valeur entière acceptable pour Message Queuing pour un HashAlgorithm.
Journal
Spécifie l’option Message Queuing le journal des messages. Valeurs acceptables :
  • MQMSG_JOURNAL_NONE, 0
  • MQMSG_DEADLETTER, 1
  • MQMSG_JOURNAL, 2
Étiquette
Spécifie une chaîne d’étiquette de message jusqu’à MQ_MAX_MSG_LABEL_LEN caractères.
MaxTimeToReachQueue
Spécifie la durée maximale, en secondes, pendant laquelle le message atteint la file d’attente.
Valeurs acceptables :
  • INFINITE
  • LONG_LIVED
  • Nombre de secondes
MaxTimeToReceive
Spécifie la durée maximale, en secondes, pendant laquelle le message est reçu par l’application cible. Valeurs acceptables :
  • INFINITE
  • LONG_LIVED
  • Nombre de secondes
Priorité
Spécifie un niveau de priorité de message dans les valeurs Message Queuing autorisées.
Valeurs acceptables :
  • MQ_MIN_PRIORITY, 0
  • MQ_MAX_PRIORITY, 7
  • MQ_DEFAULT_PRIORITY, 3
  • Nombre compris entre 0 et 7
PrivLevel
Spécifie un niveau de confidentialité, utilisé pour chiffrer les messages.
Valeurs acceptables :
  • MQMSG_PRIV_LEVEL_NONE, AUCUN, 0
  • MQMSG_PRIV_LEVEL_BODY, CORPS,
  • MQMSG_PRIV_LEVEL_BODY_BASE, BODY_BASE, 1
  • MQMSG_PRIV_LEVEL_BODY_ENHANCED, BODY_ENHANCED, 3
Trace
Spécifie les options de trace utilisées dans le suivi Message Queuing routage.
Valeurs acceptables :
  • MQMSG_TRACE_NONE, 0
  • MQMSG_SEND_ROUTE_TO_REPORT_QUEUE, 1

L’ensemble complet des fonctions du kit de développement logiciel (SDK) d’administration COM+ est disponible à l’aide d’objets COM. Cela permet à n’importe quel programme de démarrer et d’arrêter les applications COM+ selon les besoins.

Notes

Lors du démarrage d’une application COM+, il s’agit de l’application en cours d’exécution, et non des composants individuels de l’application. Si une application appelle un composant non mis en file d’attente, l’application COM+ qui contient le composant est démarrée. Si la case à cocher écouteur est activée, l’écouteur démarre et commence le traitement des messages pour les composants en file d’attente. Alors que le service de composants en file d’attente peut être démarré de cette manière, si vous empaquetez des composants mis en file d’attente et non mis en file d’attente dans une seule application COM+, assurez-vous que vous souhaitez vraiment que les composants en file d’attente démarrent si un composant non mis en file d’attente est exécuté. Si ce n’est pas le cas, empaquetez les composants mis en file d’attente dans une application COM+ distincte des autres composants.

Activation des files d’attente de composants