Partager via


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 :

Le pilote ne doit pas libérer les surfaces Microsoft DirectDraw associées au contexte, car elles seront libérées par DirectDraw en réponse à une application ou à une demande d’exécution Direct3D.

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)

Voir aussi

D3DHAL_CONTEXTCREATEDATA

D3DHAL_CONTEXTDESTROYDATA

D3dContextCreate

D3dDestroyDDLocal

DD_DIRECTDRAW_LOCAL