Freigeben über


PFND3D11DDI_CREATERESOURCE Rückruffunktion (d3d10umddi.h)

Erstellt eine 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 Anzeigetreiber für den Benutzermodus 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 wieder in die Direct3D-Laufzeit aufruft.

Rückgabewert

Nichts

Bemerkungen

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

Möglicherweise ist der Treiber nicht mehr genügend Arbeitsspeicher vorhanden. Daher kann der Treiber E_OUTOFMEMORY oder D3DDDIERR_DEVICEREMOVED in einem Aufruf der pfnSetErrorCb-Funktion übergeben. Der Treiber kann auch DXGI_DDI_ERR_UNSUPPORTED in einem Aufruf von pfnSetErrorCbübergeben. Weitere Informationen zum Übergeben von DXGI_DDI_ERR_UNSUPPORTED finden Sie im Abschnitt "Hinweise" des BltDXGI Referenzseite. Die Direct3D-Laufzeit bestimmt, dass alle anderen Fehler kritisch sind. Wenn der Treiber Fehler übergibt, die D3DDDIERR_DEVICEREMOVED enthalten, bestimmt die Direct3D-Laufzeit, dass das Handle ungültig ist; Daher ruft die Laufzeit die DestroyResource(D3D10)--Funktion nicht auf, um den Handle zu zerstören, den der hResource Parameter angibt.

Die Laufzeit ü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 für präsentationsübergreifendes Speichern benötigt, legt die Laufzeit das D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT Flag der D3D10_DDI_RESOURCE_MISC_FLAG Enumeration im MiscFlags Member der D3D11DDIARG_CREATERESOURCE Struktur fest, auf das der pCreateResource-Parameter verweist. Die Präsentation tritt auf, wenn die PresentDXGI-- oder BltDXGI- (mit der funktion Present Flag in der DXGI_DDI_ARG_BLT_FLAGS-Struktur) aufgerufen wird. Die Laufzeit verwendet das D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT Flag zum Erstellen von Swapchain-Hintergrundpuffern, wenn eine Anwendung den DXGI_SWAP_EFFECT_DISCARD Wert zum Anfordern von Swapchains verwendet.

Erstellen eines Stereobackpuffers

Wenn der Treiber ab Windows 8 einen Stereo-Hintergrundpuffer erstellen muss, muss er Elemente der D3D11DDIARG_CREATERESOURCE Struktur festlegen, auf die durch pCreateResource- wie folgt verwiesen wird:
  1. Legen Sie den ArraySize Member auf einen Wert von 2 fest.
  2. Legen Sie den D3D10_DDI_BIND_PRESENT Flagwert im BindFlags Member fest.
Um die Stereopräsentation zu unterstützen, muss die BltDXGI--Funktion alle Werte für die DstSubresource und SrcSubresource Member der DXGI_DDI_ARG_BLT Struktur zulassen, die sich innerhalb des Bereichs der Quell- und Zielressourcen befinden.

Einschränkungen für Eingabewerte

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

Anforderungen

Anforderung Wert
mindestens unterstützte Client- CreateResource(D3D11) wird ab dem Windows 7-Betriebssystem unterstützt.
Zielplattform- Desktop
Header- d3d10umddi.h (include D3d10umddi.h)

Siehe auch

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