KSPROPERTY_RTAUDIO_CLOCKREGISTER
KSPROPERTY_RTAUDIO_CLOCKREGISTER 属性将音频设备的时钟寄存器映射到客户端可以访问的虚拟内存位置。
下表总结了此属性的功能。
使用情况摘要表
获取 | 设置 | 目标 | 属性描述符类型 | 属性值类型 |
---|---|---|---|---|
是 |
否 |
固定 |
属性描述符(实例数据)由包含 KSPROPERTY 结构的KSRTAUDIO_HWREGISTER_PROPERTY 结构组成。 在发送请求之前,客户端加载 KSRTAUDIO_HWREGISTER_PROPERTY 结构,其中的值指示时钟寄存器的首选基址。
属性值(操作数据)是指向 KSRTAUDIO_HWREGISTER 结构的指针,属性处理程序将寄存器地址和寄存器更新频率写入该结构。 此寄存器地址是硬件寄存器映射到的用户模式或内核模式虚拟地址。 客户端可以直接从此地址读取寄存器。
返回值
KSPROPERTY_RTAUDIO_CLOCKREGISTER 属性请求返回 STATUS_SUCCESS,以指示已成功完成。 否则,请求返回指示失败的错误代码。
注解
某些音频设备包含时钟寄存器。 时钟寄存器是一个挂钟计数器,当硬件通电时开始运行,当硬件断电时停止。 软件使用时钟寄存器通过测量设备硬件时钟之间的相对偏移来同步两个或多个控制器设备。
如果成功,则属性请求将时钟寄存器映射到虚拟内存地址,该地址可从用户模式或内核模式访问,由客户端指定。 此后,客户端从该地址读取,以获得时钟寄存器的当前值。
如果音频硬件不支持可以映射到虚拟内存的时钟寄存器,则属性请求失败。
当引脚关闭时,时钟寄存器的映射被破坏。 在一个引脚实例的生命周期中,客户端只能映射寄存器一次,任何后续的调用都将失败,无法再次为该实例映射时钟寄存器。
读取时钟寄存器通常比发送 KSPROPERTY_CLOCK_TIME 请求更快,这需要用户模式客户端在用户模式和内核模式之间转换。
要求
版本 |
适用于 Windows Vista 及更高版本的 Windows 操作系统。 |
标头 |
Ksmedia.h |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈