Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

EventWaitHandleRights (Enumeración)

Especifica los derechos de control de acceso que se pueden aplicar a los objetos de evento de sistema con nombre.

Esta enumeración tiene un atributo FlagsAttribute que permite una combinación bit a bit de los valores de miembro.

Espacio de nombres:  System.Security.AccessControl
Ensamblado:  mscorlib (en mscorlib.dll)

[FlagsAttribute]
public enum EventWaitHandleRights

Nombre de miembroDescripción
ChangePermissionsDerecho a cambiar la seguridad y las reglas de auditoría asociadas a un evento con nombre.
DeleteDerecho a eliminar un evento con nombre.
FullControlDerecho a ejercer el control completo sobre un evento con nombre y a modificar sus reglas de acceso y de auditoría.
ModifyEl derecho a establecer o restablecer el estado señalado de un evento con nombre.
ReadPermissionsDerecho a abrir y copiar las reglas de acceso y de auditoría para un evento con nombre.
SynchronizeDerecho a esperar en un evento con nombre.
TakeOwnershipDerecho a cambiar el propietario de un evento con nombre.

Utilice la enumeración EventWaitHandleRights para especificar los derechos de control de acceso cuando crea los objetos EventWaitHandleAccessRule. Para aplicar los derechos de acceso a un evento del sistema con nombre, primero agregue los objetos EventWaitHandleAccessRule a un objeto EventWaitHandleSecurity, a continuación, adjunte el objeto EventWaitHandleSecurity al evento del sistema con nombre utilizando el constructor EventWaitHandle.EventWaitHandle(Boolean, EventResetMode, String, Boolean, EventWaitHandleSecurity) o el método EventWaitHandle.SetAccessControl.

NotaNota

La seguridad en objetos de sincronización no es compatible con Windows 98 ni Windows Millennium Edition.

En el ejemplo de código siguiente se muestra el uso de los valores EventWaitHandleRights cuando se crean y utilizan los objetos EventWaitHandleAccessRule. En el ejemplo se crea un objeto EventWaitHandleSecurity, se agregan reglas que conceden y deniegan diferentes derechos al usuario actual y se muestra el par de reglas resultante. A continuación se conceden nuevos derechos al usuario actual y se presenta el resultado, que muestra cómo se han combinado los nuevos derechos con la regla AccessControlType.Allow existente.

NotaNota

En este ejemplo no se adjunta el objeto de seguridad a un objeto EventWaitHandle; vea la clase EventWaitHandleSecurity, el método EventWaitHandle.GetAccessControl y EventWaitHandle.SetAccessControl.


using System;
using System.Threading;
using System.Security.AccessControl;
using System.Security.Principal;

public class Example
{
    public static void Main()
    {
        // Create a string representing the current user.
        string user = Environment.UserDomainName + "\\" + 
            Environment.UserName;

        // Create a security object that grants no access.
        EventWaitHandleSecurity mSec = new EventWaitHandleSecurity();

        // Add a rule that grants the current user the 
        // right to wait on or signal the event.
        EventWaitHandleAccessRule rule = new EventWaitHandleAccessRule(user, 
            EventWaitHandleRights.Synchronize | 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);
    }

    private static void ShowSecurity(EventWaitHandleSecurity security)
    {
        Console.WriteLine("\r\nCurrent access rules:\r\n");

        foreach(EventWaitHandleAccessRule ar in 
            security.GetAccessRules(true, true, typeof(NTAccount)))
        {
            Console.WriteLine("        User: {0}", ar.IdentityReference);
            Console.WriteLine("        Type: {0}", ar.AccessControlType);
            Console.WriteLine("      Rights: {0}", ar.EventWaitHandleRights);
            Console.WriteLine();
        }
    }
}

/*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

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft