FreeDmaBufferWithNotification ルーチンは、AllocateDmaBufferWithNotificationの呼び出しによって以前に割り当てられた DMA バッファーを解放します。
FreeDmaBufferWithNotification ルーチンの関数ポインター型は、次のように定義されます。
構文
PFREE_DMA_BUFFER_WITH_NOTIFICATION PfreeDmaBufferWithNotification;
NTSTATUS PfreeDmaBufferWithNotification(
[in] PVOID _context,
[in] HANDLE Handle,
[in] PMDL BufferMdl,
[in] SIZE_T BufferSize
)
{...}
パラメーター
[in] _context
HDAUDIO_BUS_INTERFACE_V2 構造体の Context メンバーのコンテキスト値を指定します。
[in] Handle
DMA エンジンを識別するハンドル。 このハンドル値は、AllocateCaptureDmaEngine または AllocateRenderDmaEngine 以前の呼び出しから取得されました。
[in] BufferMdl
バッファー MDL へのポインター。 この値は、AllocateDmaBufferWithNotification の以前の呼び出しから取得されました。
[in] BufferSize
解放するバッファーのサイズ。 この値は、AllocateDmaBufferWithNotification の以前の呼び出しから取得されました。
戻り値
呼び出しが成功した場合、FreeDmaBufferWithNotification はSTATUS_SUCCESSを返します。 それ以外の場合、FreeDmaBufferWithNotification は適切なエラー コードを返します。 次の表は、考えられるリターン エラー コードの一部を示しています。
| リターン コード | 形容 |
|---|---|
|
呼び出し元が高すぎる IRQL で実行されていることを示します。 |
|
パラメーター値 ハンドルが無効であることを示します。 |
|
ストリームがリセット状態ではないこと、または DMA エンジンに現在バッファーが割り当てられていないことを示します。 |
備考
FreeDmaBufferWithNotification ルーチンは、AllocateDmaBufferWithNotification ルーチンと共に使用されます。 これら 2 つのルーチンは、HD オーディオ DDI のHDAUDIO_BUS_INTERFACE_V2 バージョンでのみ使用できます。
FreeDmaBufferWithNotification の呼び出し元は、IRQL PASSIVE_LEVELで実行されている必要があります。
必要条件
| 要件 | 価値 |
|---|---|
| サポートされる最小クライアント | Windows Vista 以降のバージョンの Windows で使用できます。 |
| ターゲット プラットフォーム の | デスクトップ |
| ヘッダー | hdaudio.h (Hdaudio.h を含む) |
| IRQL | PASSIVE_LEVEL |
関連項目
AllocateCaptureDmaEngine の
AllocateDmaBufferWithNotification の
AllocateRenderDmaEngine の