Freigeben über


NdisFreeMemoryWithTagPriority-Funktion (ndis.h)

Die NdisFreeMemoryWithTagPriority-Funktion gibt Arbeitsspeicher frei, der dem NdisAllocateMemoryWithTagPriority-Funktion .

Syntax

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

Parameter

[in] NdisHandle

Ein NDIS-Treiber oder instance Handle, das während der Initialisierung des Aufrufers abgerufen wurde. Dies sollte dasselbe Handle sein, das der Treiber an den übergeben hat. NdisAllocateMemoryWithTagPriority-Funktion . Ein Miniporttreiber kann beispielsweise das NDIS-Handle verwenden, das er von der NdisMRegisterMiniportDriver oder MiniportInitializeEx-Funktion . Andere NDIS-Treiber können die Handles aus den folgenden Funktionen verwenden:

NdisRegisterProtocolDriver

NdisOpenAdapterEx

NdisFRegisterFilterDriver

FilterAttach

[in] VirtualAddress

Ein Zeiger auf die virtuelle Basisadresse des zugeordneten Arbeitsspeichers. Diese Adresse wurde von zurückgegeben. NdisAllocateMemoryWithTagPriority-Funktion .

[in] Tag

Eine Zeichenfolge, die durch einfache Anführungszeichen getrennt ist, mit bis zu vier Zeichen, in der Regel in umgekehrter Reihenfolge angegeben. Das von NDIS bereitgestellte Standardtag für diesen Aufruf ist "maDN", aber der Aufrufer kann diese Standardeinstellung überschreiben, indem er einen expliziten Wert angibt.

Rückgabewert

Keine

Bemerkungen

Da nicht zwischengespeicherter Arbeitsspeicher und zusammenhängender Arbeitsspeicher nur selten freigegeben werden, bis der zuweisungsfähige Miniporttreiber entladen wird, wird ein Aufrufer von NdisFreeMemoryWithTagPriority normalerweise mit IRQL = PASSIVE_LEVEL für diese Arten von Zuordnungen ausgeführt. In jedem Fall:

  • Wenn ein Aufrufer von NdisFreeMemoryWithTagPriority zusammenhängenden Arbeitsspeicher freigibt, muss er unter IRQL = PASSIVE_LEVEL ausgeführt werden.
  • Wenn ein Aufrufer von NdisFreeMemoryWithTagPriority nicht zwischengespeicherten Arbeitsspeicher freigibt, muss er im IRQL-< DISPATCH_LEVEL ausgeführt werden.
  • Wenn ein Aufrufer von NdisFreeMemoryWithTagPriority Arbeitsspeicher freigibt, der weder zusammenhängend noch nicht zwischengespeichert ist, muss er unter IRQL <= DISPATCH_LEVEL ausgeführt werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.20 und höher.
Zielplattform Universell
Header ndis.h (include Ndis.h)
Bibliothek Ndis.lib
IRQL Weitere Informationen finden Sie im Abschnitt mit den Hinweisen.
DDI-Complianceregeln NdisAllocateMemoryWithTagPriority_Cleanup(ndis), NdisAllocateMemoryWithTagPriority_InitFail(ndis)

Weitere Informationen

FilterAttach

MiniportInitializeEx

NdisAllocateMemoryWithTagPriority

NdisFRegisterFilterDriver

NdisMRegisterMiniportDriver

NdisOpenAdapterEx

NdisRegisterProtocolDriver