Freigeben über


ID3D12Device10::CreateReservedResource2-Methode (d3d12.h)

Erstellt eine Ressource, die reserviert ist und noch keiner Seite in einem Heap zugeordnet ist.

Erfordert das DirectX 12 Agility SDK 1.7 oder höher.

Syntax

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

Parameter

pDesc

Typ: const D3D12_RESOURCE_DESC*

Ein Zeiger auf eine D3D12_RESOURCE_DESC Struktur, die die Ressource beschreibt.

InitialLayout

Das anfängliche Layout der Texturressource; D3D12_BARRIER_LAYOUT::D 3D12_BARRIER_LAYOUT_UNDEFINED für Puffer.

pOptimizedClearValue

Typ: D3D12_CLEAR_VALUE*

Gibt eine D3D12_CLEAR_VALUE Struktur an, die den Standardwert für eine klare Farbe beschreibt.

pOptimizedClearValue gibt einen Wert an, für den klare Vorgänge am besten geeignet sind. Wenn die erstellte Ressource eine Textur mit dem D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET oder D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL Flags ist, sollten Sie den Wert auswählen, mit dem der clear-Vorgang am häufigsten aufgerufen wird. Sie können den eindeutigen Vorgang mit anderen Werten aufrufen, diese Vorgänge sind jedoch nicht so effizient, wie wenn der Wert dem wert entspricht, der an die Ressourcenerstellung übergeben wird.

Wenn Sie D3D12_RESOURCE_DIMENSION_BUFFERverwenden, müssen Sie pOptimizedClearValue- auf nullptrfestlegen.

pProtectedSession

Typ: ID3D12ProtectedResourceSession*

Ein optionaler Zeiger auf ein Objekt, das eine Sitzung für den Inhaltsschutz darstellt. Wenn angegeben, gibt diese Sitzung an, dass die Ressource geschützt werden soll. Sie können eine ID3D12ProtectedResourceSession- abrufen, indem Sie ID3D12Device4::CreateProtectedResourceSessionaufrufen.

NumCastableFormats

Die Anzahl der Elemente in pCastableFormats.

pCastableFormats

Ein zusammenhängendes Array von DXGI_FORMAT Strukturen, in die diese Ressource umgeformt werden kann.

[in] riid

Typ: REFIID-

Ein Verweis auf den global eindeutigen Bezeichner (GUID) der Ressourcenschnittstelle, die in ppvResource-zurückgegeben werden soll. Siehe Hinweise.

Während riidResource- am häufigsten die GUID-ID3D12Resource-ist, kann es sich um die GUID- jeder Schnittstelle handelt. Wenn das Ressourcenobjekt die Schnittstelle für diese GUID-nicht unterstützt, schlägt die Erstellung mit E_NOINTERFACEfehl.

ppvResource

Typ: void**

Ein optionaler Zeiger auf einen Speicherblock, der den angeforderten Schnittstellenzeiger auf das erstellte Ressourcenobjekt empfängt.

ppvResource- kann nullptrwerden, um Funktionstests zu ermöglichen. Wenn ppvResource-nullptrist, wird kein Objekt erstellt, und S_FALSE wird zurückgegeben, wenn pDesc- gültig ist.

Rückgabewert

Typ: HRESULT-

Wenn die Funktion erfolgreich ist, wird S_OKzurückgegeben. Andernfalls wird ein HRESULT-Fehlercodezurückgegeben.

Rückgabewert Beschreibung
E_OUTOFMEMORY Es ist nicht genügend Arbeitsspeicher vorhanden, um die Ressource zu erstellen.

Weitere mögliche Rückgabewerte finden Sie unter Direct3D 12-Rückgabecodes.

Bemerkungen

Siehe Hinweise für ID3D12Device.CreateReservedResource.

Anforderungen

Anforderung Wert
Zielplattform- Fenster
Header- d3d12.h
Library D3d12.lib
DLL- D3d12.dll

Siehe auch

CreateCommittedResource-

CreatePlacedResource-

ID3D12Device10