Example #1
0
 public uint GetSecurity(WinFspFileSystem FileSystem, FileOpenContext Context, ref SecuirtyDescriptor descriptor)
 {
     return(NtStatus.STATUS_SUCCESS);
 }
Example #2
0
        public uint Create(WinFspFileSystem FileSystem, string FileName, uint CreateOptions, uint GrantedAccess, uint FileAttributes, SecuirtyDescriptor SecurityDescriptor, ulong AllocationSize, FileOpenContext Context)
        {
            var parentName = Path.GetDirectoryName(FileName);
            var parent     = GetFileObject(parentName);

            if (parent == null)
            {
                return(NtStatus.STATUS_OBJECT_PATH_NOT_FOUND);
            }


            var isFolder = (CreateOption.FILE_DIRECTORY_FILE & CreateOptions) > 0;

            FileObject file;
            uint       status = CreateFileObject(FileName, isFolder, parent, out file);

            Trace.WriteLine($"Create FileName {FileName} {GetFileObject(FileName)} status {String.Format("{0:X}", status)}");
            if (NtStatus.STATUS_SUCCESS != status)
            {
                return(status);
            }

            if (file == null)
            {
                return((uint)NtStatus.STATUS_OBJECT_NAME_NOT_FOUND);
            }
            if (!isFolder)
            {
                var ramFile = file as RamFile;
                Context.Node.Info.AllocationSize = AllocationSize;
                ramFile.FileData.SetLength((long)AllocationSize);
                Context.Node.Info.FileAttributes = FileAttirutes.FILE_ATTRIBUTE_NORMAL;
            }
            else
            {
                Context.Node.Info.FileAttributes = FileAttirutes.FILE_ATTRIBUTE_DIRECTORY;
            }
            file.Info = Context.Node.Info;
            Context.Node.UserContext = file;
            return(NtStatus.STATUS_SUCCESS);
        }
Example #3
0
 public uint SetSecurity(WinFspFileSystem FileSystem, FileOpenContext Context, uint SecurityInformation, SecuirtyDescriptor ModificationDescriptor)
 {
     return(NtStatus.STATUS_SUCCESS);
 }
Example #4
0
 public uint GetSecurityByName(WinFspFileSystem FileSystem, string FileName, ref uint PFileAttributes, SecuirtyDescriptor SecurityDescriptor)
 {
     return(NtStatus.STATUS_REQUEST_NOT_ACCEPTED);
 }