Platform SDK 中控制系统音量的另一个重要结构MIXERLINECONTROLS结构体定义

类别:VC语言 点击:0 评论:0 推荐:
      MIXERLINECONTROLS结构体定义
MIXERLINECONTROLS
typedef struct{
DWORD cbStruct;
指示出MIXERLINECONTROLS结构的大小(字节单位)。该成员必须在调用mixerGetLineControls函数之前被初始化。这个大小必须足以包括基本的MIXERLINECONTROLS结构。当mixerGetLineControls返回,该成员包括了返回信息的实际大小。返回信息不超过请求的大小,也不能小于基本的MIXERLINECONTROLS结构。
DWORD dwLineID;
将要被查询的控制的线路标识符。在mixerGetLineControls函数使用了MIXER_GETLINECONTROLSF_ONEBYID标志的时候该成员无效,但此时混音设备仍然返回这个成员的值。
union{
 DWORD dwControlID;
期望要控制的控制标识符。该成员用来在mixerGetLineControls函数使用了MIXER_GETLINECONTROLSF_ONEBYID标志的时候查询特定控制的控制信息,此时dwLineID成员作为返回参数而非输入参数。本成员与dwControlType一致,并且不能和MIXER_GETLINECONTROLSF_ONEBYTYPE查询类型一起使用。
 DWORD dwControlType;
期望要控制的控制类型,该成员用来在mixerGetLineControls函数使用了MIXER_GETLINECONTROLSF_ ONEBYTYPE标志的时候,检索由dwLineID定义的线路上特定类型的第一个控制的控制信息。本成员与dwControlID一致,并且不能和MIXER_GETLINECONTROLSF_ONEBYID查询类型一起使用。
* dwControlID和dwControlType在指定了MIXER_GETLINECONTROLSF_ALL的时候无效。
};
DWORD cControls;
要检索的MIXERLINECONTROLS结构体元素的数目。该成员必须在调用mixerGetLineControls函数之前被初始化。只有在定义了MIXER_GETLINECONTROLSF_ONEBYID 或MIXER_GETLINECONTROLSF_ONEBYTYPE时本成员可以取值“1”,否则取值为音频线路返回的MIXERLINE 结构体成员cControls的值。不能取“0”。如果一个音频线路指定为没有控制,则不可调用mixerGetLineControls函数。
DWORD cbmxctrl;
单个MIXERCONTROL结构大小,这个大小必须足以包括基本的MIXERCONTROL结构。指针pamxctrl指向的buffer的总大小应该是cbmxctrl和cControls成员的乘积。
LPMIXERCONTROL pamxctrl;
指向一个或多个MIXERCONTROL结构,接收所请求的音频线路控制的属性。该成员不能为NULL且必须在调用mixerGetLineControls函数前被初始化。该数组的每个元素必须足以包括基本的MIXERCONTROL结构。Cbmxctrl指定数组的每个元素的大小。本成员所指向的buffer不需要初始化。调用成功后,所有成员(包括每个MIXERCONTROL结构里的cbStruct成员)都由混音设备(mixer device)填写好值。
} MIXERLINECONTROLS;

本文地址:http://com.8s8s.com/it/it3043.htm