LPD3DHAL_CONTEXTDESTROYCB funzione di callback (d3dhal.h)
La funzione D3dContextDestroy elimina il contesto specificato.
Sintassi
LPD3DHAL_CONTEXTDESTROYCB Lpd3dhalContextdestroycb;
DWORD Lpd3dhalContextdestroycb(
LPD3DHAL_CONTEXTDESTROYDATA unnamedParam1
)
{...}
Parametri
unnamedParam1
pcdd [in]
Punta a una struttura D3DHAL_CONTEXTDESTROYDATA che contiene le informazioni necessarie per il driver per eliminare definitivamente il contesto.
Valore restituito
D3dContextDestroy restituisce uno dei codici di callback seguenti:
Osservazioni
Tutti i driver Microsoft Direct3D devono supportare D3dContextDestroy.
Il driver deve liberare tutte le risorse allocate al contesto che viene eliminato. Ad esempio, il driver deve liberare le risorse seguenti associate al contesto:
- Risorse trama
- vertex e pixel shader
-
dichiarazioni di e codice per i vertex shader
- Risorse per query asincrone
Se il driver memorizza nella cache il puntatore alla struttura DD_DIRECTDRAW_LOCAL passata come membro lpDDLcl membro della struttura D3DHAL_CONTEXTCREATEDATA quando è stato chiamato D3dContextCreate, il puntatore potrebbe non essere valido prima di viene chiamato il D3dContextDestroy. Di conseguenza, D3dContextDestroy non deve dereferenziare questo puntatore DD_DIRECTDRAW_LOCAL perché potrebbe verificarsi una violazione di accesso o potrebbero essere restituiti dati casuali. Ad esempio, se la funzione D3dDestroyDDLocal del driver viene chiamata prima di D3dContextDestroy, il sistema operativo rilascia questo puntatore DD_DIRECTDRAW_LOCAL prima della chiamata D3dContextDestroy.
D3dContextDestroy può essere chiamato con un PDEV disabilitato. Un PDEV è disabilitato o abilitato chiamando il driver di visualizzazione funzione DrvAssertMode. Per altre informazioni, vedere Gestione di PDEV.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | d3dhal.h (include D3dhal.h) |