NdisFreeMemory-Funktion (ndis.h)

Die NdisFreeMemory-Funktion gibt einen Speicherblock frei, der zuvor der Funktion NdisAllocateMemoryWithTagPriority zugeordnet wurde.

Syntax

void NdisFreeMemory(
  [in] PVOID VirtualAddress,
  [in] UINT  Length,
  [in] UINT  MemoryFlags
);

Parameter

[in] VirtualAddress

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

[in] Length

Die Größe des Speicherblocks, der freigegeben werden soll, in Bytes. Wenn der Arbeitsspeicher NdisAllocateMemoryWithTagPriority zugewiesen wurde oder der MemoryFlags-Parameter 0 ist, wird dieser Parameter ignoriert.

[in] MemoryFlags

Eine Reihe von Flags, die den Typ des freizugebenden Arbeitsspeichers angeben. Dieser Wert muss 0 sein, wenn der Arbeitsspeicher mit NdisAllocateMemoryWithTagPriority zugeordnet wurde. Bei NDIS 6.0 und höheren Versionen wird NdisAllocateMemoryWithTagPriority immer verwendet, um Arbeitsspeicher zuzuweisen.

Rückgabewert

Keine

Bemerkungen

Da nicht zwischengespeicherter Arbeitsspeicher und zusammenhängender Arbeitsspeicher selten freigegeben werden, bis der zuzuordnende Miniporttreiber entladen wird, wird ein Aufrufer von NdisFreeMemory normalerweise bei IRQL = PASSIVE_LEVEL für diese Arten von Deallocations ausgeführt. In jedem Fall:

  • Beim Freigeben von zusammenhängendem Arbeitsspeicher muss ein Aufrufer von NdisFreeMemory unter IRQL = PASSIVE_LEVEL ausgeführt werden.
  • Beim Freigeben von nicht zwischengespeichertem Arbeitsspeicher muss ein Aufrufer von NdisFreeMemory bei IRQL < DISPATCH_LEVEL ausgeführt werden.
  • Beim Freigeben von Arbeitsspeicher, der weder zusammenhängend noch nicht zwischengespeichert ist, muss ein Aufrufer von NdisFreeMemory unter IRQL <= DISPATCH_LEVEL ausgeführt werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe NdisFreeMemory (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe NdisFreeMemory (NDIS 5.1)) in Windows XP.
Zielplattform Universell
Header ndis.h (einschließlich Ndis.h)
Bibliothek Ndis.lib
IRQL Siehe Abschnitt "Hinweise"
DDI-Complianceregeln Irql_Miscellaneous_Function(ndis), NdisAllocateMemoryWithTagPriority_Cleanup(ndis), NdisAllocateMemoryWithTagPriority_InitFail(ndis), NdisQueryBindInstanceName(ndis)

Weitere Informationen

MiniportHaltEx

NdisAllocateMemoryWithTagPriority