PFREE_DMA_ENGINE回呼函式 (hdaudio.h)
FreeDmaEngine
例程會釋放先前由呼叫 AllocateCaptureDmaEngine 或 AllocateRenderDmaEngine所配置的 DMA 引擎。
FreeDmaEngine
例程的函式指標類型定義如下。
語法
PFREE_DMA_ENGINE PfreeDmaEngine;
NTSTATUS PfreeDmaEngine(
[in] PVOID _context,
[in] HANDLE Handle
)
{...}
參數
[in] _context
指定 HDAUDIO_BUS_INTERFACE、HDAUDIO_BUS_INTERFACE_V2 或 HDAUDIO_BUS_INTERFACE_BDL 結構之 Context 成員的內容值。
[in] Handle
處理識別 DMA 引擎。 這個句柄值是從先前呼叫 AllocateCaptureDmaEngine 或 AllocateRenderDmaEngine取得。
傳回值
如果呼叫成功釋放 DMA 引擎,FreeDmaEngine
會傳回STATUS_SUCCESS。 否則,例程會傳回適當的錯誤碼。 下表顯示一些可能的傳回狀態代碼。
傳回碼 | 描述 |
---|---|
|
表示 句柄 參數值無效。 |
|
表示數據流未處於重設狀態,或緩衝區仍配置給 DMA 引擎。 |
言論
此例程會釋放先前由呼叫 AllocateCaptureDmaEngine 或 AllocateRenderDmaEngine 例程保留的 DMA 引擎。
此例程失敗,並在下列任一情況下傳回錯誤碼STATUS_INVALID_DEVICE_REQUEST:
- 任何先前配置的 DMA 緩衝區都尚未釋放 (藉由呼叫 freeDmaBuffer 或 FreeContiguousDmaBuffer)。
- 數據流處於重設以外的狀態。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | hdaudio.h (包括 Hdaudio.h) |
IRQL | <=DISPATCH_LEVEL |