Share via


Estructura MIXERCONTROLDETAILS (mmeapi.h)

La estructura MIXERCONTROLDETAILS hace referencia a estructuras de detalles de control, recuperando o estableciendo información de estado de un control mezclador de audio. Todos los miembros de esta estructura deben inicializarse antes de llamar a las funciones mixerGetControlDetails y mixerSetControlDetails .

Sintaxis

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

Miembros

cbStruct

Tamaño, en bytes, de la estructura MIXERCONTROLDETAILS . El tamaño debe ser lo suficientemente grande como para contener la estructura BASE MIXERCONTROLDETAILS . Cuando se devuelve mixerGetControlDetails , este miembro contiene el tamaño real de la información devuelta. La información devuelta no superará el tamaño solicitado, ni será menor que la estructura MIXERCONTROLDETAILS base.

dwControlID

Identificador de control en el que se van a obtener o establecer propiedades.

cChannels

Número de canales en los que se van a obtener o establecer propiedades de control. Se definen los siguientes valores:

Nombre Descripción
0
Use este valor cuando el control sea un control MIXERCONTROL_CONTROLTYPE_CUSTOM.
1
Use este valor cuando el control sea un control MIXERCONTROL_CONTROLF_UNIFORM o cuando una aplicación necesite obtener y establecer todos los canales como si fueran uniformes.
MIXERLINE cChannels
Utilice este valor cuando se esperan las propiedades del control en todos los canales de una línea.
 

Una aplicación no puede especificar un valor comprendido entre 1 y el número de canales de la línea de audio. Por ejemplo, especificar 2 o 3 para una línea de cuatro canales no es válido. Este miembro no puede ser 0 para los tipos de control no personalizados.

Este miembro no puede ser 0 para los tipos de control no personalizados.

DUMMYUNIONNAME

DUMMYUNIONNAME.hwndOwner

Identificador de la ventana que posee un cuadro de diálogo personalizado para un control mezclador. Este miembro se usa cuando se especifica la marca MIXER_SETCONTROLDETAILSF_CUSTOM en la función mixerSetControlDetails .

DUMMYUNIONNAME.cMultipleItems

Número de varios elementos por canal en el que se van a obtener o establecer propiedades. Se definen los siguientes valores:

Nombre Descripción
0
Use este valor para todos los controles, excepto para un control de MIXERCONTROL_CONTROLF_MULTIPLE o de MIXERCONTROL_CONTROLTYPE_CUSTOM.
Miembro MIXERCONTROL cMultipleItems
Use este valor cuando la clase de control esté MIXERCONTROL_CONTROLF_MULTIPLE.
MIEMBRO MIXERCONTROLDETAILS hwndOwner
Utilice este valor cuando el control sea un control MIXERCONTROL_CONTROLTYPE_CUSTOM y se especifique la marca MIXER_SETCONTROLDETAILSF_CUSTOM para la función mixerSetControlDetails.

En este caso, el miembro hwndOwner se superpone con cMultipleItems, proporcionando el valor del identificador de ventana.

 

Al usar un control MIXERCONTROL_CONTROLTYPE_CUSTOM sin la marca MIXERCONTROL_CONTROLTYPE_CUSTOM, especifique cero para este miembro.

Una aplicación no puede especificar ningún valor distinto del valor especificado en el miembro cMultipleItems de la estructura MIXERCONTROL para un control MIXERCONTROL_CONTROLF_MULTIPLE.

cbDetails

Tamaño, en bytes, de una de las siguientes estructuras de detalles que se usan:

Nombre Descripción
MIXERCONTROLDETAILS_BOOLEAN
Valor booleano para un control de línea de audio.
MIXERCONTROLDETAILS_LISTTEXT
Enumerar el búfer de texto de un control de línea de audio. Para obtener información sobre la estructura de detalles adecuada para un control específico, vea Tipos de control.
MIXERCONTROLDETAILS_SIGNED
Valor con signo para un control de línea de audio.
MIXERCONTROLDETAILS_UNSIGNED
Valor sin signo para un control de línea de audio.

paDetails

Puntero a una matriz de una o varias estructuras en las que se recuperan o establecen las propiedades del control especificado.

Para MIXERCONTROL_CONTROLF_MULTIPLE controles, el tamaño de este búfer debe ser el producto de los miembros cChannels, cMultipleItems y cbDetails de la estructura MIXERCONTROLDETAILS . Para los controles distintos de MIXERCONTROL_CONTROLF_MULTIPLE tipos, el tamaño de este búfer es el producto de los miembros cChannels y cbDetails de la estructura MIXERCONTROLDETAILS .

Para los controles distintos de MIXERCONTROL_CONTROLF_MULTIPLE tipos, el tamaño de este búfer es el producto de los miembros cChannels y cbDetails de la estructura MIXERCONTROLDETAILS . Para los controles distintos de MIXERCONTROL_CONTROLF_MULTIPLE tipos, el tamaño de este búfer es el producto de los miembros cChannels y cbDetails de la estructura MIXERCONTROLDETAILS .

En el caso de los controles que son tipos de MIXERCONTROL_CONTROLF_MULTIPLE, la matriz se puede tratar como una matriz bidimensional que es principal del canal. Es decir, se proporcionan todos los elementos múltiples para el canal izquierdo, luego todos los elementos para el canal derecho, etc.

En el caso de los controles distintos de los tipos de MIXERCONTROL_CONTROLF_MULTIPLE, cada índice de elementos es equivalente al canal de base cero que afecta. Es decir, paDetails[0] es para el canal izquierdo y paDetails[1] es para el canal derecho.

Si el control es un control MIXERCONTROL_CONTROLTYPE_CUSTOM, este miembro debe apuntar a un búfer lo suficientemente grande como para contener el tamaño, en bytes, especificado por el miembro cbCustomData de la estructura MIXERCONTROL.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado mmeapi.h

Consulte también

Estructuras de mezclador de audio

Mezcladores de audio

MIXERCONTROL

mixerGetControlDetails

mixerSetControlDetails