共用方式為


NdisMFreeNetBufferSGList 函式 (ndis.h)

謹慎

針對 ARM 和 ARM64 處理器,強烈建議 NDIS 驅動程式寫入器使用 WDF DMA 或 WDM DMA,而不是 NDIS 散佈/收集 DMA。

如需 WDF DMA 的詳細資訊,請參閱 處理 KMDF 驅動程式中的 DMA 作業

如需 WDM DMA 的詳細資訊,請參閱 管理驅動程式輸入/輸出的 DMA 相關子主題。

總線主要迷你埠驅動程式會呼叫 NdisMFreeNetBufferSGList 函式,以釋放呼叫 所配置的散佈/收集清單資源 NdisMAllocateNetBufferSGList 函式。

語法

void NdisMFreeNetBufferSGList(
  [in] NDIS_HANDLE          NdisMiniportDmaHandle,
  [in] PSCATTER_GATHER_LIST pSGL,
  [in] PNET_BUFFER          NetBuffer
);

參數

[in] NdisMiniportDmaHandle

NDIS 用來管理 DMA 資源之內容區域的句柄。 呼叫者藉由呼叫 取得此句柄 NdisMRegisterScatterGatherDma 函式。

[in] pSGL

迷你埠驅動程式散佈/收集清單緩衝區的指標。

[in] NetBuffer

與指定散佈/收集清單緩衝區相關聯的 NET_BUFFER 結構的指標。

傳回值

沒有

言論

總線主要迷你埠驅動程序必須呼叫 NdisMFreeNetBufferSGList 函式,以釋放散佈/收集清單。 迷你埠驅動程式通常會從其 MiniportInterruptDPC 函式呼叫 NdisMFreeNetBufferSGList,同時處理傳送完整中斷,或驅動程式不再需要散佈/收集清單。 當驅動程式或硬體仍在存取與散佈/收集清單相關聯的 NET_BUFFER 結構所描述的記憶體時,請勿呼叫 NdisMFreeNetBufferSGList

Miniport 驅動程式可以在傳回 NdisMFreeNetBufferSGList 傳回 NdisMAllocateNetBufferSGList 函式的 ScatterGatherListBuffer 參數中指定的緩衝區。

存取已接收的數據之前,迷你埠驅動程序必須呼叫 NdisMFreeNetBufferSGList 來排清記憶體快取。

要求

要求 價值
最低支援的用戶端 NDIS 6.0 和更新版本支援。
目標平臺 普遍
標頭 ndis.h (包括 Ndis.h)
連結庫 Ndis.lib
IRQL DISPATCH_LEVEL
DDI 合規性規則 Irql_Gather_DMA_Function(ndis)

另請參閱

MiniportInterruptDPC

NDIS 散佈圖/收集 DMA

NET_BUFFER

NdisMAllocateNetBufferSGList

NdisMRegisterScatterGatherDma