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) |