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

Структура ACMFORMATDETAILS подробно описывает формат waveform-audio для определенного тега формата для драйвера ACM.

Синтаксис

typedef struct tACMFORMATDETAILS {
  DWORD          cbStruct;
  DWORD          dwFormatIndex;
  DWORD          dwFormatTag;
  DWORD          fdwSupport;
  LPWAVEFORMATEX pwfx;
  DWORD          cbwfx;
  char           szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
} ACMFORMATDETAILS, *PACMFORMATDETAILS, *LPACMFORMATDETAILS;

Члены

cbStruct

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

dwFormatIndex

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

dwFormatTag

Тег формата Waveform-audio, описывающий структуру ACMFORMATDETAILS . Этот элемент используется для ввода флага запроса ACM_FORMATDETAILSF_INDEX. Для флага запроса ACM_FORMATDETAILSF_FORMAT этот элемент должен быть инициализирован с тем же тегом формата, что и элемент pwfx . Если вызов функции acmFormatDetails выполнен успешно, этот элемент всегда возвращается. Для этого элемента должно быть задано значение WAVE_FORMAT_UNKNOWN для всех остальных флагов запроса.

fdwSupport

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

Имя Описание
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.

pwfx

Указатель на структуру WAVEFORMATEX , которая будет получать сведения о формате. Эта структура не требует инициализации приложением, если в функции acmFormatDetails не указан флаг ACM_FORMATDETAILSF_FORMAT. В этом случае элемент wFormatTag структуры WAVEFORMATEX должен быть равен dwFormatTag структуры ACMFORMATDETAILS .

cbwfx

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

szFormat[ACMFORMATDETAILS_FORMAT_CHARS]

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

Требования

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

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

ACMDRIVERDETAILS

ACMFORMATTAGDETAILS

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

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

WAVEFORMATEX

acmFormatDetails

acmFormatEnum

acmFormatTagDetails

acmMetrics