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
バス マスター アダプターまたは DMA コントローラー 表す IoGetDmaAdapter によって返される DMA_ADAPTER 構造体へのポインター。
[in] Length
割り当てを解除するバイト数を指定します。
[in] LogicalAddress
割り当てられたメモリ範囲の論理アドレスを指定します。
[in] VirtualAddress
割り当てられたメモリ範囲の対応する仮想アドレスへのポインター。
[in] CacheEnabled
割り当てられたメモリがキャッシュされているかどうかを示します。
戻り値
何一つ
備考
FreeCommonBuffer は、名前で直接呼び出すことができるシステム ルーチンではありません。 このルーチンは、DMA_OPERATIONS 構造体で返されたアドレスからのポインターによってのみ呼び出されます。 ドライバーは、IoGetDmaAdapterを呼び出すことによって、このルーチンのアドレスを取得します。
共通バッファーを解放するために、ドライバーは FreeCommonBuffer 呼び出して、論理アドレスと仮想アドレスの両方のマップを解除します。 FreeCommonBuffer に渡されるパラメーターは、AllocateCommonBuffer に渡され、から返されるものと正確に一致する必要があります。 ドライバーは、割り当てられた共通バッファーの一部を解放できません。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 以降で使用できます。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 を する | IrqlDispatch(wdm) |
関連項目
AllocateCommonBuffer の
IoGetDmaAdapter の