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_ PFCB _In_ LONGLONG FileOffset
#define NT_SUCCESS(StatCode)
static UCHAR ReadStatus(_In_ PUCHAR ReadDataPort)
_In_ PIO_STACK_LOCATION IrpSp
#define PsGetCurrentThread()
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
#define KeInitializeEvent(pEvt, foo, foo2)
#define ExAllocatePool(type, size)
VOID NTAPI MmUnlockPages(IN PMDL Mdl)
NTSTATUS NTAPI _MiSimpleWrite(PFILE_OBJECT FileObject, PLARGE_INTEGER FileOffset, PVOID Buffer, ULONG Length, PIO_STATUS_BLOCK ReadStatus, const char *file, int line)
NTSTATUS NTAPI _MiWriteBackPage(PFILE_OBJECT FileObject, PLARGE_INTEGER Offset, ULONG Length, PFN_NUMBER Page, const char *File, int Line)
#define MiSimpleWrite(F, O, B, L, R)
#define _Function_class_(n)
_In_ ULONG _In_ ULONG _In_ ULONG Length
PDEVICE_OBJECT NTAPI MmGetDeviceObjectForFile(IN PFILE_OBJECT FileObject)
NTSTATUS NTAPI MiSimpleRead(PFILE_OBJECT FileObject, PLARGE_INTEGER FileOffset, PVOID Buffer, ULONG Length, BOOLEAN Paging, PIO_STATUS_BLOCK ReadStatus)
VOID NTAPI MiUnmapPageInHyperSpace(IN PEPROCESS Process, IN PVOID Address, IN KIRQL OldIrql)
PVOID NTAPI MiMapPageInHyperSpace(IN PEPROCESS Process, IN PFN_NUMBER Page, IN PKIRQL OldIrql)
_In_ PVOID _Out_opt_ BOOLEAN _Out_opt_ PPFN_NUMBER Page
PDEVICE_OBJECT NTAPI IoGetRelatedDeviceObject(IN PFILE_OBJECT FileObject)
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)
#define STATUS_INTERNAL_ERROR
#define STATUS_END_OF_FILE
PIO_COMPLETION_ROUTINE CompletionRoutine
#define RtlCopyMemory(Destination, Source, Length)
_In_ PDEVICE_OBJECT DeviceObject
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
_In_ WDFDEVICE _In_ PVOID _In_opt_ PMDL Mdl
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetNextIrpStackLocation(_In_ PIRP Irp)
#define IRP_SYNCHRONOUS_API
#define SL_INVOKE_ON_ERROR
#define IRP_SYNCHRONOUS_PAGING_IO
#define SL_INVOKE_ON_SUCCESS
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
#define ObReferenceObject
#define PsGetCurrentProcess