Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

EventWaitHandleRights-Enumeration

 

Veröffentlicht: Oktober 2016

Gibt an, die Zugriffsrechte für das Steuerelement angewendet werden können, die mit dem Namen System Ereignisobjekte.

Diese Enumeration verfügt über ein FlagsAttribute-Attribut, das eine bitweise Kombination der Memberwerte zulässt.

Namespace:   System.Security.AccessControl
Assembly:  mscorlib (in mscorlib.dll)

<FlagsAttribute>
Public Enumeration EventWaitHandleRights

MembernameBeschreibung
ChangePermissions

Das Recht, ändern Sie die Sicherheit und Überwachung von einem benannten Ereignis zugeordneten Regeln.

Delete

Das Recht, ein benanntes Ereignis zu löschen.

FullControl

Das Recht, die vollständige Kontrolle über ein benanntes Ereignis auszuüben, ändern seine Zugriffsregeln und Überwachungsregeln.

Modify

Das Recht, festlegen oder den signalisierten Zustand eines benannten Ereignisses zurücksetzen.

ReadPermissions

Das Recht zum Öffnen und kopieren die Zugriffsregeln audit-Regeln für ein benanntes Ereignis.

Synchronize

Das Recht, auf ein benanntes Ereignis zu warten.

TakeOwnership

Das Recht, den Besitzer eines benannten Ereignisses zu ändern.

Verwenden der EventWaitHandleRights -Enumeration zum Angeben der Zugriffskontrolle Rechte beim Erstellen EventWaitHandleAccessRule Objekte. Zunächst zum Anwenden von Zugriffsrechten auf ein benanntes Ereignis hinzufügen EventWaitHandleAccessRule Objekte ein EventWaitHandleSecurity -Objekt und fügen Sie der EventWaitHandleSecurity -Objekt, das benanntes Ereignis mithilfe der EventWaitHandle.EventWaitHandle(Boolean, EventResetMode, String, Boolean, EventWaitHandleSecurity) Konstruktor oder die EventWaitHandle.SetAccessControl Methode.

System_CAPS_noteHinweis

Sicherheit auf Synchronisierungsobjekte ist für Windows 98 oder Windows Millennium Edition nicht unterstützt.

Das folgende Codebeispiel veranschaulicht die Verwendung von EventWaitHandleRights Werte beim Erstellen und verwenden EventWaitHandleAccessRule Objekte. Das Beispiel erstellt eine EventWaitHandleSecurity -Objekt, wird von Regeln und Regeln hinzugefügt, die für den aktuellen Benutzer verschiedene Rechte gewähren und verweigern. Anschließend können Sie neue Rechte für den aktuellen Benutzer und das Ergebnis wird angezeigt, dass der neuen Rechte mit dem vorhandenen zusammengeführt werden AccessControlType.AllowRegel.

System_CAPS_noteHinweis

In diesem Beispiel wird das Sicherheitsobjekt nicht angefügt ein EventWaitHandle Objekt; finden Sie unter EventWaitHandleSecurity, EventWaitHandle.GetAccessControl -Methode und EventWaitHandle.SetAccessControl.

Imports System
Imports System.Threading
Imports System.Security.AccessControl
Imports System.Security.Principal

Public Class Example

    Public Shared Sub Main()

        ' Create a string representing the current user.
        Dim user As String = Environment.UserDomainName _ 
            & "\" & Environment.UserName

        ' Create a security object that grants no access.
        Dim mSec As New EventWaitHandleSecurity()

        ' Add a rule that grants the current user the 
        ' right to wait on or signal the event.
        Dim rule As New EventWaitHandleAccessRule(user, _
            EventWaitHandleRights.Synchronize _
            Or EventWaitHandleRights.Modify, _
            AccessControlType.Allow)
        mSec.AddAccessRule(rule)

        ' Add a rule that denies the current user the 
        ' right to change permissions on the event.
        rule = New EventWaitHandleAccessRule(user, _
            EventWaitHandleRights.ChangePermissions, _
            AccessControlType.Deny)
        mSec.AddAccessRule(rule)

        ' Display the rules in the security object.
        ShowSecurity(mSec)

        ' Add a rule that allows the current user the 
        ' right to read permissions on the event. This rule
        ' is merged with the existing Allow rule.
        rule = New EventWaitHandleAccessRule(user, _
            EventWaitHandleRights.ReadPermissions, _
            AccessControlType.Allow)
        mSec.AddAccessRule(rule)

        ShowSecurity(mSec)

    End Sub 

    Private Shared Sub ShowSecurity(ByVal security As EventWaitHandleSecurity)
        Console.WriteLine(vbCrLf & "Current access rules:" & vbCrLf)

        For Each ar As EventWaitHandleAccessRule In _
            security.GetAccessRules(True, True, GetType(NTAccount))

            Console.WriteLine("        User: {0}", ar.IdentityReference)
            Console.WriteLine("        Type: {0}", ar.AccessControlType)
            Console.WriteLine("      Rights: {0}", ar.EventWaitHandleRights)
            Console.WriteLine()
        Next

    End Sub
End Class 

'This code example produces output similar to following:
'
'Current access rules:
'
'        User: TestDomain\TestUser
'        Type: Deny
'      Rights: ChangePermissions
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: Modify, Synchronize
'
'
'Current access rules:
'
'        User: TestDomain\TestUser
'        Type: Deny
'      Rights: ChangePermissions
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: Modify, ReadPermissions, Synchronize

.NET Framework
Verfügbar seit 2.0
Zurück zum Anfang
Anzeigen: