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 成員。
除非較高層級的驅動程式已呼叫 IoSetCompletionRoutine ,否則傳入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) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | IRQL <= DISPATCH_LEVEL |
DDI 合規性規則 | CompleteRequestStatusCheck、CompletionRoutineRegistered、DeleteDevice、ForwardedAtBadIrql、ForwardedAtBadIrqlAllocate、ForwardedAtBadIrqlFsdAsync、ForwardedAtBadIrqlFsdSync、 HwStorPortProhibitedDDIs (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 |