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 a una primaria non supportata dal desktop GDI. L'elenco seguente descrive esempi di tali primarie:

  • Primariesi creati 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 più campioni in cui viene eseguito il campionamento multiplo durante l'analisi
  • Primarie persistenti usate dalle applicazioni Microsoft DirectX versione 9.L
Il runtime Direct3D chiama la funzione CreateResource del driver di visualizzazione in modalità utente per creare la funzione primaria da analizzare. Tuttavia, il driver deve programmare l'hardware per l'analisi solo quando viene chiamata la funzione SetDisplayMode . Pertanto, il runtime imposta i membri hResource e SubResourceIndex della struttura D3DDDIARG_SETDISPLAYMODE a cui punta il parametro pData al parametro pData creato tramite la chiamata alla funzione CreateResource del driver. Il driver deve quindi tradurre il primario rappresentato da hResource e SubResourceIndex in un handle di allocazione primario. Dopo aver eseguito questa traduzione, il driver deve passare l'handle risultante in una chiamata alla funzione pfnSetDisplayModeCb , che avvia quindi una chiamata alla funzione DxgkDdiCommitVidPn del driver 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 di campo di bit primario nel membro Flag della struttura D3DDDI_ALLOCATIONINFO in una chiamata alla funzione pfnAllocateCb per creare l'allocazione.

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_SETDISPLAYMODE

D3DDDI_DEVICEFUNCS

pfnSetDisplayModeCb