Export (0) Print
Expand All

MessageQueue::Create Method (String)

Creates a non-transactional Message Queuing queue at the specified path.

Namespace:  System.Messaging
Assembly:  System.Messaging (in System.Messaging.dll)

public:
static MessageQueue^ Create(
	String^ path
)

Parameters

path
Type: System::String

The path of the queue to create.

Return Value

Type: System.Messaging::MessageQueue
A MessageQueue that represents the new queue.

ExceptionCondition
ArgumentException

The path parameter is nullptr or is an empty string ("").

MessageQueueException

A queue already exists at the specified path.

-or-

An error occurred when accessing a Message Queuing method.

Use this overload to create a non-transactional Message Queuing queue.

To create a new instance of the MessageQueue class in your application and bind it to an existing queue, use the MessageQueue constructor. To create a new queue in Message Queuing, call Create(String).

The syntax for the path parameter depends on the type of queue it references, as shown in the following table.

Queue type

Syntax

Public queue

MachineName\QueueName

Private queue

MachineName\Private$\QueueName

Use "." for the local computer. For more syntax, see the Path property.

The following table shows whether this method is available in various Workgroup modes.

Workgroup mode

Available

Local computer

Yes

Local computer and direct format name

Yes

Remote computer

No

Remote computer and direct format name

No

The following code example creates public and private queues. It sends a message to selected queues.

#using <system.dll>
#using <system.messaging.dll>

using namespace System;
using namespace System::Messaging;

// This example creates new public and private queues. 
ref class MyNewQueue
{
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. 
   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;
   }

};


// Provides an entry point into the application. 
int main()
{

   // Create a new instance of the class.
   MyNewQueue^ myNewQueue = gcnew MyNewQueue;

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

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft