Share via


D3D10CreateStateBlock 函式 (d3d10effect.h)

建立狀態欄塊。

語法

HRESULT D3D10CreateStateBlock(
  [in]  ID3D10Device           *pDevice,
  [in]  D3D10_STATE_BLOCK_MASK *pStateBlockMask,
  [out] ID3D10StateBlock       **ppStateBlock
);

參數

[in] pDevice

類型: ID3D10Device*

將建立狀態欄塊的裝置。

[in] pStateBlockMask

類型: D3D10_STATE_BLOCK_MASK*

指出呼叫 ID3D10StateBlock::Capture 並在呼叫 ID3D10StateBlock::Apply時重新套用哪些部分的裝置狀態。 請參閱<備註>。

[out] ppStateBlock

類型: ID3D10StateBlock**

(建立之緩衝區的指標位址,請參閱 ID3D10StateBlock 介面) 。

傳回值

類型: HRESULT

此方法會傳回下列其中一個 Direct3D 10 傳回碼

備註

狀態欄塊是裝置狀態的集合,用於儲存和還原裝置狀態。 使用狀態欄塊遮罩來啟用狀態子集來儲存和還原。

您可以手動填入 D3D10_STATE_BLOCK_MASK 結構,或使用任何 D3D10StateBlockMaskXXX API 來填入。 您也可以呼叫 ID3D10EffectTechnique::ComputeStateBlockMaskID3D10EffectPass::ComputeStateBlockMask來取得狀態欄塊遮罩。

Direct3D 9 與 Direct3D 10 之間的差異:

在 Direct3D 10 中,狀態欄塊物件不會包含裝置狀態的任何有效資訊,直到呼叫 ID3D10StateBlock::Capture 為止。 在 Direct3D 9 中,狀態會在建立時儲存在狀態欄塊物件中。

規格需求

   
目標平台 Windows
標頭 d3d10effect.h
程式庫 D3D10.lib
Dll D3D10.dll

另請參閱

核心函式

效果函式