MessageQueueEnumerator クラス

定義

メッセージ キュー内のメッセージを列挙するための前方向カーソルを提供します。Provides a forward-only cursor to enumerate through messages in a message queue.

public ref class MessageQueueEnumerator : MarshalByRefObject, IDisposable, System::Collections::IEnumerator
public class MessageQueueEnumerator : MarshalByRefObject, IDisposable, System.Collections.IEnumerator
type MessageQueueEnumerator = class
    inherit MarshalByRefObject
    interface IEnumerator
    interface IDisposable
Public Class MessageQueueEnumerator
Inherits MarshalByRefObject
Implements IDisposable, IEnumerator
継承
MessageQueueEnumerator
実装

次のコード例では、ネットワーク内のすべてのメッセージキューを反復処理し、各キューのパスを調べます。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

注釈

ネットワークMessageQueueEnumerator上のキューとの動的な対話に使用します。Use MessageQueueEnumerator for dynamic interaction with queues on the network. MessageQueueクラスを介して使用できるメソッドは、 MessageQueueEnumeratorキューの動的リストを含むを返すことができます。また、指定したメソッドが呼び出されたときのキューコレクションのスナップショットを含む配列を返すこともできます。Methods available through the MessageQueue class can return either a MessageQueueEnumerator containing a dynamic list of queues, or an array that contains a snapshot of the queue collection at the time the specified method was called.

ネットワークにキューの順序が定義されていません。There is no defined ordering of queues in a network. たとえば、コンピューター、ラベル、パブリックまたはプライベートの状態、またはその他のユーザーがアクセスできる条件によって順序付けされることはありません。They are not ordered, for example, by computer, label, public or private status, or other user-accessible criteria. はカーソルで、動的リストの先頭に初期化されます。MessageQueueEnumeratorA MessageQueueEnumerator is a cursor, initialized to the head of a dynamic list. を呼び出すMoveNextことによって、カーソルを列挙の最初のキューに移動できます。You can move the cursor to the first queue of the enumeration by calling MoveNext. 列挙子が初期化されたら、を使用MoveNextして残りのキューを段階的に進めることができます。After the enumerator has been initialized, you can use MoveNext to step forward through the remaining queues.

で戻ることはできませんMessageQueueEnumeratorIt is not possible to step backward with a MessageQueueEnumerator. カーソルは、キュー列挙体を経由した順方向の移動のみを許可します。A cursor only allows forward movement through the queue enumeration. ただし、を呼び出しResetて、列挙をリセットし、リストの先頭に再びカーソルを置くことができます。However, you can call Reset to reset the enumeration and put the cursor at the beginning of the list again. 列挙子は動的であるため、カーソルの現在の位置を超えて追加されたキューには、列挙子がアクセスできます。Because the enumerator is dynamic, a queue that is appended beyond the cursor's current position can be accessed by the enumerator. カーソルの現在位置の前に挿入されたキューは、最初に Reset を呼び出さないとアクセスできません。A queue that is inserted before the cursor's current position cannot be accessed without first calling Reset.

プロパティ

Current

列挙体の現在の MessageQueue を取得します。Gets the current MessageQueue of the enumeration.

LocatorHandle

ネットワークでキューの位置を特定するのに使われるネイティブなメッセージ キュー ハンドルを取得します。Gets the native Message Queuing handle used to locate queues in a network.

メソッド

Close()

列挙子と関連付けられたリソースを解放します。Frees the resources associated with the enumerator.

CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(継承元 MarshalByRefObject)
Dispose()

MessageQueueEnumerator によって使用されているすべてのリソースを解放します。Releases all resources used by the MessageQueueEnumerator.

Dispose(Boolean)

MessageQueueEnumerator によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the MessageQueueEnumerator and optionally releases the managed resources.

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
Finalize()

キューに保持されているリソースを解放します。Releases the resources held by the queue.

GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetLifetimeService()

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(継承元 MarshalByRefObject)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
InitializeLifetimeService()

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。Obtains a lifetime service object to control the lifetime policy for this instance.

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。Creates a shallow copy of the current MarshalByRefObject object.

(継承元 MarshalByRefObject)
MoveNext()

列挙体の次のキューに列挙子を進めます (そのキューが現在使用できる場合)。Advances the enumerator to the next queue of the enumeration, if one is currently available.

Reset()

列挙体の先頭を指すようにカーソルをリセットします。Resets the cursor, so it points to the beginning of the enumeration.

ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

明示的なインターフェイスの実装

IEnumerator.Current

列挙体の現在の MessageQueue を取得します。Gets the current MessageQueue of the enumeration.

適用対象

こちらもご覧ください