Partager via


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

Voir aussi

DXGKARG_DESTROYALLOCATION

DxgkDdiAddDevice

pfnDeallocateCb