PFND3DDDI_SETDISPLAYPRIVATEDRIVERFORMATCB funzione di callback (d3dumddi.h)
La funzione pfnSetDisplayPrivateDriverFormatCb modifica l'attributo formato privato di un'origine video presente.
Sintassi
PFND3DDDI_SETDISPLAYPRIVATEDRIVERFORMATCB Pfnd3dddiSetdisplayprivatedriverformatcb;
HRESULT Pfnd3dddiSetdisplayprivatedriverformatcb(
HANDLE hDevice,
const D3DDDICB_SETDISPLAYPRIVATEDRIVERFORMAT *unnamedParam2
)
{...}
Parametri
hDevice
Handle per il dispositivo di visualizzazione (contesto grafico).
unnamedParam2
pData [in]
Puntatore a una struttura D3DDDICB_SETDISPLAYPRIVATEDRIVERFORMAT che descrive come formattare un'origine video presente.
Valore restituito
pfnSetDisplayPrivateDriverFormatCb restituisce uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
S_OK | L'origine del video è stata modificata correttamente. |
E_INVALIDARG | I parametri sono stati convalidati e sono stati determinati in modo che non siano corretti. |
E_FAIL | PfnSetDisplayPrivateDriverFormatCb non è riuscito a modificare l'attributo in formato privato dell'origine del video presente. |
Questa funzione potrebbe restituire anche altri valori HRESULT.
Osservazioni
La modifica dell'attributo in formato privato di un'origine video presente è utile per supportare un'applicazione DirectX a schermo intero che ne crea la modifica quando la superficie primaria GDI condivisa è in un formato privato non ottimale per l'applicazione DirectX a schermo intero. Si supponga, ad esempio, che il driver del miniport di visualizzazione crei sempre la superficie primaria condivisa GDI come non swizzled. Tuttavia, per motivi di prestazioni, il driver di visualizzazione in modalità utente richiede che tutte le superfici di una catena di scorrimento a schermo intero siano swizzled. Il driver di visualizzazione in modalità utente potrebbe quindi creare i buffer nascosto come swizzled e chiamare pfnSetDisplayPrivateDriverFormatCb per modificare la superficie primaria GDI condivisa in swizzled.
Se la chiamata a pfnSetDisplayPrivateDriverFormatCb ha esito negativo, il driver di visualizzazione in modalità utente deve continuare senza modificare l'attributo in formato privato dell'origine del video presente. Nell'esempio precedente, il driver può lasciare il database primario condiviso come non swizzled e fare in modo che i buffer nascosto swizzled o il driver possa modificare i buffer indietro nel formato non swizzled.
Se il driver di visualizzazione in modalità utente riceve l'errore di D3DDDIERR_INCOMPATIBLEPRIVATEFORMAT da una chiamata alla funzione pfnSetDisplayModeCb, il driver può eseguire una delle operazioni seguenti:
- Modificare l'attributo in formato privato della superficie primaria e chiamare di nuovo pfnSetDisplayModeCb.
- Chiamare pfnSetDisplayPrivateDriverFormatCb e tentare di modificare l'attributo in formato privato dell'origine video presente. Il driver può quindi chiamare nuovamente pfnSetDisplayModeCb.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows. |
piattaforma di destinazione | Desktop |
intestazione | d3dumddi.h (include D3dumddi.h) |