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_INTERFACEContext 成员(HDAUDIO_BUS_INTERFACE_V2或HDAUDIO_BUS_INTERFACE_BDL结构)中的上下文值。

[in] Handle

标识 DMA 引擎的句柄。 此句柄值是从以前调用 AllocateCaptureDmaEngineAllocateRenderDmaEngine 获取的

返回值

FreeDmaEngine 如果调用成功释放 DMA 引擎,则返回STATUS_SUCCESS。 否则,例程将返回相应的错误代码。 下表显示了一些可能的返回状态代码。

返回代码 说明
STATUS_INVALID_HANDLE
指示 句柄 参数值无效。
STATUS_INVALID_DEVICE_REQUEST
指示流未处于重置状态,或者仍为 DMA 引擎分配缓冲区。

注解

此例程释放以前通过调用 AllocateCaptureDmaEngineAllocateRenderDmaEngine 例程保留的 DMA 引擎

此例程在以下任一情况下失败并返回错误代码STATUS_INVALID_DEVICE_REQUEST:

音频驱动程序调用此例程以关闭引脚 (并销毁流) 。

要求

要求
目标平台 桌面
标头 hdaudio.h (包括 Hdaudio.h)
IRQL <=DISPATCH_LEVEL

另请参阅

AllocateCaptureDmaEngine

AllocateRenderDmaEngine

FreeContiguousDmaBuffer

FreeDmaBuffer

HDAUDIO_BUS_INTERFACE

HDAUDIO_BUS_INTERFACE_BDL

HDAUDIO_BUS_INTERFACE_V2