Partager via


ID3D12Device10 ::CreateReservedResource2, méthode (d3d12.h)

Crée une ressource qui est réservée et qui n’est pas encore mappée à des pages dans un tas.

Nécessite le KIT SDK d’agilité DirectX 12 1.7 ou version ultérieure.

Syntaxe

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
);

Paramètres

pDesc

Type : const D3D12_RESOURCE_DESC*

Pointeur vers une structure D3D12_RESOURCE_DESC qui décrit la ressource.

InitialLayout

Disposition initiale de la ressource de texture ; D3D12_BARRIER_LAYOUT ::D 3D12_BARRIER_LAYOUT_UNDEFINED pour les mémoires tampons.

pOptimizedClearValue

Type : const D3D12_CLEAR_VALUE*

Spécifie une structure D3D12_CLEAR_VALUE qui décrit la valeur par défaut d’une couleur claire.

pOptimizedClearValue spécifie une valeur pour laquelle les opérations claires sont les plus optimales. Lorsque la ressource créée est une texture avec les indicateurs D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET ou D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL, vous devez choisir la valeur avec laquelle l’opération claire sera généralement appelée. Vous pouvez appeler l’opération clear avec d’autres valeurs, mais ces opérations ne seront pas aussi efficaces que lorsque la valeur correspond à celle passée à la création de ressources.

Lorsque vous utilisez D3D12_RESOURCE_DIMENSION_BUFFER, vous devez définir pOptimizedClearValue sur nullptr.

pProtectedSession

Type : ID3D12ProtectedResourceSession*

Pointeur facultatif vers un objet qui représente une session pour la protection du contenu. Si elle est fournie, cette session indique que la ressource doit être protégée. Vous pouvez obtenir un ID3D12ProtectedResourceSession en appelant ID3D12Device4 ::CreateProtectedResourceSession.

NumCastableFormats

Nombre d’éléments dans pCastableFormats.

pCastableFormats

Tableau contigu de structures DXGI_FORMAT vers laquelle cette ressource peut être convertie.

[in] riid

Type : REFIID

Référence à l’identificateur global unique (GUID) de l’interface de ressource à retourner dans ppvResource . Consultez remarques.

Bien que riidResource soit le GUID de ID3D12Resource, il peut s’agir de l' GUID de n’importe quelle interface. Si l’objet de ressource ne prend pas en charge l’interface de cette GUID, la création échoue avec E_NOINTERFACE.

ppvResource

Type : void**

Pointeur facultatif vers un bloc de mémoire qui reçoit le pointeur d’interface demandé vers l’objet de ressource créé.

ppvResource peut être nullptr, pour activer les tests de capacité. Quand ppvResource est nullptr, aucun objet n’est créé et S_FALSE est retourné lorsque pDesc est valide.

Valeur de retour

Type : HRESULT

Si la fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Valeur de retour Description
E_OUTOFMEMORY La mémoire est insuffisante pour créer la ressource.

Consultez codes de retour Direct3D 12 pour d’autres valeurs de retour possibles.

Remarques

Consultez remarques pour ID3D12Device.CreateReservedResource.

Exigences

Exigence Valeur
plateforme cible Windows
d’en-tête d3d12.h
bibliothèque D3d12.lib
DLL D3d12.dll

Voir aussi

createCommittedResource

CreatePlacedResource

ID3D12Device10