Partager via


NdisFreeMemoryWithTagPriority, fonction (ndis.h)

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

Syntaxe

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

Paramètres

[in] NdisHandle

Un pilote NDIS ou un handle instance obtenu lors de l’initialisation de l’appelant. Il doit s’agir de la même poignée que celle que le pilote a passée à Fonction NdisAllocateMemoryWithTagPriority . Par exemple, un pilote miniport peut utiliser le handle NDIS qu’il a obtenu à partir du Fonction NdisMRegisterMiniportDriver ou 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

None

Remarques

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

  • Lorsqu’un appelant de NdisFreeMemoryWithTagPriority libère de 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, elle doit s’exécuter au < DISPATCH_LEVEL IRQL.
  • Lorsqu’un appelant de NdisFreeMemoryWithTagPriority libère de la mémoire qui n’est ni contiguë ni non mise en cache, elle doit s’exécuter sur IRQL <= DISPATCH_LEVEL.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.20 et versions ultérieures.
Plateforme cible Universal
En-tête ndis.h (inclure Ndis.h)
Bibliothèque Ndis.lib
IRQL Consultez la section Notes.
Règles de conformité DDI NdisAllocateMemoryWithTagPriority_Cleanup(ndis), NdisAllocateMemoryWithTagPriority_InitFail(ndis)

Voir aussi

FilterAttach

MiniportInitializeEx

NdisAllocateMemoryWithTagPriority

NdisFRegisterFilterDriver

NdisMRegisterMiniportDriver

NdisOpenAdapterEx

NdisRegisterProtocolDriver