private IAccessControlEditorDialogProvider ProviderFromResourceType(System.Security.AccessControl.ResourceType resType) { IAccessControlEditorDialogProvider prov = null; switch (resType) { case System.Security.AccessControl.ResourceType.FileObject: prov = new FileProvider(); break; case System.Security.AccessControl.ResourceType.KernelObject: prov = new KernelProvider(); break; case System.Security.AccessControl.ResourceType.RegistryKey: prov = new RegistryProvider(); break; case TaskResourceType: prov = new TaskProvider(); break; default: prov = new GenericProvider(); break; } return(prov); }
public void SetProvider(IAccessControlEditorDialogProvider provider) { prov = provider; }
/// <summary>Initializes the dialog with a custom provider.</summary> /// <param name="displayName">The object name.</param> /// <param name="fullObjectName">Full name of the object.</param> /// <param name="isContainer">Set to <c>true</c> if object is a container.</param> /// <param name="customProvider">The custom provider.</param> /// <param name="sd">The binary Security Descriptor.</param> /// <param name="targetServer">The target server.</param> public void Initialize(string displayName, string fullObjectName, bool isContainer, IAccessControlEditorDialogProvider customProvider, byte[] sd, string targetServer = null) { if (isContainer) { ObjectIsContainer = true; } iSecInfo = new SecurityInfoImpl(flags, displayName, fullObjectName, targetServer); ResourceType = System.Security.AccessControl.ResourceType.Unknown; if (sd != null) { Result = new System.Security.AccessControl.RawSecurityDescriptor(sd, 0); iSecInfo.SecurityDescriptor = sd; } else { Result = new System.Security.AccessControl.RawSecurityDescriptor(""); iSecInfo.SecurityDescriptor = new byte[20]; } iSecInfo.SetProvider(customProvider); }