DXGKDDI_DESTROYALLOCATION fonction de rappel (d3dkmddi.h)
La fonction DxgkDdiDestroyAllocation libère les allocations.
Syntaxe
DXGKDDI_DESTROYALLOCATION DxgkddiDestroyallocation;
NTSTATUS DxgkddiDestroyallocation(
[in] IN_CONST_HANDLE hAdapter,
[in] IN_CONST_PDXGKARG_DESTROYALLOCATION pDestroyAllocation
)
{...}
Paramètres
[in] hAdapter
Handle vers un bloc de contexte associé à un adaptateur d’affichage. Le pilote miniport d’affichage a précédemment fourni ce handle au sous-système du noyau graphique Microsoft DirectX dans le MiniportDeviceContext paramètre de sortie de la fonction DxgkDdiAddDevice.
[in] pDestroyAllocation
Pointeur vers une structure DXGKARG_DESTROYALLOCATION qui contient des informations pour libérer des allocations.
Valeur de retour
DxgkDdiDestroyAllocation retourne STATUS_SUCCESS, ou un résultat d’erreur approprié si les allocations ne sont pas correctement libérées.
Remarques
Lorsque le pilote d’affichage en mode utilisateur appelle la fonction pfnDeallocateCb, le sous-système du noyau graphique DirectX (qui fait partie de Dxgkrnl.sys) appelle la fonction d'DxgkDdiDestroyAllocation du pilote display pour libérer les allocations. Le pilote miniport d’affichage doit nettoyer ses structures de données internes et ses références aux allocations. Le runtime Microsoft Direct3D lance des appels au gestionnaire de mémoire vidéo (qui fait également partie de Dxgkrnl.sys), qui appelle ensuite le planificateur GPU (qui fait également partie de Dxgkrnl.sys) pour se synchroniser avant la publication de la mémoire vidéo.
Le pilote miniport d’affichage peut libérer toute la ressource ainsi que les allocations. Pour déterminer si la ressource doit être libérée, le pilote de miniport d’affichage peut vérifier si l’indicateur DestroyResource est défini dans le membre Flags de la structure DXGKARG_DESTROYALLOCATION vers laquelle pointe le paramètre pDestroyAl location. Pour libérer la ressource, le pilote miniport d’affichage doit nettoyer le handle que le hResource membre de DXGKARG_DESTROYALLOCATION spécifie. Si le pilote miniport d’affichage ne libère pas la ressource, le pilote peut modifier la valeur dans hResource si nécessaire.
DxgkDdiDestroyAllocation doit être rendu paginable.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Vista |
plateforme cible | Bureau |
d’en-tête | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |