MessageQueue.GetMessageQueueEnumerator 메서드

정의

네트워크에 있는 공개 큐의 동적 목록에 대한 열거자 개체를 만듭니다.Creates an enumerator object for a dynamic listing of the public queues on the network.

오버로드

GetMessageQueueEnumerator()

앞으로만 이동 가능한 커서 의미 체계 기능을 제공하여 네트워크에 있는 모든 공개 큐를 열거합니다.Provides forward-only cursor semantics to enumerate through all public queues on the network.

GetMessageQueueEnumerator(MessageQueueCriteria)

앞으로만 이동 가능한 커서 의미 체계 기능 제공하여 네트워크에 있는 공개 큐 중 지정된 기준을 만족하는 큐를 모두 열거합니다.Provides forward-only cursor semantics to enumerate through all public queues on the network that meet the specified criteria.

GetMessageQueueEnumerator()

앞으로만 이동 가능한 커서 의미 체계 기능을 제공하여 네트워크에 있는 모든 공개 큐를 열거합니다.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

반환

네트워크에 있는 모든 공개 메시지 큐의 동적 목록을 제공하는 MessageQueueEnumerator입니다.A MessageQueueEnumerator that provides a dynamic listing of all the public message queues on the network.

예제

다음 코드 예제에서는 네트워크의 모든 메시지 큐를 통해 반복 하 고 각 큐에 대 한 경로 검사 합니다.The following code example iterates through all the message queues in the network, and examines the path for each queue. 마지막으로 네트워크에서 공개 큐의 수를 표시합니다.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

설명

이 오버 로드 GetMessageQueueEnumerator 네트워크에 있는 모든 공개 큐의 열거형을 반환 합니다.This overload of GetMessageQueueEnumerator returns an enumeration of all the public queues that are on the network.

커서가 동적 목록과 관련 되어 있으므로 열거형 삭제 또는 커서의 현재 위치 뒤에 추가 하는 큐에 대 한 큐 목록에 대 한 수정 내용을 반영 합니다.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. 추가 또는 삭제는 커서의 현재 위치 앞에 배치 하는 큐의 반영 되지 않습니다.Additions or deletion of queues located before the cursor's current position are not reflected. 예를 들어, 열거자의 커서 위치 뒤에 추가 큐 있지만 아닌 해당 위치 앞에 삽입에 자동으로 액세스할 수 있습니다.For example, the enumerator can automatically access a queue appended beyond the cursor position but not one inserted before that position. 그러나 다시 설정할 수 있습니다 열거형 하므로 커서를 다시 목록의 시작 부분에 호출 하 여 이동 Reset 에 대 한는 MessageQueueEnumerator합니다.However, you can reset the enumeration, thereby moving the cursor back to the beginning of the list, by calling Reset for the MessageQueueEnumerator.

네트워크에서 큐의 정의 된 순서가 있지 않습니다.There is no defined ordering of queues in a network. 열거자 정렬 되지 않은, 예를 들어, 컴퓨터, 레이블, 공용 또는 개인 상태 또는 기타 액세스 가능한 기준으로 합니다.An enumerator does not order them, for example, by computer, label, public or private status, or any other accessible criteria.

동적 연결을 보다는 네트워크에 있는 큐의 정적 스냅숏을 원한다 면 호출 GetPublicQueues 또는 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). 이러한 두 메서드는 각각의 배열을 반환 MessageQueue 메서드가 호출 된 시간에 큐를 나타내는 개체입니다.Each of these two methods returns an array of MessageQueue objects, which represent the queues at the time the method was called.

다음 표에서이 메서드는 다양 한 작업 그룹 모드에서 사용할 수 있는지 여부를 보여 줍니다.The following table shows whether this method is available in various Workgroup modes.

작업 그룹 모드Workgroup mode 사용 가능Available
로컬 컴퓨터Local computer 아니요No
로컬 컴퓨터와 직접 형식 이름Local computer and direct format name 아니요No
원격 컴퓨터Remote computer 아니요No
원격 컴퓨터와 직접 형식 이름Remote computer and direct format name 아니요No

추가 정보

GetMessageQueueEnumerator(MessageQueueCriteria)

앞으로만 이동 가능한 커서 의미 체계 기능 제공하여 네트워크에 있는 공개 큐 중 지정된 기준을 만족하는 큐를 모두 열거합니다.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

매개 변수

criteria
MessageQueueCriteria

사용 가능한 메시지 큐를 필터링하는 데 사용되는 기준이 포함된 MessageQueueCriteria입니다.A MessageQueueCriteria that contains the criteria used to filter the available message queues.

반환

네트워크에 있는 공개 메시지 큐 중 criteria 매개 변수가 지정한 제한 사항을 만족시키는 큐에 대한 동적 목록을 제공하는 MessageQueueEnumerator입니다.A MessageQueueEnumerator that provides a dynamic listing of the public message queues on the network that satisfy the restrictions specified by the criteria parameter.

예제

다음 코드 예제에서는 메시지 큐를 통해 반복 하 고 "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


        
        ' 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

설명

이 오버 로드 GetMessageQueueEnumerator 애플리케이션 조건에 정의 된 조건을 충족 하는 네트워크에 있는 모든 공개 큐의 목록을 반환 합니다.This overload of GetMessageQueueEnumerator returns a listing of all the public queues on the network that satisfy criteria defined in the application criteria. 를 포함 하는 조건을 작성 또는 수정 시간, 컴퓨터 이름, 레이블, 범주 또는 이러한 조건의 조합을 예를 들어, 큐를 지정할 수 있습니다.You can specify the criteria to include, for example, queue creation or modification time, computer name, label, category, or any combination of these.

커서와 동적 목록과 사용 하 여 연결 된 있으므로 열거형에는 커서의 현재 위치 뒤에 발생 하는 큐에 대 한 수정 내용을 반영 합니다.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. 커서의 현재 위치 앞에 있는 큐에 변경 내용이 반영 되지 않습니다.Changes to queues located before the cursor's current position are not reflected. 예를 들어, 열거자의 커서 위치 뒤에 추가 큐 있지만 아닌 해당 위치 앞에 삽입에 자동으로 액세스할 수 있습니다.For example, the enumerator can automatically access a queue appended beyond the cursor position but not one inserted before that position. 그러나 다시 설정할 수 있습니다 열거형 하므로 커서를 다시 목록의 시작 부분에 호출 하 여 이동 Reset 에 대 한는 MessageQueueEnumerator합니다.However, you can reset the enumeration, thereby moving the cursor back to the beginning of the list, by calling Reset for the MessageQueueEnumerator.

네트워크에서 큐의 정의 된 순서가 있지 않습니다.There is no defined ordering of queues in a network. 열거자 정렬 되지 않은, 예를 들어, 컴퓨터, 레이블, 공용 또는 개인 상태 또는 기타 액세스 가능한 기준으로 합니다.An enumerator does not order them, for example, by computer, label, public or private status, or any other accessible criteria.

동적 연결을 보다는 네트워크에 있는 큐의 정적 스냅숏을 원한다 면에 조건을 지정 GetPublicQueues 호출 또는 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). 이러한 두 메서드는 각각의 배열을 반환 MessageQueue 메서드가 호출 된 시간에 큐를 나타내는 개체입니다.Each of these two methods returns an array of MessageQueue objects, which represent the queues at the time the method was called. 호출 GetPublicQueuesByCategory(Guid), GetPublicQueuesByLabel(String), 또는 GetPublicQueuesByMachine(String) 호출할 때와 동일한 결과 제공 GetPublicQueues 의 필터링 조건을 사용 하 여 CategoryLabel, 및 MachineName, 각각.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.

다음 표에서이 메서드는 다양 한 작업 그룹 모드에서 사용할 수 있는지 여부를 보여 줍니다.The following table shows whether this method is available in various Workgroup modes.

작업 그룹 모드Workgroup mode 사용 가능Available
로컬 컴퓨터Local computer 아니요No
로컬 컴퓨터와 직접 형식 이름Local computer and direct format name 아니요No
원격 컴퓨터Remote computer 아니요No
원격 컴퓨터와 직접 형식 이름Remote computer and direct format name 아니요No

추가 정보

적용 대상