MessageQueuePermissionAccess Enumeration

 

Defines access levels used by System.Messaging permission classes.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

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

[SerializableAttribute]
[FlagsAttribute]
public enum class MessageQueuePermissionAccess

Member nameDescription
Administer

The MessageQueue can look at the queues that are available, read the messages in the queue, and send and receive messages.

Browse

The MessageQueue can look at the queues that are available.

None

The MessageQueue has no permissions.

Peek

The MessageQueue can look at the queues that are available and read the messages in the queue.

Receive

The MessageQueue can look at the queues that are available, read the messages in the queue, and receive messages.

Send

The MessageQueue can look at the queues that are available and send messages.

The following code example uses MessageQueuePermissionAccess in creating a new instance of MessageQueuePermission.


#using <System.dll>
#using <System.Messaging.dll>

using namespace System;
using namespace System::Messaging;

// Creates a new queue.
void CreateQueue(String^ queuePath, bool transactional)
{
    if (!MessageQueue::Exists(queuePath))
    {
        MessageQueue^ queue = MessageQueue::Create(queuePath, transactional);
        queue->Close();       
    }
    else
    {
        Console::WriteLine("{0} already exists.",queuePath);
    }
}

// Demonstrates the use of MessageQueuePermissionAccess
void CreatePermission()
{
    // Connect to a queue on the local computer.
    MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

    // Create a new instance of MessageQueuePermission.
    MessageQueuePermission^ permission = gcnew MessageQueuePermission(
        MessageQueuePermissionAccess::Receive, queue->MachineName,
        queue->Label, queue->Category.ToString());

    queue->Close();
}

int main()
{
    try
    {

        // Create a non-transactional queue on the local computer.
        CreateQueue(".\\exampleQueue", false);

        // Demonstrate use of MessageQueuePermissionAccess.
        CreatePermission();
    }

    catch (InvalidOperationException^)
    {
        Console::WriteLine("Please install Message Queuing.");
    }

    catch (MessageQueueException^ ex)
    {
        Console::WriteLine(ex->Message);
    }
}

.NET Framework
Available since 1.1
Return to top
Show: