Condividi tramite


Metodo ID3D12Device10::CreateReservedResource2 (d3d12.h)

Crea una risorsa riservata e non ancora mappata ad alcuna pagina in un heap.

Richiede DirectX 12 Agility SDK 1.7 o versione successiva.

Sintassi

HRESULT CreateReservedResource2(
       const D3D12_RESOURCE_DESC      *pDesc,
       D3D12_BARRIER_LAYOUT           InitialLayout,
       const D3D12_CLEAR_VALUE        *pOptimizedClearValue,
       ID3D12ProtectedResourceSession *pProtectedSession,
       UINT32                         NumCastableFormats,
       const DXGI_FORMAT              *pCastableFormats,
  [in] REFIID                         riid,
       void                           **ppvResource
);

Parametri

pDesc

Tipo: const D3D12_RESOURCE_DESC*

Puntatore a una struttura D3D12_RESOURCE_DESC che descrive la risorsa.

InitialLayout

Layout iniziale della risorsa trama; D3D12_BARRIER_LAYOUT::D 3D12_BARRIER_LAYOUT_UNDEFINED per i buffer.

pOptimizedClearValue

Tipo: D3D12_CLEAR_VALUE* const

Specifica una struttura D3D12_CLEAR_VALUE che descrive il valore predefinito per un colore chiaro.

pOptimizedClearValue specifica un valore per cui le operazioni non crittografate sono ottimali. Quando la risorsa creata è una trama con i flag D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET o D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL, è necessario scegliere il valore con cui verrà chiamata l'operazione chiara. È possibile chiamare l'operazione di cancellazione con altri valori, ma queste operazioni non saranno efficienti come quando il valore corrisponde a quello passato alla creazione di risorse.

Quando si usa D3D12_RESOURCE_DIMENSION_BUFFER, è necessario impostare pOptimizedClearValue su nullptr.

pProtectedSession

Tipo: ID3D12ProtectedResourceSession*

Puntatore facoltativo a un oggetto che rappresenta una sessione per la protezione del contenuto. Se specificato, questa sessione indica che la risorsa deve essere protetta. È possibile ottenere un ID3D12ProtectedResourceSession chiamando ID3D12Device4::CreateProtectedResourceSession.

NumCastableFormats

Numero di elementi in pCastableFormats.

pCastableFormats

Matrice contigua di strutture DXGI_FORMAT a cui è possibile eseguire il cast di questa risorsa.

[in] riid

Tipo: REFIID

Riferimento all'identificatore univoco globale (GUID) dell'interfaccia della risorsa da restituire in ppvResource. Vedere osservazioni.

Anche se riidResource è in genere il GUID di ID3D12Resource, può trattarsi del GUID di qualsiasi interfaccia. Se l'oggetto risorsa non supporta l'interfaccia per questo GUID , la creazione non riesce con E_NOINTERFACE.

ppvResource

Tipo: void**

Puntatore facoltativo a un blocco di memoria che riceve il puntatore di interfaccia richiesto all'oggetto risorsa creato.

ppvResource può essere nullptr, per abilitare i test delle funzionalità. Quando ppvResource viene nullptr, non viene creato alcun oggetto e S_FALSE viene restituito quando pDesc è valido.

Valore restituito

Tipo: HRESULT

Se la funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di erroreHRESULT .

Valore restituito Descrizione
E_OUTOFMEMORY Memoria insufficiente per creare la risorsa.

Vedere codici restituiti Direct3D 12 per altri possibili valori restituiti.

Osservazioni

Vedere osservazioni per ID3D12Device.CreateReservedResource.

Fabbisogno

Requisito Valore
piattaforma di destinazione Finestre
intestazione d3d12.h
libreria D3d12.lib
dll D3d12.dll

Vedere anche

CreateCommittedResource

CreatePlacedResource

ID3D12Device10