3 #include <pseh/pseh2.h>
22 KSEVENTDATA EventData
;
24 }EVENT_ITEM
, *LPEVENT_ITEM
;
34 }MIXER_INFO
, *LPMIXER_INFO
;
42 LPMIXERCONTROLW LineControls
;
44 LIST_ENTRY LineControlsExtraData
;
45 }MIXERLINE_EXT
, *LPMIXERLINE_EXT
;
51 }MIXERCONTROL_DATA
, *LPMIXERCONTROL_DATA
;
55 MIXERCONTROL_DATA Header
;
59 ULONG InputSteppingDelta
;
62 }MIXERVOLUME_DATA
, *LPMIXERVOLUME_DATA
;
69 HANDLE hDeviceInterfaceKey
;
71 }MIXER_DATA
, *LPMIXER_DATA
;
83 }WAVE_INFO
, *LPWAVE_INFO
;
91 ULONG WaveInListCount
;
92 LIST_ENTRY WaveInList
;
93 ULONG WaveOutListCount
;
94 LIST_ENTRY WaveOutList
;
95 }MIXER_LIST
, *PMIXER_LIST
;
97 #define DESTINATION_LINE 0xFFFF0000
100 MMixerGetFilterPinCount(
101 IN PMIXER_CONTEXT MixerContext
,
106 IN PKSMULTIPLE_ITEM MultipleItem
,
110 MMixerGetNodeIndexes(
111 IN PMIXER_CONTEXT MixerContext
,
112 IN PKSMULTIPLE_ITEM MultipleItem
,
116 OUT PULONG NodeReferenceCount
,
117 OUT PULONG
*NodeReference
);
119 PKSTOPOLOGY_CONNECTION
120 MMixerGetConnectionByIndex(
121 IN PKSMULTIPLE_ITEM MultipleItem
,
125 MMixerGetControlTypeFromTopologyNode(
129 MMixerGetSourceMixerLineByLineId(
130 LPMIXER_INFO MixerInfo
,
134 MMixerGetFilterTopologyProperty(
135 IN PMIXER_CONTEXT MixerContext
,
138 OUT PKSMULTIPLE_ITEM
* OutMultipleItem
);
142 IN PMIXER_CONTEXT MixerContext
,
143 IN LPMIXER_INFO MixerInfo
);
147 IN PMIXER_CONTEXT MixerContext
,
148 IN PKSMULTIPLE_ITEM NodeTypes
,
149 IN PKSMULTIPLE_ITEM NodeConnections
,
151 IN ULONG bUpDirection
,
156 MMixerGetPhysicalConnection(
157 IN PMIXER_CONTEXT MixerContext
,
160 OUT PKSPIN_PHYSICALCONNECTION
*OutConnection
);
163 MMixerGetIndexOfGuid(
164 PKSMULTIPLE_ITEM MultipleItem
,
169 IN PMIXER_CONTEXT MixerContext
,
170 IN PMIXER_LIST MixerList
,
171 IN LPMIXER_DATA MixerData
,
172 IN PULONG DeviceCount
);
175 MMixerGetTargetPinsByNodeConnectionIndex(
176 IN PMIXER_CONTEXT MixerContext
,
177 IN PKSMULTIPLE_ITEM NodeConnections
,
178 IN PKSMULTIPLE_ITEM NodeTypes
,
179 IN ULONG bUpDirection
,
180 IN ULONG NodeConnectionIndex
,
185 MMixerGetControlsFromPin(
186 IN PMIXER_CONTEXT MixerContext
,
187 IN PKSMULTIPLE_ITEM NodeConnections
,
188 IN PKSMULTIPLE_ITEM NodeTypes
,
190 IN ULONG bUpDirection
,
195 IN PMIXER_CONTEXT MixerContext
);
198 MMixerGetMixerInfoByIndex(
199 IN PMIXER_CONTEXT MixerContext
,
200 IN ULONG MixerIndex
);
203 MMixerGetSourceMixerLineByComponentType(
204 LPMIXER_INFO MixerInfo
,
205 DWORD dwComponentType
);
208 MMixerGetMixerControlById(
209 LPMIXER_INFO MixerInfo
,
211 LPMIXERLINE_EXT
*MixerLine
,
212 LPMIXERCONTROLW
*MixerControl
,
216 MMixerSetGetMuteControlDetails(
217 IN PMIXER_CONTEXT MixerContext
,
221 IN LPMIXERCONTROLDETAILS MixerControlDetails
,
225 MMixerSetGetVolumeControlDetails(
226 IN PMIXER_CONTEXT MixerContext
,
230 LPMIXERCONTROLW MixerControl
,
231 IN LPMIXERCONTROLDETAILS MixerControlDetails
,
232 LPMIXERLINE_EXT MixerLine
);
235 MMixerSetGetControlDetails(
236 IN PMIXER_CONTEXT MixerContext
,
242 IN PLONG InputValue
);
245 MMixerGetDataByDeviceId(
246 IN PMIXER_LIST MixerList
,
250 MMixerGetDataByDeviceName(
251 IN PMIXER_LIST MixerList
,
252 IN LPWSTR DeviceName
);
255 MMixerCreateMixerData(
256 IN PMIXER_CONTEXT MixerContext
,
257 IN PMIXER_LIST MixerList
,
259 IN LPWSTR DeviceName
,
265 IN PMIXER_CONTEXT MixerContext
,
266 IN LPMIXER_INFO MixerInfo
,
270 MMixerInitializeWaveInfo(
271 IN PMIXER_CONTEXT MixerContext
,
272 IN PMIXER_LIST MixerList
,
273 IN LPMIXER_DATA MixerData
,
274 IN LPWSTR DeviceName
,
280 IN PMIXER_CONTEXT MixerContext
,
281 IN OUT LPMIXER_INFO MixerInfo
);