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.

Commenti

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 alcuni esempi di tali primari:

  • Primarie create con formati di destinazione 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 CreateResource del driver di visualizzazione in modalità utente per creare il database primario 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 i membri hResource e SubResourceIndex della struttura D3DDDIARG_SETDISPLAYMODE a cui punta il parametro pData al parametro 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 alla funzione DxgkDdiCommitVidPn del driver miniport di visualizzazione.

Il driver di visualizzazione in modalità utente può impostare il membro hPrimaryAllocation della struttura 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 membro Flags della struttura D3DDDI_ALLOCATIONINFO in una chiamata alla funzione pfnAllocateCb per creare l'allocazione.

Requisiti

   
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_SETDISPLAYMODE

D3DDDI_DEVICEFUNCS

pfnSetDisplayModeCb