Compartilhar via


Estrutura MIXERCONTROLDETAILS (mmeapi.h)

A estrutura MIXERCONTROLDETAILS refere-se a estruturas de detalhes de controle, recuperação ou definição de informações de estado de um controle de mixer de áudio. Todos os membros dessa estrutura devem ser inicializados antes de chamar as funções mixerGetControlDetails e mixerSetControlDetails .

Sintaxe

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

Membros

cbStruct

Tamanho, em bytes, da estrutura MIXERCONTROLDETAILS . O tamanho deve ser grande o suficiente para conter a estrutura BASE MIXERCONTROLDETAILS . Quando mixerGetControlDetails retorna, esse membro contém o tamanho real das informações retornadas. As informações retornadas não excederão o tamanho solicitado, nem serão menores que a estrutura BASE MIXERCONTROLDETAILS .

dwControlID

Identificador de controle no qual obter ou definir propriedades.

cChannels

Número de canais nos quais obter ou definir propriedades de controle. Os seguintes valores são definidos:

Nome Descrição
0
Use esse valor quando o controle for um controle MIXERCONTROL_CONTROLTYPE_CUSTOM.
1
Use esse valor quando o controle for um controle MIXERCONTROL_CONTROLF_UNIFORM ou quando um aplicativo precisar obter e definir todos os canais como se fossem uniformes.
MIXERLINE cChannels
Use esse valor quando as propriedades do controle forem esperadas em todos os canais para uma linha.
 

Um aplicativo não pode especificar um valor que cai entre 1 e o número de canais para a linha de áudio. Por exemplo, especificar 2 ou 3 para uma linha de quatro canais não é válido. Esse membro não pode ser 0 para tipos de controle não custom.

Esse membro não pode ser 0 para tipos de controle não custom.

DUMMYUNIONNAME

DUMMYUNIONNAME.hwndOwner

Manipule para a janela que possui uma caixa de diálogo personalizada para um controle de mixer. Esse membro é usado quando o sinalizador MIXER_SETCONTROLDETAILSF_CUSTOM é especificado na função mixerSetControlDetails .

DUMMYUNIONNAME.cMultipleItems

Número de vários itens por canal nos quais obter ou definir propriedades. Os seguintes valores são definidos:

Nome Descrição
0
Use esse valor para todos os controles, exceto para um MIXERCONTROL_CONTROLF_MULTIPLE ou um controle de MIXERCONTROL_CONTROLTYPE_CUSTOM.
Membro mixercontrol cMultipleItems
Use esse valor quando a classe de controle for MIXERCONTROL_CONTROLF_MULTIPLE.
Membro MIXERCONTROLDETAILS hwndOwner
Use esse valor quando o controle for um controle MIXERCONTROL_CONTROLTYPE_CUSTOM e o sinalizador MIXER_SETCONTROLDETAILSF_CUSTOM for especificado para a função mixerSetControlDetails.

Nesse caso, o membro hwndOwner se sobrepõe a cMultipleItems, fornecendo o valor do identificador de janela.

 

Ao usar um controle MIXERCONTROL_CONTROLTYPE_CUSTOM sem o sinalizador MIXERCONTROL_CONTROLTYPE_CUSTOM, especifique zero para esse membro.

Um aplicativo não pode especificar nenhum valor diferente do valor especificado no membro cMultipleItems da estrutura MIXERCONTROL para um controle MIXERCONTROL_CONTROLF_MULTIPLE.

cbDetails

Tamanho, em bytes, de uma das seguintes estruturas de detalhes que estão sendo usadas:

Nome Descrição
MIXERCONTROLDETAILS_BOOLEAN
Valor booliano para um controle de linha de áudio.
MIXERCONTROLDETAILS_LISTTEXT
Listar buffer de texto para um controle de linha de áudio. Para obter informações sobre a estrutura de detalhes apropriada para um controle específico, consulte Tipos de controle.
MIXERCONTROLDETAILS_SIGNED
Valor assinado para um controle de linha de áudio.
MIXERCONTROLDETAILS_UNSIGNED
Valor não assinado para um controle de linha de áudio.

paDetails

Ponteiro para uma matriz de uma ou mais estruturas nas quais as propriedades do controle especificado são recuperadas ou definidas.

Para controles MIXERCONTROL_CONTROLF_MULTIPLE, o tamanho desse buffer deve ser o produto dos membros cChannels, cMultipleItems e cbDetails da estrutura MIXERCONTROLDETAILS . Para controles que não sejam MIXERCONTROL_CONTROLF_MULTIPLE tipos, o tamanho desse buffer é o produto dos membros cChannels e cbDetails da estrutura MIXERCONTROLDETAILS .

Para controles que não sejam MIXERCONTROL_CONTROLF_MULTIPLE tipos, o tamanho desse buffer é o produto dos membros cChannels e cbDetails da estrutura MIXERCONTROLDETAILS . Para controles que não sejam MIXERCONTROL_CONTROLF_MULTIPLE tipos, o tamanho desse buffer é o produto dos membros cChannels e cbDetails da estrutura MIXERCONTROLDETAILS .

Para controles que são MIXERCONTROL_CONTROLF_MULTIPLE tipos, a matriz pode ser tratada como uma matriz bidimensional que é principal do canal. Ou seja, todos os vários itens para o canal esquerdo são dados, em seguida, todos os vários itens para o canal direito e assim por diante.

Para controles que não sejam MIXERCONTROL_CONTROLF_MULTIPLE tipos, cada índice de elemento é equivalente ao canal baseado em zero que afeta. Ou seja, paDetails[0] é para o canal esquerdo e paDetails[1] é para o canal direito.

Se o controle for um controle MIXERCONTROL_CONTROLTYPE_CUSTOM, esse membro deverá apontar para um buffer que seja pelo menos grande o suficiente para conter o tamanho, em bytes, especificado pelo membro cbCustomData da estrutura MIXERCONTROL.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho mmeapi.h

Confira também

Estruturas do Mixer de Áudio

Misturadores de áudio

MIXERCONTROL

mixerGetControlDetails

Mixersetcontroldetails