GPIO-Based中斷資源
將中斷傳送至一般用途 I/O (GPIO) 針腳的周邊裝置驅動程式會取得 GPIO 中斷作為抽象 Windows 中斷資源。 核心模式驅動程式架構 (KMDF) 驅動程式和 使用者模式驅動程式架構 , (UMDF) 驅動程式透過其 EvtDevicePrepareHardware 事件回呼函式接收這些資源。
使用 GPIO 型中斷資源的周邊設備磁碟機可以忽略低階實作詳細資料,例如是否由 GPIO 針腳產生中斷,而不是由中斷控制器或處理器晶片上的中斷針腳。
GPIO 型中斷是 CmResourceTypeInterrupt類型的資源。 此中斷的組態參數包含在描述中斷資源之CM_PARTIAL_RESOURCE_DESCRIPTOR結構的u.Interrupt成員中。 若要將插斷服務常式 (ISR) 連接到中斷,UMDF 或 KMDF 驅動程式會將中斷資源 的原始和翻譯 描述提供給中斷建立方法。
周邊裝置的 KMDF 或 UMDF 驅動程式會呼叫 WdfInterruptCreate 方法,以將 ISR 連接到來自裝置的中斷。 這個方法的其中一個輸入參數是 WDF_INTERRUPT_CONFIG 結構的指標,其中包含中斷的組態資訊。
如果周邊設備磁碟機使用一個以上的 GPIO 中斷資源,此驅動程式必須知道這些資源出現在原始和翻譯的資源清單中的順序,這些資源會以輸入參數的形式提供給 EvtDevicePrepareHardware 函式或 OnPrepareHardware 方法。 這些清單中的資源會以平臺韌體中描述的順序顯示,這必須符合驅動程式預期的順序。