PFND3DDDI_SETPRIORITYCB Rückruffunktion (d3dumddi.h)
Die pfnSetPriorityCb-Funktion legt die Prioritätsebene einer Ressource oder Liste von 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, auf die eine Ressource oder Liste von Zuordnungen festgelegt werden soll.
Rückgabewert
pfnSetPriorityCb gibt einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
S_OK | Die Prioritätsstufe wurde erfolgreich festgelegt. |
E_INVALIDARG | Die Parameter wurden überprüft und als falsch ermittelt. |
Diese Funktion gibt möglicherweise auch andere HRESULT-Werte zurück.
Hinweise
Der Benutzermodusanzeigetreiber 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 einer Liste von Zuordnungen fest, nachdem die Microsoft Direct3D-Runtime die Funktion SetPriority oder SetResourcePriorityDXGI des Benutzermodusanzeigetreibers aufgerufen hat, um die eviction-from-memory-Priorität für eine Ressource festzulegen. Der Anzeigetreiber für den Benutzermodus kann jedoch jederzeit die Priorität von Zuordnungen festlegen.
Nachdem eine Anwendung anfordert, die Prioritätsebene eines Surface festzulegen, sollte der Benutzermodusanzeigetreiber die entsprechende Ressource oder Liste der Zuordnungen auf die von der Anwendung angegebene Prioritätsebene festlegen.
Der Treiber kann ggf. andere Prioritätsstufen als die oben definierten Werte verwenden. Wenn Sie beispielsweise eine Zuordnung mit der Prioritätsstufe 0x78000001 markieren, wird angegeben, dass die Zuordnung etwas über dem Normalwert liegt.
Beispiele
Im folgenden Codebeispiel wird gezeigt, 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 |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme. |
Zielplattform | Desktop |
Kopfzeile | d3dumddi.h (include D3dumddi.h) |