Condividi tramite


Struttura MIXERCONTROLDETAILS (mmeapi.h)

La struttura MIXERCONTROLDETAILS fa riferimento a strutture di dettaglio del controllo, recupero o impostazione delle informazioni sullo stato di un controllo mixer audio. Tutti i membri di questa struttura devono essere inizializzati prima di chiamare le funzioni mixerGetControlDetails e mixerSetControlDetails .

Sintassi

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

Members

cbStruct

Dimensioni, in byte, della struttura MIXERCONTROLDETAILS . Le dimensioni devono essere sufficienti per contenere la struttura MIXERCONTROLDETAILS di base. Quando viene restituito mixerGetControlDetails , questo membro contiene le dimensioni effettive delle informazioni restituite. Le informazioni restituite non supereranno le dimensioni richieste, né saranno inferiori alla struttura MIXERCONTROLDETAILS di base.

dwControlID

Identificatore di controllo su cui ottenere o impostare le proprietà.

cChannels

Numero di canali in cui ottenere o impostare le proprietà del controllo. Vengono definiti i valori seguenti:

Nome Descrizione
0
Utilizzare questo valore quando il controllo è un controllo MIXERCONTROL_CONTROLTYPE_CUSTOM.
1
Usare questo valore quando il controllo è un controllo MIXERCONTROL_CONTROLF_UNIFORM o quando un'applicazione deve ottenere e impostare tutti i canali come se fossero uniformi.
MixerLINE cChannels
Utilizzare questo valore quando le proprietà per il controllo sono previste in tutti i canali per una riga.
 

Un'applicazione non può specificare un valore compreso tra 1 e il numero di canali per la linea audio. Ad esempio, la specifica di 2 o 3 per una riga a quattro canali non è valida. Questo membro non può essere 0 per i tipi di controllo non personalizzati.

Questo membro non può essere 0 per i tipi di controllo non personalizzati.

DUMMYUNIONNAME

DUMMYUNIONNAME.hwndOwner

Handle per la finestra proprietaria di una finestra di dialogo personalizzata per un controllo mixer. Questo membro viene usato quando il flag MIXER_SETCONTROLDETAILSF_CUSTOM viene specificato nella funzione mixerSetControlDetails .

DUMMYUNIONNAME.cMultipleItems

Numero di più elementi per canale in cui ottenere o impostare le proprietà. Vengono definiti i valori seguenti:

Nome Descrizione
0
Utilizzare questo valore per tutti i controlli ad eccezione di un MIXERCONTROL_CONTROLF_MULTIPLE o di un controllo MIXERCONTROL_CONTROLTYPE_CUSTOM.
Membro MIXERCONTROL cMultipleItems
Usare questo valore quando la classe del controllo è MIXERCONTROL_CONTROLF_MULTIPLE.
Membro mixerCONTROLDETAILS hwndOwner
Utilizzare questo valore quando il controllo è un controllo MIXERCONTROL_CONTROLTYPE_CUSTOM e il flag MIXER_SETCONTROLDETAILSF_CUSTOM viene specificato per la funzione mixerSetControlDetails.

In questo caso, il membro hwndOwner si sovrappone a cMultipleItems, fornendo il valore dell'handle di finestra.

 

Quando si usa un controllo MIXERCONTROL_CONTROLTYPE_CUSTOM senza il flag MIXERCONTROL_CONTROLTYPE_CUSTOM, specificare zero per questo membro.

Un'applicazione non può specificare alcun valore diverso dal valore specificato nel membro cMultipleItems della struttura MIXERCONTROL per un controllo MIXERCONTROL_CONTROLF_MULTIPLE.

cbDetails

Dimensioni, in byte, di una delle strutture di dettagli seguenti usate:

Nome Descrizione
MIXERCONTROLDETAILS_BOOLEAN
Valore booleano per un controllo linea audio.
MIXERCONTROLDETAILS_LISTTEXT
Elencare il buffer di testo per un controllo linea audio. Per informazioni sulla struttura dei dettagli appropriata per un controllo specifico, vedere Tipi di controllo.
MIXERCONTROLDETAILS_SIGNED
Valore firmato per un controllo linea audio.
MIXERCONTROLDETAILS_UNSIGNED
Valore senza segno per un controllo linea audio.

paDetails

Puntatore a una matrice di una o più strutture in cui vengono recuperate o impostate le proprietà per il controllo specificato.

Per i controlli MIXERCONTROL_CONTROLF_MULTIPLE, le dimensioni di questo buffer devono essere il prodotto dei membri cChannels, cMultipleItems e cbDetails della struttura MIXERCONTROLDETAILS . Per i controlli diversi dai tipi di MIXERCONTROL_CONTROLF_MULTIPLE, la dimensione di questo buffer è il prodotto dei membri cChannels e cbDetails della struttura MIXERCONTROLDETAILS .

Per i controlli diversi dai tipi di MIXERCONTROL_CONTROLF_MULTIPLE, la dimensione di questo buffer è il prodotto dei membri cChannels e cbDetails della struttura MIXERCONTROLDETAILS . Per i controlli diversi dai tipi di MIXERCONTROL_CONTROLF_MULTIPLE, la dimensione di questo buffer è il prodotto dei membri cChannels e cbDetails della struttura MIXERCONTROLDETAILS .

Per i controlli che sono tipi MIXERCONTROL_CONTROLF_MULTIPLE, la matrice può essere considerata come una matrice bidimensionale che è principale del canale. Vale a dire, vengono forniti tutti più elementi per il canale sinistro, quindi tutti gli elementi per il canale destro e così via.

Per i controlli diversi dai tipi di MIXERCONTROL_CONTROLF_MULTIPLE, ogni indice di elemento equivale al canale in base zero che influisce. Vale a dire, paDetails[0] è per il canale sinistro e paDetails[1] è per il canale destro.

Se il controllo è un controllo MIXERCONTROL_CONTROLTYPE_CUSTOM, questo membro deve puntare a un buffer che sia sufficientemente grande da contenere le dimensioni, in byte, specificato dal membro cbCustomData della struttura MIXERCONTROL.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione mmeapi.h

Vedi anche

Strutture mixer audio

Mixer audio

MIXERCONTROL

mixerGetControlDetails

mixerSetControlDetails