共用方式為


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 函式可以呼叫 DxgkCbQueueDpcDxgkCbNotifyInterrupt,但不得呼叫任何其他 DxgkCbXxx 函式。 如需函式呼叫正確順序的詳細資訊,請參閱 提交命令緩衝區

DxgkDdiInterruptRoutine 在提升許可權的 IRQL 上執行,因此它(及其呼叫的所有函式)都必須不可分頁。 此外,DxgkDdiInterruptRoutine (及其呼叫的所有函式)不得嘗試存取可分頁記憶體。

要求

要求 價值
最低支援的用戶端 Windows Vista
目標平臺 桌面
標頭 dispmprt.h
IRQL 請參閱一節。

另請參閱

DxgkCbNotifyInterrupt

DxgkCbQueueDpc

DxgkCbSynchronizeExecution