LPD3DHAL_CONTEXTDESTROYCB fonction de rappel (d3dhal.h)
La fonction D3dContextDestroy supprime le contexte spécifié.
Syntaxe
LPD3DHAL_CONTEXTDESTROYCB Lpd3dhalContextdestroycb;
DWORD Lpd3dhalContextdestroycb(
LPD3DHAL_CONTEXTDESTROYDATA unnamedParam1
)
{...}
Paramètres
unnamedParam1
pcdd [in]
Pointe vers une structure D3DHAL_CONTEXTDESTROYDATA qui contient les informations requises pour que le pilote détruise le contexte.
Valeur retournée
D3dContextDestroy retourne l’un des codes de rappel suivants :
Remarques
Tous les pilotes Microsoft Direct3D doivent prendre en charge D3dContextDestroy.
Le pilote doit libérer toutes les ressources qu’il a allouées au contexte en cours de suppression. Par exemple, le pilote doit libérer les ressources suivantes qu’il a associées au contexte :
- Ressources de texture
- Nuanceurs de vertex et de pixels
- Ressources pour les requêtes asynchrones
Si le pilote a mis en cache le pointeur vers la structure DD_DIRECTDRAW_LOCAL qui a été passée en tant que membre lpDDLcl de la structure D3DHAL_CONTEXTCREATEDATA lorsque D3dContextCreate a été appelé, le pointeur peut devenir non valide avant l’appel de D3dContextDestroy . Par conséquent, D3dContextDestroy ne doit pas déréférencer ce pointeur DD_DIRECTDRAW_LOCAL, car une violation d’accès peut en résulter ou des données aléatoires peuvent être retournées. Par exemple, si la fonction D3dDestroyDDLocal du pilote est appelée avant D3dContextDestroy, le système d’exploitation libère ce pointeur DD_DIRECTDRAW_LOCAL avant l’appel D3dContextDestroy .
D3dContextDestroy peut être appelé avec un PDEV désactivé. Un PDEV est désactivé ou activé en appelant la fonction DrvAssertMode du pilote d’affichage. Pour plus d’informations, consultez Gestion des PDEV .
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | d3dhal.h (inclure D3dhal.h) |