mirror of
https://github.com/TalAloni/SMBLibrary.git
synced 2025-08-12 10:19:18 +02:00
Improved QueryInformation structures implementation
This commit is contained in:
parent
dfb8822a4f
commit
c46e638879
6 changed files with 42 additions and 42 deletions
|
@ -20,10 +20,10 @@ namespace SMBLibrary.SMB1
|
||||||
|
|
||||||
public uint NextEntryOffset;
|
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 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? CreationTime;
|
||||||
public DateTime LastAccessTime;
|
public DateTime? LastAccessTime;
|
||||||
public DateTime LastWriteTime;
|
public DateTime? LastWriteTime;
|
||||||
public DateTime LastChangeTime;
|
public DateTime? LastChangeTime;
|
||||||
public ulong EndOfFile;
|
public ulong EndOfFile;
|
||||||
public ulong AllocationSize;
|
public ulong AllocationSize;
|
||||||
public ExtendedFileAttributes ExtFileAttributes;
|
public ExtendedFileAttributes ExtFileAttributes;
|
||||||
|
@ -46,10 +46,10 @@ namespace SMBLibrary.SMB1
|
||||||
{
|
{
|
||||||
NextEntryOffset = LittleEndianReader.ReadUInt32(buffer, ref offset);
|
NextEntryOffset = LittleEndianReader.ReadUInt32(buffer, ref offset);
|
||||||
FileIndex = LittleEndianReader.ReadUInt32(buffer, ref offset);
|
FileIndex = LittleEndianReader.ReadUInt32(buffer, ref offset);
|
||||||
CreationTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
CreationTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
LastAccessTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
LastAccessTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
LastWriteTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
LastWriteTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
LastChangeTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
LastChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
EndOfFile = LittleEndianReader.ReadUInt64(buffer, ref offset);
|
EndOfFile = LittleEndianReader.ReadUInt64(buffer, ref offset);
|
||||||
AllocationSize = LittleEndianReader.ReadUInt64(buffer, ref offset);
|
AllocationSize = LittleEndianReader.ReadUInt64(buffer, ref offset);
|
||||||
ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset);
|
ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset);
|
||||||
|
|
|
@ -20,10 +20,10 @@ namespace SMBLibrary.SMB1
|
||||||
|
|
||||||
public uint NextEntryOffset;
|
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 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? CreationTime;
|
||||||
public DateTime LastAccessTime;
|
public DateTime? LastAccessTime;
|
||||||
public DateTime LastWriteTime;
|
public DateTime? LastWriteTime;
|
||||||
public DateTime LastAttrChangeTime;
|
public DateTime? LastAttrChangeTime;
|
||||||
public ulong EndOfFile;
|
public ulong EndOfFile;
|
||||||
public ulong AllocationSize;
|
public ulong AllocationSize;
|
||||||
public ExtendedFileAttributes ExtFileAttributes;
|
public ExtendedFileAttributes ExtFileAttributes;
|
||||||
|
@ -38,10 +38,10 @@ namespace SMBLibrary.SMB1
|
||||||
{
|
{
|
||||||
NextEntryOffset = LittleEndianReader.ReadUInt32(buffer, ref offset);
|
NextEntryOffset = LittleEndianReader.ReadUInt32(buffer, ref offset);
|
||||||
FileIndex = LittleEndianReader.ReadUInt32(buffer, ref offset);
|
FileIndex = LittleEndianReader.ReadUInt32(buffer, ref offset);
|
||||||
CreationTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
CreationTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
LastAccessTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
LastAccessTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
LastWriteTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
LastWriteTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
LastAttrChangeTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
LastAttrChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
EndOfFile = LittleEndianReader.ReadUInt64(buffer, ref offset);
|
EndOfFile = LittleEndianReader.ReadUInt64(buffer, ref offset);
|
||||||
AllocationSize = LittleEndianReader.ReadUInt64(buffer, ref offset);
|
AllocationSize = LittleEndianReader.ReadUInt64(buffer, ref offset);
|
||||||
ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset);
|
ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset);
|
||||||
|
|
|
@ -20,10 +20,10 @@ namespace SMBLibrary.SMB1
|
||||||
|
|
||||||
public uint NextEntryOffset;
|
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 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? CreationTime;
|
||||||
public DateTime LastAccessTime;
|
public DateTime? LastAccessTime;
|
||||||
public DateTime LastWriteTime;
|
public DateTime? LastWriteTime;
|
||||||
public DateTime LastAttrChangeTime;
|
public DateTime? LastAttrChangeTime;
|
||||||
public ulong EndOfFile;
|
public ulong EndOfFile;
|
||||||
public ulong AllocationSize;
|
public ulong AllocationSize;
|
||||||
public ExtendedFileAttributes ExtFileAttributes;
|
public ExtendedFileAttributes ExtFileAttributes;
|
||||||
|
@ -39,10 +39,10 @@ namespace SMBLibrary.SMB1
|
||||||
{
|
{
|
||||||
NextEntryOffset = LittleEndianReader.ReadUInt32(buffer, ref offset);
|
NextEntryOffset = LittleEndianReader.ReadUInt32(buffer, ref offset);
|
||||||
FileIndex = LittleEndianReader.ReadUInt32(buffer, ref offset);
|
FileIndex = LittleEndianReader.ReadUInt32(buffer, ref offset);
|
||||||
CreationTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
CreationTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
LastAccessTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
LastAccessTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
LastWriteTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
LastWriteTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
LastAttrChangeTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
LastAttrChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
EndOfFile = LittleEndianReader.ReadUInt64(buffer, ref offset);
|
EndOfFile = LittleEndianReader.ReadUInt64(buffer, ref offset);
|
||||||
AllocationSize = LittleEndianReader.ReadUInt64(buffer, ref offset);
|
AllocationSize = LittleEndianReader.ReadUInt64(buffer, ref offset);
|
||||||
ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset);
|
ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset);
|
||||||
|
|
|
@ -18,7 +18,7 @@ namespace SMBLibrary.SMB1
|
||||||
{
|
{
|
||||||
public const int FixedLength = 18;
|
public const int FixedLength = 18;
|
||||||
|
|
||||||
public DateTime VolumeCreationTime;
|
public DateTime? VolumeCreationTime;
|
||||||
public uint SerialNumber;
|
public uint SerialNumber;
|
||||||
//uint VolumeLabelSize;
|
//uint VolumeLabelSize;
|
||||||
public ushort Reserved;
|
public ushort Reserved;
|
||||||
|
@ -31,7 +31,7 @@ namespace SMBLibrary.SMB1
|
||||||
|
|
||||||
public QueryFSVolumeInfo(byte[] buffer, int offset)
|
public QueryFSVolumeInfo(byte[] buffer, int offset)
|
||||||
{
|
{
|
||||||
VolumeCreationTime = SMB1Helper.ReadFileTime(buffer, offset + 0);
|
VolumeCreationTime = FileTimeHelper.ReadNullableFileTime(buffer, offset + 0);
|
||||||
SerialNumber = LittleEndianConverter.ToUInt32(buffer, offset + 8);
|
SerialNumber = LittleEndianConverter.ToUInt32(buffer, offset + 8);
|
||||||
uint volumeLabelSize = LittleEndianConverter.ToUInt32(buffer, offset + 12);
|
uint volumeLabelSize = LittleEndianConverter.ToUInt32(buffer, offset + 12);
|
||||||
Reserved = LittleEndianConverter.ToUInt16(buffer, offset + 16);
|
Reserved = LittleEndianConverter.ToUInt16(buffer, offset + 16);
|
||||||
|
|
|
@ -18,10 +18,10 @@ namespace SMBLibrary.SMB1
|
||||||
{
|
{
|
||||||
public const int FixedLength = 72;
|
public const int FixedLength = 72;
|
||||||
|
|
||||||
public DateTime CreationDateTime;
|
public DateTime? CreationDateTime;
|
||||||
public DateTime LastAccessDateTime;
|
public DateTime? LastAccessDateTime;
|
||||||
public DateTime LastWriteDateTime;
|
public DateTime? LastWriteDateTime;
|
||||||
public DateTime LastChangeTime;
|
public DateTime? LastChangeTime;
|
||||||
public ExtendedFileAttributes ExtFileAttributes;
|
public ExtendedFileAttributes ExtFileAttributes;
|
||||||
public uint Reserved1;
|
public uint Reserved1;
|
||||||
public ulong AllocationSize;
|
public ulong AllocationSize;
|
||||||
|
@ -40,10 +40,10 @@ namespace SMBLibrary.SMB1
|
||||||
|
|
||||||
public QueryFileAllInfo(byte[] buffer, int offset)
|
public QueryFileAllInfo(byte[] buffer, int offset)
|
||||||
{
|
{
|
||||||
CreationDateTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
CreationDateTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
LastAccessDateTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
LastAccessDateTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
LastWriteDateTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
LastWriteDateTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
LastChangeTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
LastChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset);
|
ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset);
|
||||||
Reserved1 = LittleEndianReader.ReadUInt32(buffer, ref offset);
|
Reserved1 = LittleEndianReader.ReadUInt32(buffer, ref offset);
|
||||||
AllocationSize = LittleEndianReader.ReadUInt64(buffer, ref offset);
|
AllocationSize = LittleEndianReader.ReadUInt64(buffer, ref offset);
|
||||||
|
|
|
@ -18,10 +18,10 @@ namespace SMBLibrary.SMB1
|
||||||
{
|
{
|
||||||
public const int Length = 40;
|
public const int Length = 40;
|
||||||
|
|
||||||
public DateTime CreationDateTime;
|
public DateTime? CreationDateTime;
|
||||||
public DateTime LastAccessDateTime;
|
public DateTime? LastAccessDateTime;
|
||||||
public DateTime LastWriteDateTime;
|
public DateTime? LastWriteDateTime;
|
||||||
public DateTime LastChangeTime;
|
public DateTime? LastChangeTime;
|
||||||
public ExtendedFileAttributes ExtFileAttributes;
|
public ExtendedFileAttributes ExtFileAttributes;
|
||||||
public uint Reserved;
|
public uint Reserved;
|
||||||
|
|
||||||
|
@ -31,10 +31,10 @@ namespace SMBLibrary.SMB1
|
||||||
|
|
||||||
public QueryFileBasicInfo(byte[] buffer, int offset)
|
public QueryFileBasicInfo(byte[] buffer, int offset)
|
||||||
{
|
{
|
||||||
CreationDateTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
CreationDateTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
LastAccessDateTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
LastAccessDateTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
LastWriteDateTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
LastWriteDateTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
LastChangeTime = SMB1Helper.ReadFileTime(buffer, ref offset);
|
LastChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset);
|
||||||
ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset);
|
ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset);
|
||||||
Reserved = LittleEndianReader.ReadUInt32(buffer, ref offset);
|
Reserved = LittleEndianReader.ReadUInt32(buffer, ref offset);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue