Partager via


PFND3DDDI_CREATEQUERY fonction de rappel (d3dumddi.h)

La fonction CreateQuery crée des ressources côté pilote pour une requête que le runtime Microsoft Direct3D émet ensuite pour le traitement.

Syntaxe

PFND3DDDI_CREATEQUERY Pfnd3dddiCreatequery;

HRESULT Pfnd3dddiCreatequery(
  HANDLE hDevice,
  D3DDDIARG_CREATEQUERY *unnamedParam2
)
{...}

Paramètres

hDevice

Handle pour le périphérique d’affichage (contexte graphique).

unnamedParam2

pData [in, out]

Pointeur vers une structure de D3DDDIARG_CREATEQUERY qui identifie la requête.

Valeur retournée

CreateQuery retourne l’une des valeurs suivantes :

Code de retour Description
S_OK La requête est créée avec succès.
E_OUTOFMEMORY CreateQuery n’a pas pu allouer la mémoire nécessaire pour qu’elle se termine.

Remarques

Le runtime Direct3D appelle la fonction CreateQuery du pilote d’affichage en mode utilisateur avec un type de requête afin de créer des ressources pour une requête. Le pilote d’affichage en mode utilisateur crée les ressources suivantes pour les types de requête :

  • BOOL pour D3DDDIQUERYTYPE_EVENT. Avant de répondre à un événement, le pilote doit s’assurer que l’unité de traitement graphique (GPU) a terminé de traiter toutes les opérations liées à l’événement. Autrement dit, le pilote répond à propos d’un événement après l’état de fin du problème. Le pilote doit toujours définir la valeur BOOL de l’événement sur TRUE lors de la réponse.
  • UINT pour D3DDDIQUERYTYPE_OCCLUSION. Le pilote définit cette variable UINT sur le nombre de pixels pour lesquels le z-test a réussi pour toutes les primitives comprises entre les états de début et de fin de la requête de problème. Si la mémoire tampon de profondeur est échantillonnée plusieurs fois, le pilote détermine le nombre de pixels à partir du nombre d’échantillons. Toutefois, si le périphérique d’affichage est capable de z-test de précision pour chaque échantillon multiple, la conversion en nombre de pixels doit généralement être arrondie vers le haut. Une application peut ensuite case activée le résultat d’occlusion par rapport à 0, pour signifier « complètement oblude ». Les pilotes qui convertissent des quantités multi-échantillonnée en quantités de pixels doivent détecter les modifications de multi-échantillonnage de la cible de rendu et continuer à calculer les résultats de la requête de manière appropriée.
  • Structure D3DDDIDEVINFO_VCACHE pour D3DDDIQUERYTYPE_VCACHE. Le pilote répond une fois que l’état de fin du problème se produit.
Pour plus d’informations sur les états de requête de problème, consultez D3DDDI_ISSUEQUERYFLAGS.

Configuration requise

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

Voir aussi

D3DDDIARG_CREATEQUERY

D3DDDIDEVINFO_VCACHE

D3DDDI_DEVICEFUNCS

D3DDDI_ISSUEQUERYFLAGS