예제 #1
0
        public HResult GetAccessRights(ref Guid ObjectType, SiObjectInfoFlags Flags, out IntPtr Access, out int Accesses, out int DefaultAccess)
        {
            Access        = _accessRights;
            Accesses      = _accessRightCount;
            DefaultAccess = 0;

            return(HResult.OK);
        }
 public BasicSecurityInformation(SiObjectInfoFlags flags, string objectName,
                                 List <SiAccess> accessRights, GenericSecurityDescriptor intitalSd, GenericMapping mapping,
                                 string serverName = null, string pageTitle = null)
 {
     this.flags              = flags;
     this.objectName         = objectName;
     this.serverName         = serverName;
     this.pageTitle          = pageTitle;
     this.accessRights       = accessRights.ToArray();
     this.SecurityDescriptor = intitalSd;
     this.mapping            = mapping;
 }
        public void GetObjectInformation(IntPtr pObjectInfo)
        {
            SiObjectInfo      object_info = new SiObjectInfo();
            SiObjectInfoFlags flags       = SiObjectInfoFlags.SI_ADVANCED | SiObjectInfoFlags.SI_EDIT_ALL | SiObjectInfoFlags.SI_NO_ADDITIONAL_PERMISSION;

            if (_read_only || !_handle.IsAccessMaskGranted(GenericAccessRights.WriteDac))
            {
                flags |= SiObjectInfoFlags.SI_READONLY;
            }

            object_info.dwFlags       = flags;
            object_info.pszObjectName = _obj_name.DangerousGetHandle();
            Marshal.StructureToPtr(object_info, pObjectInfo, false);
        }
 public void GetAccessRights(ref Guid pguidObjectType, SiObjectInfoFlags dwFlags, out IntPtr ppAccess, out uint pcAccesses, out uint piDefaultAccess)
 {
     ppAccess        = _access_map.DangerousGetHandle();
     pcAccesses      = (uint)_names.Count;
     piDefaultAccess = 0;
 }
 public void GetAccessRights(ref Guid pguidObjectType, SiObjectInfoFlags dwFlags, out IntPtr ppAccess, out uint pcAccesses, out uint piDefaultAccess)
 {
     ppAccess = _access_map.DangerousGetHandle();
     pcAccesses = (uint)_names.Count;
     piDefaultAccess = 0;
 }