mirror of
https://github.com/reactos/reactos.git
synced 2024-10-05 00:43:21 +00:00
[NTFS] Implement IRP_MJ_QUERY_INFORMATION/FileNetworkOpenInformation:
We are now able to execute some binaries on a NTFS partition. svn path=/trunk/; revision=65204
This commit is contained in:
parent
68487164df
commit
3fc8b084e5
|
@ -204,6 +204,31 @@ NtfsGetInternalInformation(PNTFS_FCB Fcb,
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static
|
||||||
|
NTSTATUS
|
||||||
|
NtfsGetNetworkOpenInformation(PNTFS_FCB Fcb,
|
||||||
|
PDEVICE_EXTENSION DeviceExt,
|
||||||
|
PFILE_NETWORK_OPEN_INFORMATION NetworkInfo,
|
||||||
|
PULONG BufferLength)
|
||||||
|
{
|
||||||
|
PFILENAME_ATTRIBUTE FileName = &Fcb->Entry;
|
||||||
|
|
||||||
|
if (*BufferLength < sizeof(FILE_NETWORK_OPEN_INFORMATION))
|
||||||
|
return(STATUS_BUFFER_OVERFLOW);
|
||||||
|
|
||||||
|
NetworkInfo->CreationTime.QuadPart = FileName->CreationTime;
|
||||||
|
NetworkInfo->LastAccessTime.QuadPart = FileName->LastAccessTime;
|
||||||
|
NetworkInfo->LastWriteTime.QuadPart = FileName->LastWriteTime;
|
||||||
|
NetworkInfo->ChangeTime.QuadPart = FileName->ChangeTime;
|
||||||
|
|
||||||
|
NetworkInfo->EndOfFile.QuadPart = FileName->AllocatedSize;
|
||||||
|
NetworkInfo->AllocationSize.QuadPart = ROUND_UP(FileName->AllocatedSize, DeviceExt->NtfsInfo.BytesPerCluster);
|
||||||
|
|
||||||
|
NtfsFileFlagsToAttributes(FileName->FileAttributes, &NetworkInfo->FileAttributes);
|
||||||
|
|
||||||
|
*BufferLength -= sizeof(FILE_NETWORK_OPEN_INFORMATION);
|
||||||
|
return STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* FUNCTION: Retrieve the specified file information
|
* FUNCTION: Retrieve the specified file information
|
||||||
|
@ -268,6 +293,13 @@ NtfsFsdQueryInformation(PDEVICE_OBJECT DeviceObject,
|
||||||
&BufferLength);
|
&BufferLength);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case FileNetworkOpenInformation:
|
||||||
|
Status = NtfsGetNetworkOpenInformation(Fcb,
|
||||||
|
DeviceObject->DeviceExtension,
|
||||||
|
SystemBuffer,
|
||||||
|
&BufferLength);
|
||||||
|
break;
|
||||||
|
|
||||||
case FileAlternateNameInformation:
|
case FileAlternateNameInformation:
|
||||||
case FileAllInformation:
|
case FileAllInformation:
|
||||||
Status = STATUS_NOT_IMPLEMENTED;
|
Status = STATUS_NOT_IMPLEMENTED;
|
||||||
|
|
Loading…
Reference in a new issue