Condividi tramite


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
ACMSTREAMHEADER_STATUSF_DONE
Impostato da ACM o dal driver per indicare che è terminato con la conversione e restituisce i buffer all'applicazione.
ACMSTREAMHEADER_STATUSF_INQUEUE
Impostato da ACM o dal driver per indicare che i buffer vengono accodati per la conversione.
ACMSTREAMHEADER_STATUSF_PREPARED
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

Strutture di compressione audio

acmStreamPrepareHeader

acmStreamUnprepareHeader