Partager via


ID3D12Device4 ::CreateHeap1, méthode (d3d12.h)

Crée un tas (éventuellement pour une session protégée) qui peut être utilisé avec des ressources placées et des ressources réservées. Consultez également ID3D12Device ::CreateHeap.

Syntaxe

HRESULT CreateHeap1(
  [in]            const D3D12_HEAP_DESC          *pDesc,
  [in, optional]  ID3D12ProtectedResourceSession *pProtectedSession,
  [in]            REFIID                         riid,
  [out, optional] void                           **ppvHeap
);

Paramètres

[in] pDesc

Type : const D3D12_HEAP_DESC*

Pointeur vers une structure D3D12_HEAP_DESC constante qui décrit le tas.

[in, optional] 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 le tas doit être protégé. Vous pouvez obtenir un ID3D12ProtectedResourceSession en appelant ID3D12Device4 ::CreateProtectedResourceSession.

Un tas avec une session protégée ne peut pas être créé avec l’indicateur de D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER.

[in] riid

Type : REFIID

Référence à l’identificateur global unique (GUID) de l’interface de tas à retourner dans ppvHeap .

Bien que riidResource soit le GUID de ID3D12Heap, 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.

[out, optional] ppvHeap

Type : void**

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

ppvHeap peut être nullptr, pour activer les tests de capacité. Lorsque ppvHeap 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 le tas.

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

Remarques

CreateHeap1 crée un tas qui peut être utilisé avec des ressources placées et des ressources réservées.

Avant de publier la référence finale sur le tas, votre application doit s’assurer que le GPU ne sera plus lu ou écrit dans ce tas.

Un objet de ressource placé contient une référence sur le tas sur lequel il est créé ; mais une ressource réservée ne contient pas de référence pour chaque mappage effectué sur un tas.

Exigences

Exigence Valeur
client minimum pris en charge Windows 10 Build 20348
serveur minimum pris en charge Windows 10 Build 20348
plateforme cible Windows
d’en-tête d3d12.h
bibliothèque d3d12.lib
DLL d3d12.dll