共用方式為


DXGKDDI_PATCH回呼函式 (d3dkmddi.h)

DxgkDdiPatch 函式會將實體位址指派給指定的直接記憶體存取 (DMA) 緩衝區,然後 DMA 緩衝區才會提交至圖形硬體。

語法

DXGKDDI_PATCH DxgkddiPatch;

NTSTATUS DxgkddiPatch(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARG_PATCH pPatch
)
{...}

參數

[in] hAdapter

與顯示配接器相關聯的內容區塊句柄。 顯示迷你埠驅動程式先前已將此句柄提供給 MiniportDeviceContextDxgkDdiAddDevice 函式的 Microsoft DirectX 圖形核心子系統。

[in] pPatch

DXGKARG_PATCH 結構的指標,描述要修補實體位址的 DMA 緩衝區。

傳回值

成功完成時傳回 STATUS_SUCCESS。 如果驅動程式改為傳回錯誤碼,則作系統會導致發生系統錯誤檢查。 如需詳細資訊,請參閱下列一節。

言論

DxgkDdiPatch 函式必須將實體位址指派給 DMA 緩衝區。 因此,當顯示迷你埠驅動程式產生 DMA 緩衝區時,驅動程式必須確保 DMA 緩衝區中有空間可供使用,以插入處理實體位址所需的指示。 請注意,實體位址可能會對應到視訊記憶體、AGP/PCI Express 記憶體或系統記憶體。

驅動程式必須檢查 pPatchLocationList 中提供的修補程式位置清單,DXGKARG_PATCH 結構的成員,pPatch 參數所指向,以識別必須使用實體位址修補的 DMA 緩衝區中的位置。 提供的配置清單(由 pAllocationList 成員所指定,DXGKARG_PATCH的成員也包含視訊記憶體管理員產生的實體位址。 呼叫驅動程式的 DxgkDdiPatch 函式是驅動程式在 DMA 緩衝區提交至圖形處理單位 (GPU) 之前修改 DMA 緩衝區內容的最後機會。 請注意,在先占 DMA 緩衝區的情況下,驅動程式可以多次修補 DMA 緩衝區。

驅動程式可以將 SubmitFenceId 中提供的值修補 成員,DXGKARG_PATCH到 DMA 緩衝區結尾的 fence 命令中。 如需此成員的詳細資訊,請參閱 提供柵欄標識碼

如果驅動程式傳回錯誤碼,Microsoft DirectX 圖形核心子系統會造成系統錯誤檢查。 在損毀傾印檔案中,錯誤是由錯誤訊息 BugCheck 0x119所指出,其具有下列四個參數。

  1. 0x3
  2. 內部排程器數據結構的指標
  3. 內部排程器數據結構的指標
  4. 內部排程器數據結構的指標
DxgkDdiPatch 應設為可分頁。

要求

要求 價值
最低支援的用戶端 Windows Vista
目標平臺 桌面
標頭 d3dkmddi.h
IRQL PASSIVE_LEVEL

另請參閱

DXGKARG_PATCH

DxgkDdiAddDevice