PFND3D10DDI_SO_SETTARGETS回呼函式 (d3d10umddi.h)

SoSetTargets 函式會設定數據流輸出目標資源。

語法

PFND3D10DDI_SO_SETTARGETS Pfnd3d10ddiSoSettargets;

void Pfnd3d10ddiSoSettargets(
       D3D10DDI_HDEVICE unnamedParam1,
  [in] UINT NumBuffers,
  [in] UINT ClearTargets,
       const D3D10DDI_HRESOURCE *unnamedParam4,
       const UINT *unnamedParam5
)
{...}

參數

unnamedParam1

hDevice [in]

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

[in] NumBuffers

phResource 指定之陣列中的項目數。

[in] ClearTargets

串流輸出目標資源的句柄數目,代表 Microsoft Direct3D 運行時間呼叫 SoSetTargets) 和新數據流輸出目標資源數目之前,先前數據流輸出目標資源數目 (之間的差異。

請注意,iClearTargets 指定的數位只是優化輔助程式,因為使用者模式顯示驅動程式可以計算此數位。

unnamedParam4

phResource [in]

要設定之數據流輸出目標資源的句柄陣列。 請注意,某些句柄值可以是 NULL

unnamedParam5

pOffsets [in]

位移陣列,以位元組為單位,寫入 phResource 所指定數位中的數據流輸出目標資源。

傳回值

備註

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

SOTargets 參數所指定數目與允許的數據流輸出目標資源數目上限之間的數據流輸出目標資源範圍,必須包含所有NULL或未系結值。 ClearTargets 參數所指定的數位會通知驅動程式目前作業必須清除多少系結點。 如果先前對 SoSetTargets 的呼叫在 SOTargets中傳遞了 2 的值,而 對 SoSetTargets 的目前呼叫會傳遞 SOTargets 中的值 4,則 目前對 SoSetTargets 的呼叫也會在 ClearTargets 參數中傳遞 0 的值。 如果下一個後續呼叫 SoSetTargets 在 SOTargets 中傳遞 1 的值,後續呼叫也會在 ClearTargets 中傳遞 3 (4 - 1) 的值。

除了D3DDDIERR_DEVICEREMOVED以外,驅動程式不應該發生任何錯誤。 因此,如果在呼叫 pfnSetErrorCb 函式時,驅動程式會傳遞任何錯誤,但除了 D3DDDIERR_DEVICEREMOVED 之外,Microsoft Direct3D 運行時間會判斷錯誤是重要的。 即使裝置已移除,驅動程式也不需要傳回D3DDDIERR_DEVICEREMOVED;不過,如果裝置移除干擾 了SOTargets 的作業, (通常不應該發生) ,驅動程式可以傳回D3DDDIERR_DEVICEREMOVED。

規格需求

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

另請參閱

D3D10DDI_DEVICEFUNCS

pfnSetErrorCb