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。
例如,與 Dxgk) DdiInterruptRoutine 共用記憶體 (的任何其他顯示迷你埠驅動程式函式,都必須呼叫 DxgkCbSynchronizeExecution,以同步處理其對共用記憶體的存取。
DxgkDdiInterruptRoutine 函式可以呼叫 DxgkCbQueueDpc 和 DxgkCbNotifyInterrupt,但不能呼叫任何其他 DxgkCbXxx 函式。 如需正確順序函數調用的詳細資訊,請參閱 提交命令緩衝區。
DxgkDdiInterruptRoutine 會在提升許可權的 IRQL 上執行,因此它會 (,而且它呼叫) 的所有函式都必須是不可分頁的。 此外, DxgkDdiInterruptRoutine (,而且它呼叫的所有函式) 不得嘗試存取可分頁的記憶體。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
目標平台 | 桌面 |
標頭 | dispmprt.h |
IRQL | 請參閱一節。 |