實作 SAN 服務提供者的 IOCTL
如果 SAN 服務提供者將 I/O 控制 (IOCTL) 要求傳送至 Proxy 驅動程式,驅動程式應該實作 IRP_MJ_DEVICE_CONTROL 分派常式來處理這些要求。 例如,IOCTL 要求可以是擷取指派給驅動程式 NIC 的 IP 位址清單,或配置或釋放記憶體的要求。 DriverEntry常式必須指定分派常式的進入點。
Proxy 驅動程式的裝置控制常式會呼叫 IoGetCurrentIrpStackLocation 函式,其中裝置控制項常式會將指標傳遞給傳遞至常式的 IRP。 然後,裝置控制常式會判斷收到哪些 IOCTL 要求,並據以處理要求。
在目前的 IOCTL 要求完成之後,裝置控制常式會呼叫 IoCompleteRequest 函式,並傳遞作業的狀態。 此狀態會傳回給 SAN 服務提供者。