MessageQueue.SetPermissions Methode

Definition

Fügt dem aktuellen Satz Berechtigungen hinzu.Adds permissions to the current set. Hiermit wird festgelegt, wer Zugriff auf Eigenschaften und Meldungen in der Warteschlange erhält.This controls who has access rights to queue properties and messages in the queue.

Überlädt

SetPermissions(AccessControlList)

Weist der Warteschlange anhand einer Zugriffssteuerungsliste Zugriffsrechte zu.Assigns access rights to the queue based on the contents of an access control list.

SetPermissions(MessageQueueAccessControlEntry)

Weist der Warteschlange anhand eines Zugriffssteuerungseintrags Zugriffsrechte zu.Assigns access rights to the queue based on the contents of an access control entry.

SetPermissions(String, MessageQueueAccessRights)

Gewährt einem Computer, einer Gruppe oder einem Benutzer die angegebenen Zugriffsrechte.Gives a computer, group, or user the specified access rights.

SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)

Gewährt einem Computer, einer Gruppe oder einem einzelnen Benutzer die angegebenen Zugriffsrechte mit dem angegebenen Zugriffssteuerungstyp (Zulassen, Verweigern, Widerrufen oder Festlegen).Gives a computer, group, or user the specified access rights, with the specified access control type (allow, deny, revoke, or set).

SetPermissions(AccessControlList)

Weist der Warteschlange anhand einer Zugriffssteuerungsliste Zugriffsrechte zu.Assigns access rights to the queue based on the contents of an access control list.

public:
 void SetPermissions(System::Messaging::AccessControlList ^ dacl);
public void SetPermissions (System.Messaging.AccessControlList dacl);
member this.SetPermissions : System.Messaging.AccessControlList -> unit
Public Sub SetPermissions (dacl As AccessControlList)

Parameter

dacl
AccessControlList

Eine AccessControlList mit einem oder mehreren Zugriffsteuerungseinträgen, die die Vertrauensnehmer und die zu gewährenden Berechtigungen angeben.A AccessControlList that contains one or more access control entries that specify the trustees and the permissions to grant.

Ausnahmen

Fehler beim Zugriff auf eine Message Queuing-Methode.An error occurred when accessing a Message Queuing method.

Beispiele

Das folgende Codebeispiel veranschaulicht die Verwendung von SetPermissions(AccessControlList).The following code example demonstrates the use of SetPermissions(AccessControlList).


// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

// Create an AccessControlList.
AccessControlList^ list = gcnew AccessControlList();

// Create a new trustee to represent the "Everyone" user group.
Trustee^ tr = gcnew Trustee("Everyone");

// Create an AccessControlEntry, granting the trustee read access to
// the queue.
AccessControlEntry^ entry = gcnew AccessControlEntry(
    tr, GenericAccessRights::Read,
    StandardAccessRights::Read,
    AccessControlEntryType::Allow);

// Add the AccessControlEntry to the AccessControlList.
list->Add(entry);

// Apply the AccessControlList to the queue.
queue->SetPermissions(list);

queue->Close();


// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");

// Create an AccessControlList.
AccessControlList list = new AccessControlList();

// Create a new trustee to represent the "Everyone" user group.
Trustee tr = new Trustee("Everyone");

// Create an AccessControlEntry, granting the trustee read access to
// the queue.
AccessControlEntry entry = new AccessControlEntry(
    tr, GenericAccessRights.Read,
    StandardAccessRights.Read,
    AccessControlEntryType.Allow);

// Add the AccessControlEntry to the AccessControlList.
list.Add(entry);

// Apply the AccessControlList to the queue.
queue.SetPermissions(list);

Hinweise

Verwenden Sie diese Überladung, um Rechte zu erteilen, zu verweigern oder zu widerrufen, indem Sie eine Auflistung von Zugriffs Steuerungs Einträgen verwenden, um Informationen zum Treuhänder und Berechtigungen anzugebenUse this overload to grant, deny, or revoke rights by using a collection of access control entries to specify trustee and permissions information. Dies wird z. b. verwendet, um mehreren Benutzern gleichzeitig Berechtigungen zu erteilen.This is used, for example, to grant permissions to multiple users at the same time.

Der Treuhänder, den Sie beim Erstellen des ace -Parameters angeben, kann ein einzelner Benutzer, eine Gruppe von Benutzern oder ein Computer sein.The trustee you specify when you construct the ace parameter can be an individual user, a group of users, or a computer. Wenn der Vertrauens nehmer eine Person ist, verwenden Sie DOMAINdas Format. \ userIf the trustee is an individual, use the format DOMAIN\user. Sie können "." angeben, um den Vertrauens nehmer anzugeben, um den lokalen Computer anzugeben.You can specify "." for the trustee to indicate the local computer.

Die Berechtigungen, die Sie SetPermissions über das Hinzufügen von Rechten zur vorhandenen Liste zuweisen.The permissions you assign through SetPermissions add rights to the existing list. Standardmäßig verfügt der Ersteller einer öffentlichen oder privaten Warteschlange über Vollzugriff, und die Domänen Gruppe "jeder" verfügt über die Berechtigung zum erhalten von Warteschlangen Eigenschaften, zum erhalten von Berechtigungen und zum Schreiben in die Warteschlange.By default, the creator of a public or private queue has full control, and the domain group Everyone has permission to get queue properties, get permissions, and write to the queue. Wenn Sie anrufen SetPermissions, werden die Benutzer-und Berechtigungsinformationen an den Ende der vorhandenen Liste angehängt.When you call SetPermissions, the user and permissions information is appended to the bottom of the existing list.

Das System untersucht AccessControlEntry jede Sequenz nacheinander, bis eines der folgenden Ereignisse eintritt:The system examines each AccessControlEntry in sequence until one of the following events occurs:

  • Ein "Zugriff verweigert AccessControlEntry " verweigert allen angeforderten Zugriffsrechten explizit einen der Treuhänder, die im Zugriffs Token des Threads aufgeführt sind.An access-denied AccessControlEntry explicitly denies any of the requested access rights to one of the trustees listed in the thread's access token.

  • Mindestens ein Zugriffs zulässiger AccessControlEntry Artikel, der im Zugriffs Token des Threads aufgeführt ist, gewährt explizit alle angeforderten Zugriffsrechte.One or more access-allowed AccessControlEntry items for trustees listed in the thread's access token explicitly grant all the requested access rights.

  • Alle AccessControlEntry Elemente wurden geprüft, und es gibt noch mindestens ein angefordertes Zugriffsrecht, das nicht explizit zulässig ist. in diesem Fall wird der Zugriff implizit verweigert.All AccessControlEntry items have been checked and there is still at least one requested access right that has not been explicitly allowed, in which case, access is implicitly denied.

Wenn Sie den- dacl Parameter erstellen, fügen AccessControlEntry Sie der- AccessControlList Auflistung-Instanzen hinzu.When you construct the dacl parameter, you add AccessControlEntry instances to your AccessControlList collection. Wenn Sie jeden Zugriffs Steuerungs Eintrag erstellen, können Sie allgemeine oder standardmäßige Zugriffsrechte angeben.When you construct each access control entry, you can specify generic or standard access rights. Die Rechte für eine Warteschlange können eine beliebige Kombination der folgenden sein:The rights to a queue can be any combination of the following:

  • LöschenDelete

  • Sicherheit lesenRead Security

  • Sicherheit schreibenWrite Security

  • SynchronisierenSynchronize

  • Besitzer ändernModify Owner

  • LesenRead

  • WriteWrite

  • AusführenExecute

  • ErforderlichRequired

  • AlleAll

  • KeineNone

Diese Rechte sind ein Satz von Bitflags, die Sie mit dem-oder bitweisen-Operator kombinieren können.These rights are a set of bit flags that you can combine using the OR bitwise operator.

  • VollzugriffFull Control

  • Nachricht löschenDelete Message

  • Nachricht empfangenReceive Message

  • Peek-NachrichtPeek Message

  • Journal Nachricht empfangenReceive Journal Message

  • Warteschlangen Eigenschaften erhaltenGet Queue Properties

  • Festlegen von Warteschlangen EigenschaftenSet Queue Properties

  • Berechtigungen erhaltenGet Permissions

  • Festlegen von BerechtigungenSet Permissions

  • Besitz der Warteschlange beanspruchenTake Queue Ownership

  • Nachricht schreibenWrite Message

In der folgenden Tabelle wird gezeigt, ob diese Methode in verschiedenen Arbeitsgruppen Modi verfügbar ist.The following table shows whether this method is available in various Workgroup modes.

Arbeitsgruppen ModusWorkgroup mode VerfügbarAvailable
Lokaler ComputerLocal computer JaYes
Name des lokalen Computers und des direkten FormatsLocal computer and direct format name JaYes
Remote ComputerRemote computer NeinNo
Name des Remote Computers und des direkten FormatsRemote computer and direct format name NeinNo

Siehe auch

SetPermissions(MessageQueueAccessControlEntry)

Weist der Warteschlange anhand eines Zugriffssteuerungseintrags Zugriffsrechte zu.Assigns access rights to the queue based on the contents of an access control entry.

public:
 void SetPermissions(System::Messaging::MessageQueueAccessControlEntry ^ ace);
public void SetPermissions (System.Messaging.MessageQueueAccessControlEntry ace);
member this.SetPermissions : System.Messaging.MessageQueueAccessControlEntry -> unit
Public Sub SetPermissions (ace As MessageQueueAccessControlEntry)

Parameter

ace
MessageQueueAccessControlEntry

Ein MessageQueueAccessControlEntry, der einen Benutzer, einen Zugriffstyp und einen Berechtigungstyp angibt.A MessageQueueAccessControlEntry that specifies a user, an access type, and a permission type.

Ausnahmen

Fehler beim Zugriff auf eine Message Queuing-Methode.An error occurred when accessing a Message Queuing method.

Beispiele

Das folgende Codebeispiel veranschaulicht die Verwendung von SetPermissions(MessageQueueAccessControlEntry).The following code example demonstrates the use of SetPermissions(MessageQueueAccessControlEntry).


// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

// Create a new trustee to represent the "Everyone" user group.
Trustee^ tr = gcnew Trustee("Everyone");

// Create a MessageQueueAccessControlEntry, granting the trustee the
// right to receive messages from the queue.
MessageQueueAccessControlEntry^ entry = gcnew
    MessageQueueAccessControlEntry(
    tr, MessageQueueAccessRights::ReceiveMessage,
    AccessControlEntryType::Allow);

// Apply the MessageQueueAccessControlEntry to the queue.
queue->SetPermissions(entry);

queue->Close();


// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");

// Create a new trustee to represent the "Everyone" user group.
Trustee tr = new Trustee("Everyone");

// Create a MessageQueueAccessControlEntry, granting the trustee the
// right to receive messages from the queue.
MessageQueueAccessControlEntry entry = new
    MessageQueueAccessControlEntry(
    tr, MessageQueueAccessRights.ReceiveMessage,
    AccessControlEntryType.Allow);

// Apply the MessageQueueAccessControlEntry to the queue.
queue.SetPermissions(entry);

Hinweise

Verwenden Sie diese Überladung, um Rechte mithilfe eines Zugriffs Steuerungs Eintrags zu erteilen, zu verweigern oder aufzuheben, um Vertrauens nehmer-und Rechte Informationen anzugeben.Use this overload to grant, deny, or revoke rights by using an access control entry to specify trustee and rights information.

Der Treuhänder, den Sie beim Erstellen des ace -Parameters angeben, kann ein einzelner Benutzer, eine Gruppe von Benutzern oder ein Computer sein.The trustee you specify when you construct the ace parameter can be an individual user, a group of users, or a computer. Wenn der Vertrauens nehmer eine Person ist, verwenden Sie DOMAINdas Format. \ userIf the trustee is an individual, use the format DOMAIN\user. Sie können "." angeben, um den Vertrauens nehmer anzugeben, um den lokalen Computer anzugeben.You can specify "." for the trustee to indicate the local computer.

Die Berechtigungen, die Sie SetPermissions über das Hinzufügen von Rechten zur vorhandenen Liste zuweisen.The permissions you assign through SetPermissions add rights to the existing list. Standardmäßig verfügt der Ersteller einer öffentlichen oder privaten Warteschlange über Vollzugriff, und die Domänen Gruppe "jeder" verfügt über die Berechtigung zum erhalten von Warteschlangen Eigenschaften, zum erhalten von Berechtigungen und zum Schreiben in die Warteschlange.By default, the creator of a public or private queue has full control, and the domain group Everyone has permission to get queue properties, get permissions, and write to the queue. Wenn Sie anrufen SetPermissions, werden die Benutzer-und Berechtigungsinformationen an den Ende der vorhandenen Liste angehängt.When you call SetPermissions, the user and permissions information is appended to the bottom of the existing list.

Das System untersucht AccessControlEntry jede Sequenz nacheinander, bis eines der folgenden Ereignisse eintritt:The system examines each AccessControlEntry in sequence until one of the following events occurs:

  • Ein "Zugriff verweigert AccessControlEntry " verweigert allen angeforderten Zugriffsrechten explizit einen der Treuhänder, die im Zugriffs Token des Threads aufgeführt sind.An access-denied AccessControlEntry explicitly denies any of the requested access rights to one of the trustees listed in the thread's access token.

  • Mindestens ein Zugriffs zulässiger AccessControlEntry Artikel, der im Zugriffs Token des Threads aufgeführt ist, gewährt explizit alle angeforderten Zugriffsrechte.One or more access-allowed AccessControlEntry items for trustees listed in the thread's access token explicitly grant all the requested access rights.

  • Alle AccessControlEntry Elemente wurden geprüft, und es gibt noch mindestens ein angefordertes Zugriffsrecht, das nicht explizit zulässig ist. in diesem Fall wird der Zugriff implizit verweigert.All AccessControlEntry items have been checked and there is still at least one requested access right that has not been explicitly allowed, in which case, access is implicitly denied.

Die Rechte für eine Warteschlange, die Sie beim rights MessageQueueAccessControlEntryErstellen des-Parameters angeben, können eine beliebige Kombination der folgenden sein:The rights to a queue, which you specify in the rights parameter when you construct your MessageQueueAccessControlEntry, can be any combination of the following:

  • VollzugriffFull Control

  • Nachricht löschenDelete Message

  • Nachricht empfangenReceive Message

  • Peek-NachrichtPeek Message

  • Journal Nachricht empfangenReceive Journal Message

  • Warteschlangen Eigenschaften erhaltenGet Queue Properties

  • Festlegen von Warteschlangen EigenschaftenSet Queue Properties

  • Berechtigungen erhaltenGet Permissions

  • Festlegen von BerechtigungenSet Permissions

  • Besitz der Warteschlange beanspruchenTake Queue Ownership

  • Nachricht schreibenWrite Message

Der rights Parameter, den Sie im Konstruktor für den ace -Parameter angeben, MessageQueueAccessRights ist ein Flag der-Enumeration.The rights parameter you specify in the constructor for the ace parameter is a flag of the MessageQueueAccessRights enumeration. Sie stellt einen Satz von Bitflags dar, die Sie mithilfe des bitweisen-Operators oder beim Erstellen des rights -Parameters kombinieren können.It represents a set of bit flags that you can combine using the bitwise operator OR when you build the rights parameter.

In der folgenden Tabelle wird gezeigt, ob diese Methode in verschiedenen Arbeitsgruppen Modi verfügbar ist.The following table shows whether this method is available in various Workgroup modes.

Arbeitsgruppen ModusWorkgroup mode VerfügbarAvailable
Lokaler ComputerLocal computer JaYes
Name des lokalen Computers und des direkten FormatsLocal computer and direct format name JaYes
Remote ComputerRemote computer NeinNo
Name des Remote Computers und des direkten FormatsRemote computer and direct format name NeinNo

Siehe auch

SetPermissions(String, MessageQueueAccessRights)

Gewährt einem Computer, einer Gruppe oder einem Benutzer die angegebenen Zugriffsrechte.Gives a computer, group, or user the specified access rights.

public:
 void SetPermissions(System::String ^ user, System::Messaging::MessageQueueAccessRights rights);
public void SetPermissions (string user, System.Messaging.MessageQueueAccessRights rights);
member this.SetPermissions : string * System.Messaging.MessageQueueAccessRights -> unit
Public Sub SetPermissions (user As String, rights As MessageQueueAccessRights)

Parameter

user
String

Der einzelne Benutzer, die Gruppe oder der Computer, der zusätzliche Rechte für die Warteschlange erhält.The individual, group, or computer that gets additional rights to the queue.

rights
MessageQueueAccessRights

Ein MessageQueueAccessRights, das den Satz von Rechten für die Warteschlange darstellt, die Message Queuing dem übergebenen user zuweist.A MessageQueueAccessRights that indicates the set of rights to the queue that Message Queuing assigns to the user passed in.

Ausnahmen

user ist null.The user is null.

Fehler beim Zugriff auf eine Message Queuing-Methode.An error occurred when accessing a Message Queuing method.

Beispiele

Das folgende Codebeispiel veranschaulicht die Verwendung von SetPermissions(String, MessageQueueAccessRights).The following code example demonstrates the use of SetPermissions(String, MessageQueueAccessRights).


// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

// Grant all users in the "Everyone" user group the right to receive
// messages from the queue.
queue->SetPermissions("Everyone",
    MessageQueueAccessRights::ReceiveMessage);

queue->Close();


// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");

// Grant all users in the "Everyone" user group the right to receive
// messages from the queue.
queue.SetPermissions("Everyone", MessageQueueAccessRights.ReceiveMessage);

Hinweise

Verwenden Sie diese Überladung, um einem einzelnen Benutzer bestimmte Rechte zu gewähren.Use this overload to grant specified rights to an individual user. Der Benutzer kann ein beliebiger gültiger Vertrauens nehmer sein, der einzelne Benutzer, Gruppen von Benutzern oder einen Computer einschließt.The user can be any valid trustee, which includes individual users, groups of users, or a computer. Wenn der Benutzer eine Person ist, verwenden Sie das DOMAIN Format \ user für user den-Parameter.If the user is an individual, use the format DOMAIN\user for the user parameter. Sie können "." für den user Parameter angeben, um den lokalen Computer anzugeben.You can specify "." for the user parameter to indicate the local computer.

Die Berechtigungen, die Sie SetPermissions über das Hinzufügen von Rechten zur vorhandenen Liste zuweisen.The permissions you assign through SetPermissions add rights to the existing list. Standardmäßig verfügt der Ersteller einer öffentlichen oder privaten Warteschlange über Vollzugriff, und die Domänen Gruppe "jeder" verfügt über die Berechtigung zum erhalten von Warteschlangen Eigenschaften, zum erhalten von Berechtigungen und zum Schreiben in die Warteschlange.By default, the creator of a public or private queue has full control, and the domain group Everyone has permission to get queue properties, get permissions, and write to the queue. Wenn Sie anrufen SetPermissions, werden die Benutzer-und Berechtigungsinformationen an den Ende der vorhandenen Liste angehängt.When you call SetPermissions, the user and permissions information is appended to the bottom of the existing list.

Das System untersucht AccessControlEntry jede Sequenz nacheinander, bis eines der folgenden Ereignisse eintritt:The system examines each AccessControlEntry in sequence until one of the following events occurs:

  • Ein "Zugriff verweigert AccessControlEntry " verweigert allen angeforderten Zugriffsrechten explizit einen der Treuhänder, die im Zugriffs Token des Threads aufgeführt sind.An access-denied AccessControlEntry explicitly denies any of the requested access rights to one of the trustees listed in the thread's access token.

  • Mindestens ein Zugriffs zulässiger AccessControlEntry Artikel, der im Zugriffs Token des Threads aufgeführt ist, gewährt explizit alle angeforderten Zugriffsrechte.One or more access-allowed AccessControlEntry items for trustees listed in the thread's access token explicitly grant all the requested access rights.

  • Alle AccessControlEntry Elemente wurden geprüft, und es gibt noch mindestens ein angefordertes Zugriffsrecht, das nicht explizit zulässig ist. in diesem Fall wird der Zugriff implizit verweigert.All AccessControlEntry items have been checked and there is still at least one requested access right that has not been explicitly allowed, in which case, access is implicitly denied.

Die Rechte für eine Warteschlange, die im rights -Parameter angegeben ist, können aus einer beliebigen Kombination folgender Punkte bestehen:The rights to a queue, specified in the rights parameter, can be any combination of the following:

  • VollzugriffFull Control

  • Nachricht löschenDelete Message

  • Nachricht empfangenReceive Message

  • Peek-NachrichtPeek Message

  • Journal Nachricht empfangenReceive Journal Message

  • Warteschlangen Eigenschaften erhaltenGet Queue Properties

  • Festlegen von Warteschlangen EigenschaftenSet Queue Properties

  • Berechtigungen erhaltenGet Permissions

  • Festlegen von BerechtigungenSet Permissions

  • Besitz der Warteschlange beanspruchenTake Queue Ownership

  • Nachricht schreibenWrite Message

Die MessageQueueAccessRights -Enumeration stellt einen Satz von Bitflags dar, die Sie mit dem bitweisen-Operator kombinieren können rights , oder, um den-Parameter zu erstellen.The MessageQueueAccessRights enumeration represents a set of bit flags that you can combine using the bitwise operator OR to build the rights parameter.

Mit dieser Überladung können Sie nur Berechtigungen erteilen. Sie können Sie nicht widerrufen oder verweigern.With this overload, you can only grant permissions; you cannot revoke or deny them. Sie müssen eine andere Überladung verwenden, um einen AccessControlEntryType beliebigen anderen Allowals explizit zu gewähren.You must use a different overload to explicitly grant any AccessControlEntryType other than Allow.

In der folgenden Tabelle wird gezeigt, ob diese Methode in verschiedenen Arbeitsgruppen Modi verfügbar ist.The following table shows whether this method is available in various Workgroup modes.

Arbeitsgruppen ModusWorkgroup mode VerfügbarAvailable
Lokaler ComputerLocal computer JaYes
Name des lokalen Computers und des direkten FormatsLocal computer and direct format name JaYes
Remote ComputerRemote computer NeinNo
Name des Remote Computers und des direkten FormatsRemote computer and direct format name NeinNo

Siehe auch

SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)

Gewährt einem Computer, einer Gruppe oder einem einzelnen Benutzer die angegebenen Zugriffsrechte mit dem angegebenen Zugriffssteuerungstyp (Zulassen, Verweigern, Widerrufen oder Festlegen).Gives a computer, group, or user the specified access rights, with the specified access control type (allow, deny, revoke, or set).

public:
 void SetPermissions(System::String ^ user, System::Messaging::MessageQueueAccessRights rights, System::Messaging::AccessControlEntryType entryType);
public void SetPermissions (string user, System.Messaging.MessageQueueAccessRights rights, System.Messaging.AccessControlEntryType entryType);
member this.SetPermissions : string * System.Messaging.MessageQueueAccessRights * System.Messaging.AccessControlEntryType -> unit
Public Sub SetPermissions (user As String, rights As MessageQueueAccessRights, entryType As AccessControlEntryType)

Parameter

user
String

Der einzelne Benutzer, die Gruppe oder der Computer, der zusätzliche Rechte für die Warteschlange erhält.The individual, group, or computer that gets additional rights to the queue.

rights
MessageQueueAccessRights

Ein MessageQueueAccessRights, das den Satz von Rechten für die Warteschlange darstellt, die Message Queuing dem übergebenen user zuweist.A MessageQueueAccessRights that indicates the set of rights to the queue that Message Queuing assigns to the user passed in.

entryType
AccessControlEntryType

Ein AccessControlEntryType, der angibt, ob die im rights-Parameter angegebenen Berechtigungen gewährt, verweigert oder widerrufen werden sollen.A AccessControlEntryType that specifies whether to grant, deny, or revoke the permissions specified by the rights parameter.

Ausnahmen

Fehler beim Zugriff auf eine Message Queuing-Methode.An error occurred when accessing a Message Queuing method.

Beispiele

Das folgende Codebeispiel veranschaulicht die Verwendung von SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType).The following code example demonstrates the use of SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType).


// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

// Grant all users in the "Everyone" user group the right to receive
// messages from the queue.
queue->SetPermissions("Everyone",
    MessageQueueAccessRights::ReceiveMessage,
    AccessControlEntryType::Allow);

queue->Close();


// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");

// Grant all users in the "Everyone" user group the right to receive
// messages from the queue.
queue.SetPermissions("Everyone", MessageQueueAccessRights.ReceiveMessage,
    AccessControlEntryType.Allow);

Hinweise

Verwenden Sie diese Überladung, um bestimmte Rechte für einen einzelnen Benutzer zu erteilen, zu verweigern oder aufzuheben.Use this overload to grant, deny, or revoke specified rights for an individual user. Der Benutzer kann ein beliebiger gültiger Vertrauens nehmer sein, der einzelne Benutzer, Gruppen von Benutzern oder einen Computer einschließt.The user can be any valid trustee, which includes individual users, groups of users, or a computer. Wenn der Benutzer eine Person ist, verwenden Sie das DOMAIN Format \ user für user den-Parameter.If the user is an individual, use the format DOMAIN\user for the user parameter. Sie können "." für den user Parameter angeben, um den lokalen Computer anzugeben.You can specify "." for the user parameter to indicate the local computer.

Die Berechtigungen, die Sie SetPermissions über das Hinzufügen von Rechten zur vorhandenen Liste zuweisen.The permissions you assign through SetPermissions add rights to the existing list. Standardmäßig verfügt der Ersteller einer öffentlichen oder privaten Warteschlange über Vollzugriff, und die Domänen Gruppe "jeder" verfügt über die Berechtigung zum erhalten von Warteschlangen Eigenschaften, zum erhalten von Berechtigungen und zum Schreiben in die Warteschlange.By default, the creator of a public or private queue has full control, and the domain group Everyone has permission to get queue properties, get permissions, and write to the queue. Wenn Sie anrufen SetPermissions, werden die Benutzer-und Berechtigungsinformationen an den Ende der vorhandenen Liste angehängt.When you call SetPermissions, the user and permissions information is appended to the bottom of the existing list.

Das System untersucht AccessControlEntry jede Sequenz nacheinander, bis eines der folgenden Ereignisse eintritt:The system examines each AccessControlEntry in sequence until one of the following events occurs:

  • Ein "Zugriff verweigert AccessControlEntry " verweigert allen angeforderten Zugriffsrechten explizit einen der Treuhänder, die im Zugriffs Token des Threads aufgeführt sind.An access-denied AccessControlEntry explicitly denies any of the requested access rights to one of the trustees listed in the thread's access token.

  • Mindestens ein Zugriffs zulässiger AccessControlEntry Artikel, der im Zugriffs Token des Threads aufgeführt ist, gewährt explizit alle angeforderten Zugriffsrechte.One or more access-allowed AccessControlEntry items for trustees listed in the thread's access token explicitly grant all the requested access rights.

  • Alle AccessControlEntry Elemente wurden geprüft, und es gibt noch mindestens ein angefordertes Zugriffsrecht, das nicht explizit zulässig ist. in diesem Fall wird der Zugriff implizit verweigert.All AccessControlEntry items have been checked and there is still at least one requested access right that has not been explicitly allowed, in which case, access is implicitly denied.

Die Rechte für eine Warteschlange, die im rights -Parameter angegeben ist, können aus einer beliebigen Kombination folgender Punkte bestehen:The rights to a queue, specified in the rights parameter, can be any combination of the following:

  • VollzugriffFull Control

  • Nachricht löschenDelete Message

  • Nachricht empfangenReceive Message

  • Peek-NachrichtPeek Message

  • Journal Nachricht empfangenReceive Journal Message

  • Warteschlangen Eigenschaften erhaltenGet Queue Properties

  • Festlegen von Warteschlangen EigenschaftenSet Queue Properties

  • Berechtigungen erhaltenGet Permissions

  • Festlegen von BerechtigungenSet Permissions

  • Besitz der Warteschlange beanspruchenTake Queue Ownership

  • Nachricht schreibenWrite Message

Die MessageQueueAccessRights -Enumeration stellt einen Satz von Bitflags dar, die Sie mit dem bitweisen-Operator kombinieren können rights , oder, um den-Parameter zu erstellen.The MessageQueueAccessRights enumeration represents a set of bit flags that you can combine using the bitwise operator OR to build the rights parameter.

In der folgenden Tabelle wird gezeigt, ob diese Methode in verschiedenen Arbeitsgruppen Modi verfügbar ist.The following table shows whether this method is available in various Workgroup modes.

Arbeitsgruppen ModusWorkgroup mode VerfügbarAvailable
Lokaler ComputerLocal computer JaYes
Name des lokalen Computers und des direkten FormatsLocal computer and direct format name JaYes
Remote ComputerRemote computer NeinNo
Name des Remote Computers und des direkten FormatsRemote computer and direct format name NeinNo

Siehe auch

Gilt für: