IDirect3DDevice9::CreateStateBlock 方法 (d3d9helper.h)

建立新的狀態區塊,其中包含所有裝置狀態、頂點相關狀態或像素相關狀態的值。

語法

HRESULT CreateStateBlock(
  [in]          D3DSTATEBLOCKTYPE    Type,
  [out, retval] IDirect3DStateBlock9 **ppSB
);

參數

[in] Type

類型: D3DSTATEBLOCKTYPE

方法應該擷取的狀態數據類型。 此參數可以設定為 D3DSTATEBLOCKTYPE列舉型 別中所定義的值。

[out, retval] ppSB

類型: IDirect3DStateBlock9**

狀態區塊介面的指標。 請參閱 IDirect3DStateBlock9

傳回值

類型: HRESULT

如果方法成功,傳回值會D3D_OK。 如果方法失敗,傳回值可以是下列其中一項:D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY E_OUTOFMEMORY。

備註

頂點相關裝置狀態通常是指影響系統處理頂點方式的那些狀態。 像素相關狀態通常是指影響系統在點陣化期間處理圖元或深度緩衝區數據的裝置狀態。 某些狀態包含在這兩個群組中。

Direct3D 9 與 Direct3D 10 之間的差異:

在 Direct3D 9 中,狀態區塊包含狀態數據,用於建立物件時要求擷取的狀態。 若要變更狀態區塊的值,請呼叫 IDirect3DStateBlock9::CaptureIDirect3DDevice9::BeginStateBlock/IDirect3DDevice9::EndStateBlock。 在 Direct3D 10 中建立狀態區塊物件時,不會儲存狀態。

規格需求

需求
目標平台 Windows
標頭 d3d9helper.h (包含 D3D9.h)
程式庫 D3D9.lib

另請參閱

IDirect3DDevice9

IDirect3DDevice9::BeginStateBlock

IDirect3DDevice9::EndStateBlock