структура 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 |