WdfRequestDetail

final class ntoseye.WdfRequestDetail

Subclass of BaseRecord.

A WDFREQUEST with its IRP, its queue, and the I/O target it was sent to (!wdfkd.wdfrequest).

property address: int

The FxRequest.

property cancel_routine: WdfCallback | None

The driver’s EvtRequestCancel (m_CancelRoutine).

property canceled: bool
property completed: bool
property completion_context: int

The completion routine’s context (m_TargetCompletionContext).

property completion_routine: WdfCallback | None

The completion routine set for its send (m_CompletionRoutine).

property completion_state: WdfEnumValue

m_CompletionState (FxRequestCompletionState).

property driver: str | None

The owning driver’s name, when it has one.

property globals: int

The owning driver’s _FX_DRIVER_GLOBALS.

property handle: int
property irp: int

The IRP (m_Irp.m_Irp). Null for a request without an IRP.

property irp_allocation: WdfEnumValue

m_IrpAllocation (FxRequestAllocationSource): whether the IRP came from the I/O manager (REQUEST_ALLOCATED_FROM_IO) or the framework or the driver allocated it.

property irp_detail: WdfRequestIrp | None

The IRP, decoded. None if irp is null or not a live IRP.

property irp_problem: str | None

Why irp is not a live IRP.

property irp_queue: int

m_IrpQueue: the cancel-safe queue (FxIrpQueue) that holds its IRP. Null if none does, and the request cannot be canceled.

property irp_queue_role: Literal['pending', 'driver_cancelable', 'target_pended'] | None

Which queue irp_queue is: pending (its queue’s waiting requests), driver_cancelable (the driver marked it cancelable), or target_pended (its I/O target holds it until the target starts). None if irp_queue is null or none of these.

property irp_reference_count: int

m_IrpReferenceCount.

property object_state: WdfEnumValue

m_ObjectState (FxObjectState).

property parent: WdfObjectRef | None
property presented: bool

m_Presented: whether its queue has presented it to the driver.

property queue: WdfObjectRef | None

The queue that it came from or is in (m_IoQueue).

property refcount: int
property target: WdfObjectRef | None

The I/O target that it was sent to (m_Target).

property target_flag_names: list[str]

The FxRequestTargetFlags set in target_flags.

property target_flags: int

m_TargetFlags.

property verifier_flag_names: list[str]

The FxRequestVerifierFlags set in verifier_flags.

property verifier_flags: int

m_VerifierFlags, which KMDF keeps only with the verifier on.