PFND3D11DDI_CREATERESOURCE Rückruffunktion (d3d10umddi.h)

Dient zum Erstellen einer Ressource.

Syntax

PFND3D11DDI_CREATERESOURCE Pfnd3d11ddiCreateresource;

void Pfnd3d11ddiCreateresource(
  D3D10DDI_HDEVICE unnamedParam1,
  const D3D11DDIARG_CREATERESOURCE *unnamedParam2,
  D3D10DDI_HRESOURCE unnamedParam3,
  D3D10DDI_HRTRESOURCE unnamedParam4
)
{...}

Parameter

unnamedParam1

hDevice [in]

Ein Handle für das Anzeigegerät (Grafikkontext).

unnamedParam2

pCreateResource [in]

Ein Zeiger auf eine D3D11DDIARG_CREATERESOURCE-Struktur , die die Parameter beschreibt, die der Benutzermodusanzeigetreiber zum Erstellen einer Ressource verwendet.

unnamedParam3

hResource [in]

Ein Handle für die privaten Daten des Treibers für die Ressource.

unnamedParam4

hRTResource [in]

Ein Handle für die Ressource, die der Treiber verwendet, wenn er in die Direct3D-Runtime zurückruft.

Rückgabewert

Keine

Bemerkungen

Der Treiber kann die Rückruffunktion pfnSetErrorCb verwenden, um einen Fehlercode festzulegen.

Der Treiber kann nicht mehr genügend Arbeitsspeicher haben. Daher kann der Treiber in einem Aufruf der pfnSetErrorCb-Funktion E_OUTOFMEMORY oder D3DDDIERR_DEVICEREMOVED übergeben. Der Treiber kann auch DXGI_DDI_ERR_UNSUPPORTED in einem Aufruf an pfnSetErrorCb übergeben. Weitere Informationen zum Übergeben DXGI_DDI_ERR_UNSUPPORTED finden Sie im Abschnitt Hinweise auf der BltDXGI-Referenzseite . Die Direct3D-Runtime bestimmt, dass alle anderen Fehler kritisch sind. Wenn der Treiber Fehler übergibt, einschließlich D3DDDIERR_DEVICEREMOVED, stellt die Direct3D-Runtime fest, dass das Handle ungültig ist. Daher ruft die Runtime die DestroyResource(D3D10) -Funktion nicht auf, um das Handle zu zerstören, das der hResource-Parameter angibt.

Die Runtime überprüft alle Parameter anhand der Parameter, die eine Anwendung zum Erstellen der Ressource gesendet hat. Daher sollte der Treiber keine ungültigen Kombinationen erhalten.

Wenn die Anwendung den Inhalt der Ressource nicht präsentationsübergreifend beibehalten muss, legt die Runtime das D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT Flag der D3D10_DDI_RESOURCE_MISC_FLAG-Enumeration im MiscFlags-Element der D3D11DDIARG_CREATERESOURCE Struktur fest, auf die der pCreateResource-Parameter verweist. Die Präsentation tritt auf, wenn die PresentDXGI- oder BltDXGI-Funktion des Treibers (mit dem in der DXGI_DDI_ARG_BLT_FLAGS-Struktur festgelegten Flag Present) aufgerufen wird. Die Runtime verwendet das Flag D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT, um Swap-Chain-Back-Puffer zu erstellen, wenn eine Anwendung den DXGI_SWAP_EFFECT_DISCARD Wert verwendet, um Swapchains anzufordern.

Erstellen eines Stereobackpuffers

Wenn der Treiber ab Windows 8 einen Stereobackpuffer erstellen muss, muss er Elemente der D3D11DDIARG_CREATERESOURCE Struktur festlegen, auf die pCreateResource verweist:
  1. Legen Sie den ArraySize-Member auf den Wert 2 fest.
  2. Legen Sie den D3D10_DDI_BIND_PRESENT-Flagwert im BindFlags-Element fest.
Zur Unterstützung der Stereodarstellung muss die BltDXGI-Funktion außerdem alle Werte für die DstSubresource - und SrcSubresource-Member der DXGI_DDI_ARG_BLT-Struktur zulassen, die sich im Bereich der Quell- und Zielressourcen befinden.

Einschränkungen für Eingabewerte

Für Windows Display Driver Model (WDDM) 1.3 und höher-Treiber stellt die Microsoft Direct3D-Runtime einen eingeschränkten Satz von Eingabewerten bereit, die von dieser Funktion verwendet werden. Eine Liste aller eingeschränkten Werte finden Sie unter [Verbesserungen der Direct3D-Renderingleistung](/windows-hardware/drivers/display/direct3d-rendering-performance-improvements).

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) CreateResource(D3D11) wird ab dem Windows 7-Betriebssystem unterstützt.
Zielplattform Desktop
Kopfzeile d3d10umddi.h (einschließlich D3d10umddi.h)

Weitere Informationen

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