Struttura ACMSTREAMHEADER (msacm.h)
La struttura ACMSTREAMHEADER definisce l'intestazione usata per identificare un'origine di conversione ACM e una coppia di buffer di destinazione per un flusso di conversione.
Sintassi
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;
Members
cbStruct
Dimensioni, in byte, della struttura ACMSTREAMHEADER . Questo membro deve essere inizializzato prima che l'applicazione chiami tutte le funzioni del flusso ACM usando questa struttura. Le dimensioni specificate in questo membro devono essere sufficienti per contenere la struttura ACMSTREAMHEADER di base.
fdwStatus
Flag che contengono informazioni sui buffer di conversione. Questo membro deve essere inizializzato su zero prima che l'applicazione chiami la funzione acmStreamPrepareHeader e non deve essere modificata dall'applicazione mentre l'intestazione del flusso rimane preparata.
Nome | Descrizione |
---|---|
|
Impostato da ACM o dal driver per indicare che è terminato con la conversione e restituisce i buffer all'applicazione. |
|
Impostato da ACM o dal driver per indicare che i buffer vengono accodati per la conversione. |
|
Impostato da ACM per indicare che i buffer sono stati preparati usando la funzione acmStreamPrepareHeader . |
dwUser
Dati utente. Può trattarsi di qualsiasi dato di istanza specificato dall'applicazione.
pbSrc
Puntatore al buffer di origine. Questo puntatore deve sempre fare riferimento alla stessa posizione mentre l'intestazione del flusso rimane preparata. Se un'applicazione deve modificare il percorso di origine, deve annullare la preparazione dell'intestazione e replicarla con il percorso alternativo.
cbSrcLength
Lunghezza, in byte, del buffer di origine a cui punta pbSrc. Quando l'intestazione viene preparata, questo membro deve specificare la dimensione massima che verrà utilizzata nel buffer di origine. Le conversioni possono essere eseguite su lunghezze di origine minori o uguali alle dimensioni preparate originali. Tuttavia, questo membro deve essere reimpostato sulle dimensioni originali quando un'applicazione annulla la preparazione dell'intestazione.
cbSrcLengthUsed
Quantità di dati, in byte, utilizzata per la conversione. Questo membro non è valido fino al completamento della conversione. Questo valore può essere minore o uguale a cbSrcLength. Un'applicazione deve usare il membro cbSrcLengthUsed quando si avanza alla parte successiva dei dati di origine per il flusso di conversione.
dwSrcUser
Dati utente. Può trattarsi di qualsiasi dato di istanza specificato dall'applicazione.
pbDst
Puntatore al buffer di destinazione. Questo puntatore deve sempre fare riferimento alla stessa posizione mentre l'intestazione del flusso rimane preparata. Se un'applicazione deve modificare il percorso di destinazione, deve annullare la preparazione dell'intestazione e replicarla con il percorso alternativo.
cbDstLength
Lunghezza, in byte, del buffer di destinazione a cui punta pbDst. Quando l'intestazione viene preparata, questo membro deve specificare le dimensioni massime che verranno usate nel buffer di destinazione.
cbDstLengthUsed
Quantità di dati, in byte, restituita da una conversione. Questo membro non è valido fino al completamento della conversione. Questo valore può essere minore o uguale a cbDstLength. Un'applicazione deve usare il membro cbDstLengthUsed quando si avanza nella posizione di destinazione successiva per il flusso di conversione.
dwDstUser
Dati utente. Può trattarsi di qualsiasi dato di istanza specificato dall'applicazione.
dwReservedDriver[_DRVRESERVED]
Riservati; non usare. Questo membro non richiede l'inizializzazione dell'applicazione e non deve mai essere modificato mentre l'intestazione rimane preparata.
Commenti
Prima di poter usare una struttura ACMSTREAMHEADER per una conversione, è necessario prepararla usando la funzione acmStreamPrepareHeader . Quando un'applicazione viene completata con una struttura ACMSTREAMHEADER , deve chiamare la funzione acmStreamUnprepareHeader prima di liberare i buffer di origine e di destinazione.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Intestazione | msacm.h |
Vedi anche
Gestione compressione audio