15 #pragma alloc_text(PAGE, VfdFormatCheck) 16 #pragma alloc_text(PAGE, VfdFormatTrack) 17 #endif // ALLOC_PRAGMA 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 STATUS_NO_MEDIA_IN_DEVICE
#define STATUS_INSUFFICIENT_RESOURCES
NTSTATUS VfdFormatTrack(IN PDEVICE_EXTENSION DeviceExtension, IN PFORMAT_PARAMETERS FormatParams)
#define VFD_BYTES_PER_SECTOR
#define STATUS_INVALID_PARAMETER
static HANDLE PIO_APC_ROUTINE void PIO_STATUS_BLOCK io_status
NTSTATUS VfdFormatCheck(PDEVICE_EXTENSION DeviceExtension, PFORMAT_PARAMETERS FormatParams, ULONG InputLength, ULONG ControlCode)
#define RtlMoveMemory(Destination, Source, Length)
#define STATUS_MEDIA_WRITE_PROTECTED
_IRQL_requires_same_ typedef _In_ ULONG ControlCode
#define VFD_FLAG_WRITE_PROTECTED
#define VFD_FORMAT_FILL_DATA
#define NT_SUCCESS(StatCode)
#define RtlFillMemory(Dest, Length, Fill)
#define VFDTRACE(LEVEL, STRING)
#define ExAllocatePoolWithTag(hernya, size, tag)
#define STATUS_DRIVER_INTERNAL_ERROR
#define FIELD_OFFSET(t, f)
DISK_GEOMETRY const geom_tbl[VFD_MEDIA_MAX]
#define IOCTL_DISK_FORMAT_TRACKS_EX
struct _FORMAT_EX_PARAMETERS * PFORMAT_EX_PARAMETERS
static SERVICE_STATUS status