PFND3D11DDI_CREATERESOURCE funzione di callback (d3d10umddi.h)

Crea una risorsa.

Sintassi

PFND3D11DDI_CREATERESOURCE Pfnd3d11ddiCreateresource;

void Pfnd3d11ddiCreateresource(
  D3D10DDI_HDEVICE unnamedParam1,
  const D3D11DDIARG_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 D3D11DDIARG_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 verrà usata dal driver quando 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 determina che tutti gli altri errori sono critici. Se il driver passa errori, inclusi D3DDDIERR_DEVICEREMOVED, il runtime Direct3D determina che l'handle non è valido; pertanto, il runtime non chiama la funzione DestroyResource(D3D10) per eliminare definitivamente l'handle specificato dal parametro hResource .

Il runtime convalida 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 imposta il flag D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT dell'enumerazione D3D10_DDI_RESOURCE_MISC_FLAG nel membro MiscFlags della struttura D3D11DDIARG_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 D3D11DDIARG_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.

Restrizioni per i valori di input

Per i driver Windows Display Driver Model (WDDM) 1.3 e versioni successive, il runtime di Microsoft Direct3D fornisce un set limitato di valori di input usati da questa funzione. Per un elenco di tutti i valori limitati, vedere [Miglioramenti delle prestazioni di rendering Direct3D](/windows-hardware/drivers/display/direct3d-rendering-performance-improvements).

Requisiti

Requisito Valore
Client minimo supportato CreateResource(D3D11) è supportato a partire dal sistema operativo Windows 7.
Piattaforma di destinazione Desktop
Intestazione d3d10umddi.h (include D3d10umddi.h)

Vedi anche

BltDXGI

CalcPrivateResourceSize(D3D11)

D3D10_DDI_RESOURCE_MISC_FLAG

D3D11DDIARG_CREATERESOURCE

D3D11DDI_DEVICEFUNCS

DXGI_DDI_ARG_BLT

DXGI_DDI_ARG_BLT_FLAGS

DestroyResource(D3D10)

PresentDXGI

pfnSetErrorCb