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


Структура ACMFILTERDETAILS (msacm.h)

В структуре ACMFILTERDETAILS подробно описан фильтр waveform-audio для определенного тега фильтра для драйвера ACM.

Синтаксис

typedef struct tACMFILTERDETAILS {
  DWORD        cbStruct;
  DWORD        dwFilterIndex;
  DWORD        dwFilterTag;
  DWORD        fdwSupport;
  LPWAVEFILTER pwfltr;
  DWORD        cbwfltr;
  char         szFilter[ACMFILTERDETAILS_FILTER_CHARS];
} ACMFILTERDETAILS, *PACMFILTERDETAILS, *LPACMFILTERDETAILS;

Члены

cbStruct

Размер структуры ACMFILTERDETAILS в байтах . Этот элемент необходимо инициализировать перед вызовом функций acmFilterDetails или acmFilterEnum . Размер, указанный в этом элементе, должен быть достаточно большим, чтобы содержать базовую структуру ACMFILTERDETAILS . При возвращении функции acmFilterDetails этот элемент содержит фактический размер возвращаемых сведений. Возвращаемые сведения никогда не будут превышать запрошенный размер.

dwFilterIndex

Индекс фильтра, сведения о котором будут получены. Индекс в диапазоне от нуля до единицы меньше, чем количество стандартных фильтров, поддерживаемых драйвером ACM для тега фильтра. Число стандартных фильтров, поддерживаемых драйвером для тега фильтра, содержится в структуре ACMFILTERTAGDETAILS . Член dwFilterIndex используется только при запросе сведений стандартного фильтра о драйвере по индексу; В противном случае этот элемент должен быть равен нулю. Кроме того, ACM установит для этого элемента значение 0, когда приложение запрашивает подробные сведения о фильтре; Другими словами, этот элемент используется только для ввода и никогда не возвращается драйвером ACM или ACM.

dwFilterTag

Тег фильтра Waveform-audio, описывающий структуру ACMFILTERDETAILS . Этот элемент используется в качестве входных данных для флага запроса ACM_FILTERDETAILSF_INDEX. Для флага запроса ACM_FILTERDETAILSF_FORMAT этот элемент должен быть инициализирован с тем же тегом фильтра, что и элемент pwfltr . Если функция acmFilterDetails выполнена успешно, этот элемент всегда возвращается. Для этого элемента должно быть задано значение WAVE_FILTER_UNKNOWN для всех остальных флагов запроса.

fdwSupport

Флаги поддержки драйверов, относящиеся к указанному фильтру. Эти флаги идентичны структуре ACMDRIVERDETAILS , но они относятся к фильтру, к которому выполняется запрос. Этот элемент может быть сочетанием следующих значений и определяет, какие операции драйвер поддерживает для тега фильтра:

Имя Описание
ACMDRIVERDETAILS_SUPPORTF_ASYNC
Драйвер поддерживает асинхронные преобразования.
ACMDRIVERDETAILS_SUPPORTF_CODEC
Драйвер поддерживает преобразование между двумя различными тегами формата при использовании указанного фильтра. Например, если драйвер поддерживает сжатие из WAVE_FORMAT_PCM в WAVE_FORMAT_ADPCM с указанным фильтром, этот флаг устанавливается.
ACMDRIVERDETAILS_SUPPORTF_CONVERTER
Драйвер поддерживает преобразование между двумя разными форматами одного и того же тега формата при использовании указанного фильтра. Например, если драйвер поддерживает повторную выборку WAVE_FORMAT_PCM с указанным фильтром, этот флаг устанавливается.
ACMDRIVERDETAILS_SUPPORTF_FILTER
Драйвер поддерживает фильтр (изменение данных без изменения атрибутов формата). Например, если драйвер поддерживает операции тома или эха в WAVE_FORMAT_PCM, этот флаг устанавливается.
ACMDRIVERDETAILS_SUPPORTF_HARDWARE
Драйвер поддерживает аппаратные входные и выходные данные с указанным фильтром через устройство waveform-audio. Приложение должно использовать функцию acmMetrics с индексами ACM_METRIC_HARDWARE_WAVE_INPUT и ACM_METRIC_HARDWARE_WAVE_OUTPUT метрик для получения идентификаторов устройств waveform-audio, связанных с поддерживающим драйвером ACM.

pwfltr

Указатель на структуру WAVEFILTER , которая будет получать сведения о фильтре. Эта структура не требует инициализации приложением, если только флаг ACM_FILTERDETAILSF_FILTER не указан с помощью функции acmFilterDetails . В этом случае член dwFilterTag структуры WAVEFILTER должен быть равен члену dwFilterTag структуры ACMFILTERDETAILS .

cbwfltr

Размер в байтах, доступный для pwfltr для получения сведений о фильтре. Функции acmMetrics и acmFilterTagDetails можно использовать для определения максимального размера, необходимого для любого фильтра, доступного для указанного драйвера (или для всех установленных драйверов ACM).

szFilter[ACMFILTERDETAILS_FILTER_CHARS]

Строка, описывающая фильтр для типа dwFilterTag . Если функция acmFilterDetails выполнена успешно, эта строка всегда возвращается.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть msacm.h

См. также раздел

ACMDRIVERDETAILS

ACMFILTERTAGDETAILS

Диспетчер сжатия аудио

Структуры сжатия звука

WAVEFILTER

acmFilterDetails

acmFilterEnum

acmFilterTagDetails

acmMetrics