Função acmStreamConvert (msacm.h)
A função acmStreamConvert solicita que o ACM execute uma conversão no fluxo de conversão especificado. Uma conversão pode ser síncrona ou assíncrona, dependendo de como o fluxo foi aberto.
Sintaxe
MMRESULT ACMAPI acmStreamConvert(
HACMSTREAM has,
LPACMSTREAMHEADER pash,
DWORD fdwConvert
);
Parâmetros
has
Manipule para o fluxo de conversão aberto.
pash
Ponteiro para um cabeçalho de fluxo que descreve buffers de origem e de destino para uma conversão. Esse cabeçalho deve ter sido preparado anteriormente usando a função acmStreamPrepareHeader .
fdwConvert
Sinalizadores para fazer a conversão. Os valores a seguir são definidos.
Valor | Significado |
---|---|
ACM_STREAMCONVERTF_BLOCKALIGN | Somente números integrais de blocos serão convertidos. Os dados convertidos terminarão em limites alinhados a blocos. Um aplicativo deve usar esse sinalizador para todas as conversões em um fluxo até que não haja dados de origem suficientes para converter em um destino alinhado a blocos. Nesse caso, a última conversão deve ser especificada sem esse sinalizador. |
ACM_STREAMCONVERTF_END | O fluxo de conversão do ACM deve começar a retornar dados de instância pendentes. Por exemplo, se um fluxo de conversão armazenar dados de instância, como o fim de uma operação de filtro de eco, esse sinalizador fará com que o fluxo comece a retornar esses dados restantes com dados opcionais de origem. Esse sinalizador pode ser especificado com o sinalizador ACM_STREAMCONVERTF_START. |
ACM_STREAMCONVERTF_START | O fluxo de conversão do ACM deve reinicializar seus dados de instância. Por exemplo, se um fluxo de conversão armazenar dados de instância, como informações delta ou de preditor, esse sinalizador restaurará o fluxo para os padrões iniciais. Esse sinalizador pode ser especificado com o sinalizador ACM_STREAMCONVERTF_END. |
Valor retornado
Retorna zero se tiver êxito ou um erro de outra forma. Os valores de erro possíveis incluem o seguinte.
Código de retorno | Descrição |
---|---|
|
O cabeçalho de fluxo especificado no pash está atualmente em uso e não pode ser reutilizado. |
|
O cabeçalho de fluxo especificado no pash não está preparado atualmente pela função acmStreamPrepareHeader . |
|
Pelo menos um sinalizador é inválido. |
|
O identificador especificado é inválido. |
|
Pelo menos um parâmetro é inválido. |
Comentários
Você deve usar a função acmStreamPrepareHeader para preparar os buffers de origem e de destino antes que eles sejam passados para acmStreamConvert.
Se uma solicitação de conversão assíncrona for enfileirada com êxito pelo ACM ou driver e a conversão for posteriormente considerada impossível, a estrutura ACMSTREAMHEADER será postada novamente na função de retorno de chamada do aplicativo com o membro cbDstLengthUsed definido como zero.
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] |
Plataforma de Destino | Windows |
Cabeçalho | msacm.h |
Biblioteca | Msacm32.lib |
DLL | Msacm32.dll |