Partager via


NdisFreeMemoryWithTagPriority, fonction (ndis.h)

La fonction NdisFreeMemoryWithTagPriority libère la mémoire allouée avec la fonction fonction NdisAllocateMemoryWithTagPriority.

Syntaxe

void NdisFreeMemoryWithTagPriority(
  [in] NDIS_HANDLE NdisHandle,
  [in] PVOID       VirtualAddress,
  [in] ULONG       Tag
);

Paramètres

[in] NdisHandle

Pilote NDIS ou handle d’instance obtenu lors de l’initialisation de l’appelant. Il doit s’agir du même handle que celui passé au pilote fonction NdisAllocateMemoryWithTagPriority. Par exemple, un pilote miniport peut utiliser le handle NDIS qu’il a obtenu à partir du NdisMRegisterMiniportDriver ou Fonction MiniportInitializeEx. D’autres pilotes NDIS peuvent utiliser les handles des fonctions suivantes :

NdisRegisterProtocolDriver

NdisOpenAdapterEx

NdisFRegisterFilterDriver

FilterAttach

[in] VirtualAddress

Pointeur vers l’adresse virtuelle de base de la mémoire allouée. Cette adresse a été retournée par le fonction NdisAllocateMemoryWithTagPriority.

[in] Tag

Chaîne, délimitée par des guillemets simples, avec jusqu’à quatre caractères, généralement spécifiée dans l’ordre inverse. La balise par défaut fournie par NDIS pour cet appel est « maDN », mais l’appelant peut remplacer cette valeur par défaut en fournissant une valeur explicite.

Valeur de retour

Aucun

Remarques

Étant donné que la mémoire non mise en cache et la mémoire contiguë sont rarement libérées jusqu’à ce que le pilote miniport d’allocation soit déchargé, un appelant de NdisFreeMemoryWithTagPriority est généralement en cours d’exécution à IRQL = PASSIVE_LEVEL pour ces types de désaffectations. Dans tous les cas :

  • Lorsqu’un appelant de NdisFreeMemoryWithTagPriority libère la mémoire contiguë, il doit s’exécuter à IRQL = PASSIVE_LEVEL.
  • Lorsqu’un appelant de NdisFreeMemoryWithTagPriority libère de la mémoire non mise en cache, il doit s’exécuter au < DISPATCH_LEVEL IRQL.
  • Lorsqu’un appelant de NdisFreeMemoryWithTagPriority libère la mémoire qui n’est ni contiguë ni non mise en cache, elle doit s’exécuter sur IRQL <= DISPATCH_LEVEL.

Exigences

Exigence Valeur
client minimum pris en charge Pris en charge dans NDIS 6.20 et versions ultérieures.
plateforme cible Universel
d’en-tête ndis.h (include Ndis.h)
bibliothèque Ndis.lib
IRQL Voir la section Remarques.
règles de conformité DDI NdisAllocateMemoryWithTagPriority_Cleanup(ndis), NdisAllocateMemoryWithTagPriority_InitFail(ndis)

Voir aussi

FilterAttach

MiniportInitializeEx

NdisAllocateMemoryWithTagPriority

NdisFRegisterFilterDriver

NdisMRegisterMiniportDriver

NdisOpenAdapterEx

NdisRegisterProtocolDriver