DXGKDDI_INTERRUPT_ROUTINE回呼函式 (dispmprt.h)
DxgkDdiInterruptRoutine 函式會處理顯示配接器所產生的中斷。
語法
DXGKDDI_INTERRUPT_ROUTINE DxgkddiInterruptRoutine;
BOOLEAN DxgkddiInterruptRoutine(
[in] IN_CONST_PVOID MiniportDeviceContext,
[in] IN_ULONG MessageNumber
)
{...}
參數
[in] MiniportDeviceContext
與顯示配接器相關聯的內容區塊句柄。 顯示迷你埠驅動程式的 DxgkDdiAddDevice 函式先前已將此句柄提供給 DirectX 圖形核心子系統。
[in] MessageNumber
如果插斷是訊息訊號,則 訊息訊號中斷數據表中以零起始的索引 (MSI) 數據表。 對於以行為基礎的中斷,此參數為零。
傳回值
如果 DxgkDdiInterruptRoutine 判斷 MiniportDeviceContext 所代表的適配卡 不會產生中斷,則會傳回 FALSE。 否則,它必須關閉適配卡上的中斷,才能傳回 TRUE。
言論
如果插斷是以行為基礎(MessageNumber = 0),DxgkDdiInterruptRoutine 必須判斷 MiniportDeviceContext 所代表的適配卡是否 產生中斷,否則會立即傳回 FALSE。
如果 MiniportDeviceContext 所代表的適配卡 確實產生中斷,則 DxgkDdiInterruptRoutine 應該執行下列步驟:
- 關閉配卡上的中斷。
- 完成造成中斷的要求作業,或將稍後完成作業的 DPC 排入佇列。
- 儘快傳回 TRUE。
與 DxgkDdiInterruptRoutine 共用記憶體的其他任何顯示迷你埠驅動程式函式(例如,MiniportDeviceContext所代表的狀態部分,都必須呼叫 DxgkCbSynchronizeExecution,以同步處理其對共用記憶體的存取。
DxgkDdiInterruptRoutine 函式可以呼叫 DxgkCbQueueDpc 和 DxgkCbNotifyInterrupt,但不得呼叫任何其他 DxgkCbXxx 函式。 如需函式呼叫正確順序的詳細資訊,請參閱 提交命令緩衝區。
DxgkDdiInterruptRoutine 在提升許可權的 IRQL 上執行,因此它(及其呼叫的所有函式)都必須不可分頁。 此外,DxgkDdiInterruptRoutine (及其呼叫的所有函式)不得嘗試存取可分頁記憶體。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista |
目標平臺 | 桌面 |
標頭 | dispmprt.h |
IRQL | 請參閱一節。 |