Compartilhar via


Estrutura ACMSTREAMHEADER (msacm.h)

A estrutura ACMSTREAMHEADER define o cabeçalho usado para identificar um par de buffers de origem e de destino de conversão do ACM para um fluxo de conversão.

Sintaxe

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;

Membros

cbStruct

Tamanho, em bytes, da estrutura ACMSTREAMHEADER . Esse membro deve ser inicializado antes que o aplicativo chame qualquer função de fluxo do ACM usando essa estrutura. O tamanho especificado neste membro deve ser grande o suficiente para conter a estrutura base ACMSTREAMHEADER .

fdwStatus

Sinalizadores que dão informações sobre os buffers de conversão. Esse membro deve ser inicializado como zero antes que o aplicativo chame a função acmStreamPrepareHeader e não deve ser modificado pelo aplicativo enquanto o cabeçalho do fluxo permanece preparado.

Nome Descrição
ACMSTREAMHEADER_STATUSF_DONE
Definido pelo ACM ou driver para indicar que ele foi concluído com a conversão e está retornando os buffers para o aplicativo.
ACMSTREAMHEADER_STATUSF_INQUEUE
Definido pelo ACM ou driver para indicar que os buffers estão na fila para conversão.
ACMSTREAMHEADER_STATUSF_PREPARED
Definido pelo ACM para indicar que os buffers foram preparados usando a função acmStreamPrepareHeader .

dwUser

Dados do usuário. Isso pode ser qualquer dado de instância especificado pelo aplicativo.

pbSrc

Ponteiro para o buffer de origem. Esse ponteiro sempre deve se referir ao mesmo local enquanto o cabeçalho do fluxo permanece preparado. Se um aplicativo precisar alterar o local de origem, ele deverá despreparar o cabeçalho e reprepare-o com o local alternativo.

cbSrcLength

Comprimento, em bytes, do buffer de origem apontado por pbSrc. Quando o cabeçalho estiver preparado, esse membro deverá especificar o tamanho máximo que será usado no buffer de origem. As conversões podem ser executadas em comprimentos de origem menores ou iguais ao tamanho original preparado. No entanto, esse membro deve ser redefinido para o tamanho original quando um aplicativo desprepara o cabeçalho.

cbSrcLengthUsed

Quantidade de dados, em bytes, usados para a conversão. Esse membro não é válido até que a conversão seja concluída. Esse valor pode ser menor ou igual a cbSrcLength. Um aplicativo deve usar o membro cbSrcLengthUsed ao avançar para a próxima parte dos dados de origem para o fluxo de conversão.

dwSrcUser

Dados do usuário. Isso pode ser qualquer dado de instância especificado pelo aplicativo.

pbDst

Ponteiro para o buffer de destino. Esse ponteiro sempre deve se referir ao mesmo local enquanto o cabeçalho do fluxo permanece preparado. Se um aplicativo precisar alterar o local de destino, ele deverá despreparar o cabeçalho e reprepare-o com o local alternativo.

cbDstLength

Comprimento, em bytes, do buffer de destino apontado por pbDst. Quando o cabeçalho estiver preparado, esse membro deverá especificar o tamanho máximo que será usado no buffer de destino.

cbDstLengthUsed

Quantidade de dados, em bytes, retornados por uma conversão. Esse membro não é válido até que a conversão seja concluída. Esse valor pode ser menor ou igual a cbDstLength. Um aplicativo deve usar o membro cbDstLengthUsed ao avançar para o próximo local de destino para o fluxo de conversão.

dwDstUser

Dados do usuário. Isso pode ser qualquer dado de instância especificado pelo aplicativo.

dwReservedDriver[_DRVRESERVED]

Reservado; não use. Esse membro não requer nenhuma inicialização pelo aplicativo e nunca deve ser modificado enquanto o cabeçalho permanece preparado.

Comentários

Antes que uma estrutura ACMSTREAMHEADER possa ser usada para uma conversão, ela deve ser preparada usando a função acmStreamPrepareHeader . Quando um aplicativo é concluído com uma estrutura ACMSTREAMHEADER , ele deve chamar a função acmStreamUnprepareHeader antes de liberar os buffers de origem e destino.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho msacm.h

Confira também

Gerenciador de Compactação de Áudio

Estruturas de compactação de áudio

acmStreamPrepareHeader

acmStreamUnprepareHeader