PFND3DDDI_BLT Rückruffunktion (d3dumddi.h)
Die Blt-Funktion kopiert den Inhalt einer Quelloberfläche auf eine Zieloberfläche.
Syntax
PFND3DDDI_BLT Pfnd3dddiBlt;
HRESULT Pfnd3dddiBlt(
HANDLE hDevice,
const D3DDDIARG_BLT *unnamedParam2
)
{...}
Parameter
hDevice
Ein Handle für das Anzeigegerät (Grafikkontext).
unnamedParam2
pData- [in]
Ein Zeiger auf eine D3DDDIARG_BLT Struktur, die die Parameter der Bitblockübertragung (Bitblt) beschreibt.
Rückgabewert
Blt gibt einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
S_OK | Die Bitblt für die Ressource wird erfolgreich ausgeführt. |
E_OUTOFMEMORY | Blt konnte den erforderlichen Arbeitsspeicher nicht zuordnen, damit er abgeschlossen werden kann. |
Bemerkungen
Die Microsoft Direct3D-Laufzeit ruft die Blt--Funktion des Benutzermodus auf, um den Inhalt einer Quelloberfläche auf eine Zieloberfläche zu kopieren. Nach der Zuordnung der Oberflächenverweise zu Zuordnungsverweisen sollte der Anzeigetreiber für den Benutzermodus die entsprechenden Hardwarebefehle ausstellen. Wenn sich entweder die Quell- oder Zielzuordnung im Systemspeicher befindet, muss der Anzeigetreiber für den Benutzermodus möglicherweise synchronisiert werden (d. h. die pfnRenderCb-Funktion aufrufen), wenn der ausstehende Hardwarebefehlsstream Verweise auf die Systemspeicherzuweisung enthält. Wenn sich sowohl die Quell- als auch die Zielzuordnung im Systemspeicher befinden, sollte der Treiber nach Bedarf synchronisiert werden, aber nicht den Inhalt der Quelloberfläche kopieren. Die Direct3D-Laufzeit kopiert den Inhalt nach dem Aufruf von pfnRenderCb zurück.
Der Anzeigetreiber für den Benutzermodus muss die folgenden Bedingungen verarbeiten, die während eines Kopiervorgangs auftreten können:
- Die Ziel- und Quelloberflächen sind Teil derselben Ressource (d. hSrcResource und hDstResource Member von D3DDDIARG_BLT Ziehpunkte für dieselbe Ressource angeben).
- Die Quell- und Zielrechtecke überlappen sich (d. a. die Koordinaten der RECT- Strukturen in der SrcRect und DstRect Member von D3DDDIARG_BLT überlappen).
Der Anzeigetreiber für den Benutzermodus muss die Farbkeying nur mit Formaten unterstützen, die vor Microsoft DirectX 8.0 eingeführt wurden. Für Formate, die in DirectX 8.0 und höher eingeführt wurden, ist die Farbschlüsselunterstützung nicht erforderlich.
Der auszuführende Bitblttyp wird durch die Bitfeldkennzeichnungen angegeben, die im Flags Member von D3DDDIARG_BLTangegeben sind. Videospeicher für Videospeicherbitblts können Farbschlüssel, Strecken, Spiegelung und Linear-zu-sRGB-Formatkonvertierung umfassen. Systemspeicher in Videospeicherbitblts können Stretch- und linear-zu-sRGB-Formatkonvertierung umfassen. Diese Arten von Bitblts enthalten jedoch niemals Spiegelung oder Farbtasten. Alle Videospeicher für Systemspeicherbitblts und Systemspeicher für Systemspeicherbitblts sind nur gerade Kopien. Das heißt, diese Arten von Bitblts umfassen niemals die Konvertierung des Stretch-, Spiegel-, Farb- oder linear-zu-sRGB-Formats. Weitere Informationen zum sRGB-Format finden Sie auf der website sRGB.
Weitere Informationen zu Regeln, denen die Blt--Funktion beim Konvertieren von Tiefenschablonenwerten folgen muss, finden Sie unter Kopieren Depth-Stencil Werte.
Die Direct3D-Laufzeit kann die Blt-Funktion des Benutzermodus anzeigen, um den Inhalt eines beliebigen Quelloberflächentyps (z. B. offscreen-Plain-Typ, Renderzieltyp oder Texturtyp) in einen anderen Zieloberflächentyp zu kopieren.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme. |
Zielplattform- | Desktop |
Header- | d3dumddi.h (include D3dumddi.h) |