共用方式為


PFREE_COMMON_BUFFER回呼函式 (wdm.h)

FreeCommonBuffer 例程會釋放 AllocateCommonBuffer 所配置的一般緩衝區,以及緩衝區使用的所有資源。

語法

PFREE_COMMON_BUFFER PfreeCommonBuffer;

void PfreeCommonBuffer(
  [in] PDMA_ADAPTER DmaAdapter,
  [in] ULONG Length,
  [in] PHYSICAL_ADDRESS LogicalAddress,
  [in] PVOID VirtualAddress,
  [in] BOOLEAN CacheEnabled
)
{...}

參數

[in] DmaAdapter

IoGetDmaAdapter 所傳回之DMA_ADAPTER結構的指標,代表總線主機適配卡或 DMA 控制器。

[in] Length

指定要解除分配的位元組數目。

[in] LogicalAddress

指定已配置記憶體範圍的邏輯位址。

[in] VirtualAddress

所配置記憶體範圍的對應虛擬位址指標。

[in] CacheEnabled

指出是否已快取配置的記憶體。

傳回值

備註

FreeCommonBuffer 不是可直接依名稱呼叫的系統例程。 這個例程只能由 DMA_OPERATIONS結構中 傳回之位址的指標呼叫。 驅動程式會呼叫 IoGetDmaAdapter來取得此例程的位址。

為了釋放常見的緩衝區,驅動程式會呼叫 FreeCommonBuffer 來取消對應其邏輯和虛擬位址。 傳遞至 FreeCommonBuffer 的參數必須完全符合傳遞至 AllocateCommonBuffer 並從 AllocateCommonBuffer 傳回的參數。 驅動程式無法釋放已配置之通用緩衝區的一部分。

規格需求

需求
最低支援的用戶端 從 Windows 2000 開始提供。
目標平台 桌面
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
IRQL PASSIVE_LEVEL
DDI 合規性規則 IrqlDispatch (wdm)

另請參閱

AllocateCommonBuffer

DMA_ADAPTER

DMA_OPERATIONS

IoGetDmaAdapter