D3DHAL_DP2SETSTREAMSOURCE結構(d3dhal.h)

僅限 DirectX 8.0 和更新版本。

D3DHAL_DP2SETSTREAMSOURCE 結構可用來將頂點數據流來源系結至 D3dDrawPrimitives2的頂點緩衝區。

語法

typedef struct _D3DHAL_DP2SETSTREAMSOURCE {
  DWORD dwStream;
  DWORD dwVBHandle;
  DWORD dwStride;
} D3DHAL_DP2SETSTREAMSOURCE;

成員

dwStream

指定要系結的數據流。 其值介於零和驅動程式所指定的數據流數目上限之間。

dwVBHandle

指定頂點緩衝區句柄。 頂點緩衝區句柄為零是合法的,在此情況下,數據流不再系結至頂點緩衝區。

dwStride

以位元組為單位指定頂點大小。

言論

驅動程式會透過新的 DP2 令牌,收到頂點緩衝區系結至特定數據流的通知,D3DDP2OP_SETSTREAMSOURCE。

偵錯運行時間會驗證 dwStream 在合法範圍內,但零售版本沒有,因此驗證必須存在於驅動程式中。 DirectX 8.0 不會在錯誤案例中定義驅動程式或硬體的行為,因為指定的數據流索引大於硬體所支援的最大數據流(如 MaxStreams D3DCAPS8 所報告),而不需要驅動程式和硬體組合在此案例中沒有故障或停止回應,且 在還原正確的狀態時,驅動程式和硬體組合應該會繼續正常運作。 顯示驅動程式的偵錯版本應該會在偵錯輸出數據流中顯示訊息,指出偵測到此問題的時機。

運行時間不會驗證目前頂點著色器存取的數據流是否為非NULL。 驅動程式寫入器有責任確保發生此錯誤時,驅動程式/硬體不會當機。 顯示驅動程式的偵錯版本應該會在偵錯輸出數據流中顯示訊息,以指出何時偵測到此問題。

只有單一數據流來源是由 D3DHAL_DP2COMMAND 結構所設定。 也就是說,D3DHAL_DP2COMMAND的 wStateCount 欄位一律為 bCommand D3DDP2OP_SETSTREAMSOURCE 時。

要求

要求 價值
標頭 d3dhal.h (包括 D3dhal.h)

另請參閱

D3DDP2OP_SETSTREAMSOURCE

D3DHAL_DP2COMMAND

D3DHAL_DP2SETSTREAMSOURCEUM

D3dDrawPrimitives2