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所指出,其具有下列四個參數。
- 0x3
- 內部排程器數據結構的指標
- 內部排程器數據結構的指標
- 內部排程器數據結構的指標
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista |
目標平臺 | 桌面 |
標頭 | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |