mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-31 12:23:31 +00:00
- Almost completely fix the hack in IopParseDevice which was resulting in "FIXME: Broken Parse due to invalid DesiredAccess" messages, by changing some calls to IoGetDeviceObjectPointer to use FILE_READ_ATTRIBUTES instead of FILE_READ_DATA (so that the volume doesn't get mounted).
svn path=/trunk/; revision=29334
This commit is contained in:
@@ -305,7 +305,7 @@ xHalQueryDriveLayout(IN PUNICODE_STRING DeviceName,
|
||||
|
||||
/* Get the drives sector size */
|
||||
Status = IoGetDeviceObjectPointer(DeviceName,
|
||||
FILE_READ_DATA,
|
||||
FILE_READ_ATTRIBUTES,
|
||||
&FileObject,
|
||||
&DeviceObject);
|
||||
if (!NT_SUCCESS(Status))
|
||||
@@ -481,10 +481,10 @@ xHalIoAssignDriveLetters(IN PLOADER_PARAMETER_BLOCK LoaderBlock,
|
||||
NULL);
|
||||
|
||||
Status = ZwOpenFile(&FileHandle,
|
||||
0x10001,
|
||||
FILE_READ_DATA | SYNCHRONIZE,
|
||||
&ObjectAttributes,
|
||||
&StatusBlock,
|
||||
1,
|
||||
FILE_SHARE_READ,
|
||||
FILE_SYNCHRONOUS_IO_NONALERT);
|
||||
if (NT_SUCCESS(Status))
|
||||
{
|
||||
|
||||
@@ -154,7 +154,7 @@ IopGetDiskInformation(IN ULONG i,
|
||||
|
||||
/* Get the device pointer */
|
||||
Status = IoGetDeviceObjectPointer(&DeviceName,
|
||||
FILE_READ_DATA,
|
||||
FILE_READ_ATTRIBUTES,
|
||||
&FileObject,
|
||||
&DeviceObject);
|
||||
*DiskDeviceObject = DeviceObject;
|
||||
|
||||
@@ -390,27 +390,15 @@ IopParseDevice(IN PVOID ParseObject,
|
||||
/* Check if this is a direct open */
|
||||
if (!(RemainingName->Length) &&
|
||||
!(OpenPacket->RelatedFileObject) &&
|
||||
#if 0 // USETUP IS BROKEN!
|
||||
((DesiredAccess & ~(SYNCHRONIZE |
|
||||
FILE_READ_ATTRIBUTES |
|
||||
READ_CONTROL |
|
||||
ACCESS_SYSTEM_SECURITY |
|
||||
WRITE_OWNER |
|
||||
WRITE_DAC)) &&
|
||||
#endif
|
||||
(((DesiredAccess & ~(SYNCHRONIZE |
|
||||
FILE_READ_ATTRIBUTES |
|
||||
READ_CONTROL |
|
||||
ACCESS_SYSTEM_SECURITY |
|
||||
WRITE_OWNER |
|
||||
WRITE_DAC)) == 0) ||
|
||||
(wcsstr(CompleteName->Buffer, L"Harddisk"))) &&
|
||||
!(UseDummyFile))
|
||||
{
|
||||
if (DesiredAccess & ~(SYNCHRONIZE |
|
||||
FILE_READ_ATTRIBUTES |
|
||||
READ_CONTROL |
|
||||
ACCESS_SYSTEM_SECURITY |
|
||||
WRITE_OWNER |
|
||||
WRITE_DAC))
|
||||
{
|
||||
DPRINT1("FIXME: Broken Parse due to invalid DesiredAccess: %lx\n",
|
||||
DesiredAccess);
|
||||
}
|
||||
|
||||
/* Remember this for later */
|
||||
DirectOpen = TRUE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user