/// <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); }