pcNewDmaChannel 函数 (portcls.h)

PcNewDmaChannel 函数创建新的 DMA 通道对象。 此函数已过时;有关详细信息,请参阅以下注释。

语法

PORTCLASSAPI NTSTATUS PcNewDmaChannel(
  [out]          PDMACHANNEL         *OutDmaChannel,
  [in, optional] PUNKNOWN            OuterUnknown,
  [in]           POOL_TYPE           PoolType,
  [in]           PDEVICE_DESCRIPTION DeviceDescription,
  [in]           PDEVICE_OBJECT      DeviceObject
);

参数

[out] OutDmaChannel

此函数创建的 DMA 通道对象的输出指针。 此参数指向调用方分配的指针变量,函数在其中输出对新创建的 IDmaChannel 对象的引用。 为此参数指定有效的非 NULL 指针值。

[in, optional] OuterUnknown

指向需要聚合对象的对象的 IUnknown 接口的指针。 除非需要聚合,否则请将此参数设置为 NULL

[in] PoolType

指定要从中分配对象的存储池的类型。 这是一个 POOL_TYPE 枚举值。 为此参数指定非分页池类型。

[in] DeviceDescription

指向调用方为其请求 DMA 对象的物理设备的说明的指针。 此参数指向 DEVICE_DESCRIPTION 类型的结构。

[in] DeviceObject

指向物理适配器设备的设备对象的指针。 此参数指向 DEVICE_OBJECT 类型的系统结构。

返回值

如果调用成功,PcNewDmaChannel 将返回STATUS_SUCCESS。 否则,它将返回相应的错误代码。

注解

PcNewDmaChannel 已过时。 对于所有新的音频驱动程序,请使用以下 IPortWave Xxx::NewXxxDmaChannel 方法之一代替 PcNewDmaChannel

IPortWavePci::NewMasterDmaChannel

IPortWaveCyclic::NewMasterDmaChannel

IPortWaveCyclic::NewSlaveDmaChannel

为了向后兼容,PortCls 系统驱动程序将继续支持 PcNewDmaChannel,现有驱动程序可以继续使用此功能。

PoolType 参数指定为 POOL_TYPE 枚举中定义的非分页池类型之一。 DMA 通道对象不得驻留在分页内存中,因为可以从 IRQL DISPATCH_LEVEL调用 IDmaChannel 接口中的多个方法。

OutDmaChannelOuterUnknown 参数遵循 COM 对象的引用计数约定

注意

Microsoft 支持多样化和包容性的环境。 本文包含 Microsoft 无偏见通信风格指南 识别为排除性的术语的参考。 为了保持一致性,本文使用了单词或短语,因为它当前显示在软件中。 当软件更新为删除该语言时,本文将更新为保持一致。

要求

要求
最低受支持的客户端 已过时。 对于所有新的音频驱动程序,请改用 IPortWaveXxx::NewXxxDmaChannel 方法。 PortCls 系统驱动程序在 Microsoft Windows 98/Me 和 Windows 2000 及更高版本的操作系统中实现 PcNewDmaChannel 函数。
目标平台 通用
标头 portcls.h (包括 Portcls.h)
Library Portcls.lib
IRQL PASSIVE_LEVEL

另请参阅

DEVICE_DESCRIPTION

DEVICE_OBJECT

IDmaChannel

POOL_TYPE