iofCallDriver 函数 (wdm.h)
注意
请改为调用 IoCallDriver 。
将 IRP 发送到与指定设备对象关联的驱动程序。
语法
NTSTATUS IofCallDriver(
PDEVICE_OBJECT DeviceObject,
__drv_aliasesMem PIRP Irp
);
参数
DeviceObject
指向设备对象的指针,表示所请求的 I/O 操作的目标设备。
Irp
指向 IRP 的指针。
返回值
返回相应的 NTSTATUS 值。
注解
在调用 IoCallDriver 之前,调用驱动程序必须在目标驱动程序的 IRP 中设置 I/O 堆栈位置。 有关详细信息,请参阅在 驱动程序堆栈中向下传递 IRP。
IoCallDriver 将 DeviceObject 输入参数分配给所调用驱动程序 的 IO_STACK_LOCATION 结构的 DeviceObject 成员。
在调用 IoCallDriver 时传递的 IRP 对更高级别的驱动程序不可访问,除非较高级别的驱动程序已调用 IoSetCompletionRoutine 来为 IRP 设置 IoCompletion 例程。 如果已设置,则 IoCompletion 例程的 IRP 输入由较低级别的驱动程序设置其 I/O 状态块,并且所有较低级别驱动程序的 I/O 堆栈位置都用零填充。
适用于 Windows Server 2003、Windows XP 和 Windows 2000 的驱动程序必须使用 PoCallDriver 而不是 IoCallDriver 将电源 IRP (IRP_MJ_POWER) 传递。
有关详细信息,请参阅 呼叫 IoCallDriver 与呼叫 PoCallDriver。
要求
要求 | 值 |
---|---|
标头 | wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | IRQL <= DISPATCH_LEVEL |
DDI 符合性规则 | CompleteRequestStatusCheck、CompletionRoutineRegistered、DeleteDevice、ForwardedAtBadIrql、ForwardedAtBadIrqlAllocate、ForwardedAtBadIrqlFsdAsync、ForwardedAtBadIrqlFsdSync、 HwStorPortProhibitedDDI (storport) , IoAllocateForward, IoAllocateIrpSignalEventInCompletionTimeout, IoBuildDeviceControlWait, IoBuildDeviceControlWaitTimeout, IoBuildFsdForward, IoBuildSynchronousFsdRequestWait, IoBuildSynchronousFsdRequestWaitTimeout,IoSetCompletionRoutineExCheck、IrpProcessingComplete、LowerDriverReturn、 MarkDevicePower、MarkQueuedIrps、MarkIrpPending、MarkIrpPending2、 MarkPower (wdm) 、 MarkPowerDown (wdm) 、 MarkQueryRelations (wdm) 、 MarkStartDevice (wdm) 、PendedCompletedRequest、PendedCompletedRequest2、 PendedCompletedRequest3、PendedCompletedRequestEx、PnpIrpCompletion、PowerDownFail、PowerUpFail、RemoveLockForward、RemoveLockForward2、 RemoveLockForwardDeviceControl、RemoveLockForwardDeviceControl2、 RemoveLockForwardDeviceControlInternal、RemoveLockForwardDeviceControlInternal2、RemoveLockForwardRead、RemoveLockForwardRead2、RemoveLockForwardWrite、RemoveLockForwardWrite2、RemoveLockMnRemove2、RemoveLockMnSurpriseRemove、RemoveLockQueryMnRemove、TargetRelationNeedsRef、WmiForward |