共用方式為


支援 DXGI DDI

若要支援 Microsoft DirectX 圖形基礎結構 (DXGI) 裝置驅動程式介面 (DDI) ,使用者模式顯示驅動程式必須包含 Dxgiddi.h 標頭檔。 Dxgiddi.h 也包含 Dxgitype.h 標頭檔,其中包含與應用層級 DXGI 建構共用的定義。 Dxgiddi.h 定義數個使用者模式顯示驅動程式進入點和 DXGI 回呼函式,驅動程式可用來與核心通訊 (,包括顯示迷你埠驅動程式) 。

Microsoft Direct3D 執行時間提供DXGI_DDI_BASE_ARGS結構中DXGI DDI 的存取權,D3D10DDIARG_CREATEDEVICE 結構的DXGIBaseDDI成員會指向在呼叫 CreateDevice (D3D10) 函式中。 使用者模式顯示驅動程式會提供 DXGI 函式的指標。

驅動程式會透過 pDXGIDDIBaseFunctionsXxxDXGI_DDI_BASE_ARGS 成員指向 之結構的成員來實作這些函式。 驅動程式應該記錄 DXGI 回呼函式資料表的指標,該資料表是 pDXGIBaseCallbacks指向 DXGI_DDI_BASE_ARGS 的成員,以供稍後使用。 驅動程式應該記錄 DXGI 回呼函式資料表的指標,而不是記錄 DXGI 回呼函式的個別指標,因為 Direct3D 執行時間可以在使用者模式顯示驅動程式內沒有線程時變更回呼函式的位址。

軟體點陣化有進一步的 DXGI 使用者模式顯示驅動程式需求。 這類使用者模式顯示驅動程式 (更具體來說,任何不支援圖形配接器上 Direct3D 9 DDI 實作共用硬體的驅動程式) 必須傳回 DXGI_STATUS_NO_REDIRECTION 值,而不是從 其 CreateDevice (D3D10) 函式傳回S_OK值。 這個傳回值表示 DXGI 不應該使用共用資源簡報路徑來影響與桌面視窗管理員 (DWM) 的通訊。 當呼叫共用資源函式 (,也就是 CreateResource (D3D10) OpenResource (D3D10) 函式時,就會建立共用資源簡報路徑,併發生 D3D10_DDI_RESOURCE_MISC_SHARED 旗標集) 。 不過,DXGI 應該改用與交換鏈相關的技術,其緩衝區只能供 CPU 使用。 例如,DXGI 應該透過共用資源呈現路徑以外的方式,將資料從背景緩衝區移至桌面。 在此情況下,DXGI 實際上會呼叫驅動程式的 PresentDXGI 函式來移動轉譯的資料,而不是影響與 DWM 的通訊。

Direct3D 版本 10 DXGI 函式

本節說明使用者模式顯示驅動程式 DLL 提供給 Microsoft Direct3D 第 10 版執行時間的 Microsoft DirectX Graphics Infrastructure (DXGI) 函式。 驅動程式會透過呼叫使用者模式顯示驅動程式的 CreateDevice (D3D10) 函式,透過DXGI_DDI_BASE_FUNCTIONS結構的成員,提供 DXGI 函式的指標。

BltDXGI:GetGammaCapsDXGI

PresentDXGI:QueryResourceResidencyDXGI

ResolveSharedResourceDXGI:RotateResourceIdentitiesDXGI

SetDisplayModeDXGI:SetResourcePriorityDXGI

Direct3D 11.1 DXGI 函式

本節說明 Microsoft DirectX Graphics Infrastructure (DXGI) 函式,由使用者模式顯示驅動程式實作,這些驅動程式已針對 Microsoft Direct3D 11.1 版執行時間新增。 Direct3D 11.1 是透過 Windows 8 引進。

當使用者模式顯示驅動程式 DLL 會匯出OpenAdapter10_2函式,並在執行時間呼叫 CreateDevice ( D3D10) 時,透過 D3D10_2DDI_ADAPTERFUNCS 結構的成員提供配接器特定函式的指標。

驅動程式會透過呼叫使用者模式顯示驅動程式的配接器特定CreateDevice (D3D10) 函式,透過DXGI1_2_DDI_BASE_FUNCTIONS結構的成員,提供 Direct3D 11.1 DXGI 函式的指標。

Direct3D 11.2 DXGI 函式

本節中的參考頁面描述 Microsoft DirectX Graphics Infrastructure (DXGI) 函式,由使用者模式顯示驅動程式實作,這些驅動程式是針對 Microsoft Direct3D 11.2 版執行時間新增的。 Direct3D 11.2 引進了 Windows 8.1。

當使用者模式顯示驅動程式 DLL 會匯出OpenAdapter10_2函式,並在執行時間呼叫 CreateDevice (D3D10) 時,透過 D3D10_2DDI_ADAPTERFUNCS 結構的成員提供配接器特定函式的指標。

驅動程式會透過呼叫使用者模式顯示驅動程式的配接器特定CreateDevice DXGI1_3_DDI_BASE_FUNCTIONS (D3D10) 函式中的成員,提供 Direct3D 11.2 DXGI 函式的指標。

PFNDDXGIDDI_PRESENT_MULTIPLANE_OVERLAYCBPFNDDXGIDDI_PRESENTCB

PFNDDXGIDDI_SUBMITPRESENTBLTTOHWQUEUECBPFNDDXGIDDI_SUBMITPRESENTTOHWQUEUECB

注意

Direct3D 11.2 執行時間所支援的其他 DXGI 函式包含在 使用者模式驅動程式所實作的多平面重迭函式一節中。