KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION 结构 (ksmedia.h)
KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION结构将缓冲区基址、请求的缓冲区大小和通知计数追加到 KSPROPERTY 结构。 客户端使用此结构通过 KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION请求分配音频缓冲区。
语法
typedef struct {
KSPROPERTY Property;
PVOID BaseAddress;
ULONG RequestedBufferSize;
ULONG NotificationCount;
} KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION, *PKSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION;
成员
Property
客户端在调用 KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION 之前适当初始化的 KSPROPERTY 结构。
BaseAddress
指定缓冲区基址。 除非客户端指定基址,否则此参数设置为 NULL。
RequestedBufferSize
指定缓冲区大小(以字节为单位)。 驱动程序在返回的 KSRTAUDIO_BUFFER 结构中返回已分配缓冲区的实际大小。
NotificationCount
指定循环缓冲区的每个周期的通知数。 目前,有效值为 1 或 2。 如果值为 1,则循环缓冲区末尾会向已注册的通知事件发出通知。 值为 2 会导致循环缓冲区的中间点和末尾同时发出通知。
注解
KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION请求使用 KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION 结构来描述客户端请求的循环缓冲区。 驱动程序返回KSRTAUDIO_BUFFER结构来描述实际分配的缓冲区。
与 KSPROPERTY_RTAUDIO_BUFFER 一样,客户端写入 RequestedBufferSize 成员的值未在驱动程序上绑定。
当 DMA 通过循环缓冲区进行时,使用 KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION 有助于事件信号。 KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT 用于注册事件以接收这些通知, KSPROPERTY_RTAUDIO_UNREGISTER_NOTIFICATION_EVENT 用于取消注册事件。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows Vista 和更高版本的 Windows 操作系统中可用。 |
标头 | ksmedia.h |
另请参阅
KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION