Condividi tramite


PFND3DDDI_SETDISPLAYMODE funzione di callback (d3dumddi.h)

La funzione SetDisplayMode passa a una modalità di visualizzazione o primaria non supportata dal desktop GDI.

Sintassi

PFND3DDDI_SETDISPLAYMODE Pfnd3dddiSetdisplaymode;

HRESULT Pfnd3dddiSetdisplaymode(
  HANDLE hDevice,
  const D3DDDIARG_SETDISPLAYMODE *unnamedParam2
)
{...}

Parametri

hDevice

Handle per il dispositivo di visualizzazione (contesto grafico).

unnamedParam2

pData [in]

Puntatore a una struttura D3DDDIARG_SETDISPLAYMODE che specifica i parametri per l'impostazione della modalità di visualizzazione.

Valore restituito

SetDisplayMode restituisce S_OK o un risultato di errore appropriato se la modalità di visualizzazione non è impostata correttamente.

Osservazioni

Il runtime di Microsoft Direct3D chiama SetDisplayMode per passare a una modalità di visualizzazione o primaria non supportata dal desktop GDI. L'elenco seguente descrive esempi di tali primarie:

  • Primarie create con formati di destinazione di rendering a 10 bit per canale (10:10:10:2) e formati di destinazione di rendering (ad esempio, D3DFMT_A2R10G10B10)
  • Primarie a campionamento multiplo in cui viene eseguito il campionamento multiplo durante l'analisi
  • Primarie persistenti usate dalle applicazioni Microsoft DirectX versione 9.L a schermo intero
Il runtime Direct3D chiama la funzione di createResource del driver di visualizzazione in modalità utente per creare la replica primaria da analizzare. Tuttavia, il driver deve programmare l'hardware per eseguire l'analisi solo quando viene chiamata la relativa Funzione SetDisplayMode. Di conseguenza, il runtime imposta il hResource e SubResourceIndex membri della struttura D3DDDIARG_SETDISPLAYMODE a cui punta il parametro pData al database primario creato tramite la chiamata alla funzione CreateResource del driver. Il driver deve quindi convertire il database primario rappresentato da hResource e SubResourceIndex in un handle di allocazione primario. Dopo che il driver esegue questa conversione, il driver deve passare l'handle risultante in una chiamata alla funzione pfnSetDisplayModeCb, che avvia quindi una chiamata al driver miniport visualizzato funzione dxgkDdiCommitVidPn.

Il driver di visualizzazione in modalità utente può impostare il membro hPrimaryAllocation della struttura di D3DDDICB_SETDISPLAYMODE nella chiamata a pfnSetDisplayModeCb per analizzare qualsiasi allocazione. Tuttavia, l'allocazione deve essere contrassegnata come primaria, ovvero il driver di visualizzazione in modalità utente deve avere impostato il flag campo di bit primario nel Flag membro della struttura D3DDDI_ALLOCATIONINFO in una chiamata alla funzione pfnAllocateCb per creare l'allocazione).

Fabbisogno

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)

Vedere anche

D3DDDIARG_SETDISPLAYMODE

D3DDDI_DEVICEFUNCS

pfnSetDisplayModeCb