PcAddStreamResource 函数 (portcls.h)

PcAddStreamResource 添加流资源。 支持两种类型的流资源:中断和驱动程序拥有的线程。 任何具有与音频流关联的中断/线程的非音频 WaveRT 微型端口驱动程序都可以调用 PcAddStreamResource。 音频 WaveRT 微型端口驱动程序也可以调用它。

语法

PORTCLASSAPI NTSTATUS PcAddStreamResource(
  [in]  PDEVICE_OBJECT               PhysicalDeviceObject,
  [in]  PVOID                        ResourceSet,
  [in]  PPCSTREAMRESOURCE_DESCRIPTOR ResourceDescriptor,
  [out] PCSTREAMRESOURCE             *ResourceHandle
);

参数

[in] PhysicalDeviceObject

PDEVICE_OBJECT - 使用此资源的设备堆栈的 PDO。

[in] ResourceSet

PVOID - 保留供将来使用,设置为 NULL。 目前仅支持设备范围的资源。

[in] ResourceDescriptor

PPCSTREAMRESOURCE_DESCRIPTOR - 要添加的资源。 有关详细信息,请参阅 PCSTREAMRESOURCE_DESCRIPTOR

[out] ResourceHandle

PCSTREAMRESOURCE* - 将保存资源句柄的位置。 有关详细信息,请参阅 PcRemoveStreamResource

返回值

STATUS_SUCCESS – 驱动程序能够注册指定 PDO 的资源。

STATUS_INVALID_PARAMETER – 如果驱动程序发现任何其他参数无效,则返回此错误,除了其他错误状态实例的特定情况之外。

可能会返回其他标准状态代码。

言论

为了帮助确保无故障作,音频驱动程序必须在 portcls 中注册其流式处理资源。 这样,OS 就可以管理资源,以避免音频流式处理和其他子系统之间的干扰。

流资源是音频驱动程序用于处理音频流或确保音频数据流的任何资源。

所有音频驱动程序都必须将其流资源注册到音频类驱动程序。 驱动程序注册以下资源类型:中断、驱动程序拥有的线程和其他音频堆栈资源上的依赖关系(例如:并行音频驱动程序堆栈)。 有关详细信息,请参阅 PCSTREAMRESOURCE_DESCRIPTOR 的定义。

音频驱动程序必须在进行此调用时确保资源有效。

仅在 Windows 10 中运行的音频驱动程序可以使用 PcAddStreamResourcePcRemoveStreamResource。 对于还需要在早期版本的 Windows 下运行的音频 waveRT 微型端口驱动程序,请使用 AddStreamResourceRemoveStreamResource

要求

要求 价值
最低支持的客户端 Windows 10
支持的最低服务器 Windows Server 2016
目标平台 窗户
标头 portcls.h
Portcls.lib
DLL
IRQL PASSIVE_LEVEL

另请参阅

PCSTREAMRESOURCE_DESCRIPTOR

PcRemoveStreamResource