MIXERCONTROLDETAILS 構造体 (mmeapi.h)

MIXERCONTROLDETAILS 構造体は、オーディオ ミキサー コントロールの状態情報を取得または設定する、コントロールの詳細構造体を参照します。 mixerGetControlDetails 関数と mixerSetControlDetails 関数を呼び出す前に、この構造体のすべてのメンバーを初期化する必要があります。

構文

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

メンバー

cbStruct

MIXERCONTROLDETAILS 構造体のサイズ (バイト単位)。 サイズは、基本 MIXERCONTROLDETAILS 構造体を格納するのに十分な大きさにする必要があります。 mixerGetControlDetails が返されると、このメンバーには、返される情報の実際のサイズが含まれます。 返される情報は、要求されたサイズを超えることはなく、また、基本 の MIXERCONTROLDETAILS 構造体よりも小さくなります。

dwControlID

プロパティを取得または設定する識別子を制御します。

cChannels

コントロール プロパティを取得または設定するチャネルの数。 次の値が定義されています。

名前 説明
0
コントロールがMIXERCONTROL_CONTROLTYPE_CUSTOM コントロールの場合は、この値を使用します。
1
この値は、コントロールがMIXERCONTROL_CONTROLF_UNIFORM コントロールである場合、またはアプリケーションがすべてのチャネルを均一であるかのように取得および設定する必要がある場合に使用します。
MIXERLINE cChannels
この値は、1 行のすべてのチャネルでコントロールのプロパティが必要な場合に使用します。
 

アプリケーションでは、1 からオーディオ行のチャネル数までの値を指定できません。 たとえば、4 チャネル回線に 2 または 3 を指定することは無効です。 カスタム以外のコントロール型の場合、このメンバーを 0 にすることはできません。

カスタム以外のコントロール型の場合、このメンバーを 0 にすることはできません。

DUMMYUNIONNAME

DUMMYUNIONNAME.hwndOwner

ミキサー コントロールのカスタム ダイアログ ボックスを所有するウィンドウを処理します。 このメンバーは、 mixerSetControlDetails 関数でMIXER_SETCONTROLDETAILSF_CUSTOM フラグが指定されている場合に使用されます。

DUMMYUNIONNAME.cMultipleItems

プロパティを取得または設定するチャネルごとに複数の項目の数。 次の値が定義されています。

名前 説明
0
この値は、MIXERCONTROL_CONTROLF_MULTIPLEまたはMIXERCONTROL_CONTROLTYPE_CUSTOM コントロールを除くすべてのコントロールに使用します。
MIXERCONTROL cMultipleItems メンバー
コントロール クラスがMIXERCONTROL_CONTROLF_MULTIPLE場合は、この値を使用します。
MIXERCONTROLDETAILS hwndOwner メンバー
この値は、コントロールがMIXERCONTROL_CONTROLTYPE_CUSTOM コントロールであり、mixerSetControlDetails 関数にMIXER_SETCONTROLDETAILSF_CUSTOM フラグが指定されている場合に使用します。

この場合、hwndOwner メンバーは cMultipleItems と重なり、ウィンドウ ハンドルの値を指定します。

 

MIXERCONTROL_CONTROLTYPE_CUSTOM フラグを指定せずにMIXERCONTROL_CONTROLTYPE_CUSTOM コントロールを使用する場合は、このメンバーに 0 を指定します。

アプリケーションでは、MIXERCONTROL_CONTROLF_MULTIPLE コントロールの MIXERCONTROL 構造体の cMultipleItems メンバーで指定された値以外の値を指定することはできません。

cbDetails

使用されている次のいずれかの詳細構造体のサイズ (バイト単位)。

名前 説明
MIXERCONTROLDETAILS_BOOLEAN
オーディオラインコントロールのブール値。
MIXERCONTROLDETAILS_LISTTEXT
オーディオ行コントロールのテキスト バッファーを一覧表示します。 特定のコントロールの適切な詳細構造については、「 コントロールの種類」を参照してください。
MIXERCONTROLDETAILS_SIGNED
オーディオラインコントロールの符号付き値。
MIXERCONTROLDETAILS_UNSIGNED
オーディオラインコントロールの符号なし値。

paDetails

指定したコントロールのプロパティが取得または設定される 1 つ以上の構造体の配列へのポインター。

MIXERCONTROL_CONTROLF_MULTIPLE コントロールの場合、このバッファーのサイズは、MIXERCONTROLDETAILS 構造体の cChannelscMultipleItemscbDetails メンバーの積である必要があります。 MIXERCONTROL_CONTROLF_MULTIPLE型以外のコントロールの場合、このバッファーのサイズは、MIXERCONTROLDETAILS 構造体の cChannels メンバーと cbDetails メンバーの積です。

MIXERCONTROL_CONTROLF_MULTIPLE型以外のコントロールの場合、このバッファーのサイズは、MIXERCONTROLDETAILS 構造体の cChannels メンバーと cbDetails メンバーの積です。 MIXERCONTROL_CONTROLF_MULTIPLE型以外のコントロールの場合、このバッファーのサイズは、MIXERCONTROLDETAILS 構造体の cChannels メンバーと cbDetails メンバーの積です。

MIXERCONTROL_CONTROLF_MULTIPLE型のコントロールの場合、配列はチャネル メジャーである 2 次元配列として扱うことができます。 つまり、左側のチャネルのすべての複数の項目が与えられ、次に右側のチャネルのすべての複数の項目が与えられます。

MIXERCONTROL_CONTROLF_MULTIPLE型以外のコントロールの場合、各要素インデックスは、影響を受ける 0 から始まるチャネルと同じです。 つまり、paDetails[0] は左側のチャネル用で、paDetails[1] は右側のチャネル用です。

コントロールがMIXERCONTROL_CONTROLTYPE_CUSTOM コントロールの場合、このメンバーは、MIXERCONTROL 構造体の cbCustomData メンバーによって指定されたサイズ (バイト単位) を格納するのに十分な大きさのバッファーを指す必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header mmeapi.h

こちらもご覧ください

オーディオ ミキサーの構造

オーディオ ミキサー

MIXERCONTROL

mixerGetControlDetails

mixerSetControlDetails