MessageQueue.GetMessageQueueEnumerator Methode

Definition

Erstellt ein Enumerationsobjekt für eine dynamische Liste der öffentlichen Warteschlangen im Netzwerk.Creates an enumerator object for a dynamic listing of the public queues on the network.

Überlädt

GetMessageQueueEnumerator()

Stellt eine Vorwärts-Cursorsemantik zum Durchlaufen aller öffentlichen Warteschlangen im Netzwerk bereit.Provides forward-only cursor semantics to enumerate through all public queues on the network.

GetMessageQueueEnumerator(MessageQueueCriteria)

Stellt eine Vorwärts-Cursorsemantik zum Durchlaufen aller öffentlichen Warteschlangen im Netzwerk bereit, die die angegebenen Kriterien erfüllen.Provides forward-only cursor semantics to enumerate through all public queues on the network that meet the specified criteria.

GetMessageQueueEnumerator()

Stellt eine Vorwärts-Cursorsemantik zum Durchlaufen aller öffentlichen Warteschlangen im Netzwerk bereit.Provides forward-only cursor semantics to enumerate through all public queues on the network.

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

Gibt zurück

Ein MessageQueueEnumerator, der eine dynamische Liste aller öffentlichen Meldungswarteschlangen im Netzwerk bereitstellt.A MessageQueueEnumerator that provides a dynamic listing of all the public message queues on the network.

Beispiele

Im folgenden Codebeispiel werden alle Nachrichten Warteschlangen im Netzwerk durchlaufen und der Pfad für die einzelnen Warteschlangen überprüft.The following code example iterates through all the message queues in the network, and examines the path for each queue. Schließlich wird die Anzahl der öffentlichen Warteschlangen im Netzwerk angezeigt.Finally, it displays the number of public queues on the network.

#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

Hinweise

Diese Überladung GetMessageQueueEnumerator von gibt eine Enumeration aller öffentlichen Warteschlangen im Netzwerk zurück.This overload of GetMessageQueueEnumerator returns an enumeration of all the public queues that are on the network.

Da der Cursor einer dynamischen Auflistung zugeordnet ist, spiegelt die Enumeration alle Änderungen wider, die Sie an einer Warteschlangen Liste für Warteschlangen vornehmen, die nach der aktuellen Position des Cursors gelöscht oder hinzugefügt wurden.Because the cursor is associated with a dynamic listing, the enumeration reflects any modification you make to a queue list for queues deleted or added beyond the cursor's current position. Das Hinzufügen oder Löschen von Warteschlangen, die sich vor der aktuellen Position des Cursors befinden, wird nicht berücksichtigt.Additions or deletion of queues located before the cursor's current position are not reflected. Beispielsweise kann der Enumerator automatisch auf eine Warteschlange zugreifen, die über die Cursorposition hinaus angefügt ist, aber nicht vor dieser Position eingefügt wird.For example, the enumerator can automatically access a queue appended beyond the cursor position but not one inserted before that position. Sie können jedoch die-Enumeration zurücksetzen und den Cursor zurück zum Anfang der Liste bewegen, indem Sie für den Reset MessageQueueEnumeratoraufrufen.However, you can reset the enumeration, thereby moving the cursor back to the beginning of the list, by calling Reset for the MessageQueueEnumerator.

Es gibt keine definierte Reihenfolge von Warteschlangen in einem Netzwerk.There is no defined ordering of queues in a network. Ein Enumerator sortiert Sie z. b. nicht nach Computer, Bezeichnung, öffentlichem oder privatem Status oder anderen zugänglichen Kriterien.An enumerator does not order them, for example, by computer, label, public or private status, or any other accessible criteria.

Wenn Sie anstelle einer dynamischen Verbindung eine statische Momentaufnahme der Warteschlangen im Netzwerk erstellen möchten, können Sie oder GetPublicQueues GetPrivateQueuesByMachine(String)abrufen.If you want a static snapshot of the queues on the network rather than a dynamic connection to them, call GetPublicQueues or GetPrivateQueuesByMachine(String). Jede dieser beiden Methoden gibt ein Array von MessageQueue -Objekten zurück, die die Warteschlangen zum Zeitpunkt des Aufrufs der-Methode darstellen.Each of these two methods returns an array of MessageQueue objects, which represent the queues at the time the method was called.

In der folgenden Tabelle wird gezeigt, ob diese Methode in verschiedenen Arbeitsgruppen Modi verfügbar ist.The following table shows whether this method is available in various Workgroup modes.

Arbeitsgruppen ModusWorkgroup mode VerfügbarAvailable
Lokaler ComputerLocal computer NeinNo
Name des lokalen Computers und des direkten FormatsLocal computer and direct format name NeinNo
Remote ComputerRemote computer NeinNo
Name des Remote Computers und des direkten FormatsRemote computer and direct format name NeinNo

Siehe auch

GetMessageQueueEnumerator(MessageQueueCriteria)

Stellt eine Vorwärts-Cursorsemantik zum Durchlaufen aller öffentlichen Warteschlangen im Netzwerk bereit, die die angegebenen Kriterien erfüllen.Provides forward-only cursor semantics to enumerate through all public queues on the network that meet the specified criteria.

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

Parameter

criteria
MessageQueueCriteria

Ein MessageQueueCriteria, das die Kriterien zum Filtern der verfügbaren Meldungswarteschlangen enthält.A MessageQueueCriteria that contains the criteria used to filter the available message queues.

Gibt zurück

Ein MessageQueueEnumerator, der eine dynamische Liste der öffentlichen Meldungswarteschlangen im Netzwerk bereitstellt, die die im criteria-Parameter angegebenen Bedingungen erfüllen.A MessageQueueEnumerator that provides a dynamic listing of the public message queues on the network that satisfy the restrictions specified by the criteria parameter.

Beispiele

Das folgende Codebeispiel durchläuft Nachrichten Warteschlangen und zeigt den Pfad der einzelnen Warteschlangen an, die am letzten Tag erstellt wurden und auf dem Computer "MyComputer" vorhanden sind.The following code example 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".

#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

Hinweise

Diese Überladung GetMessageQueueEnumerator von gibt eine Auflistung aller öffentlichen Warteschlangen im Netzwerk zurück, die Kriterien erfüllen, die in den Anwendungskriterien definiert sind.This overload of GetMessageQueueEnumerator returns a listing of all the public queues on the network that satisfy criteria defined in the application criteria. Sie können die einzuschließenden Kriterien angeben, z. b. Warteschlangen Erstellung oder Änderungszeit, Computername, Bezeichnung, Kategorie oder eine beliebige Kombination dieser Werte.You can specify the criteria to include, for example, queue creation or modification time, computer name, label, category, or any combination of these.

Da der Cursor einer dynamischen Auflistung zugeordnet ist, spiegelt die Enumeration alle Änderungen wider, die Sie an einer Warteschlange vornehmen, die hinter der aktuellen Position des Cursors liegt.Because the cursor is associated with a dynamic listing, the enumeration reflects any modification you make to a queue that occurs beyond the cursor's current position. Änderungen an Warteschlangen, die sich vor der aktuellen Position des Cursors befinden, werden nicht widergespiegelt.Changes to queues located before the cursor's current position are not reflected. Beispielsweise kann der Enumerator automatisch auf eine Warteschlange zugreifen, die über die Cursorposition hinaus angefügt ist, aber nicht vor dieser Position eingefügt wird.For example, the enumerator can automatically access a queue appended beyond the cursor position but not one inserted before that position. Sie können jedoch die-Enumeration zurücksetzen und den Cursor zurück zum Anfang der Liste bewegen, indem Sie für den Reset MessageQueueEnumeratoraufrufen.However, you can reset the enumeration, thereby moving the cursor back to the beginning of the list, by calling Reset for the MessageQueueEnumerator.

Es gibt keine definierte Reihenfolge von Warteschlangen in einem Netzwerk.There is no defined ordering of queues in a network. Ein Enumerator sortiert Sie z. b. nicht nach Computer, Bezeichnung, öffentlichem oder privatem Status oder anderen zugänglichen Kriterien.An enumerator does not order them, for example, by computer, label, public or private status, or any other accessible criteria.

Wenn Sie anstelle einer dynamischen Verbindung eine statische Momentaufnahme der Warteschlangen im Netzwerk erstellen möchten, geben Sie Kriterien für GetPublicQueues an, GetPrivateQueuesByMachine(String)oder geben Sie an.If you want a static snapshot of the queues on the network rather than a dynamic connection to them, specify criteria for GetPublicQueues or call GetPrivateQueuesByMachine(String). Jede dieser beiden Methoden gibt ein Array von MessageQueue -Objekten zurück, die die Warteschlangen zum Zeitpunkt des Aufrufs der-Methode darstellen.Each of these two methods returns an array of MessageQueue objects, which represent the queues at the time the method was called. Aufrufen von GetPublicQueuesByCategory(Guid), GetPublicQueuesByLabel(String), oder GetPublicQueuesByMachine(String) bietet die gleichen Ergebnisse wie das Aufrufen GetPublicQueues mit den Filterkriterien des Category, Label, und MachineNamebzw.Calling GetPublicQueuesByCategory(Guid), GetPublicQueuesByLabel(String), or GetPublicQueuesByMachine(String) provides the same results as calling GetPublicQueues with the filtering criteria of Category, Label, and MachineName, respectively.

In der folgenden Tabelle wird gezeigt, ob diese Methode in verschiedenen Arbeitsgruppen Modi verfügbar ist.The following table shows whether this method is available in various Workgroup modes.

Arbeitsgruppen ModusWorkgroup mode VerfügbarAvailable
Lokaler ComputerLocal computer NeinNo
Name des lokalen Computers und des direkten FormatsLocal computer and direct format name NeinNo
Remote ComputerRemote computer NeinNo
Name des Remote Computers und des direkten FormatsRemote computer and direct format name NeinNo

Siehe auch

Gilt für: