mirror of
https://github.com/reactos/reactos.git
synced 2024-12-26 00:54:40 +00:00
Fixed a typo that caused cdfs mounts to fail ('CdRom0' vs 'Cdrom0'). :-/
Removed old drive letter assignment code. svn path=/trunk/; revision=2855
This commit is contained in:
parent
d3e627f08c
commit
1fbe5019da
1 changed files with 53 additions and 59 deletions
|
@ -1,4 +1,4 @@
|
|||
/* $Id: xhaldrv.c,v 1.18 2002/04/12 17:54:07 ei Exp $
|
||||
/* $Id: xhaldrv.c,v 1.19 2002/04/17 18:26:53 ekohl Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -131,6 +131,30 @@ xHalQueryDriveLayout(IN PUNICODE_STRING DeviceName,
|
|||
FALSE,
|
||||
LayoutInfo);
|
||||
|
||||
if ((!NT_SUCCESS(Status) || (*LayoutInfo)->PartitionCount == 0) &&
|
||||
DeviceObject->Characteristics & FILE_REMOVABLE_MEDIA)
|
||||
{
|
||||
PDRIVE_LAYOUT_INFORMATION Buffer;
|
||||
|
||||
if (NT_SUCCESS(Status))
|
||||
{
|
||||
ExFreePool(*LayoutInfo);
|
||||
}
|
||||
|
||||
/* Allocate a partition list for a single entry. */
|
||||
Buffer = ExAllocatePool(NonPagedPool,
|
||||
sizeof(DRIVE_LAYOUT_INFORMATION));
|
||||
if (Buffer != NULL)
|
||||
{
|
||||
RtlZeroMemory(Buffer,
|
||||
sizeof(DRIVE_LAYOUT_INFORMATION));
|
||||
Buffer->PartitionCount = 1;
|
||||
*LayoutInfo = Buffer;
|
||||
|
||||
Status = STATUS_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
ObDereferenceObject(FileObject);
|
||||
|
||||
return Status;
|
||||
|
@ -400,34 +424,6 @@ xHalIoAssignDriveLetters(IN PLOADER_PARAMETER_BLOCK LoaderBlock,
|
|||
|
||||
/* Assign pre-assigned (registry) partitions */
|
||||
|
||||
#if 0
|
||||
/* Assign bootable partitions */
|
||||
DPRINT("Assigning bootable primary partitions:\n");
|
||||
for (i = 0; i < ConfigInfo->DiskCount; i++)
|
||||
{
|
||||
/* search for bootable partitions */
|
||||
for (j = 0; j < LayoutArray[i]->PartitionCount; j++)
|
||||
{
|
||||
if ((LayoutArray[i]->PartitionEntry[j].BootIndicator == TRUE) &&
|
||||
IsUsablePartition(LayoutArray[i]->PartitionEntry[j].PartitionType))
|
||||
{
|
||||
swprintf(Buffer2,
|
||||
L"\\Device\\Harddisk%d\\Partition%d",
|
||||
i,
|
||||
LayoutArray[i]->PartitionEntry[j].PartitionNumber);
|
||||
RtlInitUnicodeString(&UnicodeString2,
|
||||
Buffer2);
|
||||
|
||||
DPRINT(" %wZ\n", &UnicodeString2);
|
||||
|
||||
/* assign it */
|
||||
HalpAssignDrive(&UnicodeString2,
|
||||
&DriveMap,
|
||||
AUTO_DRIVE);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Assign bootable partition on first harddisk */
|
||||
DPRINT("Assigning bootable primary partition on first harddisk:\n");
|
||||
|
@ -455,35 +451,6 @@ xHalIoAssignDriveLetters(IN PLOADER_PARAMETER_BLOCK LoaderBlock,
|
|||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
/* Assign non-bootable primary partitions */
|
||||
DPRINT("Assigning non-bootable primary partitions:\n");
|
||||
for (i = 0; i < ConfigInfo->DiskCount; i++)
|
||||
{
|
||||
/* search for primary (non-bootable) partitions */
|
||||
for (j = 0; j < PARTITION_TBL_SIZE; j++)
|
||||
{
|
||||
if ((LayoutArray[i]->PartitionEntry[j].BootIndicator == FALSE) &&
|
||||
IsUsablePartition(LayoutArray[i]->PartitionEntry[j].PartitionType))
|
||||
{
|
||||
swprintf(Buffer2,
|
||||
L"\\Device\\Harddisk%d\\Partition%d",
|
||||
i,
|
||||
LayoutArray[i]->PartitionEntry[j].PartitionNumber);
|
||||
RtlInitUnicodeString(&UnicodeString2,
|
||||
Buffer2);
|
||||
|
||||
/* assign it */
|
||||
DPRINT(" %wZ\n",
|
||||
&UnicodeString2);
|
||||
HalpAssignDrive(&UnicodeString2,
|
||||
&DriveMap,
|
||||
AUTO_DRIVE);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Assign remaining primary partitions */
|
||||
DPRINT("Assigning remaining primary partitions:\n");
|
||||
for (i = 0; i < ConfigInfo->DiskCount; i++)
|
||||
|
@ -541,6 +508,33 @@ xHalIoAssignDriveLetters(IN PLOADER_PARAMETER_BLOCK LoaderBlock,
|
|||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
/* TEST */
|
||||
/* Assign removable disk drives */
|
||||
DPRINT("Assigning extended (logical) partitions:\n");
|
||||
for (i = 0; i < ConfigInfo->DiskCount; i++)
|
||||
{
|
||||
/* Search for virtual partitions */
|
||||
if (LayoutArray[i]->PartitionCount == 1 &&
|
||||
LayoutArray[i]->PartitionEntry[0].PartitionType == 0)
|
||||
{
|
||||
swprintf(Buffer2,
|
||||
L"\\Device\\Harddisk%d\\Partition1",
|
||||
i);
|
||||
RtlInitUnicodeString(&UnicodeString2,
|
||||
Buffer2);
|
||||
|
||||
/* assign it */
|
||||
DPRINT(" %wZ\n",
|
||||
&UnicodeString2);
|
||||
HalpAssignDrive(&UnicodeString2,
|
||||
&DriveMap,
|
||||
AUTO_DRIVE);
|
||||
}
|
||||
}
|
||||
/* TEST END */
|
||||
#endif
|
||||
|
||||
/* Free layout array */
|
||||
for (i = 0; i < ConfigInfo->DiskCount; i++)
|
||||
{
|
||||
|
@ -572,7 +566,7 @@ xHalIoAssignDriveLetters(IN PLOADER_PARAMETER_BLOCK LoaderBlock,
|
|||
for (i = 0; i < ConfigInfo->CDRomCount; i++)
|
||||
{
|
||||
swprintf(Buffer1,
|
||||
L"\\Device\\Cdrom%d",
|
||||
L"\\Device\\CdRom%d",
|
||||
i);
|
||||
RtlInitUnicodeString(&UnicodeString1,
|
||||
Buffer1);
|
||||
|
|
Loading…
Reference in a new issue