Condividi tramite


PFND3D10DDI_CREATERESOURCE funzione di callback (d3d10umddi.h)

Crea una risorsa.

Sintassi

PFND3D10DDI_CREATERESOURCE Pfnd3d10ddiCreateresource;

void Pfnd3d10ddiCreateresource(
  D3D10DDI_HDEVICE unnamedParam1,
  const D3D10DDIARG_CREATERESOURCE *unnamedParam2,
  D3D10DDI_HRESOURCE unnamedParam3,
  D3D10DDI_HRTRESOURCE unnamedParam4
)
{...}

Parametri

unnamedParam1

hDevice [in]

Handle per il dispositivo di visualizzazione (contesto grafico).

unnamedParam2

pCreateResource [in]

Puntatore a una struttura D3D10DDIARG_CREATERESOURCE che descrive i parametri usati dal driver di visualizzazione in modalità utente per creare una risorsa.

unnamedParam3

hResource [in]

Handle per i dati privati del driver per la risorsa.

unnamedParam4

hRTResource [in]

Handle per la risorsa che il driver deve usare ogni volta che viene chiamato nel runtime Direct3D.

Valore restituito

nessuno

Osservazioni

Il driver può usare la funzione di callback pfnSetErrorCb per impostare un codice di errore.

Il driver potrebbe esaurire la memoria. Pertanto, il driver può passare E_OUTOFMEMORY o D3DDDIERR_DEVICEREMOVED in una chiamata alla funzione pfnSetErrorCb . Il driver può anche passare DXGI_DDI_ERR_UNSUPPORTED in una chiamata a pfnSetErrorCb. Per altre informazioni sul passaggio di DXGI_DDI_ERR_UNSUPPORTED, vedere la sezione Osservazioni della pagina di riferimento di BltDXGI . Il runtime Direct3D determinerà che tutti gli altri errori sono critici. Se il driver passa errori, incluso D3DDDIERR_DEVICEREMOVED, il runtime Direct3D determinerà che l'handle non è valido; pertanto, il runtime non chiamerà la funzione DestroyResource(D3D10) per eliminare definitivamente l'handle specificato dal parametro hResource .

Il runtime convaliderà tutti i parametri rispetto ai parametri inviati da un'applicazione per creare la risorsa. Pertanto, il driver non deve ricevere combinazioni non valide.

Se l'applicazione non richiede che il contenuto della risorsa venga mantenuto tra le presentazioni, il runtime imposterà il flag D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT dell'enumerazione D3D10_DDI_RESOURCE_MISC_FLAG nel membro MiscFlags della struttura D3D10DDIARG_CREATERESOURCE a cui punta il parametro pCreateResource . La presentazione si verifica quando viene chiamata la funzione PresentDXGI o BltDXGI (con il flag Present impostato nella struttura DXGI_DDI_ARG_BLT_FLAGS ). Il runtime usa il flag D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT per creare buffer back della catena di scambio quando un'applicazione usa il valore DXGI_SWAP_EFFECT_DISCARD per richiedere catene di scambio.

Creazione di un buffer back stereo

A partire da Windows 8, se il driver deve creare un buffer nascosto stereo, deve impostare i membri della struttura D3D10DDIARG_CREATERESOURCE a cui punta pCreateResource come indicato di seguito:
  1. Impostare il membro ArraySize su un valore pari a 2.
  2. Impostare il valore del flag D3D10_DDI_BIND_PRESENT nel membro BindFlags .
Inoltre, per supportare la presentazione stereo, la funzione BltDXGI deve consentire qualsiasi valore per i membri DstSubresource e SrcSubresource della struttura DXGI_DDI_ARG_BLT che rientrano nell'intervallo delle risorse di origine e di destinazione.

Requisiti

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

Vedi anche

BltDXGI

CalcPrivateResourceSize

D3D10DDIARG_CREATERESOURCE

D3D10DDI_DEVICEFUNCS

DXGI_DDI_ARG_BLT

DestroyResource(D3D10)

pfnSetErrorCb