KSRTAUDIO_BUFFER_PROPERTY 结构

KSRTAUDIO_BUFFER_PROPERTY 结构会将缓冲区基址和请求的缓冲区大小追加到 KSPROPERTY 结构。 客户端使用此结构通过 KSPROPERTY_RTAUDIO_BUFFER 请求分配音频缓冲区。

语法

typedef struct {
  KSPROPERTY Property;
  PVOID      BaseAddress;
  ULONG      RequestedBufferSize;
} KSRTAUDIO_BUFFER_PROPERTY, *PKSRTAUDIO_BUFFER_PROPERTY;

成员

属性
客户端在调用 KSPROPERTY_RTAUDIO_BUFFER 之前适当初始化的 KSPROPERTY 结构。

BaseAddress
指定所需的缓冲区基址。 除非客户端指定基址,否则将此参数设置为 NULL

RequestedBufferSize
指定所需的缓冲区大小(以字节为单位)。 驱动程序在返回的 KSRTAUDIO_BUFFER 结构中返回分配的缓冲区的实际大小。

注解

KSPROPERTY_RTAUDIO_BUFFER 请求使用 KSRTAUDIO_BUFFER_PROPERTY 结构来描述客户端请求的循环缓冲区。 驱动程序返回 KSRTAUDIO_BUFFER 结构,用于描述实际分配的缓冲区。

客户端写入 RequestedBufferSize 成员的值未在驱动程序上绑定。 但是,驱动程序必须指定尽可能接近所请求大小的缓冲区大小,同时考虑驱动程序本身的缓冲区大小约束。 如果硬件无法处理请求的大小或系统内存不足,驱动程序会分配大小不同的缓冲区。 例如,驱动程序分配的缓冲区不小于内存页,或者将缓冲区大小向下舍入到下一个整个示例块。 此外,如果系统内存不足,驱动程序会分配小于所请求大小的缓冲区。

要求

版本

适用于 Windows Vista 及更高版本的 Windows 操作系统。

标头

Ksmedia.h