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 成员的值在驱动程序上不绑定。

使用KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION有助于通过循环缓冲区进行 DMA 时的事件信号。 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