public Transaction2QueryFileInformationResponse(byte[] parameters, byte[] data, QueryInformationLevel informationLevel, bool isUnicode) : base() { if ((ushort)informationLevel > 0x0100) { EaErrorOffset = LittleEndianConverter.ToUInt16(parameters, 0); } QueryInfo = QueryInformation.GetQueryInformation(data, informationLevel); }
public void SetQueryInformation(QueryInformation queryInformation) { InformationBytes = queryInformation.GetBytes(); }
public QueryInformation GetQueryInformation(QueryInformationLevel queryInformationLevel) { return(QueryInformation.GetQueryInformation(InformationBytes, queryInformationLevel)); }
public static FileInformation ToFileInformation(QueryInformation queryInformation) { if (queryInformation is QueryFileBasicInfo) { QueryFileBasicInfo queryFileBasicInfo = (QueryFileBasicInfo)queryInformation; FileBasicInformation result = new FileBasicInformation(); result.CreationTime = queryFileBasicInfo.CreationTime; result.LastAccessTime = queryFileBasicInfo.LastAccessTime; result.LastWriteTime = queryFileBasicInfo.LastWriteTime; result.ChangeTime = queryFileBasicInfo.LastChangeTime; result.FileAttributes = (FileAttributes)queryFileBasicInfo.ExtFileAttributes; return(result); } else if (queryInformation is QueryFileStandardInfo) { QueryFileStandardInfo queryFileStandardInfo = (QueryFileStandardInfo)queryInformation; FileStandardInformation result = new FileStandardInformation(); result.AllocationSize = queryFileStandardInfo.AllocationSize; result.EndOfFile = queryFileStandardInfo.EndOfFile; result.DeletePending = queryFileStandardInfo.DeletePending; result.Directory = queryFileStandardInfo.Directory; return(result); } else if (queryInformation is QueryFileEaInfo) { QueryFileEaInfo queryFileEaInfo = (QueryFileEaInfo)queryInformation; FileEaInformation result = new FileEaInformation(); result.EaSize = queryFileEaInfo.EaSize; return(result); } else if (queryInformation is QueryFileNameInfo) { QueryFileNameInfo queryFileNameInfo = (QueryFileNameInfo)queryInformation; FileNameInformation result = new FileNameInformation(); result.FileName = queryFileNameInfo.FileName; return(result); } else if (queryInformation is QueryFileAllInfo) { QueryFileAllInfo queryFileAllInfo = (QueryFileAllInfo)queryInformation; FileAllInformation result = new FileAllInformation(); result.BasicInformation.CreationTime = queryFileAllInfo.CreationTime; result.BasicInformation.LastAccessTime = queryFileAllInfo.LastAccessTime; result.BasicInformation.LastWriteTime = queryFileAllInfo.LastWriteTime; result.BasicInformation.ChangeTime = queryFileAllInfo.LastChangeTime; result.BasicInformation.FileAttributes = (FileAttributes)queryFileAllInfo.ExtFileAttributes; result.StandardInformation.AllocationSize = queryFileAllInfo.AllocationSize; result.StandardInformation.EndOfFile = queryFileAllInfo.EndOfFile; result.StandardInformation.DeletePending = queryFileAllInfo.DeletePending; result.StandardInformation.Directory = queryFileAllInfo.Directory; result.EaInformation.EaSize = queryFileAllInfo.EaSize; result.NameInformation.FileName = queryFileAllInfo.FileName; return(result); } else if (queryInformation is QueryFileAltNameInfo) { QueryFileAltNameInfo queryFileAltNameInfo = (QueryFileAltNameInfo)queryInformation; FileAlternateNameInformation result = new FileAlternateNameInformation(); result.FileName = queryFileAltNameInfo.FileName; return(result); } else if (queryInformation is QueryFileStreamInfo) { QueryFileStreamInfo queryFileStreamInfo = (QueryFileStreamInfo)queryInformation; FileStreamInformation result = new FileStreamInformation(); result.Entries.AddRange(queryFileStreamInfo.Entries); return(result); } else if (queryInformation is QueryFileCompressionInfo) { QueryFileCompressionInfo queryFileCompressionInfo = (QueryFileCompressionInfo)queryInformation; FileCompressionInformation result = new FileCompressionInformation(); result.CompressedFileSize = queryFileCompressionInfo.CompressedFileSize; result.CompressionFormat = queryFileCompressionInfo.CompressionFormat; result.CompressionUnitShift = queryFileCompressionInfo.CompressionUnitShift; result.ChunkShift = queryFileCompressionInfo.ChunkShift; result.ClusterShift = queryFileCompressionInfo.ClusterShift; result.Reserved = queryFileCompressionInfo.Reserved; return(result); } else { throw new NotImplementedException(); } }