共用方式為


PFND3D10DDI_CREATERESOURCE回呼函式 (d3d10umddi.h)

建立資源。

語法

PFND3D10DDI_CREATERESOURCE Pfnd3d10ddiCreateresource;

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

參數

unnamedParam1

hDevice [in]

顯示裝置的句柄(圖形內容)。

unnamedParam2

pCreateResource [in]

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

unnamedParam3

hResource [in]

資源之驅動程式私用數據的句柄。

unnamedParam4

hRTResource [in]

驅動程式在回呼 Direct3D 運行時間時應該使用的資源句柄。

傳回值

沒有

言論

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

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

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

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

建立立體聲後台緩衝區

從 Windows 8 開始,如果驅動程式必須建立立體聲後台緩衝區,它應該設定 pCreateResource 所指向之 D3D10DDIARG_CREATERESOURCE 結構的成員,如下所示:
  1. ArraySize 成員設定為 2 的值。
  2. 在 bindFlags 成員 中設定D3D10_DDI_BIND_PRESENT旗標值。
此外,為了支援立體呈現,BltDXGI 函式必須允許 DstSubresource 的任何值,以及 SrcSubresource 來源和目的地資源範圍內的 DXGI_DDI_ARG_BLT 結構成員。

要求

要求 價值
最低支援的用戶端 可在 Windows Vista 和更新版本的 Windows作系統中使用。
目標平臺 桌面
標頭 d3d10umddi.h (包括 D3d10umddi.h)

另請參閱

BltDXGI

CalcPrivateResourceSize

D3D10DDIARG_CREATERESOURCE

D3D10DDI_DEVICEFUNCS

DXGI_DDI_ARG_BLT

DestroyResource(D3D10)

pfnSetErrorCb