共用方式為


使用 Direct3D 版本 10 DDI 初始化通訊

若要初始化與使用者模式顯示驅動程式 DLL 版本 10 DDI 的通訊,Direct3D 第 10 版執行時間會在 DLL 尚未載入時先載入 DLL。 Direct3D 執行時間接著會透過 DLL 的匯出資料表呼叫使用者模式顯示驅動程式的 OpenAdapter10 函式,以開啟圖形配接器的實例。 OpenAdapter10函式是 DLL 唯一匯出的 Direct3D 第 10 版函式。

在呼叫驅動程式的OpenAdapter10函式中,執行時間會在D3D10DDIARG_OPENADAPTER結構的pAdapterCallbacks成員中提供pfnQueryAdapterInfoCb配接器回呼函式。 執行時間也會在 D3D10DDIARG_OPENADAPTER 的 InterfaceVersion 成員中提供其版本。 使用者模式顯示驅動程式必須確認它可以使用這個版本的執行時間。 使用者模式顯示驅動程式不得失敗較新版本的執行時間,因為較新的執行時間版本可以使用舊版的 DDI 版本,因此可以正確地與實作這些舊版 DDI 版本的驅動程式通訊。 使用者模式顯示驅動程式會在 D3D10DDIARG_OPENADAPTER 的 pAdapterFuncs 成員中傳回其配接器特定函式的資料表。

使用者模式顯示驅動程式應該呼叫 pfnQueryAdapterInfoCb 配接器回呼函式,以從顯示迷你埠驅動程式查詢圖形硬體功能。

執行時間會呼叫使用者模式顯示驅動程式的 CreateDevice (D3D10) 函式 (其中一個驅動程式的配接器特定函式) ,以建立顯示裝置來處理轉譯狀態集合並完成初始化。 初始化完成時,Direct3D 第 10 版執行時間可以呼叫 顯示驅動程式提供的 Direct3D 第 10 版函式,而使用者模式顯示驅動程式可以呼叫 執行時間提供的函式。

使用者模式顯示驅動程式的 CreateDevice (D3D10) 函式會 D3D10DDIARG_CREATEDEVICE 呼叫,其成員會以下列方式設定,以下列方式設定使用者模式顯示驅動程式的版本 10 DDI:

  • 執行時間會將 介面 設定為執行時間需要使用者模式顯示驅動程式的介面版本。

  • 執行時間會將 Version 設定為驅動程式可用來識別執行時間建置時間的數位。 例如,驅動程式可以使用版本號碼來區分以 Windows Vista 發行的執行時間,以及使用後續 Service Pack 發行的執行時間,其中可能包含驅動程式所需的修正程式。

  • 執行時間會設定 hRTDevice ,以指定驅動程式在驅動程式回呼回到執行時間時應該使用的控制碼。

  • 執行時間會設定 hDrvDevice ,以指定執行時間在後續驅動程式呼叫中使用的控制碼。

  • 執行時間會在pKTCallbacks指向的D3DDDI_DEVICECALLBACKS結構中,提供其裝置特定回呼函式的資料表。 使用者模式顯示驅動程式會呼叫執行時間提供的回呼函式,以存取顯示迷你埠驅動程式中的核心模式服務。

  • 使用者模式顯示驅動程式會在pDeviceFuncs指向的D3D10DDI_DEVICEFUNCS結構中傳回其裝置特定函式的資料表。

  • 執行時間會提供DXGIBaseDDI指向的DXGI_DDI_BASE_ARGS結構。 執行時間和使用者模式顯示驅動程式會將其 DirectX 圖形基礎結構 DDI 提供給此結構。

  • 執行時間會設定 hRTCoreLayer 來指定驅動程式在呼叫執行時間時應該使用的控制碼,以存取核心 Direct3D 10 功能 (,也就是呼叫 pUMCallbacks 成員指定) 的函式。

  • 執行時間會在pUMCallbacks指向的D3D10DDI_CORELAYER_DEVICECALLBACKS結構中,提供其核心回呼函式的資料表。 使用者模式顯示驅動程式會呼叫執行時間提供的核心回呼函式來重新整理狀態。

注意 (圖形內容) 的顯示裝置數目僅受限於可用的系統記憶體。