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

Структура ACMSTREAMHEADER определяет заголовок, используемый для идентификации пары источника преобразования ACM и буфера назначения для потока преобразования.

Синтаксис

typedef struct tACMSTREAMHEADER {
  DWORD     cbStruct;
  DWORD     fdwStatus;
  DWORD_PTR dwUser;
  LPBYTE    pbSrc;
  DWORD     cbSrcLength;
  DWORD     cbSrcLengthUsed;
  DWORD_PTR dwSrcUser;
  LPBYTE    pbDst;
  DWORD     cbDstLength;
  DWORD     cbDstLengthUsed;
  DWORD_PTR dwDstUser;
  DWORD     dwReservedDriver[_DRVRESERVED];
} ACMSTREAMHEADER, *PACMSTREAMHEADER, *LPACMSTREAMHEADER;

Члены

cbStruct

Размер структуры ACMSTREAMHEADER в байтах. Этот элемент должен быть инициализирован перед тем, как приложение вызовет любые функции потока ACM с помощью этой структуры. Размер, указанный в этом элементе, должен быть достаточно большим, чтобы содержать базовую структуру ACMSTREAMHEADER .

fdwStatus

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

Имя Описание
ACMSTREAMHEADER_STATUSF_DONE
Устанавливается ACM или драйвером, чтобы указать, что оно завершено с преобразованием и возвращает буферы в приложение.
ACMSTREAMHEADER_STATUSF_INQUEUE
Задается ACM или драйвером, чтобы указать, что буферы поставлены в очередь для преобразования.
ACMSTREAMHEADER_STATUSF_PREPARED
Задается ACM, чтобы указать, что буферы были подготовлены с помощью функции acmStreamPrepareHeader .

dwUser

Пользовательские данные. Это могут быть любые данные экземпляра, указанные приложением.

pbSrc

Указатель на исходный буфер. Этот указатель всегда должен ссылаться на одно и то же расположение, пока заголовок потока остается подготовленным. Если приложению необходимо изменить исходное расположение, оно должно отменить настройку заголовка и перенаправлять его с помощью альтернативного расположения.

cbSrcLength

Длина исходного буфера, на который указывает pbSrc, в байтах. При подготовке заголовка этот элемент должен указать максимальный размер, который будет использоваться в исходном буфере. Преобразования могут выполняться для исходной длины, меньшей или равной исходному подготовленному размеру. Однако этот элемент должен быть сброшен до исходного размера, когда приложение не подготовляет заголовок.

cbSrcLengthUsed

Объем данных в байтах, используемых для преобразования. Этот элемент будет недопустим до завершения преобразования. Это значение может быть меньше или равно cbSrcLength. Приложение должно использовать элемент cbSrcLengthUsed при переходе к следующему фрагменту исходных данных для потока преобразования.

dwSrcUser

Пользовательские данные. Это могут быть любые данные экземпляра, указанные приложением.

pbDst

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

cbDstLength

Длина в байтах буфера назначения, на который указывает pbDst. При подготовке заголовка этот элемент должен указать максимальный размер, который будет использоваться в буфере назначения.

cbDstLengthUsed

Объем данных в байтах, возвращаемых преобразованием. Этот элемент будет недопустим до завершения преобразования. Это значение может быть меньше или равно cbDstLength. Приложение должно использовать элемент cbDstLengthUsed при переходе к следующему целевому расположению для потока преобразования.

dwDstUser

Пользовательские данные. Это могут быть любые данные экземпляра, указанные приложением.

dwReservedDriver[_DRVRESERVED]

Защищены; не использовать. Этот элемент не требует инициализации приложением и никогда не должен изменяться, пока заголовок остается готовым.

Комментарии

Перед использованием структуры ACMSTREAMHEADER для преобразования ее необходимо подготовить с помощью функции acmStreamPrepareHeader . После завершения работы приложения со структурой ACMSTREAMHEADER оно должно вызвать функцию acmStreamUnprepareHeader перед освобождением исходного и целевого буферов.

Требования

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

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

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

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

acmStreamPrepareHeader

acmStreamUnprepareHeader