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

KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION

KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT

KSPROPERTY_RTAUDIO_UNREGISTER_NOTIFICATION_EVENT