共用方式為


NdisFreeMemory 函式 (ndis.h)

NdisFreeMemory 函式會釋放先前使用 NdisAllocateMemoryWithTagPriority 函式配置的記憶體區塊。

語法

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

參數

[in] VirtualAddress

所配置記憶體基底虛擬位址的指標。 此位址是由 NdisAllocateMemoryWithTagPriority 函式所傳回。

[in] Length

要釋放之內存區塊的大小,以位元組為單位。 如果記憶體已配置 NdisAllocateMemoryWithTagPriorityMemoryFlags 參數為零,則會忽略此參數。

[in] MemoryFlags

一組旗標,指定要釋放的記憶體類型。 如果記憶體是使用 NdisAllocateMemoryWithTagPriority配置,則此值必須為零。 使用 NDIS 6.0 和更新版本時,NdisAllocateMemoryWithTagPriority 一律用來配置記憶體。

傳回值

沒有

言論

由於在配置迷你埠驅動程式卸除之前,很少釋放非快取記憶體和連續記憶體,因此,NdisFreeMemory 的呼叫 者通常會在 IRQL = PASSIVE_LEVEL針對這些類型的解除分配執行。 在任何情況下:

  • 釋放連續記憶體時,NdisFreeMemory 的呼叫端必須在 IRQL = PASSIVE_LEVEL執行。
  • 釋放非快取記憶體時,必須在 IRQL < DISPATCH_LEVEL 執行 NdisFreeMemory 的呼叫端。
  • 釋放既不連續也不是非快取的記憶體時,NdisFreeMemory 的呼叫者必須在 IRQL <= DISPATCH_LEVEL 執行。

要求

要求 價值
最低支援的用戶端 支援 Windows Vista 中的 NDIS 6.0 和 NDIS 5.1 驅動程式(請參閱 NdisFreeMemory (NDIS 5.1)。 Windows XP 中支援 NDIS 5.1 驅動程式(請參閱 NdisFreeMemory (NDIS 5.1)。
目標平臺 普遍
標頭 ndis.h (包括 Ndis.h)
連結庫 Ndis.lib
IRQL 請參閱一節
DDI 合規性規則 Irql_Miscellaneous_Function(ndis)、NdisAllocateMemoryWithTagPriority_Cleanup(ndis)、NdisAllocateMemoryWithTagPriority_InitFail(ndis)、NdisQueryBindInstanceName(ndis)

另請參閱

MiniportHaltEx

NdisAllocateMemoryWithTagPriority