public FileBasicInformation(byte[] buffer, int offset)
 {
     CreationTime   = FileTimeHelper.ReadNullableFileTime(buffer, offset + 0);
     LastAccessTime = FileTimeHelper.ReadNullableFileTime(buffer, offset + 8);
     LastWriteTime  = FileTimeHelper.ReadNullableFileTime(buffer, offset + 16);
     ChangeTime     = FileTimeHelper.ReadNullableFileTime(buffer, offset + 24);
     FileAttributes = (FileAttributes)LittleEndianConverter.ToUInt32(buffer, offset + 32);
     Reserved       = LittleEndianConverter.ToUInt32(buffer, offset + 36);
 }
 public FileNetworkOpenInformation(byte[] buffer, int offset)
 {
     CreationTime   = FileTimeHelper.ReadNullableFileTime(buffer, offset + 0);
     LastAccessTime = FileTimeHelper.ReadNullableFileTime(buffer, offset + 8);
     LastWriteTime  = FileTimeHelper.ReadNullableFileTime(buffer, offset + 16);
     ChangeTime     = FileTimeHelper.ReadNullableFileTime(buffer, offset + 24);
     AllocationSize = LittleEndianConverter.ToInt64(buffer, offset + 32);
     EndOfFile      = LittleEndianConverter.ToInt64(buffer, offset + 40);
     FileAttributes = (FileAttributes)LittleEndianConverter.ToUInt32(buffer, offset + 48);
     Reserved       = LittleEndianConverter.ToUInt32(buffer, offset + 52);
 }
예제 #3
0
 public FileFsVolumeInformation(byte[] buffer, int offset)
 {
     VolumeCreationTime = FileTimeHelper.ReadNullableFileTime(buffer, offset + 0);
     VolumeSerialNumber = LittleEndianConverter.ToUInt32(buffer, offset + 8);
     VolumeLabelLength  = LittleEndianConverter.ToUInt32(buffer, offset + 12);
     SupportsObjects    = Convert.ToBoolean(ByteReader.ReadByte(buffer, offset + 16));
     Reserved           = ByteReader.ReadByte(buffer, offset + 17);
     if (VolumeLabelLength > 0)
     {
         VolumeLabel = ByteReader.ReadUTF16String(buffer, offset + 18, (int)VolumeLabelLength / 2);
     }
 }