Partager via


MessageQueue.GetMessageQueueEnumerator Méthode

Définition

Crée un objet énumérateur pour une liste dynamique des files d'attente publiques d'un réseau.

Surcharges

GetMessageQueueEnumerator()

Fournit des sémantiques de curseur avant uniquement pour l'énumération de toutes les files d'attente publiques sur le réseau.

GetMessageQueueEnumerator(MessageQueueCriteria)

Fournit des sémantiques de curseur avant uniquement pour l'énumération de toutes les files d'attente publiques sur le réseau qui correspondent aux critères spécifiés.

GetMessageQueueEnumerator()

Fournit des sémantiques de curseur avant uniquement pour l'énumération de toutes les files d'attente publiques sur le réseau.

public:
 static System::Messaging::MessageQueueEnumerator ^ GetMessageQueueEnumerator();
public static System.Messaging.MessageQueueEnumerator GetMessageQueueEnumerator ();
static member GetMessageQueueEnumerator : unit -> System.Messaging.MessageQueueEnumerator
Public Shared Function GetMessageQueueEnumerator () As MessageQueueEnumerator

Retours

MessageQueueEnumerator qui fournit une liste dynamique de toutes les files d'attente de messages publiques sur le réseau.

Exemples

L’exemple de code suivant effectue une itération dans toutes les files d’attente de messages dans le réseau et examine le chemin d’accès de chaque file d’attente. Enfin, il affiche le nombre de files d’attente publiques sur le réseau.

#using <System.dll>
#using <System.Messaging.dll>

using namespace System;
using namespace System::Messaging;

//**************************************************
// Iterates through message queues and examines the
// path for each queue. Also displays the number of
// public queues on the network.
//**************************************************
void ListPublicQueues()
{
   
   // Holds the count of private queues.
   int numberQueues = 0;
   
   // Get a cursor into the queues on the network.
   MessageQueueEnumerator^ myQueueEnumerator = MessageQueue::GetMessageQueueEnumerator();
   
   // Move to the next queue and read its path.
   while ( myQueueEnumerator->MoveNext() )
   {
      
      // Increase the count if priority is Lowest.
      Console::WriteLine( myQueueEnumerator->Current->Path );
      numberQueues++;
   }

   
   // Display final count.
   Console::WriteLine( "Number of public queues: {0}", numberQueues );
   return;
}


//**************************************************
// Provides an entry point into the application.
//   
// This example uses a cursor to step through the
// message queues and list the public queues on the
// network.
//**************************************************
int main()
{
   
   // Output the count of Lowest priority messages.
   ListPublicQueues();
}
using System;
using System.Messaging;

namespace MyProject
{
    /// <summary>
    /// Provides a container class for the example.
    /// </summary>
    public class MyNewQueue
    {

        //**************************************************
        // Provides an entry point into the application.
        //		
        // This example uses a cursor to step through the
        // message queues and list the public queues on the
        // network.
        //**************************************************

        public static void Main()
        {
            // Create a new instance of the class.
            MyNewQueue myNewQueue = new MyNewQueue();

            // Output the count of Lowest priority messages.
            myNewQueue.ListPublicQueues();
                        
            return;
        }

        //**************************************************
        // Iterates through message queues and examines the
        // path for each queue. Also displays the number of
        // public queues on the network.
        //**************************************************
        
        public void ListPublicQueues()
        {
            // Holds the count of private queues.
            uint numberQueues = 0;
    
            // Get a cursor into the queues on the network.
            MessageQueueEnumerator myQueueEnumerator =
                MessageQueue.GetMessageQueueEnumerator();

            // Move to the next queue and read its path.
            while(myQueueEnumerator.MoveNext())
            {
                // Increase the count if priority is Lowest.
                Console.WriteLine(myQueueEnumerator.Current.Path);
                numberQueues++;
            }

            // Display final count.
            Console.WriteLine("Number of public queues: " +
                numberQueues.ToString());
            
            return;
        }
    }
}
Imports System.Messaging



Public Class MyNewQueue


        
        ' Provides an entry point into the application.
        '		 
        ' This example uses a cursor to step through the
        ' message queues and list the public queues on the
        ' network.
        

        Public Shared Sub Main()

            ' Create a new instance of the class.
            Dim myNewQueue As New MyNewQueue()

            ' Output the count of Lowest priority messages.
            myNewQueue.ListPublicQueues()

            Return

        End Sub


        
        ' Iterates through message queues and examines the
        ' path for each queue. Also displays the number of
        ' public queues on the network.
        

        Public Sub ListPublicQueues()

            ' Holds the count of private queues.
            Dim numberQueues As Int32 = 0

            ' Get a cursor into the queues on the network.
            Dim myQueueEnumerator As MessageQueueEnumerator = _
                MessageQueue.GetMessageQueueEnumerator()

            ' Move to the next queue and read its path.
            While myQueueEnumerator.MoveNext()
                ' Increase the count if the priority is Lowest.
                Console.WriteLine(myQueueEnumerator.Current.Path)
                numberQueues += 1
            End While

            ' Display final count.
            Console.WriteLine(("Number of public queues: " + _
                numberQueues.ToString()))

            Return

        End Sub

End Class

Remarques

Cette surcharge de GetMessageQueueEnumerator retourne une énumération de toutes les files d’attente publiques qui se trouvent sur le réseau.

Étant donné que le curseur est associé à une liste dynamique, l’énumération reflète toute modification que vous apportez à une liste d’attente pour les files d’attente supprimées ou ajoutées au-delà de la position actuelle du curseur. Les ajouts ou la suppression de files d’attente situées avant la position actuelle du curseur ne sont pas répercutés. Par exemple, l’énumérateur peut accéder automatiquement à une file d’attente ajoutée au-delà de la position du curseur, mais pas à une file d’attente insérée avant cette position. Toutefois, vous pouvez réinitialiser l’énumération, en déplaçant ainsi le curseur vers le début de la liste, en appelant Reset pour .MessageQueueEnumerator

Il n’existe aucun ordre défini des files d’attente dans un réseau. Un énumérateur ne les commande pas, par exemple par ordinateur, par étiquette, par status publique ou privée, ou par tout autre critère d’accessibilité.

Si vous souhaitez une instantané statique des files d’attente sur le réseau plutôt qu’une connexion dynamique à celles-ci, appelez GetPublicQueues ou GetPrivateQueuesByMachine(String). Chacune de ces deux méthodes retourne un tableau d’objets MessageQueue , qui représentent les files d’attente au moment où la méthode a été appelée.

Le tableau suivant indique si cette méthode est disponible dans différents modes de groupe de travail.

Mode groupe de travail Disponible
Ordinateur local Non
Ordinateur local et nom de format direct Non
Ordinateur distant Non
Ordinateur distant et nom de format direct Non

Voir aussi

S’applique à

GetMessageQueueEnumerator(MessageQueueCriteria)

Fournit des sémantiques de curseur avant uniquement pour l'énumération de toutes les files d'attente publiques sur le réseau qui correspondent aux critères spécifiés.

public:
 static System::Messaging::MessageQueueEnumerator ^ GetMessageQueueEnumerator(System::Messaging::MessageQueueCriteria ^ criteria);
public static System.Messaging.MessageQueueEnumerator GetMessageQueueEnumerator (System.Messaging.MessageQueueCriteria criteria);
static member GetMessageQueueEnumerator : System.Messaging.MessageQueueCriteria -> System.Messaging.MessageQueueEnumerator
Public Shared Function GetMessageQueueEnumerator (criteria As MessageQueueCriteria) As MessageQueueEnumerator

Paramètres

criteria
MessageQueueCriteria

MessageQueueCriteria qui contient les critères utilisés pour filtrer les files d'attente de messages disponibles.

Retours

MessageQueueEnumerator qui fournit une liste dynamique des files d'attente de messages publiques sur le réseau qui sont conformes aux restrictions spécifiées par le paramètre criteria.

Exemples

L’exemple de code suivant itère dans les files d’attente de messages et affiche le chemin de chaque file d’attente qui a été créée le dernier jour et qui existe sur l’ordinateur « MyComputer ».

#using <system.dll>
#using <system.messaging.dll>

using namespace System;
using namespace System::Messaging;
ref class MyNewQueue
{
public:

   // Iterates through message queues and displays the
   // path of each queue that was created in the last
   // day and that exists on the computer "MyComputer". 
   void ListPublicQueuesByCriteria()
   {
      UInt32 numberQueues = 0;
      
      // Specify the criteria to filter by.
      MessageQueueCriteria^ myCriteria = gcnew MessageQueueCriteria;
      myCriteria->MachineName = "MyComputer";
      myCriteria->CreatedAfter = DateTime::Now.Subtract( TimeSpan(1,0,0,0) );
      
      // Get a cursor into the queues on the network.
      MessageQueueEnumerator^ myQueueEnumerator = MessageQueue::GetMessageQueueEnumerator( myCriteria );
      
      // Move to the next queue and read its path.
      while ( myQueueEnumerator->MoveNext() )
      {
         
         // Increase the count if priority is Lowest.
         Console::WriteLine( myQueueEnumerator->Current->Path );
         numberQueues++;
      }

      
      // Handle no queues matching the criteria.
      if ( numberQueues == 0 )
      {
         Console::WriteLine( "No public queues match criteria." );
      }

      return;
   }

};

int main()
{
   
   // Create a new instance of the class.
   MyNewQueue^ myNewQueue = gcnew MyNewQueue;
   
   // Output the count of Lowest priority messages.
   myNewQueue->ListPublicQueuesByCriteria();
   return 0;
}
using System;
using System.Messaging;

namespace MyProject
{
    /// <summary>
    /// Provides a container class for the example.
    /// </summary>
    public class MyNewQueue
    {

        //**************************************************
        // Provides an entry point into the application.
        //		
        // This example uses a cursor to step through the
        // message queues and list the public queues on the
        // network that specify certain criteria.
        //**************************************************

        public static void Main()
        {
            // Create a new instance of the class.
            MyNewQueue myNewQueue = new MyNewQueue();

            // Output the count of Lowest priority messages.
            myNewQueue.ListPublicQueuesByCriteria();
                        
            return;
        }

        //**************************************************
        // Iterates through message queues and displays the
        // path of each queue that was created in the last
        // day and that exists on the computer "MyComputer".
        //**************************************************
        
        public void ListPublicQueuesByCriteria()
        {
            uint numberQueues = 0;
            
            // Specify the criteria to filter by.
            MessageQueueCriteria myCriteria = new
                MessageQueueCriteria();
            myCriteria.MachineName = "MyComputer";
            myCriteria.CreatedAfter = DateTime.Now.Subtract(new
                TimeSpan(1,0,0,0));

            // Get a cursor into the queues on the network.
            MessageQueueEnumerator myQueueEnumerator =
                MessageQueue.GetMessageQueueEnumerator(myCriteria);

            // Move to the next queue and read its path.
            while(myQueueEnumerator.MoveNext())
            {
                // Increase the count if priority is Lowest.
                Console.WriteLine(myQueueEnumerator.Current.Path);
                numberQueues++;
            }

            // Handle no queues matching the criteria.
            if (numberQueues == 0)
            {
                Console.WriteLine("No public queues match criteria.");
            }

            return;
        }
    }
}
Imports System.Messaging

 
Public Class MyNewQueue


        '
        ' Provides an entry point into the application.
        '		 
        ' This example uses a cursor to step through the
        ' message queues and list the public queues on the
        ' network that specify certain criteria.
        

        Public Shared Sub Main()

            ' Create a new instance of the class.
            Dim myNewQueue As New MyNewQueue()

            ' Output the count of Lowest priority messages.
            myNewQueue.ListPublicQueuesByCriteria()

            Return

        End Sub


        
        ' Iterates through message queues and displays the
        ' path of each queue that was created in the last
        ' day and that exists on the computer "MyComputer". 
        

        Public Sub ListPublicQueuesByCriteria()

            Dim numberQueues As Int32 = 0

            ' Specify the criteria to filter by.
            Dim myCriteria As New MessageQueueCriteria()
            myCriteria.MachineName = "MyComputer"
            myCriteria.CreatedAfter = DateTime.Now.Subtract(New _
                TimeSpan(1, 0, 0, 0))


            ' Get a cursor into the queues on the network.
            Dim myQueueEnumerator As MessageQueueEnumerator = _
                MessageQueue.GetMessageQueueEnumerator(myCriteria)

            ' Move to the next queue and read its path.
            While myQueueEnumerator.MoveNext()
                ' Increase the count if the priority is Lowest.
                Console.WriteLine(myQueueEnumerator.Current.Path)
                numberQueues += 1
            End While

            ' Handle no queues matching the criteria.
            If numberQueues = 0 Then
                Console.WriteLine("No queues match the criteria.")
            End If

            Return

        End Sub

End Class

Remarques

Cette surcharge de GetMessageQueueEnumerator renvoie une liste de toutes les files d’attente publiques sur le réseau qui répondent aux critères définis dans les critères d’application. Vous pouvez spécifier les critères à inclure, par exemple, l’heure de création ou de modification de la file d’attente, le nom de l’ordinateur, l’étiquette, la catégorie ou toute combinaison de ces éléments.

Étant donné que le curseur est associé à une liste dynamique, l’énumération reflète toute modification apportée à une file d’attente qui se produit au-delà de la position actuelle du curseur. Les modifications apportées aux files d’attente situées avant la position actuelle du curseur ne sont pas reflétées. Par exemple, l’énumérateur peut accéder automatiquement à une file d’attente ajoutée au-delà de la position du curseur, mais pas à une file d’attente insérée avant cette position. Toutefois, vous pouvez réinitialiser l’énumération, en déplaçant ainsi le curseur vers le début de la liste, en appelant Reset pour .MessageQueueEnumerator

Il n’existe aucun ordre défini des files d’attente dans un réseau. Un énumérateur ne les commande pas, par exemple par ordinateur, par étiquette, par status publique ou privée, ou par tout autre critère d’accessibilité.

Si vous souhaitez une instantané statique des files d’attente sur le réseau plutôt qu’une connexion dynamique à celles-ci, spécifiez des critères pour GetPublicQueues ou appelez GetPrivateQueuesByMachine(String). Chacune de ces deux méthodes retourne un tableau d’objets MessageQueue , qui représentent les files d’attente au moment où la méthode a été appelée. L’appel GetPublicQueuesByCategory(Guid)de , GetPublicQueuesByLabel(String)ou GetPublicQueuesByMachine(String) fournit les mêmes résultats que l’appel GetPublicQueues avec les critères de filtrage de Category, Labelet MachineName, respectivement.

Le tableau suivant indique si cette méthode est disponible dans différents modes de groupe de travail.

Mode groupe de travail Disponible
Ordinateur local Non
Ordinateur local et nom de format direct Non
Ordinateur distant Non
Ordinateur distant et nom de format direct Non

Voir aussi

S’applique à