Improved QueryInformation structures implementation

This commit is contained in:
Tal Aloni 2017-02-07 14:03:44 +02:00
parent dfb8822a4f
commit c46e638879
6 changed files with 42 additions and 42 deletions

View file

@ -20,10 +20,10 @@ namespace SMBLibrary.SMB1
public uint NextEntryOffset;
public uint FileIndex; // SHOULD be set to zero when sent in a response and SHOULD be ignored when received by the client
public DateTime CreationTime;
public DateTime LastAccessTime;
public DateTime LastWriteTime;
public DateTime LastChangeTime;
public DateTime? CreationTime;
public DateTime? LastAccessTime;
public DateTime? LastWriteTime;
public DateTime? LastChangeTime;
public ulong EndOfFile;
public ulong AllocationSize;
public ExtendedFileAttributes ExtFileAttributes;
@ -46,10 +46,10 @@ namespace SMBLibrary.SMB1
{
NextEntryOffset = LittleEndianReader.ReadUInt32(buffer, ref offset);
FileIndex = LittleEndianReader.ReadUInt32(buffer, ref offset);
CreationTime = SMB1Helper.ReadFileTime(buffer, ref offset);
LastAccessTime = SMB1Helper.ReadFileTime(buffer, ref offset);
LastWriteTime = SMB1Helper.ReadFileTime(buffer, ref offset);
LastChangeTime = SMB1Helper.ReadFileTime(buffer, ref offset);
CreationTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
LastAccessTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
LastWriteTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
LastChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
EndOfFile = LittleEndianReader.ReadUInt64(buffer, ref offset);
AllocationSize = LittleEndianReader.ReadUInt64(buffer, ref offset);
ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset);

View file

@ -20,10 +20,10 @@ namespace SMBLibrary.SMB1
public uint NextEntryOffset;
public uint FileIndex; // SHOULD be set to zero when sent in a response and SHOULD be ignored when received by the client
public DateTime CreationTime;
public DateTime LastAccessTime;
public DateTime LastWriteTime;
public DateTime LastAttrChangeTime;
public DateTime? CreationTime;
public DateTime? LastAccessTime;
public DateTime? LastWriteTime;
public DateTime? LastAttrChangeTime;
public ulong EndOfFile;
public ulong AllocationSize;
public ExtendedFileAttributes ExtFileAttributes;
@ -38,10 +38,10 @@ namespace SMBLibrary.SMB1
{
NextEntryOffset = LittleEndianReader.ReadUInt32(buffer, ref offset);
FileIndex = LittleEndianReader.ReadUInt32(buffer, ref offset);
CreationTime = SMB1Helper.ReadFileTime(buffer, ref offset);
LastAccessTime = SMB1Helper.ReadFileTime(buffer, ref offset);
LastWriteTime = SMB1Helper.ReadFileTime(buffer, ref offset);
LastAttrChangeTime = SMB1Helper.ReadFileTime(buffer, ref offset);
CreationTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
LastAccessTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
LastWriteTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
LastAttrChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
EndOfFile = LittleEndianReader.ReadUInt64(buffer, ref offset);
AllocationSize = LittleEndianReader.ReadUInt64(buffer, ref offset);
ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset);

View file

@ -20,10 +20,10 @@ namespace SMBLibrary.SMB1
public uint NextEntryOffset;
public uint FileIndex; // SHOULD be set to zero when sent in a response and SHOULD be ignored when received by the client
public DateTime CreationTime;
public DateTime LastAccessTime;
public DateTime LastWriteTime;
public DateTime LastAttrChangeTime;
public DateTime? CreationTime;
public DateTime? LastAccessTime;
public DateTime? LastWriteTime;
public DateTime? LastAttrChangeTime;
public ulong EndOfFile;
public ulong AllocationSize;
public ExtendedFileAttributes ExtFileAttributes;
@ -39,10 +39,10 @@ namespace SMBLibrary.SMB1
{
NextEntryOffset = LittleEndianReader.ReadUInt32(buffer, ref offset);
FileIndex = LittleEndianReader.ReadUInt32(buffer, ref offset);
CreationTime = SMB1Helper.ReadFileTime(buffer, ref offset);
LastAccessTime = SMB1Helper.ReadFileTime(buffer, ref offset);
LastWriteTime = SMB1Helper.ReadFileTime(buffer, ref offset);
LastAttrChangeTime = SMB1Helper.ReadFileTime(buffer, ref offset);
CreationTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
LastAccessTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
LastWriteTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
LastAttrChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
EndOfFile = LittleEndianReader.ReadUInt64(buffer, ref offset);
AllocationSize = LittleEndianReader.ReadUInt64(buffer, ref offset);
ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset);

View file

@ -18,7 +18,7 @@ namespace SMBLibrary.SMB1
{
public const int FixedLength = 18;
public DateTime VolumeCreationTime;
public DateTime? VolumeCreationTime;
public uint SerialNumber;
//uint VolumeLabelSize;
public ushort Reserved;
@ -31,7 +31,7 @@ namespace SMBLibrary.SMB1
public QueryFSVolumeInfo(byte[] buffer, int offset)
{
VolumeCreationTime = SMB1Helper.ReadFileTime(buffer, offset + 0);
VolumeCreationTime = FileTimeHelper.ReadNullableFileTime(buffer, offset + 0);
SerialNumber = LittleEndianConverter.ToUInt32(buffer, offset + 8);
uint volumeLabelSize = LittleEndianConverter.ToUInt32(buffer, offset + 12);
Reserved = LittleEndianConverter.ToUInt16(buffer, offset + 16);

View file

@ -18,10 +18,10 @@ namespace SMBLibrary.SMB1
{
public const int FixedLength = 72;
public DateTime CreationDateTime;
public DateTime LastAccessDateTime;
public DateTime LastWriteDateTime;
public DateTime LastChangeTime;
public DateTime? CreationDateTime;
public DateTime? LastAccessDateTime;
public DateTime? LastWriteDateTime;
public DateTime? LastChangeTime;
public ExtendedFileAttributes ExtFileAttributes;
public uint Reserved1;
public ulong AllocationSize;
@ -40,10 +40,10 @@ namespace SMBLibrary.SMB1
public QueryFileAllInfo(byte[] buffer, int offset)
{
CreationDateTime = SMB1Helper.ReadFileTime(buffer, ref offset);
LastAccessDateTime = SMB1Helper.ReadFileTime(buffer, ref offset);
LastWriteDateTime = SMB1Helper.ReadFileTime(buffer, ref offset);
LastChangeTime = SMB1Helper.ReadFileTime(buffer, ref offset);
CreationDateTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
LastAccessDateTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
LastWriteDateTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
LastChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset);
Reserved1 = LittleEndianReader.ReadUInt32(buffer, ref offset);
AllocationSize = LittleEndianReader.ReadUInt64(buffer, ref offset);

View file

@ -18,10 +18,10 @@ namespace SMBLibrary.SMB1
{
public const int Length = 40;
public DateTime CreationDateTime;
public DateTime LastAccessDateTime;
public DateTime LastWriteDateTime;
public DateTime LastChangeTime;
public DateTime? CreationDateTime;
public DateTime? LastAccessDateTime;
public DateTime? LastWriteDateTime;
public DateTime? LastChangeTime;
public ExtendedFileAttributes ExtFileAttributes;
public uint Reserved;
@ -31,10 +31,10 @@ namespace SMBLibrary.SMB1
public QueryFileBasicInfo(byte[] buffer, int offset)
{
CreationDateTime = SMB1Helper.ReadFileTime(buffer, ref offset);
LastAccessDateTime = SMB1Helper.ReadFileTime(buffer, ref offset);
LastWriteDateTime = SMB1Helper.ReadFileTime(buffer, ref offset);
LastChangeTime = SMB1Helper.ReadFileTime(buffer, ref offset);
CreationDateTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
LastAccessDateTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
LastWriteDateTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
LastChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset);
Reserved = LittleEndianReader.ReadUInt32(buffer, ref offset);
}