PFND3DDDI_CREATEQUERY funzione di callback (d3dumddi.h)

La funzione CreateQuery crea risorse sul lato driver per una query che il runtime di Microsoft Direct3D genera successivamente problemi per l'elaborazione.

Sintassi

PFND3DDDI_CREATEQUERY Pfnd3dddiCreatequery;

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

Parametri

hDevice

Handle per il dispositivo di visualizzazione (contesto grafico).

unnamedParam2

pData [in, out]

Puntatore a una struttura D3DDDIARG_CREATEQUERY che identifica la query.

Valore restituito

CreateQuery restituisce uno dei valori seguenti:

Codice restituito Descrizione
S_OK La query viene creata correttamente.
E_OUTOFMEMORY CreateQuery non è riuscito ad allocare la memoria necessaria per il completamento.

Commenti

Il runtime Direct3D chiama la funzione CreateQuery del driver di visualizzazione in modalità utente con un tipo di query per creare risorse per una query. Il driver di visualizzazione in modalità utente crea le risorse seguenti per i tipi di query:

  • BOOL per D3DDDIQUERYTYPE_EVENT. Prima di rispondere a un evento, il driver deve assicurarsi che l'unità di elaborazione grafica (GPU) venga completata l'elaborazione di tutte le operazioni correlate all'evento. Ovvero, il driver risponde a un evento dopo che si verifica lo stato di fine del problema. Il driver deve sempre impostare il valore BOOL dell'evento su TRUE quando risponde.
  • UINT per D3DDDIQUERYTYPE_OCCLUSION. Il driver imposta questa variabile UINT sul numero di pixel per cui il test z ha superato per tutte le primitive tra gli stati iniziale e finale della query di problema. Se il buffer di profondità è multicampionato, il driver determina il numero di pixel dal numero di campioni. Tuttavia, se il dispositivo di visualizzazione è in grado di eseguire il test z per ogni multisample, la conversione in numero di pixel deve in genere essere arrotondata per enumere. Un'applicazione può quindi controllare il risultato dell'occlusione su 0, per indicare in modo efficace "completamente occluso". I driver che converte le quantità con multicampionamento in quantità di pixel devono rilevare le modifiche di multicampionamento di destinazione di rendering e continuare a calcolare i risultati della query in modo appropriato.
  • Struttura D3DDDIDEVINFO_VCACHE per D3DDDIQUERYTYPE_VCACHE. Il driver risponde dopo che si verifica lo stato di fine del problema.
Per altre informazioni sugli stati di query dei problemi, vedere D3DDDI_ISSUEQUERYFLAGS.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows.
Piattaforma di destinazione Desktop
Intestazione d3dumddi.h (include D3dumddi.h)

Vedi anche

D3DDDIARG_CREATEQUERY

D3DDDIDEVINFO_VCACHE

D3DDDI_DEVICEFUNCS

D3DDDI_ISSUEQUERYFLAGS