Partager via


Structure MIXERCONTROLDETAILS (mmeapi.h)

La structure MIXERCONTROLDETAILS fait référence à des structures de détails de contrôle, qui récupèrent ou définissent les informations d’état d’un contrôle de mixage audio. Tous les membres de cette structure doivent être initialisés avant d’appeler les fonctions mixerGetControlDetails et mixerSetControlDetails .

Syntaxe

typedef struct tMIXERCONTROLDETAILS {
  DWORD  cbStruct;
  DWORD  dwControlID;
  DWORD  cChannels;
  union {
    HWND  hwndOwner;
    DWORD cMultipleItems;
  } DUMMYUNIONNAME;
  DWORD  cbDetails;
  LPVOID paDetails;
} MIXERCONTROLDETAILS, *PMIXERCONTROLDETAILS, *LPMIXERCONTROLDETAILS;

Membres

cbStruct

Taille, en octets, de la structure MIXERCONTROLDETAILS . La taille doit être suffisamment grande pour contenir la structure MIXERCONTROLDETAILS de base. Lorsque mixerGetControlDetails retourne, ce membre contient la taille réelle des informations retournées. Les informations retournées ne dépasseront pas la taille demandée et ne seront pas plus petites que la structure MIXERCONTROLDETAILS de base.

dwControlID

Identificateur de contrôle sur lequel obtenir ou définir des propriétés.

cChannels

Nombre de canaux sur lesquels obtenir ou définir des propriétés de contrôle. Les valeurs suivantes sont définies :

Nom Description
0
Utilisez cette valeur lorsque le contrôle est un contrôle MIXERCONTROL_CONTROLTYPE_CUSTOM.
1
Utilisez cette valeur lorsque le contrôle est un contrôle MIXERCONTROL_CONTROLF_UNIFORM ou lorsqu’une application doit obtenir et définir tous les canaux comme s’ils étaient uniformes.
MIXERLINE cChannels
Utilisez cette valeur lorsque les propriétés du contrôle sont attendues sur tous les canaux d’une ligne.
 

Une application ne peut pas spécifier une valeur comprise entre 1 et le nombre de canaux pour la ligne audio. Par exemple, la spécification de 2 ou 3 pour une ligne à quatre canaux n’est pas valide. Ce membre ne peut pas être 0 pour les types de contrôle non habitués.

Ce membre ne peut pas être 0 pour les types de contrôle non habitués.

DUMMYUNIONNAME

DUMMYUNIONNAME.hwndOwner

Gérez la fenêtre qui possède une boîte de dialogue personnalisée pour un contrôle mixer. Ce membre est utilisé lorsque l’indicateur MIXER_SETCONTROLDETAILSF_CUSTOM est spécifié dans la fonction mixerSetControlDetails .

DUMMYUNIONNAME.cMultipleItems

Nombre de plusieurs éléments par canal sur lesquels obtenir ou définir des propriétés. Les valeurs suivantes sont définies :

Nom Description
0
Utilisez cette valeur pour tous les contrôles, à l’exception d’un contrôle MIXERCONTROL_CONTROLF_MULTIPLE ou d’un contrôle MIXERCONTROL_CONTROLTYPE_CUSTOM.
MEMBRE MIXERCONTROL cMultipleItems
Utilisez cette valeur lorsque la classe de contrôle est MIXERCONTROL_CONTROLF_MULTIPLE.
MEMBRE MIXERCONTROLDETAILS hwndOwner
Utilisez cette valeur lorsque le contrôle est un contrôle MIXERCONTROL_CONTROLTYPE_CUSTOM et que l’indicateur MIXER_SETCONTROLDETAILSF_CUSTOM est spécifié pour la fonction mixerSetControlDetails.

Dans ce cas, le membre hwndOwner chevauche cMultipleItems, en fournissant la valeur du handle de fenêtre.

 

Lorsque vous utilisez un contrôle MIXERCONTROL_CONTROLTYPE_CUSTOM sans l’indicateur MIXERCONTROL_CONTROLTYPE_CUSTOM, spécifiez zéro pour ce membre.

Une application ne peut spécifier aucune valeur autre que la valeur spécifiée dans le membre cMultipleItems de la structure MIXERCONTROL pour un contrôle MIXERCONTROL_CONTROLF_MULTIPLE.

cbDetails

Taille, en octets, de l’une des structures de détails suivantes utilisées :

Nom Description
MIXERCONTROLDETAILS_BOOLEAN
Valeur booléenne pour un contrôle de ligne audio.
MIXERCONTROLDETAILS_LISTTEXT
Répertorier la mémoire tampon de texte pour un contrôle de ligne audio. Pour plus d’informations sur la structure de détails appropriée pour un contrôle spécifique, consultez Types de contrôles.
MIXERCONTROLDETAILS_SIGNED
Valeur signée pour un contrôle de ligne audio.
MIXERCONTROLDETAILS_UNSIGNED
Valeur non signée pour un contrôle de ligne audio.

paDetails

Pointeur vers un tableau d’une ou plusieurs structures dans lesquelles les propriétés du contrôle spécifié sont récupérées ou définies.

Pour MIXERCONTROL_CONTROLF_MULTIPLE contrôles, la taille de cette mémoire tampon doit être le produit des membres cChannels, cMultipleItems et cbDetails de la structure MIXERCONTROLDETAILS . Pour les contrôles autres que MIXERCONTROL_CONTROLF_MULTIPLE types, la taille de cette mémoire tampon est le produit des membres cChannels et cbDetails de la structure MIXERCONTROLDETAILS .

Pour les contrôles autres que MIXERCONTROL_CONTROLF_MULTIPLE types, la taille de cette mémoire tampon est le produit des membres cChannels et cbDetails de la structure MIXERCONTROLDETAILS . Pour les contrôles autres que MIXERCONTROL_CONTROLF_MULTIPLE types, la taille de cette mémoire tampon est le produit des membres cChannels et cbDetails de la structure MIXERCONTROLDETAILS .

Pour les contrôles qui sont MIXERCONTROL_CONTROLF_MULTIPLE types, le tableau peut être traité comme un tableau à deux dimensions qui est canal majeur. Autrement dit, tous les éléments multiples du canal de gauche sont donnés, puis tous les éléments multiples pour le canal droit, et ainsi de suite.

Pour les contrôles autres que MIXERCONTROL_CONTROLF_MULTIPLE types, chaque index d’élément équivaut au canal de base zéro qu’il affecte. Autrement dit, paDetails[0] est pour le canal gauche et paDetails[1] est pour le canal droit.

Si le contrôle est un contrôle MIXERCONTROL_CONTROLTYPE_CUSTOM, ce membre doit pointer vers une mémoire tampon suffisamment grande pour contenir la taille, en octets, spécifiée par le membre cbCustomData de la structure MIXERCONTROL.

Configuration requise

Condition requise Valeur
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 mmeapi.h

Voir aussi

Structures de mixage audio

Mixeurs audio

MIXERCONTROL

mixerGetControlDetails

mixerSetControlDetails