PFND3D10DDI_SETPREDICATION fonction de rappel (d3d10umddi.h)

La fonction SetPredication spécifie si les commandes de rendu et de manipulation des ressources qui suivent sont réellement exécutées.

Syntaxe

PFND3D10DDI_SETPREDICATION Pfnd3d10ddiSetpredication;

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

Paramètres

unnamedParam1

hDevice [in]

Handle de l’appareil d’affichage (contexte graphique).

unnamedParam2

hQuery [in]

Handle de l’objet de requête à définir comme prédicat. La définition de hQuery sur NULL indique « aucune prédication ». Si hQuery a la valeur NULL, le pilote ignore la valeur dans le paramètre PredicateValue ; Toutefois, le pilote doit stocker la valeur du prédicat pour les demandes suivantes de la valeur.

unnamedParam3

PredicateValue [in]

Valeur booléenne à comparer avec les données de requête. Si les données de requête sont égales à la valeur du prédicat, les commandes de rendu et de manipulation des ressources suivantes ne sont pas exécutées.

Valeur de retour

None

Remarques

Le pilote peut utiliser la fonction de rappel pfnSetErrorCb pour définir un code d’erreur.

Certains prédicats ne sont que des indicateurs ; par conséquent, elles ne peuvent pas empêcher l’exécution d’opérations. Le runtime Microsoft Direct3D appelle principalement SetPredication pour permettre aux applications d’émettre des commandes graphiques sans avoir à atteindre les performances de la rotation et en attendant qu’un appel à la fonction QueryGetData retourne. Par conséquent, la prédication peut se produire même si QueryGetData retourne S_FALSE. En d’autres termes, une application peut également utiliser la prédication comme secours si QueryGetData retourne éventuellement S_FALSE. Si QueryGetData retourne S_OK, l’application peut ignorer l’appel manuel des commandes graphiques avec sa propre logique d’application.

Le pilote ne doit rencontrer aucune erreur, à l’exception de D3DDDIERR_DEVICEREMOVED. Par conséquent, si le pilote réussit une erreur, à l’exception de D3DDDIERR_DEVICEREMOVED, dans un appel à la fonction pfnSetErrorCb , le runtime Direct3D détermine que l’erreur est critique. Même si l’appareil a été supprimé, le pilote n’est pas tenu de retourner D3DDDIERR_DEVICEREMOVED ; toutefois, si la suppression de l’appareil a interférer avec le fonctionnement de SetPredication (ce qui ne doit généralement pas se produire), le pilote peut retourner D3DDDIERR_DEVICEREMOVED.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows Vista et les versions ultérieures des systèmes d’exploitation Windows.
Plateforme cible Desktop (Expérience utilisateur)
En-tête d3d10umddi.h (include D3d10umddi.h)

Voir aussi

D3D10DDI_DEVICEFUNCS

pfnSetErrorCb