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

王朝vc·作者佚名  2006-01-08
宽屏版  字体: |||超大  

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;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
>>返回首页<<
推荐阅读
 
 
频道精选
© 2005- 王朝网络 版权所有