建立 KMDF 迷你埠驅動程式
如果埠/迷你埠架構允許迷你埠驅動程式使用 WDM 或架構介面與其他驅動程式通訊,則某些迷你埠驅動程式可以使用 Kernel-Mode Driver Framework。 例如,具有 WDM 下邊緣的 NDIS 迷你埠驅動程式 可以使用架構來實作下邊緣。
如果您想要讓迷你埠驅動程式使用架構,驅動程式必須:
在呼叫 WdfDriverCreate之前,請先在驅動程式結構 WDF_DRIVER_CONFIG 的 DriverInitFlags 成員中,設定 WdfDriverInitNoDispatchOverride 旗標。 設定此旗標可讓埠驅動程式,而不是架構,攔截 I/O 管理員導向至驅動程式的 I/O 要求封包(IRP)。
呼叫 WdfDeviceMiniportCreate,而不是 WdfDeviceCreate,以建立迷你埠驅動程式裝置的架構裝置物件。 迷你埠驅動程式應呼叫 WdfDeviceMiniportCreate,當其埠驅動程式通知裝置可用時。
呼叫 WdfObjectDelete,以刪除 WdfDeviceMiniportCreate 建立的裝置物件,當驅動程式判斷裝置已移除時。 (因為驅動程式已設定 WdfDriverInitNoDispatchOverride 旗標,所以架構無法判斷裝置何時移除且無法刪除裝置物件。
當埠驅動程式通知迷你埠驅動程式將要卸載時,呼叫 WdfDriverMiniportUnload。
迷你埠驅動程式只有在基礎裝置支援隨插即用 (PnP) 時,才能使用架構。 迷你埠驅動程式無法使用架構的控制裝置物件。
限制適用於 WdfDeviceMiniportCreate 方法所建立的裝置物件。 如需這些限制的清單,請參閱 WdfDeviceMiniportCreate。