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:- Legen Sie den ArraySize Member auf einen Wert von 2 fest.
- Legen Sie den D3D10_DDI_BIND_PRESENT Flagwert im BindFlags Member fest.
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) |