Partager via


Structure ACMSTREAMHEADER (msacm.h)

La structure ACMSTREAMHEADER définit l’en-tête utilisé pour identifier une paire source de conversion ACM et mémoire tampon de destination pour un flux de conversion.

Syntaxe

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;

Membres

cbStruct

Taille, en octets, de la structure ACMSTREAMHEADER . Ce membre doit être initialisé avant que l’application appelle toutes les fonctions de flux ACM à l’aide de cette structure. La taille spécifiée dans ce membre doit être suffisamment grande pour contenir la structure ACMSTREAMHEADER de base.

fdwStatus

Indicateurs donnant des informations sur les mémoires tampons de conversion. Ce membre doit être initialisé à zéro avant que l’application appelle la fonction acmStreamPrepareHeader et ne doit pas être modifié par l’application tant que l’en-tête de flux reste préparé.

Name Description
ACMSTREAMHEADER_STATUSF_DONE
Défini par l’ACM ou le pilote pour indiquer qu’il a terminé la conversion et retourne les mémoires tampons à l’application.
ACMSTREAMHEADER_STATUSF_INQUEUE
Défini par l’ACM ou le pilote pour indiquer que les mémoires tampons sont mises en file d’attente pour la conversion.
ACMSTREAMHEADER_STATUSF_PREPARED
Défini par aCM pour indiquer que les mémoires tampons ont été préparées à l’aide de la fonction acmStreamPrepareHeader .

dwUser

Données utilisateur. Il peut s’agir de n’importe quelle instance données spécifiées par l’application.

pbSrc

Pointeur vers la mémoire tampon source. Ce pointeur doit toujours faire référence au même emplacement tant que l’en-tête de flux reste préparé. Si une application doit modifier l’emplacement source, elle doit annuler la préparation de l’en-tête et la préparer à nouveau avec l’autre emplacement.

cbSrcLength

Longueur, en octets, de la mémoire tampon source pointée vers pbSrc. Lorsque l’en-tête est préparé, ce membre doit spécifier la taille maximale qui sera utilisée dans la mémoire tampon source. Les conversions peuvent être effectuées sur des longueurs de source inférieures ou égales à la taille préparée d’origine. Toutefois, ce membre doit être réinitialisé à la taille d’origine lorsqu’une application annule la préparation de l’en-tête.

cbSrcLengthUsed

Quantité de données, en octets, utilisée pour la conversion. Ce membre n’est pas valide tant que la conversion n’est pas terminée. Cette valeur peut être inférieure ou égale à cbSrcLength. Une application doit utiliser le membre cbSrcLengthUsed lors de l’avancement vers l’élément de données source suivant pour le flux de conversion.

dwSrcUser

Données utilisateur. Il peut s’agir de n’importe quelle instance données spécifiées par l’application.

pbDst

Pointeur vers la mémoire tampon de destination. Ce pointeur doit toujours faire référence au même emplacement tant que l’en-tête de flux reste préparé. Si une application doit modifier l’emplacement de destination, elle doit annuler la préparation de l’en-tête et la préparer à nouveau avec l’autre emplacement.

cbDstLength

Longueur, en octets, de la mémoire tampon de destination pointée par pbDst. Lorsque l’en-tête est préparé, ce membre doit spécifier la taille maximale qui sera utilisée dans la mémoire tampon de destination.

cbDstLengthUsed

Quantité de données, en octets, retournée par une conversion. Ce membre n’est pas valide tant que la conversion n’est pas terminée. Cette valeur peut être inférieure ou égale à cbDstLength. Une application doit utiliser le membre cbDstLengthUsed lors de l’avancement vers l’emplacement de destination suivant pour le flux de conversion.

dwDstUser

Données utilisateur. Il peut s’agir de n’importe quelle instance données spécifiées par l’application.

dwReservedDriver[_DRVRESERVED]

Réservé ; ne pas utiliser. Ce membre ne nécessite aucune initialisation par l’application et ne doit jamais être modifié tant que l’en-tête reste préparé.

Notes

Pour qu’une structure ACMSTREAMHEADER puisse être utilisée pour une conversion, elle doit être préparée à l’aide de la fonction acmStreamPrepareHeader . Lorsqu’une application a terminé une structure ACMSTREAMHEADER , elle doit appeler la fonction acmStreamUnprepareHeader avant de libérer les mémoires tampons source et de destination.

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête msacm.h

Voir aussi

Gestionnaire de compression audio

Audio Compression Structures

acmStreamPrepareHeader

acmStreamUnprepareHeader