PFND3DDDI_SETPRIORITYCB Rückruffunktion (d3dumddi.h)
Die pfnSetPriorityCb--Funktion legt die Prioritätsebene einer Ressource oder Liste der Zuordnungen fest.
Syntax
PFND3DDDI_SETPRIORITYCB Pfnd3dddiSetprioritycb;
HRESULT Pfnd3dddiSetprioritycb(
HANDLE hDevice,
D3DDDICB_SETPRIORITY *unnamedParam2
)
{...}
Parameter
hDevice
Ein Handle für das Anzeigegerät (Grafikkontext).
unnamedParam2
pData- [in]
Ein Zeiger auf eine D3DDDICB_SETPRIORITY-Struktur, die die Prioritätsebene beschreibt, um eine Ressource oder Liste der Zuordnungen festzulegen.
Rückgabewert
pfnSetPriorityCb gibt einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
S_OK | Die Prioritätsstufe wurde erfolgreich festgelegt. |
E_INVALIDARG | Parameter wurden überprüft und ermittelt, dass sie falsch sind. |
Diese Funktion kann auch andere HRESULT-Werte zurückgeben.
Bemerkungen
Der Anzeigetreiber für den Benutzermodus kann die pfnSetPriorityCb--Funktion aufrufen, um die Priorität der zugrunde liegenden Ressource oder Liste der Zuordnungen festzulegen. Wenn die Prioritätsebene einer Ressource festgelegt ist, werden alle Zuordnungen, die zur Ressource gehören, auf die angegebene Prioritätsebene festgelegt. In der Regel legt der Anzeigetreiber für den Benutzermodus die Priorität einer Ressource oder Liste der Zuordnungen fest, nachdem die Microsoft Direct3D-Laufzeit die SetPriority- oder SetResourcePriorityDXGI--Funktion aufruft, um die Eviction-from-Memory-Priorität für eine Ressource festzulegen. Der Anzeigetreiber für den Benutzermodus kann jedoch jederzeit die Priorität der Zuordnungen festlegen.
Nachdem eine Anwendung die Prioritätsebene einer Oberfläche festgelegt hat, sollte der Anzeigetreiber für den Benutzermodus die entsprechende Ressource oder Liste der Zuordnungen auf die Prioritätsebene festlegen, die von der Anwendung angegeben wird.
Der Treiber kann bei Bedarf andere Prioritätsstufen als die vorherigen definierten Werte verwenden. Wenn Sie beispielsweise eine Zuordnung mit einer Prioritätsstufe von 0x78000001 markieren, bedeutet dies, dass die Zuordnung etwas über der Normalität liegt.
Beispiele
Das folgende Codebeispiel zeigt, wie Die Prioritätsstufe festgelegt wird.
HRESULT CD3DContext::SetPriority(CONST D3DDDIARG_SETPRIORITY* pSetPriority) {
DWORD dwSurfaceHandle = (DWORD)(DWORD_PTR)pSetPriority->hResource;
CResource &res = m_RTbl[dwSurfaceHandle];
D3DDDICB_SETPRIORITY setPri;
UINT priority;
priority = pSetPriority->Priority;
memset(&setPri, 0, sizeof(setPri));
setPri.hResource = res.m_hResRuntime;
setPri.pPriorities = &priority;
return (m_d3dCallbacks.pfnSetPriorityCb(m_hD3D, &setPri));
}
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) |