MessageQueue.GetMessageQueueEnumerator MessageQueue.GetMessageQueueEnumerator MessageQueue.GetMessageQueueEnumerator MessageQueue.GetMessageQueueEnumerator Method

Definição

Cria um objeto de enumerador para obter uma lista dinâmica de filas públicas na rede.Creates an enumerator object for a dynamic listing of the public queues on the network.

Sobrecargas

GetMessageQueueEnumerator() GetMessageQueueEnumerator() GetMessageQueueEnumerator() GetMessageQueueEnumerator()

Fornece a semântica de cursor somente de avanço para enumerar todas as filas públicas na rede.Provides forward-only cursor semantics to enumerate through all public queues on the network.

GetMessageQueueEnumerator(MessageQueueCriteria) GetMessageQueueEnumerator(MessageQueueCriteria) GetMessageQueueEnumerator(MessageQueueCriteria) GetMessageQueueEnumerator(MessageQueueCriteria)

Fornece a semântica de cursor somente de avanço para enumerar todas as filas públicas na rede que atendem aos critérios especificados.Provides forward-only cursor semantics to enumerate through all public queues on the network that meet the specified criteria.

GetMessageQueueEnumerator() GetMessageQueueEnumerator() GetMessageQueueEnumerator() GetMessageQueueEnumerator()

Fornece a semântica de cursor somente de avanço para enumerar todas as filas públicas na rede.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

Retornos

Um MessageQueueEnumerator que fornece uma lista dinâmica de todas as filas de mensagens públicas na rede.A MessageQueueEnumerator that provides a dynamic listing of all the public message queues on the network.

Exemplos

O exemplo de código a seguir itera todas as filas de mensagens na rede e examina o caminho de cada fila.The following code example iterates through all the message queues in the network, and examines the path for each queue. Por fim, ele exibe o número de filas públicas na rede.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 'Main


        
        ' 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 'ListPublicQueues

End Class 'MyNewQueue

Comentários

Essa sobrecarga de GetMessageQueueEnumerator retorna uma enumeração de todas as filas públicas que estão na rede.This overload of GetMessageQueueEnumerator returns an enumeration of all the public queues that are on the network.

Como o cursor está associado a uma listagem dinâmica, a enumeração reflete qualquer modificação que você faça em uma lista de filas para filas excluídas ou adicionadas além da posição atual do cursor.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. Adições ou exclusões de filas localizadas antes da posição atual do cursor não são refletidas.Additions or deletion of queues located before the cursor's current position are not reflected. Por exemplo, o enumerador pode acessar automaticamente uma fila acrescentada além da posição do cursor, mas não uma inserida antes dessa posição.For example, the enumerator can automatically access a queue appended beyond the cursor position but not one inserted before that position. No entanto, você pode redefinir a enumeração, movendo o cursor de volta para o início da lista, chamando Reset para o MessageQueueEnumerator.However, you can reset the enumeration, thereby moving the cursor back to the beginning of the list, by calling Reset for the MessageQueueEnumerator.

Não há nenhuma ordem definida de filas em uma rede.There is no defined ordering of queues in a network. Um enumerador não os ordena, por exemplo, por computador, rótulo, status público ou privado, ou qualquer outro critério acessível.An enumerator does not order them, for example, by computer, label, public or private status, or any other accessible criteria.

Se você quiser um instantâneo estático das filas na rede em vez de uma conexão dinâmica com eles, chame GetPublicQueues ou. GetPrivateQueuesByMachine(String)If you want a static snapshot of the queues on the network rather than a dynamic connection to them, call GetPublicQueues or GetPrivateQueuesByMachine(String). Cada um desses dois métodos retorna uma matriz de MessageQueue objetos, que representa as filas no momento em que o método foi chamado.Each of these two methods returns an array of MessageQueue objects, which represent the queues at the time the method was called.

A tabela a seguir mostra se esse método está disponível em vários modos de grupo de trabalho.The following table shows whether this method is available in various Workgroup modes.

Modo de grupo de trabalhoWorkgroup mode DisponívelAvailable
Computador localLocal computer NãoNo
Computador local e nome de formato diretoLocal computer and direct format name NãoNo
Computador remotoRemote computer NãoNo
Computador remoto e nome de formato diretoRemote computer and direct format name NãoNo
Veja também

GetMessageQueueEnumerator(MessageQueueCriteria) GetMessageQueueEnumerator(MessageQueueCriteria) GetMessageQueueEnumerator(MessageQueueCriteria) GetMessageQueueEnumerator(MessageQueueCriteria)

Fornece a semântica de cursor somente de avanço para enumerar todas as filas públicas na rede que atendem aos critérios especificados.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

Parâmetros

criteria
MessageQueueCriteria MessageQueueCriteria MessageQueueCriteria MessageQueueCriteria

Um MessageQueueCriteria que contém os critérios usados para filtrar as filas de mensagens disponíveis.A MessageQueueCriteria that contains the criteria used to filter the available message queues.

Retornos

Um MessageQueueEnumerator que fornece uma lista dinâmica de filas de mensagens públicas na rede que cumprem as restrições especificadas pelo parâmetro criteria.A MessageQueueEnumerator that provides a dynamic listing of the public message queues on the network that satisfy the restrictions specified by the criteria parameter.

Exemplos

O exemplo de código a seguir itera através de filas de mensagens e exibe o caminho de cada fila que foi criada no último dia e que existe no computador "MyComputer".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 'Main


        
        ' 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 'ListPublicQueuesByCriteria

End Class 'MyNewQueue

Comentários

Essa sobrecarga de GetMessageQueueEnumerator retorna uma lista de todas as filas públicas na rede que atendem aos critérios definidos nos critérios do aplicativo.This overload of GetMessageQueueEnumerator returns a listing of all the public queues on the network that satisfy criteria defined in the application criteria. Você pode especificar os critérios a serem incluídos, por exemplo, a criação da fila ou a hora da modificação, o nome do computador, o rótulo, a categoria ou qualquer combinação desses.You can specify the criteria to include, for example, queue creation or modification time, computer name, label, category, or any combination of these.

Como o cursor está associado a uma listagem dinâmica, a enumeração reflete qualquer modificação feita em uma fila que ocorra além da posição atual do cursor.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. As alterações nas filas localizadas antes da posição atual do cursor não são refletidas.Changes to queues located before the cursor's current position are not reflected. Por exemplo, o enumerador pode acessar automaticamente uma fila acrescentada além da posição do cursor, mas não uma inserida antes dessa posição.For example, the enumerator can automatically access a queue appended beyond the cursor position but not one inserted before that position. No entanto, você pode redefinir a enumeração, movendo o cursor de volta para o início da lista, chamando Reset para o MessageQueueEnumerator.However, you can reset the enumeration, thereby moving the cursor back to the beginning of the list, by calling Reset for the MessageQueueEnumerator.

Não há nenhuma ordem definida de filas em uma rede.There is no defined ordering of queues in a network. Um enumerador não os ordena, por exemplo, por computador, rótulo, status público ou privado, ou qualquer outro critério acessível.An enumerator does not order them, for example, by computer, label, public or private status, or any other accessible criteria.

Se você quiser um instantâneo estático das filas na rede em vez de uma conexão dinâmica a eles, especifique critérios para GetPublicQueues ou chamar. GetPrivateQueuesByMachine(String)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). Cada um desses dois métodos retorna uma matriz de MessageQueue objetos, que representa as filas no momento em que o método foi chamado.Each of these two methods returns an array of MessageQueue objects, which represent the queues at the time the method was called. Chamar GetPublicQueuesByCategory(Guid), Category GetPublicQueues Labelou fornece os mesmos resultados que a chamada com os critérios de filtragem de, e MachineName, respectivamente. GetPublicQueuesByMachine(String) GetPublicQueuesByLabel(String)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.

A tabela a seguir mostra se esse método está disponível em vários modos de grupo de trabalho.The following table shows whether this method is available in various Workgroup modes.

Modo de grupo de trabalhoWorkgroup mode DisponívelAvailable
Computador localLocal computer NãoNo
Computador local e nome de formato diretoLocal computer and direct format name NãoNo
Computador remotoRemote computer NãoNo
Computador remoto e nome de formato diretoRemote computer and direct format name NãoNo
Veja também

Aplica-se a