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
,
184 MMixerGetControlsFromPin(
185 IN PMIXER_CONTEXT MixerContext
,
186 IN PKSMULTIPLE_ITEM NodeConnections
,
187 IN PKSMULTIPLE_ITEM NodeTypes
,
189 IN ULONG bUpDirection
,
194 IN PMIXER_CONTEXT MixerContext
);
197 MMixerGetMixerInfoByIndex(
198 IN PMIXER_CONTEXT MixerContext
,
199 IN ULONG MixerIndex
);
202 MMixerGetSourceMixerLineByComponentType(
203 LPMIXER_INFO MixerInfo
,
204 DWORD dwComponentType
);
207 MMixerGetMixerControlById(
208 LPMIXER_INFO MixerInfo
,
210 LPMIXERLINE_EXT
*MixerLine
,
211 LPMIXERCONTROLW
*MixerControl
,
215 MMixerSetGetMuteControlDetails(
216 IN PMIXER_CONTEXT MixerContext
,
220 IN LPMIXERCONTROLDETAILS MixerControlDetails
,
224 MMixerSetGetVolumeControlDetails(
225 IN PMIXER_CONTEXT MixerContext
,
229 LPMIXERCONTROLW MixerControl
,
230 IN LPMIXERCONTROLDETAILS MixerControlDetails
,
231 LPMIXERLINE_EXT MixerLine
);
234 MMixerSetGetControlDetails(
235 IN PMIXER_CONTEXT MixerContext
,
241 IN PLONG InputValue
);
244 MMixerGetDataByDeviceId(
245 IN PMIXER_LIST MixerList
,
249 MMixerGetDataByDeviceName(
250 IN PMIXER_LIST MixerList
,
251 IN LPWSTR DeviceName
);
254 MMixerCreateMixerData(
255 IN PMIXER_CONTEXT MixerContext
,
256 IN PMIXER_LIST MixerList
,
258 IN LPWSTR DeviceName
,
264 IN PMIXER_CONTEXT MixerContext
,
265 IN LPMIXER_INFO MixerInfo
,
269 MMixerInitializeWaveInfo(
270 IN PMIXER_CONTEXT MixerContext
,
271 IN PMIXER_LIST MixerList
,
272 IN LPMIXER_DATA MixerData
,
273 IN LPWSTR DeviceName
,
279 IN PMIXER_CONTEXT MixerContext
,
280 IN OUT LPMIXER_INFO MixerInfo
);