public uint GetSecurity(WinFspFileSystem FileSystem, FileOpenContext Context, ref SecuirtyDescriptor descriptor) { return(NtStatus.STATUS_SUCCESS); }
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); }
public uint SetSecurity(WinFspFileSystem FileSystem, FileOpenContext Context, uint SecurityInformation, SecuirtyDescriptor ModificationDescriptor) { return(NtStatus.STATUS_SUCCESS); }
public uint GetSecurityByName(WinFspFileSystem FileSystem, string FileName, ref uint PFileAttributes, SecuirtyDescriptor SecurityDescriptor) { return(NtStatus.STATUS_REQUEST_NOT_ACCEPTED); }