4 #include <pseh/pseh2.h>
28 }MIXER_INFO
, *LPMIXER_INFO
;
36 LPMIXERCONTROLW LineControls
;
38 LIST_ENTRY LineControlsExtraData
;
39 }MIXERLINE_EXT
, *LPMIXERLINE_EXT
;
45 }MIXERCONTROL_DATA
, *LPMIXERCONTROL_DATA
;
49 MIXERCONTROL_DATA Header
;
53 ULONG InputSteppingDelta
;
56 }MIXERVOLUME_DATA
, *LPMIXERVOLUME_DATA
;
63 HANDLE hDeviceInterfaceKey
;
65 }MIXER_DATA
, *LPMIXER_DATA
;
73 }MIXER_LIST
, *PMIXER_LIST
;
75 #define DESTINATION_LINE 0xFFFF0000
78 MMixerGetFilterPinCount(
79 IN PMIXER_CONTEXT MixerContext
,
84 IN PKSMULTIPLE_ITEM MultipleItem
,
89 IN PMIXER_CONTEXT MixerContext
,
90 IN PKSMULTIPLE_ITEM MultipleItem
,
94 OUT PULONG NodeReferenceCount
,
95 OUT PULONG
*NodeReference
);
97 PKSTOPOLOGY_CONNECTION
98 MMixerGetConnectionByIndex(
99 IN PKSMULTIPLE_ITEM MultipleItem
,
103 MMixerGetControlTypeFromTopologyNode(
107 MMixerGetSourceMixerLineByLineId(
108 LPMIXER_INFO MixerInfo
,
112 MMixerGetFilterTopologyProperty(
113 IN PMIXER_CONTEXT MixerContext
,
116 OUT PKSMULTIPLE_ITEM
* OutMultipleItem
);
120 IN PMIXER_CONTEXT MixerContext
,
121 IN LPMIXER_INFO MixerInfo
);
125 IN PMIXER_CONTEXT MixerContext
,
126 IN PKSMULTIPLE_ITEM NodeTypes
,
127 IN PKSMULTIPLE_ITEM NodeConnections
,
129 IN ULONG bUpDirection
,
134 MMixerGetPhysicalConnection(
135 IN PMIXER_CONTEXT MixerContext
,
138 OUT PKSPIN_PHYSICALCONNECTION
*OutConnection
);
141 MMixerGetIndexOfGuid(
142 PKSMULTIPLE_ITEM MultipleItem
,
147 IN PMIXER_CONTEXT MixerContext
,
148 IN PMIXER_LIST MixerList
,
149 IN LPMIXER_DATA MixerData
,
150 IN PULONG DeviceCount
);
153 MMixerGetTargetPinsByNodeConnectionIndex(
154 IN PMIXER_CONTEXT MixerContext
,
155 IN PKSMULTIPLE_ITEM NodeConnections
,
156 IN PKSMULTIPLE_ITEM NodeTypes
,
157 IN ULONG bUpDirection
,
158 IN ULONG NodeConnectionIndex
,
162 MMixerGetControlsFromPin(
163 IN PMIXER_CONTEXT MixerContext
,
164 IN PKSMULTIPLE_ITEM NodeConnections
,
165 IN PKSMULTIPLE_ITEM NodeTypes
,
167 IN ULONG bUpDirection
,
172 IN PMIXER_CONTEXT MixerContext
);
175 MMixerGetMixerInfoByIndex(
176 IN PMIXER_CONTEXT MixerContext
,
177 IN ULONG MixerIndex
);
180 MMixerGetSourceMixerLineByComponentType(
181 LPMIXER_INFO MixerInfo
,
182 DWORD dwComponentType
);
185 MMixerGetMixerControlById(
186 LPMIXER_INFO MixerInfo
,
188 LPMIXERLINE_EXT
*MixerLine
,
189 LPMIXERCONTROLW
*MixerControl
,
193 MMixerSetGetMuteControlDetails(
194 IN PMIXER_CONTEXT MixerContext
,
198 IN LPMIXERCONTROLDETAILS MixerControlDetails
,
202 MMixerSetGetVolumeControlDetails(
203 IN PMIXER_CONTEXT MixerContext
,
207 LPMIXERCONTROLW MixerControl
,
208 IN LPMIXERCONTROLDETAILS MixerControlDetails
,
209 LPMIXERLINE_EXT MixerLine
);
212 MMixerSetGetControlDetails(
213 IN PMIXER_CONTEXT MixerContext
,
219 IN PLONG InputValue
);
222 MMixerGetDataByDeviceId(
223 IN PMIXER_LIST MixerList
,
227 MMixerGetDataByDeviceName(
228 IN PMIXER_LIST MixerList
,
229 IN LPWSTR DeviceName
);
232 MMixerCreateMixerData(
233 IN PMIXER_CONTEXT MixerContext
,
234 IN PMIXER_LIST MixerList
,
236 IN LPWSTR DeviceName
,
242 IN PMIXER_CONTEXT MixerContext
,
243 IN LPMIXER_INFO MixerInfo
,