Go to the source code of this file.
Classes | |
struct | _IOFCALLDRIVER_STACKDATA |
struct | _IOV_STACK_LOCATION |
struct | _IOV_SESSION_DATA |
struct | _IOV_REQUEST_PACKET |
struct | _DEFERRAL_CONTEXT |
struct | _IOFCOMPLETEREQUEST_STACKDATA |
Defines | |
#define | ASSERTFLAG_TRACKIRPS 0x00000001 |
#define | ASSERTFLAG_MONITOR_ALLOCS 0x00000002 |
#define | ASSERTFLAG_POLICEIRPS 0x00000004 |
#define | ASSERTFLAG_MONITORMAJORS 0x00000008 |
#define | ASSERTFLAG_SURROGATE 0x00000010 |
#define | ASSERTFLAG_SMASH_SRBS 0x00000020 |
#define | ASSERTFLAG_CONSUME_ALWAYS 0x00000040 |
#define | ASSERTFLAG_FORCEPENDING 0x00000080 |
#define | ASSERTFLAG_COMPLETEATDPC 0x00000100 |
#define | ASSERTFLAG_COMPLETEATPASSIVE 0x00000200 |
#define | ASSERTFLAG_DEFERCOMPLETION 0x00000800 |
#define | ASSERTFLAG_ROTATE_STATUS 0x00001000 |
#define | ASSERTMASK_COMPLETESTYLE 0x00000F80 |
#define | ASSERTFLAG_SEEDSTACK 0x00010000 |
#define | HACKHACKS_ENABLED |
#define | HACKFLAG_FOR_MUP 0x00000001 |
#define | HACKFLAG_FOR_SCSIPORT 0x00000002 |
#define | HACKFLAG_FOR_ACPI 0x00000004 |
#define | HACKFLAG_FOR_BOGUSIRPS 0x00000008 |
#define | IRPFLAG_EXAMINE_MASK 0xC0000000 |
#define | IRPFLAG_EXAMINE_NOT_TRACKED 0x80000000 |
#define | IRPFLAG_EXAMINE_TRACKED 0x40000000 |
#define | IRPFLAG_EXAMINE_UNMARKED 0x00000000 |
#define | IRP_DIAG_HAS_SURROGATE 0x02000000 |
#define | IRP_DIAG_IS_SURROGATE 0x01000000 |
#define | TRACKFLAG_ACTIVE 0x00000001 |
#define | TRACKFLAG_SURROGATE 0x00000002 |
#define | TRACKFLAG_HAS_SURROGATE 0x00000004 |
#define | TRACKFLAG_PROTECTEDIRP 0x00000008 |
#define | TRACKFLAG_QUEUED_INTERNALLY 0x00000010 |
#define | TRACKFLAG_BOGUS 0x00000020 |
#define | TRACKFLAG_RELEASED 0x00000040 |
#define | TRACKFLAG_SRB_MUNGED 0x00000080 |
#define | TRACKFLAG_SWAPPED_BACK 0x00000100 |
#define | TRACKFLAG_WATERMARKED 0x00100000 |
#define | TRACKFLAG_IO_ALLOCATED 0x00200000 |
#define | TRACKFLAG_UNWOUND_BADLY 0x00400000 |
#define | TRACKFLAG_PASSED_FAILURE 0x01000000 |
#define | TRACKFLAG_PASSED_AT_BAD_IRQL 0x02000000 |
#define | TRACKFLAG_IN_TRANSIT 0x40000000 |
#define | TRACKFLAG_REMOVED_FROM_TABLE 0x80000000 |
#define | DOE_DESIGNATED_FDO 0x80000000 |
#define | DOE_BOTTOM_OF_FDO_STACK 0x40000000 |
#define | DOE_RAW_FDO 0x20000000 |
#define | DOE_EXAMINED 0x10000000 |
#define | DOE_TRACKED 0x08000000 |
#define | STACKFLAG_NO_HANDLER 0x80000000 |
#define | STACKFLAG_REQUEST_COMPLETED 0x40000000 |
#define | STACKFLAG_CHECK_FOR_REFERENCE 0x20000000 |
#define | STACKFLAG_REACHED_PDO 0x10000000 |
#define | STACKFLAG_FIRST_REQUEST 0x08000000 |
#define | CALLFLAG_COMPLETED 0x80000000 |
#define | CALLFLAG_IS_REMOVE_IRP 0x40000000 |
#define | CALLFLAG_REMOVING_FDO_STACK_DO 0x20000000 |
#define | CALLFLAG_OVERRIDE_STATUS 0x10000000 |
#define | CALLFLAG_TOPMOST_IN_SLOT 0x08000000 |
#define | ALLOCFLAG_PROTECTEDIRP 0x00000001 |
#define | SESSIONFLAG_UNWOUND_INCONSISTANT 0x00000001 |
#define | IRP_SYSTEM_RESTRICTED 0x00000001 |
#define | IRP_BOGUS 0x00000002 |
#define | SL_NOTCOPIED 0x10 |
#define | IRP_ALLOCATION_MONITORED 0x80 |
#define | STARTED_TOP_OF_STACK 1 |
#define | FORWARDED_TO_NEXT_DO 2 |
#define | SKIPPED_A_DO 3 |
#define | STARTED_INSIDE_STACK 4 |
#define | CHANGED_STACKS_AT_BOTTOM 5 |
#define | CHANGED_STACKS_MID_STACK 6 |
#define | IRP_ALLOC_COUNT 5 |
#define | SPECIALIRP_MARK_NON_TRACKABLE(Irp) |
#define | SPECIALIRP_IOF_CALL_1(pIrp, DeviceObject, st1) |
#define | SPECIALIRP_IOF_CALL_2(Irp, DeviceObject, Routine, FinalStatus, st1) |
#define | SPECIALIRP_IOF_COMPLETE_1(Irp, PriorityBoost, CompletionPacket) |
#define | SPECIALIRP_IOF_COMPLETE_2(Irp, CompletionPacket) |
#define | SPECIALIRP_IOF_COMPLETE_3(Irp, Routine, CompletionPacket) |
#define | SPECIALIRP_IOF_COMPLETE_4(Irp, ReturnedStatus, CompletionPacket) |
#define | SPECIALIRP_IOF_COMPLETE_5(Irp, CompletionPacket) |
#define | SPECIALIRP_IO_CANCEL_IRP(Irp, CancelHandled, ReturnValue) |
#define | IOP_DIAG_THROW_CHAFF_AT_STARTED_PDO_STACK(DeviceObject) |
#define | SPECIALIRP_IO_FREE_IRP(Irp, FreeHandled) |
#define | SPECIALIRP_IO_ALLOCATE_IRP_1(StackSize, Quota, IrpPointer) |
#define | SPECIALIRP_IO_ALLOCATE_IRP_2(Irp) |
#define | SPECIALIRP_IO_INITIALIZE_IRP(Irp, PacketSize, StackSize, InitHandled) |
#define | SPECIALIRP_IO_DELETE_DEVICE(Device) |
#define | SPECIALIRP_IO_ATTACH_DEVICE_TO_DEVICE_STACK(NewDevice, ExistingDevice) |
#define | SPECIALIRP_IO_DETACH_DEVICE(TargetDevice) |
#define | SPECIALIRP_WATERMARK_IRP(Irp, Flags) |
#define | SPECIALIRP_IOP_COMPLETE_REQUEST(Irp, StackPointer) |
#define | TRACKIRP_DBGPRINT(txt, level) |
Typedefs | |
typedef _IOFCALLDRIVER_STACKDATA * | PIOFCALLDRIVER_STACKDATA |
typedef _IOV_STACK_LOCATION * | PIOV_STACK_LOCATION |
typedef _IOV_REQUEST_PACKET * | PIOV_REQUEST_PACKET |
typedef _IOV_SESSION_DATA * | PIOV_SESSION_DATA |
typedef _IOFCALLDRIVER_STACKDATA | IOFCALLDRIVER_STACKDATA |
typedef _IOV_STACK_LOCATION | IOV_STACK_LOCATION |
typedef _IOV_SESSION_DATA | IOV_SESSION_DATA |
typedef _IOV_REQUEST_PACKET | IOV_REQUEST_PACKET |
typedef _DEFERRAL_CONTEXT | DEFERRAL_CONTEXT |
typedef _DEFERRAL_CONTEXT * | PDEFERRAL_CONTEXT |
typedef _IOFCOMPLETEREQUEST_STACKDATA | IOFCOMPLETEREQUEST_STACKDATA |
typedef _IOFCOMPLETEREQUEST_STACKDATA * | PIOFCOMPLETEREQUEST_STACKDATA |
Enumerations | |
enum | DEFER_ACTION { DEFERACTION_QUEUE_WORKITEM, DEFERACTION_QUEUE_PASSIVE_TIMER, DEFERACTION_QUEUE_DISPATCH_TIMER, DEFERACTION_NORMAL } |
Functions | |
BOOLEAN FASTCALL | IovpInitIrpTracking (IN ULONG Level, IN ULONG Flags) |
VOID FASTCALL | IovpCallDriver1 (IN OUT PIRP *IrpPointer, IN PDEVICE_OBJECT DeviceObject, IN OUT PIOFCALLDRIVER_STACKDATA IofCallDriverStackData) |
VOID FASTCALL | IovpCallDriver2 (IN PIRP Irp, IN PDEVICE_OBJECT DeviceObject, IN PVOID Routine, IN OUT NTSTATUS *FinalStatus, IN PIOFCALLDRIVER_STACKDATA IofCallDriverStackData) |
VOID FASTCALL | IovpCompleteRequest1 (IN PIRP Irp, IN CCHAR PriorityBoost, IN OUT PIOFCOMPLETEREQUEST_STACKDATA CompletionPacket) |
VOID FASTCALL | IovpCompleteRequest2 (IN PIRP Irp, IN OUT PIOFCOMPLETEREQUEST_STACKDATA CompletionPacket) |
VOID FASTCALL | IovpCompleteRequest3 (IN PIRP Irp, IN PVOID Routine, IN OUT PIOFCOMPLETEREQUEST_STACKDATA CompletionPacket) |
VOID FASTCALL | IovpCompleteRequest4 (IN PIRP Irp, IN NTSTATUS ReturnedStatus, IN OUT PIOFCOMPLETEREQUEST_STACKDATA CompletionPacket) |
VOID FASTCALL | IovpCompleteRequest5 (IN PIRP Irp, IN OUT PIOFCOMPLETEREQUEST_STACKDATA CompletionPacket) |
VOID FASTCALL | IovpCompleteRequestApc (IN PIRP Irp, IN PVOID BestStackOffset) |
VOID FASTCALL | IovpCancelIrp (IN PIRP Irp, IN OUT PBOOLEAN CancelHandled, IN OUT PBOOLEAN ReturnValue) |
VOID FASTCALL | IovpFreeIrp (IN PIRP Irp, IN OUT PBOOLEAN FreeHandled) |
VOID FASTCALL | IovpAllocateIrp1 (IN CCHAR StackSize, IN BOOLEAN ChargeQuota, IN OUT PIRP *IrpPointer) |
VOID FASTCALL | IovpAllocateIrp2 (IN PIRP Irp) |
VOID FASTCALL | IovpInitializeIrp (IN OUT PIRP Irp, IN USHORT PacketSize, IN CCHAR StackSize, IN OUT PBOOLEAN InitializeHandled) |
VOID | IovpExamineIrpStackForwarding (IN OUT PIOV_REQUEST_PACKET IovPacket, IN BOOLEAN IsNewSession, IN ULONG ForwardMethod, IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN OUT PIO_STACK_LOCATION *IoCurrentStackLocation, OUT PIO_STACK_LOCATION *IoLastStackLocation, OUT ULONG *StackLocationsAdvanced) |
NTSTATUS | IovpSwapSurrogateIrp (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
VOID FASTCALL | IovpExamineDevObjForwarding (IN PDEVICE_OBJECT DeviceBeingCalled, IN PDEVICE_OBJECT DeviceLastCalled, OUT PULONG ForwardingTechnique) |
VOID FASTCALL | IovpFinalizeIrpSettings (IN OUT PIOV_REQUEST_PACKET IrpTrackingData, IN BOOLEAN SurrogateIrpSwapped) |
PDEVICE_OBJECT FASTCALL | IovpGetDeviceAttachedTo (IN PDEVICE_OBJECT DeviceObject) |
NTSTATUS | IovpInternalCompletionTrap (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
NTSTATUS | IovpInternalDeferredCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
PDEVICE_OBJECT FASTCALL | IovpGetLowestDevice (IN PDEVICE_OBJECT DeviceObject) |
VOID FASTCALL | IovpAssertNonLegacyDevice (IN PDEVICE_OBJECT DeviceObject, IN ULONG StackFramesToSkip, IN PUCHAR FailureTxt) |
BOOLEAN FASTCALL | IovpIsInFdoStack (IN PDEVICE_OBJECT DeviceObject) |
BOOLEAN FASTCALL | IovpDoAssertIrps (VOID) |
VOID FASTCALL | IovpSeedStack (VOID) |
VOID FASTCALL | IovpSeedOnePage (VOID) |
VOID FASTCALL | IovpSeedTwoPages (VOID) |
VOID FASTCALL | IovpSeedThreePages (VOID) |
VOID | IovpInternalCompleteAfterWait (IN PVOID Context) |
VOID | IovpInternalCompleteAtDPC (IN PKDPC Dpc, IN PVOID DeferredContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2) |
VOID | IovpAttachDeviceToDeviceStack (IN PDEVICE_OBJECT NewDevice, IN PDEVICE_OBJECT ExistingDevice) |
VOID | IovpDetachDevice (IN PDEVICE_OBJECT LowerDevice) |
VOID | IovpDeleteDevice (IN PDEVICE_OBJECT Device) |
BOOLEAN | IovpIsInterestingStack (IN PDEVICE_OBJECT DeviceObject) |
BOOLEAN | IovpIsInterestingDriver (IN PDRIVER_OBJECT DriverObject) |
VOID | IovpReexamineAllStacks (VOID) |
BOOLEAN | IovpEnumDevObjCallback (IN PVOID Object, IN PUNICODE_STRING ObjectName, IN ULONG HandleCount, IN ULONG PointerCount, IN PVOID Context) |
BOOLEAN | IovpAdvanceStackDownwards (IN PIOV_STACK_LOCATION StackDataArray, IN CCHAR CurrentLocation, IN PIO_STACK_LOCATION IrpSp, IN PIO_STACK_LOCATION IrpLastSp OPTIONAL, IN ULONG LocationsAdvanced, IN BOOLEAN IsNewRequest, IN BOOLEAN MarkAsTaken, OUT PIOV_STACK_LOCATION *StackLocationInfo) |
Variables | |
ULONG | IovpHackFlags |
ULONG | IovpTrackingFlags |
|
Definition at line 106 of file trackirp.h. |
|
Definition at line 35 of file trackirp.h. Referenced by IovpCompleteRequest2(), IovpCompleteRequest5(), IovpInitIrpTracking(), and IovpInternalDeferredCompletion(). |
|
Definition at line 36 of file trackirp.h. Referenced by IovpCompleteRequest3(), IovpInternalDeferredCompletion(), and IovpSessionDataCreate(). |
|
Definition at line 33 of file trackirp.h. Referenced by IovpExamineIrpStackForwarding(), and IovpInitIrpTracking(). |
|
Definition at line 37 of file trackirp.h. Referenced by IovpCompleteRequest3(), IovpInitIrpTracking(), IovpInternalDeferredCompletion(), and IovpSessionDataCreate(). |
|
Definition at line 34 of file trackirp.h. Referenced by IovpCallDriver2(), IovpCompleteRequest1(), IovpCompleteRequest3(), IovpCompleteRequest4(), IovpInitIrpTracking(), IovpInternalDeferredCompletion(), and IovpSessionDataCreate(). |
|
Definition at line 28 of file trackirp.h. Referenced by IovpAllocateIrp1(), IovpAllocateIrp2(), and IovpInitIrpTracking(). |
|
Definition at line 30 of file trackirp.h. Referenced by IovpCallDriver1(), IovpCompleteRequest2(), and IovpInitIrpTracking(). |
|
|
Definition at line 38 of file trackirp.h. Referenced by IovpCompleteRequest2(), and IovpInitIrpTracking(). |
|
Definition at line 41 of file trackirp.h. Referenced by IovpInitIrpTracking(), and IovpSeedStack(). |
|
Definition at line 32 of file trackirp.h. Referenced by IovpInitIrpTracking(), and IovpSessionDataDeterminePolicy(). |
|
Definition at line 31 of file trackirp.h. Referenced by IovpInitIrpTracking(), and IovpSessionDataDeterminePolicy(). |
|
Definition at line 27 of file trackirp.h. Referenced by IovpCallDriver1(), IovpInitIrpTracking(), and IovpSessionDataDeterminePolicy(). |
|
Definition at line 40 of file trackirp.h. |
|
Definition at line 100 of file trackirp.h. Referenced by IovpCallDriver2(), and IovpCompleteRequest2(). |
|
Definition at line 101 of file trackirp.h. Referenced by IovpCallDriver1(), and IovpCallDriver2(). |
|
Definition at line 103 of file trackirp.h. Referenced by IovpCallDriver2(), and IovpCompleteRequest2(). |
|
Definition at line 102 of file trackirp.h. Referenced by IovpCallDriver1(), and IovpCallDriver2(). |
|
Definition at line 104 of file trackirp.h. Referenced by IovpCallDriver1(). |
|
Definition at line 121 of file trackirp.h. Referenced by IovpAssertIrpStackDownward(), and IovpExamineDevObjForwarding(). |
|
Definition at line 122 of file trackirp.h. Referenced by IovpAssertIrpStackDownward(), and IovpExamineDevObjForwarding(). |
|
Definition at line 89 of file trackirp.h. Referenced by IopCallDriverAddDevice(), and IovpIsInFdoStack(). |
|
Definition at line 88 of file trackirp.h. Referenced by IopCallDriverAddDevice(), and IovpAssertIrpStackDownward(). |
|
Definition at line 91 of file trackirp.h. Referenced by IovpDetachDevice(), IovpEnumDevObjCallback(), and IovpIsInterestingStack(). |
|
Definition at line 90 of file trackirp.h. Referenced by IopCallDriverAddDevice(), IovpAssertIrpStackDownward(), and IovpCallDriver1(). |
|
Definition at line 92 of file trackirp.h. Referenced by IovpDetachDevice(), IovpEnumDevObjCallback(), and IovpIsInterestingStack(). |
|
Definition at line 118 of file trackirp.h. Referenced by IovpAssertIrpStackDownward(), IovpExamineDevObjForwarding(), and IovpExamineIrpStackForwarding(). |
|
Definition at line 52 of file trackirp.h. Referenced by IovpInitIrpTracking(), and IovpThrowChaffAtStartedPdoStack(). |
|
Definition at line 53 of file trackirp.h. Referenced by IovpInitIrpTracking(), and IovpThrowChaffAtStartedPdoStack(). |
|
Definition at line 50 of file trackirp.h. Referenced by IovpInitIrpTracking(), and IovpSessionDataDeterminePolicy(). |
|
Definition at line 51 of file trackirp.h. Referenced by IovpExamineIrpStackForwarding(), and IovpInitIrpTracking(). |
|
Definition at line 49 of file trackirp.h. |
|
Value:
Definition at line 628 of file trackirp.h. Referenced by IopEnumerateDevice(). |
|
Definition at line 124 of file trackirp.h. Referenced by IovpAllocateIrp1(), and IovpAllocateIrp2(). |
|
Definition at line 115 of file trackirp.h. Referenced by IovpAllocateIrp1(), IovpAllocateIrp2(), and IovpFreeIrp(). |
|
Definition at line 111 of file trackirp.h. Referenced by IovpThrowBogusSynchronousIrp(), and IovpWatermarkIrp(). |
|
Definition at line 66 of file trackirp.h. Referenced by IovpCompleteRequest1(), IovpSessionDataAttachSurrogate(), and IovpSessionDataFinalizeSurrogate(). |
|
Definition at line 67 of file trackirp.h. Referenced by IovpSessionDataAttachSurrogate(), and IovpSessionDataFinalizeSurrogate(). |
|
Definition at line 110 of file trackirp.h. Referenced by IopAsynchronousCall(), IopEjectDevice(), IopFilterResourceRequirementsCall(), IopSynchronousCall(), and IovpWatermarkIrp(). |
|
Definition at line 61 of file trackirp.h. Referenced by IovpCallDriver1(), and IovpSessionDataFinalizeSurrogate(). |
|
Definition at line 62 of file trackirp.h. Referenced by IovpCallDriver1(). |
|
Definition at line 63 of file trackirp.h. Referenced by IovpAllocateIrp1(), IovpAllocateIrp2(), and IovpCallDriver1(). |
|
Definition at line 64 of file trackirp.h. Referenced by IovpCallDriver1(). |
|
Definition at line 108 of file trackirp.h. Referenced by IovpCallDriver2(). |
|
Definition at line 119 of file trackirp.h. Referenced by IovpAssertIrpStackDownward(), and IovpExamineDevObjForwarding(). |
|
Definition at line 113 of file trackirp.h. Referenced by IovpCallDriver1(), IovpExamineIrpStackForwarding(), and IovSpecialIrpCompleteRequest(). |
|
Value:
Definition at line 644 of file trackirp.h. Referenced by IovAllocateIrp(). |
|
Value: Definition at line 653 of file trackirp.h. Referenced by IovAllocateIrp(). |
|
Value:
Definition at line 676 of file trackirp.h. Referenced by IovAttachDeviceToDeviceStack(). |
|
Value:
Definition at line 619 of file trackirp.h. Referenced by IovCancelIrp(). |
|
Value: Definition at line 669 of file trackirp.h. Referenced by IovDeleteDevice(). |
|
Value: Definition at line 683 of file trackirp.h. Referenced by IovDetachDevice(). |
|
Value:
Definition at line 635 of file trackirp.h. Referenced by IovFreeIrpPrivate(). |
|
Value:
Definition at line 660 of file trackirp.h. Referenced by IovInitializeIrp(). |
|
Value:
Definition at line 564 of file trackirp.h. Referenced by IovSpecialIrpCallDriver(). |
|
Value:
Definition at line 575 of file trackirp.h. Referenced by IovSpecialIrpCallDriver(). |
|
Value:
Definition at line 582 of file trackirp.h. |
|
Value:
Definition at line 591 of file trackirp.h. |
|
Value:
Definition at line 598 of file trackirp.h. |
|
Value:
Definition at line 605 of file trackirp.h. |
|
Value:
Definition at line 612 of file trackirp.h. |
|
Value:
Definition at line 697 of file trackirp.h. |
|
Value:
Definition at line 560 of file trackirp.h. |
|
Value: Definition at line 690 of file trackirp.h. Referenced by IopAsynchronousCall(), IopEjectDevice(), IopFilterResourceRequirementsCall(), IopSynchronousCall(), and IovpThrowBogusSynchronousIrp(). |
|
Definition at line 96 of file trackirp.h. Referenced by IovpAssertIrpStackUpward(), and IovpAssertNewRequest(). |
|
Definition at line 98 of file trackirp.h. Referenced by IovpAssertIrpStackDownward(), IovpAssertNewRequest(), and IovpCallDriver1(). |
|
Definition at line 94 of file trackirp.h. Referenced by IovpAssertIrpStackDownward(), and IovpAssertIrpStackUpward(). |
|
Definition at line 97 of file trackirp.h. Referenced by IovpAssertIrpStackUpward(), and IovpCallDriver1(). |
|
Definition at line 95 of file trackirp.h. Referenced by IovpCompleteRequest2(). |
|
Definition at line 120 of file trackirp.h. Referenced by IovpAssertIrpStackDownward(), and IovpExamineDevObjForwarding(). |
|
Definition at line 117 of file trackirp.h. Referenced by IovpAssertIrpStackDownward(), and IovpExamineDevObjForwarding(). |
|
Definition at line 70 of file trackirp.h. Referenced by IovpCallDriver1(), IovpCancelIrp(), IovpSessionDataAttachSurrogate(), IovpSessionDataCreate(), and IovpTrackingDataGetCurrentSessionData(). |
|
Definition at line 76 of file trackirp.h. Referenced by IovpAssertIrpStackDownward(), IovpAssertIrpStackUpward(), and IovpWatermarkIrp(). |
|
Definition at line 72 of file trackirp.h. Referenced by IovpCancelIrp(), and IovpSessionDataAttachSurrogate(). |
|
Definition at line 85 of file trackirp.h. |
|
Definition at line 81 of file trackirp.h. Referenced by IovpAllocateIrp1(), IovpAllocateIrp2(), IovpAssertNewRequest(), IovpFreeIrp(), and IovpInitializeIrp(). |
|
Definition at line 84 of file trackirp.h. Referenced by IovpAssertIrpStackDownward(). |
|
Definition at line 83 of file trackirp.h. Referenced by IovpAssertIrpStackDownward(), IovpAssertNewRequest(), and IovpSessionDataCreate(). |
|
Definition at line 73 of file trackirp.h. Referenced by IovpAllocateIrp1(), and IovpFreeIrp(). |
|
Definition at line 75 of file trackirp.h. Referenced by IovpCallDriver1(), IovpCancelIrp(), IovpCompleteRequest1(), IovpInternalCompleteAfterWait(), IovpInternalDeferredCompletion(), and IovpSessionDataCreate(). |
|
Definition at line 77 of file trackirp.h. Referenced by IovpSessionDataCreate(). |
|
Definition at line 86 of file trackirp.h. Referenced by IovpTrackingDataFree(). |
|
Definition at line 78 of file trackirp.h. Referenced by IovpSessionDataAttachSurrogate(), and IovpSessionDataCreate(). |
|
Definition at line 71 of file trackirp.h. Referenced by IovpCompleteRequest2(), IovpSessionDataAttachSurrogate(), and IovpSessionDataFinalizeSurrogate(). |
|
Definition at line 79 of file trackirp.h. Referenced by IovpSessionDataCreate(), and IovpSwapSurrogateIrp(). |
|
Definition at line 82 of file trackirp.h. Referenced by IovpCallDriver2(), and IovpFreeIrp(). |
|
Definition at line 80 of file trackirp.h. Referenced by IovpAssertNewRequest(), and IovpWatermarkIrp(). |
|
|
Referenced by IovpCompleteRequest3(). |
|
Referenced by IovpCallDriver1(), and IovSpecialIrpCallDriver(). |
|
|
|
Referenced by IovpSessionDataAttachSurrogate(), and IovpTrackingDataCreateAndLock(). |
|
Referenced by IovpSessionDataCreate(). |
|
Referenced by IovpSessionDataCreate(), and IovpTrackingDataCreateAndLock(). |
|
Referenced by IovpCompleteRequest3(). |
|
Definition at line 139 of file trackirp.h. Referenced by IovpCallDriver1(). |
|
Referenced by IovpCompleteRequest1(). |
|
Definition at line 141 of file trackirp.h. Referenced by IovpAssertNewIrps(), and IovpSessionDataCreate(). |
|
Definition at line 142 of file trackirp.h. Referenced by IovpAssertIrpStackDownward(). |
|
Definition at line 140 of file trackirp.h. Referenced by IovpAssertNewIrps(), and IovpCallDriver1(). |
|
Definition at line 126 of file trackirp.h. Referenced by IovpInternalDeferredCompletion().
|
|
Definition at line 2023 of file trackirp.c. References ASSERT, _IOV_STACK_LOCATION::CallStackData, _IOV_STACK_LOCATION::InUse, _IOV_STACK_LOCATION::IrpSp, _IOV_STACK_LOCATION::LastDispatch, NULL, _IOV_STACK_LOCATION::PerfDispatchStart, _IOV_STACK_LOCATION::PerfStackLocationStart, _IOV_STACK_LOCATION::RequestsFirstStackLocation, TRACKIRP_DBGPRINT, and TRUE. Referenced by IovpCallDriver1(), and IovpCompleteRequest1().
|
|
Definition at line 3132 of file trackirp.c. References _IOV_REQUEST_PACKET::AllocatorStack, ASSERTFLAG_MONITOR_ALLOCS, ASSERTFLAG_POLICEIRPS, _IOV_REQUEST_PACKET::Flags, IopInitializeIrp, IoSizeOfIrp, IovpProtectedIrpAllocate(), IovpTrackingDataCreateAndLock(), IovpTrackingDataReference(), IovpTrackingDataReleaseLock(), IovpTrackingFlags, IOVREFTYPE_POINTER, IRP_ALLOC_COUNT, IRP_ALLOCATION_MONITORED, IRPFLAG_EXAMINE_TRACKED, NULL, PsGetCurrentThread, RtlCaptureStackBackTrace(), TRACKFLAG_IO_ALLOCATED, and TRACKFLAG_PROTECTEDIRP.
|
|
Definition at line 3216 of file trackirp.c. References _IRP::AllocationFlags, _IOV_REQUEST_PACKET::AllocatorStack, ASSERTFLAG_MONITOR_ALLOCS, _IRP::Flags, _IOV_REQUEST_PACKET::Flags, IovpTrackingDataCreateAndLock(), IovpTrackingDataReference(), IovpTrackingDataReleaseLock(), IovpTrackingFlags, IOVREFTYPE_POINTER, Irp, IRP_ALLOC_COUNT, IRP_ALLOCATION_MONITORED, IRPFLAG_EXAMINE_TRACKED, NULL, RtlCaptureStackBackTrace(), and TRACKFLAG_IO_ALLOCATED.
|
|
Definition at line 3680 of file trackirp.c. References ASSERT, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, DNF_LEGACY_DRIVER, _DEVICE_NODE::Flags, IovpGetLowestDevice(), and ObDereferenceObject.
|
|
Definition at line 3346 of file trackirp.c.
|
|
Definition at line 493 of file trackirp.c. References ASSERT, ASSERTFLAG_MONITORMAJORS, ASSERTFLAG_POLICEIRPS, ASSERTFLAG_TRACKIRPS, _IOV_REQUEST_PACKET::AssertFlags, CALLFLAG_IS_REMOVE_IRP, CALLFLAG_REMOVING_FDO_STACK_DO, CALLFLAG_TOPMOST_IN_SLOT, _IOV_STACK_LOCATION::CallStackData, _IRP::Cancel, _IRP::CancelRoutine, _IO_STACK_LOCATION::Control, _IRP::CurrentLocation, DCERROR_CANCELROUTINE_FORWARDED, DCERROR_NULL_DEVOBJ_FORWARDED, DCERROR_QUEUED_IRP_FORWARDED, DCPARAM_IRP, _IOV_SESSION_DATA::DeviceLastCalled, DOE_RAW_FDO, FAIL_CALLER_OF_IOFCALLDRIVER, FALSE, _IOV_STACK_LOCATION::Flags, _IOV_REQUEST_PACKET::Flags, _IRP::Flags, _IOV_SESSION_DATA::ForwardMethod, _IOV_STACK_LOCATION::InitialStatusBlock, IOFCALLDRIVER_STACKDATA, IoGetNextIrpStackLocation, IoSetNextIrpStackLocation, IoSkipCurrentIrpStackLocation, _IRP::IoStatus, IOVERIFIERINIT_RANDOMLY_CANCEL_IRPS, IovpAdvanceStackDownwards(), IovpAssertIrpStackDownward(), IovpAssertIsNewRequest(), IovpAssertNewIrps(), IovpAssertNewRequest(), IovpCancelCount, IovpExamineDevObjForwarding(), IovpExamineIrpStackForwarding(), IovpGetDeviceAttachedTo(), IovpGetLowestDevice(), IovpInitFlags, IovpIsInFdoStack(), IovpSessionDataAdvance(), IovpSessionDataCreate(), IovpSessionDataReference(), IovpTrackingDataCreateAndLock(), IovpTrackingDataFindAndLock(), IovpTrackingDataGetCurrentSessionData(), IovpTrackingDataReference(), IovpTrackingDataReleaseLock(), IovpTrackingFlags, IOVREFTYPE_POINTER, IRP_MJ_PNP, IRP_MN_REMOVE_DEVICE, IRP_PAGING_IO, IRPFLAG_EXAMINE_MASK, IRPFLAG_EXAMINE_NOT_TRACKED, IRPFLAG_EXAMINE_TRACKED, IRPFLAG_EXAMINE_UNMARKED, KeQuerySystemTime(), _IOV_STACK_LOCATION::LastDispatch, _IOV_REQUEST_PACKET::LastLocation, _IOV_STACK_LOCATION::LastStatusBlock, _IO_STACK_LOCATION::MajorFunction, _DRIVER_OBJECT::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NULL, ObDereferenceObject, _IOV_STACK_LOCATION::PerfDispatchStart, _IOV_STACK_LOCATION::PerfStackLocationStart, PIOFCALLDRIVER_STACKDATA, PIOV_STACK_LOCATION, PsGetCurrentThread, _IOV_STACK_LOCATION::RequestsFirstStackLocation, SL_NOTCOPIED, _IOV_SESSION_DATA::StackData, STACKFLAG_FIRST_REQUEST, STACKFLAG_REACHED_PDO, _IOV_STACK_LOCATION::ThreadDispatchedTo, _IOV_REQUEST_PACKET::TrackedIrp, TRACKFLAG_ACTIVE, TRACKFLAG_QUEUED_INTERNALLY, TRACKIRP_DBGPRINT, and TRUE.
|
|
Definition at line 948 of file trackirp.c. References ASSERT, ASSERTFLAG_FORCEPENDING, ASSERTFLAG_POLICEIRPS, _IOV_SESSION_DATA::AssertFlags, _IOV_SESSION_DATA::BestVisibleIrp, CALLFLAG_COMPLETED, CALLFLAG_IS_REMOVE_IRP, CALLFLAG_OVERRIDE_STATUS, CALLFLAG_REMOVING_FDO_STACK_DO, _IOV_STACK_LOCATION::CallStackData, DCERROR_BUS_FILTER_ERRONEOUSLY_DELETED, DCERROR_BUS_FILTER_ERRONEOUSLY_DETACHED, DCERROR_DELETED_PRESENT_PDO, DCERROR_INCONSISTANT_STATUS, DCERROR_IRP_RETURNED_WITHOUT_COMPLETION, DCERROR_SHOULDVE_DELETED, DCERROR_SHOULDVE_DETACHED, DCERROR_UNINITIALIZED_STATUS, DCPARAM_DEVOBJ, DCPARAM_IRP, DCPARAM_ROUTINE, DCPARAM_STATUS, DNF_DEVICE_GONE, DOE_DELETE_PENDING, FALSE, _IOV_REQUEST_PACKET::Flags, _DEVICE_NODE::Flags, _IOV_STACK_LOCATION::InUse, IovpGetDeviceAttachedTo(), IovpSessionDataDereference(), IovpTrackingDataAcquireLock(), IovpTrackingDataReleaseLock(), _IOV_SESSION_DATA::IovRequestPacket, NTSTATUS(), NULL, ObDereferenceObject, PsGetCurrentThread, SESSIONFLAG_UNWOUND_INCONSISTANT, _IOV_SESSION_DATA::SessionFlags, _IOV_STACK_LOCATION::ThreadDispatchedTo, TRACKFLAG_UNWOUND_BADLY, TRACKIRP_DBGPRINT, TRUE, and WDM_FAIL_ROUTINE.
|
|
|
|
Definition at line 1267 of file trackirp.c. References ASSERT, ASSERTFLAG_FORCEPENDING, _IOV_SESSION_DATA::AssertFlags, _IRP::CurrentLocation, DCERROR_QUEUED_IRP_COMPLETED, DCERROR_UNFORWARDED_IRP_COMPLETED, DCPARAM_IRP, _IOV_SESSION_DATA::DeviceLastCalled, FALSE, _IRP::Flags, _IOV_REQUEST_PACKET::Flags, IoGetCurrentIrpStackLocation, IoMarkIrpPending, IovpAdvanceStackDownwards(), IovpTrackingDataFindAndLock(), IovpTrackingDataGetCurrentSessionData(), IovpTrackingDataReleaseLock(), _IOV_SESSION_DATA::IovRequestPacket, Irp, IRP_DIAG_HAS_SURROGATE, _IOV_REQUEST_PACKET::LastLocation, NULL, PIOFCOMPLETEREQUEST_STACKDATA, _IOV_REQUEST_PACKET::PriorityBoost, PriorityBoost, _IRP::StackCount, _IOV_SESSION_DATA::StackData, TRACKFLAG_QUEUED_INTERNALLY, TRACKIRP_DBGPRINT, WDM_CHASTISE_CALLER3, and WDM_FAIL_CALLER3.
|
|
Definition at line 1416 of file trackirp.c. References ASSERT, ASSERTFLAG_COMPLETEATDPC, ASSERTFLAG_MONITORMAJORS, ASSERTFLAG_POLICEIRPS, ASSERTFLAG_ROTATE_STATUS, _IOV_SESSION_DATA::AssertFlags, CALLFLAG_COMPLETED, CALLFLAG_OVERRIDE_STATUS, _IRP::CancelRoutine, _IO_STACK_LOCATION::CompletionRoutine, _IO_STACK_LOCATION::Context, _IO_STACK_LOCATION::Control, _IRP::CurrentLocation, DISPATCH_LEVEL, _IOFCALLDRIVER_STACKDATA::ExpectedStatus, FALSE, _IOFCALLDRIVER_STACKDATA::Flags, _IOV_STACK_LOCATION::Flags, _IOV_STACK_LOCATION::InUse, IoGetNextIrpStackLocation, IoSetCompletionRoutine, _IRP::IoStatus, IovpAssertDoAdvanceStatus(), IovpAssertFinalIrpStack(), IovpAssertIrpStackUpward(), IovpSessionDataClose(), IovpSessionDataDereference(), IovpSessionDataReference(), IovpSwapSurrogateIrp(), IovpTrackingDataAcquireLock(), IovpTrackingDataDereference(), IovpTrackingDataGetCurrentSessionData(), IovpTrackingDataReleaseLock(), IOVREFTYPE_POINTER, Irp, KeRaiseIrql(), _IOFCALLDRIVER_STACKDATA::NewStatus, NTSTATUS(), NULL, _IOV_STACK_LOCATION::RequestsFirstStackLocation, _IOV_SESSION_DATA::StackData, STACKFLAG_REQUEST_COMPLETED, TRACKFLAG_SURROGATE, TRACKIRP_DBGPRINT, and TRUE.
|
|
Definition at line 1693 of file trackirp.c. References ASSERT, ASSERTFLAG_COMPLETEATPASSIVE, ASSERTFLAG_DEFERCOMPLETION, ASSERTFLAG_FORCEPENDING, ASSERTFLAG_POLICEIRPS, _IOV_SESSION_DATA::AssertFlags, _IO_STACK_LOCATION::CompletionRoutine, _IO_STACK_LOCATION::Context, _IRP::CurrentLocation, DbgPrint, DCERROR_COMPLETION_ROUTINE_PAGABLE, DCPARAM_IRP, DCPARAM_ROUTINE, DEFERRAL_CONTEXT, ExAllocatePoolWithTag, FALSE, IoGetCurrentIrpStackLocation, IoGetNextIrpStackLocation, IovpInternalDeferredCompletion(), IovpTrackingDataAcquireLock(), IovpTrackingDataReference(), IovpTrackingDataReleaseLock(), IOVREFTYPE_POINTER, _DEFERRAL_CONTEXT::IovRequestPacket, _IOV_SESSION_DATA::IovRequestPacket, Irp, IRP_MJ_PNP, IRP_MN_REMOVE_DEVICE, _DEFERRAL_CONTEXT::IrpSpNext, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, MmIsSystemAddressLocked(), NonPagedPool, NULL, _DEFERRAL_CONTEXT::OriginalCompletionRoutine, _DEFERRAL_CONTEXT::OriginalContext, _DEFERRAL_CONTEXT::OriginalIrp, _DEFERRAL_CONTEXT::OriginalPriorityBoost, PDEFERRAL_CONTEXT, POOL_TAG_DEFERRED_CONTEXT, _IOV_REQUEST_PACKET::PriorityBoost, _IRP::StackCount, and WDM_FAIL_ROUTINE.
|
|
Definition at line 1813 of file trackirp.c. References ASSERT, ASSERTFLAG_FORCEPENDING, _IOV_SESSION_DATA::AssertFlags, _IO_STACK_LOCATION::Control, DCERROR_PENDING_BIT_NOT_MIGRATED, DCPARAM_IRP, DCPARAM_ROUTINE, IoGetCurrentIrpStackLocation, IoMarkIrpPending, IovpTrackingDataAcquireLock(), IovpTrackingDataReleaseLock(), _IOV_SESSION_DATA::IovRequestPacket, Irp, NULL, _IOV_REQUEST_PACKET::pIovSessionData, SL_PENDING_RETURNED, and WDM_FAIL_ROUTINE.
|
|
Definition at line 1901 of file trackirp.c. References ASSERT, ASSERTFLAG_COMPLETEATDPC, _IOV_SESSION_DATA::AssertFlags, IovpSessionDataDereference(), IovpTrackingDataAcquireLock(), IovpTrackingDataReleaseLock(), _IOV_SESSION_DATA::IovRequestPacket, KeLowerIrql(), and NTSTATUS().
|
|
Definition at line 1965 of file trackirp.c. References IovpTrackingDataFindAndLock(), IovpTrackingDataReleaseLock(), Irp, KeGetCurrentThread, RtlAssert(), _IRP::UserEvent, and _IRP::UserIosb.
|
|
Definition at line 3379 of file trackirp.c. References DCERROR_DELETE_WHILE_ATTACHED, IovpGetDeviceAttachedTo(), ObDereferenceObject, and WDM_FAIL_CALLER1.
|
|
Definition at line 3354 of file trackirp.c. References DCERROR_DETACH_NOT_ATTACHED, DCPARAM_DEVOBJ, DOE_EXAMINED, DOE_TRACKED, _DEVOBJ_EXTENSION::ExtensionFlags, NULL, and WDM_FAIL_CALLER2.
|
|
Definition at line 404 of file trackirp.c. References ASSERT, DISPATCH_LEVEL, IoVerifierInit(), IOVERIFIERINIT_ASYNCHRONOUSINIT, IOVERIFIERINIT_EVERYTHING_TRACKED, IOVERIFIERINIT_NO_REINIT, IovpIrpTrackingEnabled, and IovpTrackingFlags.
|
|
Definition at line 3413 of file trackirp.c. References _DEVICE_OBJECT::DeviceObjectExtension, DOE_EXAMINED, DOE_TRACKED, _DEVOBJ_EXTENSION::ExtensionFlags, and TRUE. Referenced by IovpReexamineAllStacks().
|
|
Definition at line 3537 of file trackirp.c. References ASSERT, _DEVICE_OBJECT::AttachedDevice, CHANGED_STACKS_AT_BOTTOM, CHANGED_STACKS_MID_STACK, FORWARDED_TO_NEXT_DO, IopDatabaseLock, IovpGetDeviceAttachedTo(), NULL, ObDereferenceObject, SKIPPED_A_DO, STARTED_INSIDE_STACK, and STARTED_TOP_OF_STACK. Referenced by IovpCallDriver1().
|
|
Definition at line 2239 of file trackirp.c. References ASSERT, ASSERTFLAG_CONSUME_ALWAYS, ASSERTFLAG_POLICEIRPS, _IO_STACK_LOCATION::CompletionRoutine, _IO_STACK_LOCATION::Context, _IO_STACK_LOCATION::Control, _IRP::CurrentLocation, DCERROR_INSUFFICIENT_STACK_LOCATIONS, DCERROR_IRPSP_COPIED, DCERROR_NEXTIRPSP_DIRTY, DCERROR_UNNECCESSARY_COPY, DCPARAM_IRP, _IO_STACK_LOCATION::DeviceObject, _DEVICE_OBJECT::DriverObject, FAIL_CALLER_OF_IOFCALLDRIVER2, _IO_STACK_LOCATION::FileObject, FORWARDED_TO_NEXT_DO, HACKFLAG_FOR_SCSIPORT, IoCopyCurrentIrpStackLocationToNext, IoGetCurrentIrpStackLocation, IoGetNextIrpStackLocation, IoSetCompletionRoutine, IoSetNextIrpStackLocation, IovpHackFlags, IovpInternalCompletionTrap(), IovpSwapSurrogateIrp(), Irp, IRP_MJ_POWER, _IO_STACK_LOCATION::MajorFunction, NULL, _IO_STACK_LOCATION::Parameters, SL_NOTCOPIED, _IRP::Tail, TRUE, WDM_CHASTISE_CALLER3, and WDM_CHASTISE_CALLER5. Referenced by IovpCallDriver1().
|
|
|
|
Definition at line 2990 of file trackirp.c. References _IRP::AllocationFlags, ASSERT, ASSERTFLAG_POLICEIRPS, _IOV_REQUEST_PACKET::AssertFlags, DCERROR_FREE_OF_INUSE_IRP, DCERROR_FREE_OF_THREADED_IRP, DCPARAM_IRP, FALSE, _IOV_REQUEST_PACKET::Flags, IovpProtectedIrpFree(), IovpProtectedIrpMakeUntouchable(), IovpTrackingDataDereference(), IovpTrackingDataFindAndLock(), IovpTrackingDataGetCurrentSessionData(), IovpTrackingDataReleaseLock(), IOVREFTYPE_POINTER, Irp, IRP_ALLOCATION_MONITORED, NULL, _IOV_REQUEST_PACKET::PointerCount, _IRP::ThreadListEntry, TRACKFLAG_IO_ALLOCATED, TRACKFLAG_PROTECTEDIRP, TRACKFLAG_UNWOUND_BADLY, TRUE, _IRP::Type, and WDM_FAIL_CALLER2.
|
|
Definition at line 3620 of file trackirp.c. References _DEVOBJ_EXTENSION::AttachedTo, IopDatabaseLock, NULL, and ObReferenceObject. Referenced by IovpCallDriver1(), IovpCallDriver2(), IovpDeleteDevice(), and IovpExamineDevObjForwarding().
|
|
Definition at line 3648 of file trackirp.c. References _DEVOBJ_EXTENSION::AttachedTo, _DEVICE_OBJECT::DeviceObjectExtension, IopDatabaseLock, and ObReferenceObject. Referenced by IovpAssertNewRequest(), IovpAssertNonLegacyDevice(), IovpCallDriver1(), and IovpThrowChaffAtStartedPdoStack().
|
|
Definition at line 3268 of file trackirp.c. References _IRP::AllocationFlags, ASSERTFLAG_POLICEIRPS, _IOV_REQUEST_PACKET::AssertFlags, DCERROR_REINIT_OF_ALLOCATED_IRP_WITH_QUOTA, DCPARAM_IRP, FALSE, _IOV_REQUEST_PACKET::Flags, IovpTrackingDataFindAndLock(), IovpTrackingDataReleaseLock(), Irp, IRP_QUOTA_CHARGED, NULL, TRACKFLAG_IO_ALLOCATED, and WDM_FAIL_CALLER2.
|
|
Definition at line 257 of file trackirp.c. References ASSERTFLAG_COMPLETEATDPC, ASSERTFLAG_CONSUME_ALWAYS, ASSERTFLAG_DEFERCOMPLETION, ASSERTFLAG_FORCEPENDING, ASSERTFLAG_MONITOR_ALLOCS, ASSERTFLAG_MONITORMAJORS, ASSERTFLAG_POLICEIRPS, ASSERTFLAG_ROTATE_STATUS, ASSERTFLAG_SEEDSTACK, ASSERTFLAG_SMASH_SRBS, ASSERTFLAG_SURROGATE, ASSERTFLAG_TRACKIRPS, HACKFLAG_FOR_ACPI, HACKFLAG_FOR_BOGUSIRPS, HACKFLAG_FOR_MUP, HACKFLAG_FOR_SCSIPORT, IOVERIFIERINIT_EVERYTHING_TRACKED, IOVERIFIERINIT_NO_REINIT, IovpHackFlags, IovpInitFlags, IovpIrpTrackingEnabled, IovpTrackingDataInit(), IovpTrackingFlags, PAGED_CODE, and TRUE. Referenced by IoVerifierInit().
|
|
|
Definition at line 2488 of file trackirp.c. References IovpInternalCompleteAfterWait(). Referenced by IovpInternalDeferredCompletion().
|
|
Definition at line 2446 of file trackirp.c. References ASSERT, IoGetCurrentIrpStackLocation, IoMarkIrpPending, Irp, and _IRP::PendingReturned. Referenced by IovpExamineIrpStackForwarding().
|
|
Definition at line 2555 of file trackirp.c. References ASSERT, ASSERTFLAG_COMPLETEATDPC, ASSERTFLAG_COMPLETEATPASSIVE, ASSERTFLAG_DEFERCOMPLETION, ASSERTFLAG_FORCEPENDING, ASSERTFLAG_POLICEIRPS, _IOV_REQUEST_PACKET::AssertFlags, _IO_STACK_LOCATION::CompletionRoutine, _IO_STACK_LOCATION::Context, DCERROR_COMPLETION_ROUTINE_PAGABLE, DCPARAM_IRP, DCPARAM_ROUTINE, DEFER_ACTION, _DEFERRAL_CONTEXT::DeferAction, DEFERACTION_NORMAL, DEFERACTION_QUEUE_DISPATCH_TIMER, DEFERACTION_QUEUE_PASSIVE_TIMER, DEFERACTION_QUEUE_WORKITEM, _DEFERRAL_CONTEXT::DeferralTimer, DelayedWorkQueue, _DEFERRAL_CONTEXT::DeviceObject, DISPATCH_LEVEL, _DEFERRAL_CONTEXT::DpcItem, ExFreePool(), ExInitializeWorkItem, ExQueueWorkItem(), FALSE, _IOV_REQUEST_PACKET::Flags, IoGetNextIrpStackLocation, IovpInternalCompleteAfterWait(), IovpInternalCompleteAtDPC(), IovpInternalDeferredCompletion(), IovpIrpDeferralTime, IovpProtectedIrpMakeUntouchable(), IovpTrackingDataAcquireLock(), IovpTrackingDataDereference(), IovpTrackingDataReleaseLock(), IOVREFTYPE_POINTER, _DEFERRAL_CONTEXT::IovRequestPacket, Irp, KDASSERT, KeInitializeDpc(), KeInitializeTimerEx(), KeSetTimerEx(), MmIsSystemAddressLocked(), NULL, _DEFERRAL_CONTEXT::OriginalCompletionRoutine, _DEFERRAL_CONTEXT::OriginalContext, PASSIVE_LEVEL, _IOV_REQUEST_PACKET::RestoreHandle, TRACKFLAG_QUEUED_INTERNALLY, WDM_FAIL_ROUTINE, and _DEFERRAL_CONTEXT::WorkQueueItem. Referenced by IovpCompleteRequest3(), and IovpInternalDeferredCompletion().
|
|
Definition at line 3717 of file trackirp.c. References _DEVOBJ_EXTENSION::AttachedTo, _DEVICE_OBJECT::DeviceObjectExtension, DOE_BOTTOM_OF_FDO_STACK, _DEVOBJ_EXTENSION::ExtensionFlags, IopDatabaseLock, and NULL. Referenced by IovpCallDriver1().
|
|
Definition at line 3521 of file trackirp.c. References IOVERIFIERINIT_VERIFIER_DRIVER_LIST, IovpInitFlags, MmIsDriverVerifying(), and TRUE. Referenced by IovpIsInterestingStack().
|
|
Definition at line 3436 of file trackirp.c. References _DEVICE_OBJECT::AttachedDevice, _DEVOBJ_EXTENSION::AttachedTo, _DEVICE_OBJECT::DeviceObjectExtension, DOE_EXAMINED, DOE_TRACKED, _DEVICE_OBJECT::DriverObject, _DEVOBJ_EXTENSION::ExtensionFlags, FALSE, IopDatabaseLock, IovpIsInterestingDriver(), and TRUE. Referenced by IovpSessionDataDeterminePolicy().
|
|
Definition at line 3399 of file trackirp.c. References IoDeviceObjectType, IovpEnumDevObjCallback(), NULL, ObEnumerateObjectsByType(), and PAGED_CODE.
|
|
Definition at line 3743 of file trackirp.c. References PAGE_SIZE. Referenced by IovpSeedStack().
|
|
Definition at line 3784 of file trackirp.c. References ASSERTFLAG_SEEDSTACK, IovpSeedOnePage(), IovpSeedThreePages(), IovpSeedTwoPages(), IovpTrackingFlags, MmIsAddressValid(), and PAGE_SIZE.
|
|
Definition at line 3772 of file trackirp.c. References PAGE_SIZE. Referenced by IovpSeedStack().
|
|
Definition at line 3760 of file trackirp.c. References PAGE_SIZE. Referenced by IovpSeedStack().
|
|
Definition at line 2751 of file trackirp.c. References ASSERT, ASSERTFLAG_POLICEIRPS, _IOV_REQUEST_PACKET::AssertFlags, _IO_STACK_LOCATION::CompletionRoutine, _IO_STACK_LOCATION::Context, _IO_STACK_LOCATION::Control, _IRP::CurrentLocation, _IOV_REQUEST_PACKET::Flags, _IOV_REQUEST_PACKET::HeadPacket, IoCompleteRequest, IoGetCurrentIrpStackLocation, IoGetNextIrpStackLocation, IoSetNextIrpStackLocation, IoSizeOfIrp, IovpAssertFinalIrpStack(), IovpSessionDataClose(), IovpSessionDataDereference(), IovpSessionDataFinalizeSurrogate(), IovpTrackingDataDereference(), IovpTrackingDataFindAndLock(), IovpTrackingDataGetCurrentSessionData(), IovpTrackingDataReleaseLock(), IOVREFTYPE_POINTER, Irp, NTSTATUS(), NULL, _IOV_REQUEST_PACKET::PriorityBoost, _IOV_REQUEST_PACKET::RealIrpCompletionRoutine, _IOV_REQUEST_PACKET::RealIrpContext, _IOV_REQUEST_PACKET::RealIrpControl, _IRP::StackCount, _IOV_REQUEST_PACKET::SurrogateLink, _IOV_REQUEST_PACKET::TopStackLocation, _IOV_REQUEST_PACKET::TrackedIrp, TRACKFLAG_SWAPPED_BACK, and TRACKIRP_DBGPRINT. Referenced by IovpCompleteRequest2(), and IovpExamineIrpStackForwarding().
|
|
Definition at line 55 of file trackirp.h. Referenced by IovpExamineIrpStackForwarding(), IovpInitIrpTracking(), IovpSessionDataDeterminePolicy(), and IovpThrowChaffAtStartedPdoStack(). |
|
Definition at line 56 of file trackirp.h. Referenced by IovpAllocateIrp1(), IovpAllocateIrp2(), IovpCallDriver1(), IovpDoAssertIrps(), IovpInitIrpTracking(), IovpSeedStack(), IovpSessionDataCreate(), IovpSessionDataDeterminePolicy(), and IovpTrackingDataCreateAndLock(). |