88 while ((
Mdl =
Irp->MdlAddress))
91 Irp->MdlAddress =
Mdl->Next;
133 DPRINT(
"PAGING READ: FileObject %p <%wZ> Offset %08x%08x Length %ul\n",
156 Irp->UserEvent = &ReadWait;
171 DPRINT(
"KeWaitForSingleObject(&ReadWait)\n");
178 DPRINT1(
"Warning: Failed to wait for synchronous IRP\n");
223 DPRINT(
"PAGING WRITE: FileObject %p <%wZ> Offset 0x%I64x Length %lu (%s:%d)\n",
247 Irp->UserEvent = &ReadWait;
261 DPRINT(
"KeWaitForSingleObject(&ReadWait)\n");
268 DPRINT1(
"Warning: Failed to wait for synchronous IRP\n");
316 DPRINT(
"MiWriteBackPage(%wZ,%08x%08x,%s:%d)\n",
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define PsGetCurrentThread()
VOID NTAPI MmUnlockPages(IN PMDL Mdl)
PDEVICE_OBJECT NTAPI IoGetRelatedDeviceObject(IN PFILE_OBJECT FileObject)
NTSTATUS NTAPI KeWaitForSingleObject(IN PVOID Object, IN KWAIT_REASON WaitReason, IN KPROCESSOR_MODE WaitMode, IN BOOLEAN Alertable, IN PLARGE_INTEGER Timeout OPTIONAL)
NTSTATUS NTAPI _MiSimpleWrite(PFILE_OBJECT FileObject, PLARGE_INTEGER FileOffset, PVOID Buffer, ULONG Length, PIO_STATUS_BLOCK ReadStatus, const char *file, int line)
#define STATUS_END_OF_FILE
#define STATUS_INTERNAL_ERROR
_In_ PDEVICE_OBJECT DeviceObject
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
#define PsGetCurrentProcess
PVOID NTAPI MiMapPageInHyperSpace(IN PEPROCESS Process, IN PFN_NUMBER Page, IN PKIRQL OldIrql)
PDEVICE_OBJECT NTAPI MmGetDeviceObjectForFile(IN PFILE_OBJECT FileObject)
PIO_COMPLETION_ROUTINE CompletionRoutine
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
NTSTATUS NTAPI _MiWriteBackPage(PFILE_OBJECT FileObject, PLARGE_INTEGER Offset, ULONG Length, PFN_NUMBER Page, const char *File, int Line)
#define NT_SUCCESS(StatCode)
static USHORT ReadStatus(IN PUCHAR ReadDataPort)
PIRP NTAPI IoBuildAsynchronousFsdRequest(IN ULONG MajorFunction, IN PDEVICE_OBJECT DeviceObject, IN PVOID Buffer, IN ULONG Length, IN PLARGE_INTEGER StartingOffset, IN PIO_STATUS_BLOCK IoStatusBlock)
VOID NTAPI IoFreeMdl(PMDL Mdl)
#define SL_INVOKE_ON_ERROR
_Function_class_(IO_COMPLETION_ROUTINE)
VOID NTAPI MiUnmapPageInHyperSpace(IN PEPROCESS Process, IN PVOID Address, IN KIRQL OldIrql)
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
#define MiSimpleWrite(F, O, B, L, R)
#define ExAllocatePool(type, size)
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetNextIrpStackLocation(_In_ PIRP Irp)
#define KeInitializeEvent(pEvt, foo, foo2)
#define SL_INVOKE_ON_SUCCESS
_In_ PFCB _In_ LONGLONG FileOffset
_In_ PIO_STACK_LOCATION IrpSp
NTSTATUS NTAPI IoCallDriver(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
_In_ WDFDEVICE _In_ PVOID _In_opt_ PMDL Mdl
#define ObReferenceObject
#define IRP_SYNCHRONOUS_API
#define RtlCopyMemory(Destination, Source, Length)
#define IRP_SYNCHRONOUS_PAGING_IO
NTSTATUS NTAPI MiSimpleRead(PFILE_OBJECT FileObject, PLARGE_INTEGER FileOffset, PVOID Buffer, ULONG Length, BOOLEAN Paging, PIO_STATUS_BLOCK ReadStatus)