D3D10CreateStateBlock function (d3d10effect.h)

Create a state block.

Syntax

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

Parameters

[in] pDevice

Type: ID3D10Device*

The device for which the state block will be created.

[in] pStateBlockMask

Type: D3D10_STATE_BLOCK_MASK*

Indicates which parts of the device state will be captured when calling ID3D10StateBlock::Capture and reapplied when calling ID3D10StateBlock::Apply. See remarks.

[out] ppStateBlock

Type: ID3D10StateBlock**

Address of a pointer to the buffer created (see ID3D10StateBlock Interface).

Return value

Type: HRESULT

This method returns one of the following Direct3D 10 Return Codes.

Remarks

A state block is a collection of device state, and is used for saving and restoring device state. Use a state-block mask to enable subsets of state for saving and restoring.

The D3D10_STATE_BLOCK_MASK structure can be filled manually or by using any of the D3D10StateBlockMaskXXX APIs. A state block mask can also be obtained by calling ID3D10EffectTechnique::ComputeStateBlockMask or ID3D10EffectPass::ComputeStateBlockMask.

Differences between Direct3D 9 and Direct3D 10:

In Direct3D 10, a state block object does not contain any valid information about the state of the device until ID3D10StateBlock::Capture is called. In Direct3D 9, state is saved in a state block object, when it is created.

Requirements

Requirement Value
Target Platform Windows
Header d3d10effect.h
Library D3D10.lib
DLL D3D10.dll

See also

Core Functions

Effect Functions