Freigeben über


D3D10CreateStateBlock-Funktion (d3d10effect.h)

Erstellen Sie einen Zustandsblock.

Syntax

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

Parameter

[in] pDevice

Typ: ID3D10Geräte*

Das Gerät, für das der Zustandsblock erstellt wird.

[in] pStateBlockMask

Typ: D3D10_STATE_BLOCK_MASK*

Gibt an, welche Teile des Gerätezustands beim Aufrufen von ID3D10StateBlock::Capture erfasst und beim Aufrufen von ID3D10StateBlock::Apply erneut angewendet werden. Siehe Bemerkungen.

[out] ppStateBlock

Typ: ID3D10StateBlock**

Adresse eines Zeigers auf den erstellten Puffer (siehe ID3D10StateBlock-Schnittstelle).

Rückgabewert

Typ: HRESULT

Diese Methode gibt einen der folgenden Direct3D 10-Rückgabecodes zurück.

Hinweise

Ein Zustandsblock ist eine Sammlung des Gerätezustands und wird zum Speichern und Wiederherstellen des Gerätezustands verwendet. Verwenden Sie eine Zustandsblockmaske, um Teilmengen des Zustands zum Speichern und Wiederherstellen zu aktivieren.

Die D3D10_STATE_BLOCK_MASK-Struktur kann manuell oder mithilfe einer der D3D10StateBlockMaskXXX-APIs ausgefüllt werden. Eine Zustandsblockmaske kann auch abgerufen werden, indem Sie ID3D10EffectTechnique::ComputeStateBlockMask oder ID3D10EffectPass::ComputeStateBlockMask aufrufen.

Unterschiede zwischen Direct3D 9 und Direct3D 10:

In Direct3D 10 enthält ein Zustandsblockobjekt keine gültigen Informationen zum Zustand des Geräts, bis ID3D10StateBlock::Capture aufgerufen wird. In Direct3D 9 wird der Zustand in einem Zustandsblockobjekt gespeichert, wenn er erstellt wird.

Anforderungen

   
Zielplattform Windows
Kopfzeile d3d10effect.h
Bibliothek D3D10.lib
DLL D3D10.dll

Weitere Informationen

Kernfunktionen

Effektfunktionen