15#pragma alloc_text(PAGE, VfdFormatCheck)
16#pragma alloc_text(PAGE, VfdFormatTrack)
24#define F3_640_512 (MEDIA_TYPE)14
27#define F3_1Pt2_512 (MEDIA_TYPE)17
83 if (!DeviceExtension->FileHandle &&
84 !DeviceExtension->FileBuffer) {
102 geometry = DeviceExtension->Geometry;
164 VFDTRACE(0, (
"[VFD] VfdFormatTrack - IN\n"));
168 geometry = DeviceExtension->Geometry;
179 if (format_buffer ==
NULL) {
180 VFDTRACE(0, (
"[VFD] cannot allocate a format buffer\n"));
188 FormatParams->StartHeadNumber * track_length;
192 FormatParams->EndHeadNumber * track_length;
195 if (DeviceExtension->FileHandle) {
199 DeviceExtension->FileHandle,
210 VFDTRACE(0, (
"[VFD] ZwWriteFile - %s\n",
217 DeviceExtension->FileBuffer + start_offset.
QuadPart,
224 start_offset.
QuadPart += track_length;
230 VFDTRACE(0, (
"[VFD] VfdFormatTrack - OUT\n"));
#define IOCTL_DISK_FORMAT_TRACKS_EX
#define NT_SUCCESS(StatCode)
#define ExAllocatePoolWithTag(hernya, size, tag)
#define RtlFillMemory(Dest, Length, Fill)
static HANDLE PIO_APC_ROUTINE void PIO_STATUS_BLOCK io_status
struct _FORMAT_EX_PARAMETERS * PFORMAT_EX_PARAMETERS
#define FIELD_OFFSET(t, f)
#define RtlMoveMemory(Destination, Source, Length)
#define STATUS_DRIVER_INTERNAL_ERROR
#define STATUS_MEDIA_WRITE_PROTECTED
#define STATUS_INVALID_PARAMETER
#define STATUS_NO_MEDIA_IN_DEVICE
#define STATUS_INSUFFICIENT_RESOURCES
#define VFDTRACE(LEVEL, STRING)
NTSTATUS VfdFormatTrack(IN PDEVICE_EXTENSION DeviceExtension, IN PFORMAT_PARAMETERS FormatParams)
DISK_GEOMETRY const geom_tbl[VFD_MEDIA_MAX]
NTSTATUS VfdFormatCheck(PDEVICE_EXTENSION DeviceExtension, PFORMAT_PARAMETERS FormatParams, ULONG InputLength, ULONG ControlCode)
#define VFD_FORMAT_FILL_DATA
#define VFD_BYTES_PER_SECTOR
#define VFD_FLAG_WRITE_PROTECTED
_IRQL_requires_same_ typedef _In_ ULONG ControlCode