Freigeben über


PFND3D10DDI_SETPREDICATION Rückruffunktion (d3d10umddi.h)

Die SetPredication--Funktion gibt an, ob Rendering- und Ressourcenbearbeitungsbefehle ausgeführt werden.

Syntax

PFND3D10DDI_SETPREDICATION Pfnd3d10ddiSetpredication;

void Pfnd3d10ddiSetpredication(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D10DDI_HQUERY unnamedParam2,
  BOOL unnamedParam3
)
{...}

Parameter

unnamedParam1

hDevice [in]

Ein Handle für das Anzeigegerät (Grafikkontext).

unnamedParam2

hQuery [in]

Ein Handle für das Abfrageobjekt, das als Prädikat festgelegt werden soll. Das Festlegen hQuery- auf NULL- gibt "keine Prädication" an. Wenn hQuery- auf NULL-festgelegt ist, ignoriert der Treiber den Wert im parameter PredicateValue; Der Treiber sollte jedoch den Prädikatwert für nachfolgende Anforderungen für den Wert speichern.

unnamedParam3

PrädikatValue [in]

Ein boolescher Wert, der mit Abfragedaten verglichen werden soll. Wenn die Abfragedaten dem Prädikatwert entsprechen, werden die folgenden Rendering- und Ressourcenmanipulationsbefehle nicht ausgeführt.

Rückgabewert

Nichts

Bemerkungen

Der Treiber kann die pfnSetErrorCb Rückruffunktion verwenden, um einen Fehlercode festzulegen.

Einige Prädikate sind nur Hinweise; daher verhindern sie möglicherweise nicht, dass Vorgänge ausgeführt werden. Die Microsoft Direct3D-Laufzeit ruft in erster Linie SetPredication- auf, damit Anwendungen Grafikbefehle ausstellen können, ohne dass die Leistung beim Drehen auftritt und auf einen Aufruf der QueryGetData--Funktion wartet. Daher kann die Prädierung auch dann auftreten, wenn QueryGetData- S_FALSE zurückgibt. Mit anderen Worten, eine Anwendung kann auch die Prädierung als Fallback verwenden, wenn QueryGetData- möglicherweise S_FALSE zurückgibt. Wenn QueryGetData- S_OK zurückgibt, kann die Anwendung den Aufruf der Grafikbefehle manuell mit einer eigenen Anwendungslogik überspringen.

Der Treiber sollte keinen Fehler haben, mit Ausnahme von D3DDDIERR_DEVICEREMOVED. Wenn der Treiber daher einen Fehler außer D3DDDIERR_DEVICEREMOVED übergibt, bestimmt die Direct3D-Laufzeit in einem Aufruf der funktion pfnSetErrorCb, dass der Fehler kritisch ist. Selbst wenn das Gerät entfernt wurde, ist der Treiber nicht erforderlich, um D3DDDIERR_DEVICEREMOVED zurückzugeben; Wenn die Geräteentfernung jedoch den Vorgang SetPredication beeinträchtigt (was normalerweise nicht geschehen sollte), kann der Treiber D3DDDIERR_DEVICEREMOVED zurückgeben.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.
Zielplattform- Desktop
Header- d3d10umddi.h (include D3d10umddi.h)

Siehe auch

D3D10DDI_DEVICEFUNCS

pfnSetErrorCb