IRP_MJ_INTERNAL_DEVICE_CONTROL

一般而言,支援內部設備控制要求的現有驅動程式的任何取代都應該在 DispatchInternalDeviceControl 常式中處理此要求。 這類驅動程式必須至少支援與所取代驅動程式相同的一組內部 I/O 控制程式碼。 否則,現有的較高層級驅動程式可能無法與新的驅動程式搭配使用。

需要取代特定較低層級系統驅動程式的驅動程式才能處理此要求。 例如,系統平行埠驅動程式的取代必須繼續支援現有的平行類別驅動程式。 請注意,無法取代處理此要求的特定系統驅動程式,特別是系統提供的 SCSI 和視訊埠驅動程式。

傳送時

在成功完成建立要求之後的任何時間。

輸入參數

I/O 控制項程式碼包含在 IRP I/O 堆疊位置的參數 .DeviceIoControl.IoControlCode 中。

其他輸入參數取決於 I/O 控制項程式碼的值。 如需詳細資訊,請參閱 I/O 控制項代碼的緩衝區描述

輸出參數

輸出參數取決於 I/O 控制項程式碼的值。 如需詳細資訊,請參閱 I/O 控制項代碼的緩衝區描述

作業

當另一個驅動程式呼叫IoBuildDeviceIoControlRequestIoAllocateIrp來建立要求時,驅動程式會收到IRP_MJ_INTERNAL_DEVICE_CONTROL要求。

此 I/O 控制項程式碼已定義,用於配對和分層核心模式驅動程式之間的通訊,例如透過埠驅動程式階層式一或多個類別驅動程式。 較高層級的驅動程式會使用裝置或驅動程式特定的 I/O 控制代碼來設定 IRP,要求下一個較低驅動程式的支援。

要求的作業是裝置或驅動程式特定的作業。

如需 IRP_MJ_DEVICE_CONTROLIRP_MJ_INTERNAL_DEVICE_CONTROL 要求的 I/O 控制碼的一般資訊,請參閱 使用 I/O 控制代碼。 另請參閱 裝置Type-Specific I/O 要求

規格需求

標頭

Wdm.h (包括 Wdm.h、Ntddk.h 或 Ntifs.h)

另請參閱

DispatchInternalDeviceControl

IoAllocateIrp

IoBuildDeviceIoControlRequest