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中,目前呼叫 SoSetTargets 也會在 ClearTargets 參數 中傳遞值 0。 如果後續呼叫 SoSetTargets 傳遞 SOTargets中的值 1,則後續呼叫也會在 ClearTargets 中傳遞值 3 (4 - 1)。
除了D3DDDIERR_DEVICEREMOVED以外,驅動程式不應該發生任何錯誤。 因此,如果驅動程式傳遞任何錯誤,除了 D3DDDIERR_DEVICEREMOVED 以外,在呼叫 pfnSetErrorCb 函式時,Microsoft Direct3D 運行時間會判斷錯誤很重要。 即使移除裝置,驅動程式也不需要傳回D3DDDIERR_DEVICEREMOVED;不過,如果裝置移除干擾了 SOTargets 的作業(通常不應該發生),驅動程式可以傳回D3DDDIERR_DEVICEREMOVED。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 可在 Windows Vista 和更新版本的 Windows作系統中使用。 |
目標平臺 | 桌面 |
標頭 | d3d10umddi.h (包括 D3d10umddi.h) |