Another important structure of the control system volume in the Platform SDK MixerLineControls structural definition

zhaozj2021-02-17  53

MixerLineControls structural definition

MixerLineControls

Typedef struct {

DWORD CBSTRUCT;

Indicates the size of the MixerLineControls structure (byte unit). The member must be initialized before calling the MixergetLineControls function. This size must be sufficient to include basic MixerLineControls structures. When MixergetLineControls returns, the member includes the actual size of the return information. The return information does not exceed the size of the request, nor is it less than the basic MixerLineControls structure.

DWORD DWLINEID; the line identifier that will be queried. When the MixerGetLineControls function uses the Mixer_getLineControlsf_onebyid flag, the member is invalid, but the mixer is still returned to the value of this member.

Union {DWORD DWCONTROLID; It is desirable to control the control identifier. The member is used to query the control information of a specific control when the Mixer_getLineControlsF_onebyid flag is used in the MixerGetLineControls function. At this time, the DWLineID member is returned to the parameter rather than the input parameters. This member is consistent with DWControlType and cannot be used with the Mixer_GetLineControlsf_oneByType query type.

. DWORD DWCONTROLTYPE; It is desirable to control the type of control, which is used to use the Mixer_getLineControlsf_ oneByTyPE flag in the MixerGetLineControls function to retrieve the first control information of the first control of the specific type of the route defined by dwlineID. This member is consistent with DWControlid and cannot be used with the Mixer_GetLineControlsf_onebyid query type.

* DWControlID and DWControlType are invalid when specifying Mixer_GetLineControlsf_all.

}; DWORD CCONTROLS; the number of MixerLineControls structural elements to retrieve, The member must be initialized before calling the MixergetLineControls function. Only when defining a Mixer_GetLineControlsf_oneByID or Mixer_GetLineControlsf_oneByType, this member can take the value "1", otherwise take the value of the MixerLine structure member cControls returned by the audio line. Can't take "0". If an audio line is specified as uncontrolled, the MixergetLineControls function cannot be invoked.

DWORD CBMXCTRL;

Single MixerControl structure size must be sufficient to include basic MixerControl structures. The total size of the buffer points to the pointer PamxCtrl should be the product of CBMXCTRL and CControls members.

LPMixerControl pamxctr1; points to one or more MixerControl structures, receives the requested audio line control. The member cannot be NULL and must be initialized before calling the MixergetLineControls function. Each element of the array must be sufficient to include a basic MixerControl structure. CBMxCtrl Specifies the size of each element of the array. The buffer pointed to by this member does not need to initialize. After the call is successful, all members (including the CBSTRUCT member in each MixerControl structure) are filled out by the mixer device.

MixerLineControls;

转载请注明原文地址:https://www.9cbs.com/read-29219.html

New Post(0)