55 DPRINT(
"NtfsReadDisk(%p, %I64x, %lu, %lu, %p, %d)\n",
DeviceObject,
StartingOffset,
Length,
SectorSize,
Buffer, Override);
72 DPRINT1(
"Not enough memory!\n");
75 AllocatedBuffer =
TRUE;
78 Offset.QuadPart = RealReadOffset;
80 DPRINT(
"Building synchronous FSD Request...\n");
90 DPRINT(
"IoBuildSynchronousFsdRequest failed\n");
106 DPRINT(
"Calling IO Driver... with irp %p\n",
Irp);
109 DPRINT(
"Waiting for IO Operation for %p\n",
Irp);
112 DPRINT(
"Operation pending\n");
114 DPRINT(
"Getting IO Status... for %p\n",
Irp);
208 DPRINT1(
"\a\t\t\t\t\tFIXME: calculated less memory than needed!\n");
209 DPRINT1(
"StartingOffset: %lu\tLength: %lu\tRealWriteOffset: %lu\tRealLength: %lu\n",
219 if (TempBuffer ==
NULL)
221 DPRINT1(
"Not enough memory!\n");
243 AllocatedBuffer =
TRUE;
247 Offset.QuadPart = RealWriteOffset;
254 DPRINT(
"Building synchronous FSD Request...\n");
261 ((AllocatedBuffer) ? TempBuffer :
Buffer),
269 DPRINT1(
"IoBuildSynchronousFsdRequest failed\n");
281 DPRINT(
"Calling IO Driver with irp %p\n",
Irp);
285 DPRINT(
"Waiting for IO Operation for %p\n",
Irp);
288 DPRINT(
"Operation pending\n");
290 DPRINT(
"Getting IO Status... for %p\n",
Irp);
342 DPRINT(
"Building device I/O control request ...\n");
348 (OutputBufferSize) ? *OutputBufferSize : 0,
354 DPRINT(
"IoBuildDeviceIoControlRequest() failed\n");
364 DPRINT(
"Calling IO Driver... with irp %p\n",
Irp);
372 if (OutputBufferSize)
374 *OutputBufferSize =
IoStatus.Information;
#define STATUS_INSUFFICIENT_RESOURCES
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define ROUND_UP(n, align)
_In_ PFCB _In_ LONGLONG StartingOffset
PIRP NTAPI IoBuildSynchronousFsdRequest(IN ULONG MajorFunction, IN PDEVICE_OBJECT DeviceObject, IN PVOID Buffer, IN ULONG Length, IN PLARGE_INTEGER StartingOffset, IN PKEVENT Event, IN PIO_STATUS_BLOCK IoStatusBlock)
IN BOOLEAN OUT PSTR Buffer
NTSTATUS NtfsWriteDisk(IN PDEVICE_OBJECT DeviceObject, IN LONGLONG StartingOffset, IN ULONG Length, IN ULONG SectorSize, IN const PUCHAR Buffer)
#define ReadBuffer(BaseIoAddress, Buffer, Count)
NTSTATUS NTAPI KeWaitForSingleObject(IN PVOID Object, IN KWAIT_REASON WaitReason, IN KPROCESSOR_MODE WaitMode, IN BOOLEAN Alertable, IN PLARGE_INTEGER Timeout OPTIONAL)
_In_ WDFREQUEST _In_ PIO_STACK_LOCATION Stack
_In_ PDEVICE_OBJECT DeviceObject
NTSTATUS NtfsDeviceIoControl(IN PDEVICE_OBJECT DeviceObject, IN ULONG ControlCode, IN PVOID InputBuffer, IN ULONG InputBufferSize, IN OUT PVOID OutputBuffer, IN OUT PULONG OutputBufferSize, IN BOOLEAN Override)
_In_ PVOID _In_ ULONG Event
#define SL_OVERRIDE_VERIFY_VOLUME
_IRQL_requires_same_ typedef _In_ ULONG ControlCode
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
#define NT_SUCCESS(StatCode)
#define ExAllocatePoolWithTag(hernya, size, tag)
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetNextIrpStackLocation(_In_ PIRP Irp)
_In_ ULONG _In_ ULONG Offset
#define ROUND_DOWN(n, align)
NTSTATUS NtfsReadSectors(IN PDEVICE_OBJECT DeviceObject, IN ULONG DiskSector, IN ULONG SectorCount, IN ULONG SectorSize, IN OUT PUCHAR Buffer, IN BOOLEAN Override)
#define KeInitializeEvent(pEvt, foo, foo2)
NTSTATUS NTAPI IoCallDriver(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
PIRP NTAPI IoBuildDeviceIoControlRequest(IN ULONG IoControlCode, IN PDEVICE_OBJECT DeviceObject, IN PVOID InputBuffer, IN ULONG InputBufferLength, IN PVOID OutputBuffer, IN ULONG OutputBufferLength, IN BOOLEAN InternalDeviceIoControl, IN PKEVENT Event, IN PIO_STATUS_BLOCK IoStatusBlock)
__in UCHAR __in POWER_STATE __in_opt PVOID __in PIO_STATUS_BLOCK IoStatus
#define RtlCopyMemory(Destination, Source, Length)
#define ExFreePoolWithTag(_P, _T)
FORCEINLINE PVOID RtlSecureZeroMemory(_Out_writes_bytes_all_(Size) PVOID Pointer, _In_ SIZE_T Size)
NTSTATUS NtfsReadDisk(IN PDEVICE_OBJECT DeviceObject, IN LONGLONG StartingOffset, IN ULONG Length, IN ULONG SectorSize, IN OUT PUCHAR Buffer, IN BOOLEAN Override)