Поделиться через


структура 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, которую клиент инициализирует соответствующим образом перед вызовом KSPROPERTY_RTAUDIO_BUFFER.

BaseAddress
Указывает требуемый базовый адрес буфера. Если клиент не указывает базовый адрес, этому параметру присваивается значение NULL.

RequestedBufferSize
Указывает требуемый размер буфера в байтах. Драйвер возвращает фактический размер выделенного буфера в структуре KSRTAUDIO_BUFFER , которую он возвращает.

Комментарии

Запрос KSPROPERTY_RTAUDIO_BUFFER использует структуру KSRTAUDIO_BUFFER_PROPERTY для описания циклического буфера, запрашиваемого клиентом. Драйвер возвращает KSRTAUDIO_BUFFER структуру, описывающую фактически выделенный буфер.

Значение, которое клиент записывает в элемент RequestedBufferSize , не является привязкой к драйверу. Однако драйвер должен указать размер буфера, максимально приближенный к запрошенным, с учетом ограничений размера буфера для самого драйвера. Драйвер выделяет буфер другого размера, если оборудование не может справиться с запрошенным размером или в системе недостаточно памяти. Например, драйвер выделяет буфер не меньше страницы памяти или округляет размер буфера до следующего блока выборки. Кроме того, если в системе недостаточно памяти, драйвер выделяет буфер, который меньше запрошенного размера.

Требования

Версия

Доступно в Операционных системах Windows Vista и более поздних версий.

Заголовок

Ksmedia.h