PFND3DDDI_SETDISPLAYPRIVATEDRIVERFORMATCB Rückruffunktion (d3dumddi.h)
Die pfnSetDisplayPrivateDriverFormatCb-Funktion ändert das Attribut "Private-Format" einer Videodarstellungsquelle.
Syntax
PFND3DDDI_SETDISPLAYPRIVATEDRIVERFORMATCB Pfnd3dddiSetdisplayprivatedriverformatcb;
HRESULT Pfnd3dddiSetdisplayprivatedriverformatcb(
HANDLE hDevice,
const D3DDDICB_SETDISPLAYPRIVATEDRIVERFORMAT *unnamedParam2
)
{...}
Parameter
hDevice
Ein Handle für das Anzeigegerät (Grafikkontext).
unnamedParam2
pData- [in]
Ein Zeiger auf eine D3DDDICB_SETDISPLAYPRIVATEDRIVERFORMAT Struktur, die beschreibt, wie eine Videoreferentquelle formatiert wird.
Rückgabewert
pfnSetDisplayPrivateDriverFormatCb gibt einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
S_OK | Die Quelle für die Präsentation von Videos wurde erfolgreich geändert. |
E_INVALIDARG | Parameter wurden überprüft und ermittelt, dass sie falsch sind. |
E_FAIL | pfnSetDisplayPrivateDriverFormatCb konnte das Attribut "Private-Format" der Quelle für die Präsentation von Videos nicht ändern. |
Diese Funktion kann auch andere HRESULT-Werte zurückgeben.
Bemerkungen
Das Ändern des Private-Format-Attributs einer Video present-Quelle ist nützlich, um eine DirectX-Vollbildanwendung aufzunehmen, die ihre Flippingänderung erstellt, wenn die freigegebene GDI-primäre Oberfläche in einem nicht optimalen privaten Format für die DirectX-Vollbildanwendung verwendet wird. Angenommen, der Anzeige-Miniporttreiber erstellt immer die gemeinsam genutzte primäre GDI-Oberfläche als nicht geschwendet. Aus Leistungsgründen erfordert der Benutzermodusanzeigetreiber jedoch, dass alle Oberflächen in einer Flippingkette im Vollbildmodus geschwendet werden. Der Anzeigetreiber für den Benutzermodus konnte dann die Hintergrundpuffer als geschwommen erstellen und pfnSetDisplayPrivateDriverFormatCb aufrufen, um die freigegebene GDI-primäre Oberfläche in swizzled zu ändern.
Wenn der Aufruf von pfnSetDisplayPrivateDriverFormatCb fehlschlägt, sollte der Anzeigetreiber für den Benutzermodus fortgesetzt werden, ohne das Attribut "Private-Format" der Quelle für Die Videodarstellung zu ändern. Im vorherigen Beispiel kann der Treiber entweder die freigegebene Primäre als nicht geschwendet belassen und die Hintergrundpuffer geschwendet haben, oder der Treiber kann die Hintergrundpuffer in das nicht geschwerbte Format ändern.
Wenn der Anzeigetreiber für den Benutzermodus den D3DDDIERR_INCOMPATIBLEPRIVATEFORMAT Fehler von einem Aufruf der pfnSetDisplayModeCb-Funktion empfängt, kann der Treiber eine der folgenden Aktionen ausführen:
- Ändern Sie das Attribut für das private Format der primären Oberfläche, und rufen Sie pfnSetDisplayModeCb erneut auf.
- Rufen Sie pfnSetDisplayPrivateDriverFormatCb auf, und versuchen Sie, das Attribut "Private-Format" der Quelle für video present zu ändern. Der Treiber kann dann pfnSetDisplayModeCb erneut aufrufen.
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) |