MessageQueue::Create Method (String^)
Creates a non-transactional Message Queuing queue at the specified path.
Assembly: System.Messaging (in System.Messaging.dll)
Parameters
- path
-
Type:
System::String^
The path of the queue to create.
| Exception | Condition |
|---|---|
| ArgumentException | The path parameter is null 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; }
Available since 1.1