Freigeben über


MIXERCONTROLDETAILS-Struktur (mmeapi.h)

Die MIXERCONTROLDETAILS-Struktur bezieht sich auf Steuerungs-Detail-Strukturen, die Zustandsinformationen eines Audiomixer-Steuerelements abrufen oder festlegen. Alle Member dieser Struktur müssen initialisiert werden, bevor die Funktionen mixerGetControlDetails und mixerSetControlDetails aufgerufen werden.

Syntax

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

Member

cbStruct

Größe der MIXERCONTROLDETAILS-Struktur in Byte. Die Größe muss groß genug sein, um die MIXERCONTROLDETAILS-Basisstruktur zu enthalten. Wenn mixerGetControlDetails zurückgibt, enthält dieses Element die tatsächliche Größe der zurückgegebenen Informationen. Die zurückgegebenen Informationen überschreiten nicht die angeforderte Größe und sind auch nicht kleiner als die MIXERCONTROLDETAILS-Basisstruktur .

dwControlID

Steuern Sie den Bezeichner, für den Eigenschaften abgerufen oder festgelegt werden sollen.

cChannels

Anzahl der Kanäle, für die Steuerelementeigenschaften abgerufen oder festgelegt werden sollen. Die folgenden Werte werden definiert:

Name BESCHREIBUNG
0
Verwenden Sie diesen Wert, wenn das Steuerelement ein MIXERCONTROL_CONTROLTYPE_CUSTOM-Steuerelement ist.
1
Verwenden Sie diesen Wert, wenn das Steuerelement ein MIXERCONTROL_CONTROLF_UNIFORM-Steuerelement ist oder wenn eine Anwendung alle Kanäle abrufen und festlegen muss, als wären sie einheitlich.
MIXERLINE cChannels
Verwenden Sie diesen Wert, wenn die Eigenschaften für das Steuerelement auf allen Kanälen für eine Zeile erwartet werden.
 

Eine Anwendung kann keinen Wert angeben, der zwischen 1 und der Anzahl der Kanäle für die Audiozeile liegt. Beispielsweise ist die Angabe von 2 oder 3 für eine Vierkanalzeile ungültig. Dieser Member darf für nicht benutzerdefinierte Steuerelementtypen nicht 0 sein.

Dieser Member darf für nicht benutzerdefinierte Steuerelementtypen nicht 0 sein.

DUMMYUNIONNAME

DUMMYUNIONNAME.hwndOwner

Handle für das Fenster, das ein benutzerdefiniertes Dialogfeld für ein Mixer-Steuerelement besitzt. Dieses Element wird verwendet, wenn das flag MIXER_SETCONTROLDETAILSF_CUSTOM in der mixerSetControlDetails-Funktion angegeben wird.

DUMMYUNIONNAME.cMultipleItems

Anzahl mehrerer Elemente pro Kanal, für die Eigenschaften abgerufen oder festgelegt werden sollen. Die folgenden Werte werden definiert:

Name BESCHREIBUNG
0
Verwenden Sie diesen Wert für alle Steuerelemente mit Ausnahme eines MIXERCONTROL_CONTROLF_MULTIPLE oder eines MIXERCONTROL_CONTROLTYPE_CUSTOM-Steuerelements.
MIXERCONTROL cMultipleItems-Element
Verwenden Sie diesen Wert, wenn die Steuerelementklasse MIXERCONTROL_CONTROLF_MULTIPLE ist.
MIXERCONTROLDETAILS hwndOwner-Element
Verwenden Sie diesen Wert, wenn das Steuerelement ein MIXERCONTROL_CONTROLTYPE_CUSTOM-Steuerelement ist und das flag MIXER_SETCONTROLDETAILSF_CUSTOM für die mixerSetControlDetails-Funktion angegeben ist.

In diesem Fall überschneidet sich der hwndOwner-Member mit cMultipleItems und stellt den Wert des Fensterhandles bereit.

 

Wenn Sie ein MIXERCONTROL_CONTROLTYPE_CUSTOM-Steuerelement ohne das MIXERCONTROL_CONTROLTYPE_CUSTOM-Flag verwenden, geben Sie null für dieses Element an.

Eine Anwendung kann keinen anderen Wert als den wert angeben, der im cMultipleItems-Member der MIXERCONTROL-Struktur für ein MIXERCONTROL_CONTROLF_MULTIPLE-Steuerelement angegeben ist.

cbDetails

Größe einer der folgenden verwendeten Detailstrukturen in Bytes:

Name BESCHREIBUNG
MIXERCONTROLDETAILS_BOOLEAN
Boolescher Wert für ein Audiozeilensteuerelement.
MIXERCONTROLDETAILS_LISTTEXT
Listentextpuffer für ein Audiozeilensteuerelement. Informationen zur entsprechenden Detailstruktur für ein bestimmtes Steuerelement finden Sie unter Steuerelementtypen.
MIXERCONTROLDETAILS_SIGNED
Signierter Wert für ein Audiozeilensteuerelement.
MIXERCONTROLDETAILS_UNSIGNED
Wert ohne Vorzeichen für ein Audiozeilensteuerelement.

paDetails

Zeiger auf ein Array mit mindestens einer Struktur, in der Eigenschaften für das angegebene Steuerelement abgerufen oder festgelegt werden.

Bei MIXERCONTROL_CONTROLF_MULTIPLE-Steuerelementen sollte die Größe dieses Puffers das Produkt der Elemente cChannels, cMultipleItems und cbDetails der MIXERCONTROLDETAILS-Struktur sein. Bei anderen Steuerelementen als MIXERCONTROL_CONTROLF_MULTIPLE-Typen ist die Größe dieses Puffers das Produkt der Elemente cChannels und cbDetails der MIXERCONTROLDETAILS-Struktur .

Bei anderen Steuerelementen als MIXERCONTROL_CONTROLF_MULTIPLE-Typen ist die Größe dieses Puffers das Produkt der Elemente cChannels und cbDetails der MIXERCONTROLDETAILS-Struktur . Bei anderen Steuerelementen als MIXERCONTROL_CONTROLF_MULTIPLE-Typen ist die Größe dieses Puffers das Produkt der Elemente cChannels und cbDetails der MIXERCONTROLDETAILS-Struktur .

Bei Steuerelementen, die MIXERCONTROL_CONTROLF_MULTIPLE Typen sind, kann das Array als zweidimensionales Array behandelt werden, das kanal major ist. Das heißt, alle elemente für den linken Kanal werden angegeben, dann alle mehrere Elemente für den rechten Kanal usw.

Bei anderen Steuerelementen als MIXERCONTROL_CONTROLF_MULTIPLE-Typen entspricht jeder Elementindex dem nullbasierten Kanal, auf den er sich auswirkt. Das heißt, paDetails[0] ist für den linken Kanal und paDetails[1] für den rechten Kanal.

Wenn es sich bei dem Steuerelement um ein MIXERCONTROL_CONTROLTYPE_CUSTOM-Steuerelement handelt, muss dieses Element auf einen Puffer verweisen, der mindestens groß genug ist, um die größe in Byte zu enthalten, die vom cbCustomData-Member der MIXERCONTROL-Struktur angegeben wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile mmeapi.h

Weitere Informationen

Audiomixerstrukturen

Audiomixer

MIXERCONTROL

mixerGetControlDetails

mixerSetControlDetails