Go to the source code of this file.
Functions | |
BOOLEAN | IovpAssertIsNewRequest (IN PIO_STACK_LOCATION IrpLastSp, IN PIO_STACK_LOCATION IrpSp) |
VOID | IovpAssertNewIrps (IN PIOV_REQUEST_PACKET IrpTrackingData, IN PIO_STACK_LOCATION IrpSp, IN PIOV_STACK_LOCATION StackLocationData) |
VOID | IovpAssertNewRequest (IN PIOV_REQUEST_PACKET IrpTrackingData, IN PDEVICE_OBJECT DeviceObject, IN PIO_STACK_LOCATION IrpLastSp OPTIONAL, IN PIO_STACK_LOCATION IrpSp, IN PIOV_STACK_LOCATION StackLocationData) |
BOOLEAN | IovpAssertDoAdvanceStatus (IN PIO_STACK_LOCATION IrpSp, IN NTSTATUS OriginalStatus, IN OUT NTSTATUS *StatusToAdvance) |
VOID | IovpAssertIrpStackDownward (IN PIOV_REQUEST_PACKET IrpTrackingData, IN PDEVICE_OBJECT DeviceObject, IN PIO_STACK_LOCATION IrpLastSp, IN PIO_STACK_LOCATION IrpSp, IN PIOV_STACK_LOCATION StackLocationData) |
VOID | IovpAssertIrpStackUpward (IN PIOV_REQUEST_PACKET IrpTrackingData, IN PIO_STACK_LOCATION IrpSp, IN PIOV_STACK_LOCATION StackLocationData, IN BOOLEAN IsNewlyCompleted, IN BOOLEAN RequestFinalized) |
VOID | IovpAssertFinalIrpStack (IN PIOV_REQUEST_PACKET IrpTrackingData, IN PIO_STACK_LOCATION IrpSp) |
BOOLEAN | IovpAssertIsValidIrpStatus (IN PIO_STACK_LOCATION IrpSp, IN NTSTATUS Status) |
VOID | IovpThrowChaffAtStartedPdoStack (IN PDEVICE_OBJECT DeviceObject) |
NTSTATUS | IovpThrowBogusSynchronousIrp (IN PDEVICE_OBJECT DeviceObject, IN PIO_STACK_LOCATION TopStackLocation, IN OUT OPTIONAL ULONG_PTR Information, IN OUT ULONG_PTR *InformationOut OPTIONAL, IN BOOLEAN IsBogus) |
LONG | IovpStartObRefMonitoring (IN PDEVICE_OBJECT DeviceObject) |
LONG | IovpStopObRefMonitoring (IN PDEVICE_OBJECT DeviceObject, IN LONG StartSkew) |
BOOLEAN | IovpIsSystemRestrictedIrp (PIO_STACK_LOCATION IrpSp) |
|
Definition at line 120 of file flunkirp.c. References FALSE, IRP_MJ_PNP, IRP_MJ_POWER, and TRUE. Referenced by IovpCompleteRequest2().
|
|
Definition at line 182 of file flunkirp.c. References ASSERT. Referenced by IovpCompleteRequest2(), and IovpSwapSurrogateIrp().
|
|
Definition at line 433 of file flunkirp.c. References ASSERT, BusQueryCompatibleIDs, BusQueryDeviceID, BusQueryHardwareIDs, BusQueryInstanceID, BusRelations, CHANGED_STACKS_AT_BOTTOM, CHANGED_STACKS_MID_STACK, DCERROR_BOGUS_FUNC_TRASHED, DCERROR_BOGUS_INFO_TRASHED, DCERROR_BOGUS_MINOR_STATUS_TRASHED, DCERROR_BOGUS_STATUS_TRASHED, DCERROR_DISPATCH_CALLED_AT_BAD_IRQL, DCERROR_INVALID_STATUS, DCERROR_MISSING_DISPATCH_FUNCTION, DCERROR_PNP_FAILURE_FORWARDED, DCERROR_PNP_IRP_FDO_HANDS_OFF, DCERROR_PNP_IRP_NEEDS_FDO_HANDLING, DCERROR_PNP_IRP_STATUS_RESET, DCERROR_POWER_FAILURE_FORWARDED, DCERROR_POWER_IRP_STATUS_RESET, DCERROR_SKIPPED_DEVICE_OBJECT, DCPARAM_IRP, DCPARAM_ROUTINE, _IOV_SESSION_DATA::DeviceLastCalled, _DEVICE_OBJECT::DeviceObjectExtension, DISPATCH_LEVEL, DOE_DESIGNATED_FDO, DOE_RAW_FDO, EjectionRelations, _DEVOBJ_EXTENSION::ExtensionFlags, FORWARDED_TO_NEXT_DO, _IOV_SESSION_DATA::ForwardMethod, IopInvalidDeviceRequest(), _IRP::IoStatus, IovpAssertIsNewRequest(), IovpAssertIsValidIrpStatus(), IovpTrackingDataGetCurrentSessionData(), IRP_MJ_DEVICE_CONTROL, IRP_MJ_INTERNAL_DEVICE_CONTROL, IRP_MJ_PNP, IRP_MJ_POWER, IRP_MJ_READ, IRP_MJ_SYSTEM_CONTROL, IRP_MJ_WRITE, IRP_MN_CANCEL_REMOVE_DEVICE, IRP_MN_CANCEL_STOP_DEVICE, IRP_MN_DEVICE_USAGE_NOTIFICATION, IRP_MN_EJECT, IRP_MN_FILTER_RESOURCE_REQUIREMENTS, IRP_MN_QUERY_BUS_INFORMATION, IRP_MN_QUERY_CAPABILITIES, IRP_MN_QUERY_DEVICE_RELATIONS, IRP_MN_QUERY_DEVICE_TEXT, IRP_MN_QUERY_ID, IRP_MN_QUERY_INTERFACE, IRP_MN_QUERY_LEGACY_BUS_INFORMATION, IRP_MN_QUERY_PNP_DEVICE_STATE, IRP_MN_QUERY_REMOVE_DEVICE, IRP_MN_QUERY_RESOURCE_REQUIREMENTS, IRP_MN_QUERY_RESOURCES, IRP_MN_QUERY_STOP_DEVICE, IRP_MN_READ_CONFIG, IRP_MN_REMOVE_DEVICE, IRP_MN_SET_LOCK, IRP_MN_START_DEVICE, IRP_MN_STOP_DEVICE, IRP_MN_SURPRISE_REMOVAL, IRP_MN_WRITE_CONFIG, _DRIVER_OBJECT::MajorFunction, NT_SUCCESS, NTSTATUS(), NULL, PIOV_SESSION_DATA, PowerRelations, RemovalRelations, SKIPPED_A_DO, STACKFLAG_FIRST_REQUEST, STACKFLAG_NO_HANDLER, STARTED_INSIDE_STACK, STARTED_TOP_OF_STACK, TargetDeviceRelation, TRACKFLAG_BOGUS, TRACKFLAG_PASSED_AT_BAD_IRQL, TRACKFLAG_PASSED_FAILURE, WDM_FAIL_CALLER4, WDM_FAIL_CALLER6, and WDM_FAIL_ROUTINE. Referenced by IovpCallDriver1().
|
|
Definition at line 870 of file flunkirp.c. References ASSERT, BusQueryCompatibleIDs, BusQueryDeviceID, BusQueryHardwareIDs, BusQueryInstanceID, BusRelations, DCERROR_BOGUS_INFO_TRASHED, DCERROR_BOGUS_MINOR_STATUS_TRASHED, DCERROR_BOGUS_PNP_IRP_COMPLETED, DCERROR_BOGUS_POWER_IRP_COMPLETED, DCERROR_BOGUS_STATUS_TRASHED, DCERROR_INVALID_STATUS, DCERROR_PNP_IRP_NEEDS_PDO_HANDLING, DCERROR_PNP_IRP_STATUS_RESET, DCERROR_POWER_IRP_STATUS_RESET, DCERROR_SUCCESSFUL_PNP_IRP_NOT_FORWARDED, DCERROR_SUCCESSFUL_POWER_IRP_NOT_FORWARDED, DCERROR_TARGET_RELATION_LIST_EMPTY, DCERROR_TARGET_RELATION_NEEDS_REF, DCERROR_UNTOUCHED_PNP_IRP_NOT_FORWARDED, DCERROR_UNTOUCHED_POWER_IRP_NOT_FORWARDED, DCERROR_WMI_IRP_NOT_FORWARDED, DCPARAM_DEVOBJ, DCPARAM_IRP, DCPARAM_ROUTINE, EjectionRelations, _IOV_STACK_LOCATION::Flags, _IRP::IoStatus, IovpAssertIsValidIrpStatus(), IovpStopObRefMonitoring(), IRP_MJ_PNP, IRP_MJ_POWER, IRP_MJ_SYSTEM_CONTROL, IRP_MN_CANCEL_REMOVE_DEVICE, IRP_MN_CANCEL_STOP_DEVICE, IRP_MN_DEVICE_USAGE_NOTIFICATION, IRP_MN_EJECT, IRP_MN_FILTER_RESOURCE_REQUIREMENTS, IRP_MN_QUERY_BUS_INFORMATION, IRP_MN_QUERY_CAPABILITIES, IRP_MN_QUERY_DEVICE_RELATIONS, IRP_MN_QUERY_DEVICE_TEXT, IRP_MN_QUERY_ID, IRP_MN_QUERY_INTERFACE, IRP_MN_QUERY_LEGACY_BUS_INFORMATION, IRP_MN_QUERY_PNP_DEVICE_STATE, IRP_MN_QUERY_REMOVE_DEVICE, IRP_MN_QUERY_RESOURCE_REQUIREMENTS, IRP_MN_QUERY_RESOURCES, IRP_MN_QUERY_STOP_DEVICE, IRP_MN_READ_CONFIG, IRP_MN_REMOVE_DEVICE, IRP_MN_SET_LOCK, IRP_MN_START_DEVICE, IRP_MN_STOP_DEVICE, IRP_MN_SURPRISE_REMOVAL, IRP_MN_WRITE_CONFIG, NT_SUCCESS, NTSTATUS(), NULL, PowerRelations, _IOV_STACK_LOCATION::ReferencingCount, _IOV_STACK_LOCATION::ReferencingObject, RemovalRelations, _IOV_STACK_LOCATION::RequestsFirstStackLocation, STACKFLAG_CHECK_FOR_REFERENCE, STACKFLAG_NO_HANDLER, STACKFLAG_REACHED_PDO, TargetDeviceRelation, TRACKFLAG_BOGUS, and WDM_FAIL_ROUTINE. Referenced by IovpCompleteRequest2().
|
|
Definition at line 89 of file flunkirp.c. References NULL. Referenced by IovpAssertIrpStackDownward(), and IovpCallDriver1().
|
|
Definition at line 1290 of file flunkirp.c. References FALSE, Status, and TRUE. Referenced by IovpAssertIrpStackDownward(), and IovpAssertIrpStackUpward().
|
|
Definition at line 173 of file flunkirp.c. References PIOV_REQUEST_PACKET, and PIOV_STACK_LOCATION. Referenced by IovpCallDriver1().
|
|
Definition at line 191 of file flunkirp.c. References _DEVICE_CAPABILITIES::Address, DCERROR_PNP_IRP_BAD_INITIAL_STATUS, DCERROR_PNP_QUERY_CAP_BAD_ADDRESS, DCERROR_PNP_QUERY_CAP_BAD_SIZE, DCERROR_PNP_QUERY_CAP_BAD_UI_NUM, DCERROR_PNP_QUERY_CAP_BAD_VERSION, DCERROR_POWER_IRP_BAD_INITIAL_STATUS, DCERROR_RESTRICTED_IRP, DCERROR_WMI_IRP_BAD_INITIAL_STATUS, DCPARAM_IRP, DEVICE_CAPABILITIES, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, IopIsMemoryRangeReadable(), _IRP::IoStatus, IovpGetLowestDevice(), IovpIsSystemRestrictedIrp(), IovpStartObRefMonitoring(), IRP_MJ_PNP, IRP_MJ_POWER, IRP_MJ_SYSTEM_CONTROL, IRP_MN_FILTER_RESOURCE_REQUIREMENTS, IRP_MN_QUERY_CAPABILITIES, IRP_MN_QUERY_DEVICE_RELATIONS, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, PDEVICE_CAPABILITIES, _DEVICE_CAPABILITIES::Size, STACKFLAG_CHECK_FOR_REFERENCE, STACKFLAG_FIRST_REQUEST, TargetDeviceRelation, TRACKFLAG_IO_ALLOCATED, TRACKFLAG_PASSED_FAILURE, TRACKFLAG_WATERMARKED, _DEVICE_CAPABILITIES::UINumber, _DEVICE_CAPABILITIES::Version, WDM_FAIL_CALLER4, and WDM_FAIL_CALLER6. Referenced by IovpCallDriver1().
|
|
|
Definition at line 1664 of file flunkirp.c. References ASSERT, OBJECT_HEADER_TO_NAME_INFO, OBJECT_TO_OBJECT_HEADER, ObReferenceObject, and _OBJECT_HEADER::PointerCount. Referenced by IovpAssertNewRequest().
|
|
Definition at line 1722 of file flunkirp.c. References ASSERT, ObDereferenceObject, OBJECT_HEADER_TO_NAME_INFO, OBJECT_TO_OBJECT_HEADER, and _OBJECT_HEADER::PointerCount. Referenced by IovpAssertIrpStackUpward().
|
|
Definition at line 1531 of file flunkirp.c. References Executive, FALSE, IoAllocateIrp(), IoCallDriver, IoGetAttachedDeviceReference(), IoGetNextIrpStackLocation, IopQueueThreadIrp, _IRP::IoStatus, IRP_BOGUS, KeInitializeEvent, KernelMode, KeWaitForSingleObject(), NTSTATUS(), NULL, ObDereferenceObject, PAGED_CODE, PsGetCurrentThread, SPECIALIRP_WATERMARK_IRP, _DEVICE_OBJECT::StackSize, _IRP::Tail, _IRP::UserEvent, _IRP::UserIosb, and VOID(). Referenced by IovpThrowChaffAtStartedPdoStack().
|
|
Definition at line 1392 of file flunkirp.c. References ASSERT, BUS_QUERY_ID_TYPE, DEVICE_RELATION_TYPE, DEVICE_TEXT_TYPE, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, ExFreePool(), FALSE, HACKFLAG_FOR_ACPI, HACKFLAG_FOR_BOGUSIRPS, INTERFACE, IovpGetLowestDevice(), IovpHackFlags, IovpThrowBogusSynchronousIrp(), IRP_MJ_PNP, IRP_MJ_POWER, IRP_MJ_SYSTEM_CONTROL, IRP_MN_QUERY_DEVICE_RELATIONS, IRP_MN_QUERY_DEVICE_TEXT, IRP_MN_QUERY_ID, IRP_MN_QUERY_INTERFACE, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, PAGED_CODE, _IO_STACK_LOCATION::Parameters, PDEVICE_RELATIONS, TargetDeviceRelation, and TRUE.
|