Share via


PFND3D10DDI_CREATERESOURCE Rückruffunktion (d3d10umddi.h)

Dient zum Erstellen einer Ressource.

Syntax

PFND3D10DDI_CREATERESOURCE Pfnd3d10ddiCreateresource;

void Pfnd3d10ddiCreateresource(
  D3D10DDI_HDEVICE unnamedParam1,
  const D3D10DDIARG_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 D3D10DDIARG_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 verwenden soll, wenn er in die Direct3D-Runtime zurückruft.

Rückgabewert

Keine

Bemerkungen

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

Möglicherweise ist der Arbeitsspeicher für den Treiber nicht mehr 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 DXGI_DDI_ERR_UNSUPPORTED finden Sie im Abschnitt Hinweise der BltDXGI-Referenzseite . Die Direct3D-Runtime bestimmt, dass alle anderen Fehler kritisch sind. Wenn der Treiber Fehler, einschließlich D3DDDIERR_DEVICEREMOVED, übergibt, ermittelt die Direct3D-Runtime, 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 speichern muss, legt die Runtime das D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT-Flag der D3D10_DDI_RESOURCE_MISC_FLAG-Enumeration im MiscFlags-Element der D3D10DDIARG_CREATERESOURCE-Struktur fest, auf die der Parameter pCreateResource 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 Swapchainbackpuffer zu erstellen, wenn eine Anwendung den wert DXGI_SWAP_EFFECT_DISCARD verwendet, um Swapchains anzufordern.

Erstellen eines Stereobackpuffers

Wenn der Treiber ab Windows 8 einen Stereobackpuffer erstellen muss, sollte er Member der D3D10DDIARG_CREATERESOURCE Struktur festlegen, auf die pCreateResource wie folgt 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 Elemente DstSubresource und SrcSubresource der DXGI_DDI_ARG_BLT-Struktur zulassen, die sich im Bereich der Quell- und Zielressourcen befinden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.
Zielplattform Desktop
Kopfzeile d3d10umddi.h (include D3d10umddi.h)

Weitere Informationen

BltDXGI

CalcPrivateResourceSize

D3D10DDIARG_CREATERESOURCE

D3D10DDI_DEVICEFUNCS

DXGI_DDI_ARG_BLT

DestroyResource(D3D10)

pfnSetErrorCb