funzione acmStreamConvert (msacm.h)
La funzione acmStreamConvert richiede all'ACM di eseguire una conversione nel flusso di conversione specificato. Una conversione può essere sincrona o asincrona, a seconda della modalità di apertura del flusso.
Sintassi
MMRESULT ACMAPI acmStreamConvert(
HACMSTREAM has,
LPACMSTREAMHEADER pash,
DWORD fdwConvert
);
Parametri
has
Gestire il flusso di conversione aperto.
pash
Puntatore a un'intestazione di flusso che descrive i buffer di origine e di destinazione per una conversione. Questa intestazione deve essere stata preparata in precedenza usando la funzione acmStreamPrepareHeader .
fdwConvert
Flag per eseguire la conversione. I valori seguenti sono definiti.
Valore | Significato |
---|---|
ACM_STREAMCONVERTF_BLOCKALIGN | Verranno convertiti solo numeri integrali di blocchi. I dati convertiti terminano sui limiti allineati a blocchi. Un'applicazione deve usare questo flag per tutte le conversioni in un flusso fino a quando non sono presenti dati di origine sufficienti per la conversione in una destinazione allineata a blocchi. In questo caso, l'ultima conversione deve essere specificata senza questo flag. |
ACM_STREAMCONVERTF_END | Il flusso di conversione ACM deve iniziare a restituire i dati dell'istanza in sospeso. Ad esempio, se un flusso di conversione contiene dati di istanza, ad esempio la fine di un'operazione di filtro echo, questo flag causerà che il flusso inizi a restituire questi dati rimanenti con dati di origine facoltativi. Questo flag può essere specificato con il flag di ACM_STREAMCONVERTF_START. |
ACM_STREAMCONVERTF_START | Il flusso di conversione di ACM deve reinizializzare i dati dell'istanza. Ad esempio, se un flusso di conversione contiene dati di istanza, ad esempio informazioni delta o predictor, questo flag ripristina il flusso per avviare le impostazioni predefinite. Questo flag può essere specificato con il flag ACM_STREAMCONVERTF_END. |
Valore restituito
Restituisce zero se ha esito positivo o un errore in caso contrario. I valori di errore possibili includono quanto segue.
Codice restituito | Descrizione |
---|---|
|
L'intestazione di flusso specificata in pash è attualmente in uso e non può essere riutilizzata. |
|
L'intestazione di flusso specificata in pash non è attualmente preparata dalla funzione acmStreamPrepareHeader . |
|
Almeno un flag non è valido. |
|
L'handle specificato non è valido. |
|
Almeno un parametro non è valido. |
Commenti
È necessario usare la funzione acmStreamPrepareHeader per preparare i buffer di origine e di destinazione prima che vengano passati a acmStreamConvert.
Se una richiesta di conversione asincrona viene accodata correttamente dall'ACM o dal driver e la conversione viene determinata in un secondo momento come impossibile, la struttura ACMSTREAMHEADER viene pubblicata alla funzione di callback dell'applicazione con il membro cbDstLengthUsed impostato su zero.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | msacm.h |
Libreria | Msacm32.lib |
DLL | Msacm32.dll |