85{
94
96 {
97 ERR(
"DiskOpen(): DiskReadBufferSize is 0, something is wrong.\n");
100 }
101
104
106
110 {
111 WARN(
"MachDiskGetDriveGeometry(0x%x) failed, fall back to hardcoded values\n", DriveNumber);
113 {
114
116 }
117 else
118 {
119
120
122 }
123 }
125
126 if (DrivePartition != 0xff && DrivePartition != 0)
127 {
131
134 }
135 else
136 {
139 }
140
144
146 {
147
148 if (!PrintForce)
149 {
150 ERR(
"BIOS reports BytesPerSector = %d for CD-ROM, forcing 2048\n",
SectorSize);
152 }
154 }
155 Context->DriveNumber = DriveNumber;
162
164}
PRTL_UNICODE_STRING_BUFFER Path
BOOLEAN DissectArcPath(IN PCSTR ArcPath, OUT PCSTR *Path OPTIONAL, OUT PUCHAR DriveNumber, OUT PULONG PartitionNumber)
BOOLEAN DiskGetPartitionEntry(_In_ UCHAR DriveNumber, _In_opt_ ULONG SectorSize, _In_ ULONG PartitionNumber, _Out_ PPARTITION_INFORMATION PartitionEntry)
VOID FsSetDeviceSpecific(ULONG FileId, PVOID Specific)
#define MachDiskGetDriveGeometry(Drive, Geom)
PVOID FrLdrTempAlloc(_In_ SIZE_T Size, _In_ ULONG Tag)
SIZE_T DiskReadBufferSize
CONFIGURATION_TYPE DiskGetConfigType(_In_ UCHAR DriveNumber)
enum _CONFIGURATION_TYPE CONFIGURATION_TYPE
ULONG BytesPerSector
Number of bytes per sector.
ULONGLONG Sectors
Total number of disk sectors/LBA blocks.