PFND3D11DDI_CREATERESOURCE回呼函式 (d3d10umddi.h)

建立資源。

語法

PFND3D11DDI_CREATERESOURCE Pfnd3d11ddiCreateresource;

void Pfnd3d11ddiCreateresource(
  D3D10DDI_HDEVICE unnamedParam1,
  const D3D11DDIARG_CREATERESOURCE *unnamedParam2,
  D3D10DDI_HRESOURCE unnamedParam3,
  D3D10DDI_HRTRESOURCE unnamedParam4
)
{...}

參數

unnamedParam1

hDevice [in]

顯示裝置的控制碼 (圖形內容) 。

unnamedParam2

pCreateResource [in]

D3D11DDIARG_CREATERESOURCE結構的指標,描述使用者模式顯示驅動程式用來建立資源的參數。

unnamedParam3

hResource [in]

資源的驅動程式私人資料的控制碼。

unnamedParam4

hRTResource [in]

驅動程式在回呼 Direct3D 執行時間時將使用的資源控制碼。

傳回值

備註

驅動程式可以使用 pfnSetErrorCb 回呼函式來設定錯誤碼。

驅動程式可能會用盡記憶體。 因此,驅動程式可以在 對 pfnSetErrorCb 函式的呼叫中傳遞E_OUTOFMEMORY或D3DDDIERR_DEVICEREMOVED。 驅動程式也可以在 呼叫 pfnSetErrorCb中傳遞DXGI_DDI_ERR_UNSUPPORTED。 如需傳遞DXGI_DDI_ERR_UNSUPPORTED的詳細資訊,請參閱 BltDXGI 參考頁面的一節。 Direct3D 執行時間會判斷任何其他錯誤都很重要。 如果驅動程式通過包含D3DDDIERR_DEVICEREMOVED的任何錯誤,Direct3D 執行時間會判斷控制碼無效;因此,執行時間不會呼叫 DestroyResource (D3D10) 函式來終結 hResource 參數指定的控制碼。

執行時間會根據應用程式傳送來建立資源的參數來驗證所有參數。 因此,驅動程式不應該收到不正確組合。

如果應用程式不需要在簡報之間保存資源的內容,執行時間會在pCreateResource參數所指向之D3D11DDIARG_CREATERESOURCE結構的MiscFlags成員中,設定D3D10_DDI_RESOURCE_MISC_FLAG列舉的D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT旗標。 呼叫DXGI_DDI_ARG_BLT_FLAGS結構) 函式中設定Present 旗標驅動程式 PresentDXGIBltDXGI (時,就會發生簡報。 當應用程式使用DXGI_SWAP_EFFECT_DISCARD值來要求交換鏈結時,執行時間會使用 D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT 旗標來建立交換鏈結背景緩衝區。

建立身歷聲背景緩衝區

從 Windows 8 開始,如果驅動程式必須建立身歷聲背景緩衝區,則必須設定pCreateResource所指向之D3D11DDIARG_CREATERESOURCE結構的成員,如下所示:
  1. ArraySize 成員設定為 2 的值。
  2. BindFlags 成員中設定D3D10_DDI_BIND_PRESENT旗標值。
此外,為了支援立體呈現,BltDXGI函式必須允許來源和目的地資源範圍內DXGI_DDI_ARG_BLT結構之 DstSubresourceSrcSubresource成員的任何值。

輸入值的限制

對於 Windows 顯示驅動程式模型 (WDDM) 1.3 和更新版本的驅動程式,Microsoft Direct3D 執行時間會提供一組受限制的輸入值,供此函式使用。 如需所有受限制值的清單,請參閱 [Direct3D 轉譯效能改善] (/windows-hardware/drivers/display/direct3d-rendering-performance-improvements) 。

需求

   
最低支援的用戶端 從 Windows 7 作業系統開始,支援 CreateResource (D3D11) 。
目標平臺 桌面
標頭 d3d10umddi.h (包含 D3d10umddi.h)

另請參閱

BltDXGI

CalcPrivateResourceSize (D3D11)

D3D10_DDI_RESOURCE_MISC_FLAG

D3D11DDIARG_CREATERESOURCE

D3D11DDI_DEVICEFUNCS

DXGI_DDI_ARG_BLT

DXGI_DDI_ARG_BLT_FLAGS

DestroyResource (D3D10)

PresentDXGI

pfnSetErrorCb