次の方法で共有


MessageQueue.Create メソッド (String)

指定したパスに非トランザクションメッセージ キューのキューを作成します。

Overloads Public Shared Function Create( _
   ByVal path As String _) As MessageQueue
[C#]
public static MessageQueue Create(stringpath);
[C++]
public: static MessageQueue* Create(String* path);
[JScript]
public static function Create(
   path : String) : MessageQueue;

パラメータ

  • path
    作成するキューのパス。

戻り値

新しいキューを表す MessageQueue

例外

例外の種類 条件
ArgumentException path パラメータが null 参照 (Visual Basic では Nothing) または空の文字列 ("") です。
MessageQueueException 指定したパスには既にキューが存在します。

または

メッセージ キューの API にアクセスしたときにエラーが発生しました。

解説

このオーバーロードを使用して、非トランザクションメッセージ キューのキューを作成します。

アプリケーションで MessageQueue クラスの新しいインスタンスを作成し、既存のキューにバインドする場合は、 MessageQueue コンストラクタを使用します。メッセージ キューに新しいキューを作成する場合は、 Create を呼び出します。

path パラメータの構文は、参照するキューの種類によって異なります。

キューの種類 構文
パブリック キュー MachineName\ QueueName
プライベート キュー MachineName\Private$\ QueueName

ローカル コンピュータでは、"." を使用します。構文の詳細については、 Path プロパティのトピックを参照してください。

このメソッドが各種のワークグループ モードで使用できるかどうかを次の表に示します。

ワークグループ モード 使用可否
ローカル コンピュータ いいえ
ローカル コンピュータ + 直接書式名 いいえ
リモート コンピュータ いいえ
リモート コンピュータ + 直接書式名 いいえ

使用例

[Visual Basic, C#, C++] パブリック キューとプライベート キューを作成する例を次に示します。選択したキューにメッセージを送信します。

 
Imports System
Imports 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 creates new public and private 
        ' queues.
        '**************************************************

        Public Shared Sub Main()

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

            ' Create public and private queues.
            myNewQueue.CreatePublicQueues()
            myNewQueue.CreatePrivateQueues()

            Return

        End Sub 'Main


        '**************************************************
        ' Creates public queues and sends a message.
        '**************************************************

        Public Sub CreatePublicQueues()

            ' Create and connect to a public Message Queuing queue.
            If Not MessageQueue.Exists(".\newPublicQueue") Then
                ' Create the queue if it does not exist.
                Dim myNewPublicQueue As MessageQueue = _
                    MessageQueue.Create(".\newPublicQueue")

                ' Send a message to the queue.
                myNewPublicQueue.Send("My message data.")
            End If

            ' Create (but do not connect to) a second public queue.
            If Not MessageQueue.Exists(".\newPublicResponseQueue") _
                Then

                MessageQueue.Create(".\newPublicResponseQueue")
            End If

            Return

        End Sub 'CreatePublicQueues


        '**************************************************
        ' Creates private queues and sends a message.
        '**************************************************

        Public Sub CreatePrivateQueues()

            ' Create and connect to a private Message Queuing queue.
            If Not MessageQueue.Exists(".\Private$\newPrivateQueue") _
                Then

                ' Create the queue if it does not exist.
                Dim myNewPrivateQueue As MessageQueue = _
                    MessageQueue.Create(".\Private$\newPrivateQueue")

                ' Send a message to the queue.
                myNewPrivateQueue.Send("My message data.")
            End If

            ' Create (but do not connect to) a second private queue.
            If Not MessageQueue.Exists(".\Private$\newResponseQueue") _
                Then

                MessageQueue.Create(".\Private$\newResponseQueue")
            End If

            Return

        End Sub 'CreatePrivateQueues

    End Class 'MyNewQueue
End Namespace 'MyProject

[C#] 
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 creates new public and private 
        // queues.
        //**************************************************

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

            // Create public and private queues.
            myNewQueue.CreatePublicQueues();
            myNewQueue.CreatePrivateQueues();

            return;
        }


        //**************************************************
        // Creates public queues and sends a message.
        //**************************************************
        
        public void CreatePublicQueues()
        {

            // Create and connect to a public Message Queuing queue.
            if (!MessageQueue.Exists(".\\newPublicQueue"))
            {
                // Create the queue if it does not exist.
                MessageQueue myNewPublicQueue = 
                    MessageQueue.Create(".\\newPublicQueue");

                // Send a message to the queue.
                myNewPublicQueue.Send("My message data.");
            }

            // Create (but do not connect to) a second public queue.
            if (!MessageQueue.Exists(".\\newPublicResponseQueue"))
            {
                MessageQueue.Create(".\\newPublicResponseQueue");
            }

            return;

        }


        //**************************************************
        // Creates private queues and sends a message.
        //**************************************************
        
        public void CreatePrivateQueues()
        {

            // Create and connect to a private Message Queuing queue.
            if (!MessageQueue.Exists(".\\Private$\\newPrivQueue"))
            {
                // Create the queue if it does not exist.
                MessageQueue myNewPrivateQueue = 
                    MessageQueue.Create(".\\Private$\\newPrivQueue");

                // Send a message to the queue.
                myNewPrivateQueue.Send("My message data.");
            }

            // Create (but do not connect to) a second private queue.
            if (!MessageQueue.Exists(".\\Private$\\newResponseQueue"))
            {
                MessageQueue.Create(".\\Private$\\newResponseQueue");
            }
        
            return;
        }
    }
}

[C++] 
#using <mscorlib.dll>
#using <system.dll>
#using <system.messaging.dll>

using namespace System;
using namespace System::Messaging;

// This example creates new public and private queues.

__gc class MyNewQueue 
{

public:
    void CreatePublicQueues() 
    {
        // Create and connect to a public Message Queuing queue.
        if (!MessageQueue::Exists(S".\\newPublicQueue")) 
        {
            // Create the queue if it does not exist.
            MessageQueue* myNewPublicQueue = 
                MessageQueue::Create(S".\\newPublicQueue");

            // Send a message to the queue.
            myNewPublicQueue->Send(S"My message data.");
        }

        // Create (but do not connect to) a second public queue.
        if (!MessageQueue::Exists(S".\\newPublicResponseQueue")) 
        {
            MessageQueue::Create(S".\\newPublicResponseQueue");
        }

        return;
    }


    // Creates private queues and sends a message.
public:
    void CreatePrivateQueues() 
    {
        // Create and connect to a private Message Queuing queue.
        if (!MessageQueue::Exists(S".\\Private$\\newPrivQueue")) 
        {
            // Create the queue if it does not exist.
            MessageQueue* myNewPrivateQueue = 
                MessageQueue::Create(S".\\Private$\\newPrivQueue");

            // Send a message to the queue.
            myNewPrivateQueue->Send(S"My message data.");
        }

        // Create (but do not connect to) a second private queue.
        if (!MessageQueue::Exists(S".\\Private$\\newResponseQueue")) 
        {
            MessageQueue::Create(S".\\Private$\\newResponseQueue");
        }

        return;
    }
};

// Provides an entry point into the application.

int main() 
{
    // Create a new instance of the class.
    MyNewQueue* myNewQueue = new MyNewQueue();

    // Create public and private queues.
    myNewQueue->CreatePublicQueues();
    myNewQueue->CreatePrivateQueues();

    return 0;
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

MessageQueue クラス | MessageQueue メンバ | System.Messaging 名前空間 | MessageQueue.Create オーバーロードの一覧 | Path | Delete | Exists | MessageQueue