ReactOS 0.4.15-dev-8135-g1bc6c90
ksmedia.h
Go to the documentation of this file.
1/*
2 KS Media
3 (c) Andrew Greenwood, 2007.
4
5 Please see COPYING in the top level directory for license information.
6*/
7
8#ifndef _KS_
9#error ks.h needs to be included before ksmedia.h
10#endif /* _KS_ */
11
12#ifndef KSMEDIA_H
13#define KSMEDIA_H
14
15/*
16 KS CATEGORIES
17*/
18
20
21
22#if (NTDDI_VERSION >= NTDDI_WINXP)
23
24#if !defined(INIT_USBAUDIO_MID)
25#define INIT_USBAUDIO_MID(guid, id)\
26{\
27 (guid)->Data1 = 0x4e1cecd2 + (USHORT)(id);\
28 (guid)->Data2 = 0x1679;\
29 (guid)->Data3 = 0x463b;\
30 (guid)->Data4[0] = 0xa7;\
31 (guid)->Data4[1] = 0x2f;\
32 (guid)->Data4[2] = 0xa5;\
33 (guid)->Data4[3] = 0xbf;\
34 (guid)->Data4[4] = 0x64;\
35 (guid)->Data4[5] = 0xc8;\
36 (guid)->Data4[6] = 0x6e;\
37 (guid)->Data4[7] = 0xba;\
38}
39#define EXTRACT_USBAUDIO_MID(guid)\
40 (USHORT)((guid)->Data1 - 0x4e1cecd2)
41#define DEFINE_USBAUDIO_MID_GUID(id)\
42 0x4e1cecd2+(USHORT)(id), 0x1679, 0x463b, 0xa7, 0x2f, 0xa5, 0xbf, 0x64, 0xc8, 0x6e, 0xba
43
44#define INIT_EXBUS_MANUFACTURER_ID INIT_USBAUDIO_MID
45
46#define IS_COMPATIBLE_USBAUDIO_MID(guid)\
47 (((guid)->Data1 >= 0x4e1cecd2) &&\
48 ((guid)->Data1 < 0x4e1cecd2 + 0xffff) &&\
49 ((guid)->Data2 == 0x1679) &&\
50 ((guid)->Data3 == 0x463b) &&\
51 ((guid)->Data4[0] == 0xa7) &&\
52 ((guid)->Data4[1] == 0x2f) &&\
53 ((guid)->Data4[2] == 0xa5) &&\
54 ((guid)->Data4[3] == 0xbf) &&\
55 ((guid)->Data4[4] == 0x64) &&\
56 ((guid)->Data4[5] == 0xc8) &&\
57 ((guid)->Data4[6] == 0x6e) &&\
58 ((guid)->Data4[7] == 0xba))
59#endif // !defined(INIT_USBAUDIO_MID)
60
61#if !defined(INIT_USBAUDIO_PID)
62#define INIT_USBAUDIO_PID(guid, id)\
63{\
64 (guid)->Data1 = 0xabcc5a5e + (USHORT)(id);\
65 (guid)->Data2 = 0xc263;\
66 (guid)->Data3 = 0x463b;\
67 (guid)->Data4[0] = 0xa7;\
68 (guid)->Data4[1] = 0x2f;\
69 (guid)->Data4[2] = 0xa5;\
70 (guid)->Data4[3] = 0xbf;\
71 (guid)->Data4[4] = 0x64;\
72 (guid)->Data4[5] = 0xc8;\
73 (guid)->Data4[6] = 0x6e;\
74 (guid)->Data4[7] = 0xba;\
75}
76#define EXTRACT_USBAUDIO_PID(guid)\
77 (USHORT)((guid)->Data1 - 0xabcc5a5e)
78#define DEFINE_USBAUDIO_PID_GUID(id)\
79 0xabcc5a5e+(USHORT)(id), 0xc263, 0x463b, 0xa7, 0x2f, 0xa5, 0xbf, 0x64, 0xc8, 0x6e, 0xba
80
81#define INIT_EXBUS_PRODUCT_ID INIT_USBAUDIO_PID
82
83#define IS_COMPATIBLE_USBAUDIO_PID(guid)\
84 (((guid)->Data1 >= 0xabcc5a5e) &&\
85 ((guid)->Data1 < 0xabcc5a5e + 0xffff) &&\
86 ((guid)->Data2 == 0xc263) &&\
87 ((guid)->Data3 == 0x463b) &&\
88 ((guid)->Data4[0] == 0xa7) &&\
89 ((guid)->Data4[1] == 0x2f) &&\
90 ((guid)->Data4[2] == 0xa5) &&\
91 ((guid)->Data4[3] == 0xbf) &&\
92 ((guid)->Data4[4] == 0x64) &&\
93 ((guid)->Data4[5] == 0xc8) &&\
94 ((guid)->Data4[6] == 0x6e) &&\
95 ((guid)->Data4[7] == 0xba))
96#endif // !defined(INIT_USBAUDIO_PID)
97
98#if !defined(INIT_USBAUDIO_PRODUCT_NAME)
99#define INIT_USBAUDIO_PRODUCT_NAME(guid, vid, pid, strIndex)\
100{\
101 (guid)->Data1 = 0XFC575048 + (USHORT)(vid);\
102 (guid)->Data2 = 0x2E08 + (USHORT)(pid);\
103 (guid)->Data3 = 0x463B + (USHORT)(strIndex);\
104 (guid)->Data4[0] = 0xA7;\
105 (guid)->Data4[1] = 0x2F;\
106 (guid)->Data4[2] = 0xA5;\
107 (guid)->Data4[3] = 0xBF;\
108 (guid)->Data4[4] = 0x64;\
109 (guid)->Data4[5] = 0xC8;\
110 (guid)->Data4[6] = 0x6E;\
111 (guid)->Data4[7] = 0xBA;\
112}
113#define DEFINE_USBAUDIO_PRODUCT_NAME(vid, pid, strIndex)\
114 0xFC575048+(USHORT)(vid), 0x2E08+(USHORT)(pid), 0x463B+(USHORT)(strIndex), 0xA7, 0x2F, 0xA5, 0xBF, 0x64, 0xC8, 0x6E, 0xBA
115#endif
116
117#define INIT_EXBUS_PRODUCT_NAME INIT_USBAUDIO_PRODUCT_NAME
118
119// USB Component ID
120#define STATIC_KSCOMPONENTID_USBAUDIO \
121 0x8F1275F0, 0x26E9, 0x4264, {0xBA, 0x4D, 0x39, 0xFF, 0xF0, 0x1D, 0x94, 0xAA}
122DEFINE_GUIDSTRUCT("8F1275F0-26E9-4264-BA4D-39FFF01D94AA", KSCOMPONENTID_USBAUDIO);
123#define KSCOMPONENTID_USBAUDIO DEFINE_GUIDNAMED(KSCOMPONENTID_USBAUDIO)
124
125#endif // (NTDDI_VERSION >= NTDDI_WINXP)
126
127#define EXTRACT_WAVEFORMATEX_ID(Guid)\
128 (USHORT)((Guid)->Data1)
129
130#define DEFINE_USB_TERMINAL_GUID(id)\
131 0xDFF219E0+(USHORT)(id), 0xF70F, 0x11D0, {0xB9, 0x17, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96}
132
133
134/* Audio device (as presented by sysaudio) */
135
136#define STATIC_KSCATEGORY_AUDIO_DEVICE \
137 0xFBF6F530L, 0x07B9, 0x11D2, {0xA7, 0x1E, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88}
138DEFINE_GUIDSTRUCT("FBF6F530-07B9-11D2-A71E-0000F8004788", KSCATEGORY_AUDIO_DEVICE);
139#define KSCATEGORY_AUDIO_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_DEVICE)
140
141/* video */
142#define STATIC_PINNAME_VIDEO_CAPTURE \
143 0xfb6c4281, 0x353, 0x11d1, {0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba}
144#define STATIC_PINNAME_CAPTURE STATIC_PINNAME_VIDEO_CAPTURE
145DEFINE_GUIDSTRUCT("FB6C4281-0353-11d1-905F-0000C0CC16BA", PINNAME_VIDEO_CAPTURE);
146#define PINNAME_VIDEO_CAPTURE DEFINE_GUIDNAMED(PINNAME_VIDEO_CAPTURE)
147#define PINNAME_CAPTURE PINNAME_VIDEO_CAPTURE
148
149/* Preferred devices */
150
151#define STATIC_KSCATEGORY_PREFERRED_WAVEOUT_DEVICE \
152 0xD6C5066EL, 0x72C1, 0x11D2, {0x97, 0x55, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88}
153DEFINE_GUIDSTRUCT("D6C5066E-72C1-11D2-9755-0000F8004788", KSCATEGORY_PREFERRED_WAVEOUT_DEVICE);
154#define KSCATEGORY_PREFERRED_WAVEOUT_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_PREFERRED_WAVEOUT_DEVICE)
155
156#define STATIC_KSCATEGORY_PREFERRED_WAVEIN_DEVICE \
157 0xD6C50671L, 0x72C1, 0x11D2, {0x97, 0x55, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88}
158DEFINE_GUIDSTRUCT("D6C50671-72C1-11D2-9755-0000F8004788", KSCATEGORY_PREFERRED_WAVEIN_DEVICE);
159#define KSCATEGORY_PREFERRED_WAVEIN_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_PREFERRED_WAVEIN_DEVICE)
160
161#define STATIC_KSCATEGORY_PREFERRED_MIDIOUT_DEVICE \
162 0xD6C50674L, 0x72C1, 0x11D2, {0x97, 0x55, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88}
163DEFINE_GUIDSTRUCT("D6C50674-72C1-11D2-9755-0000F8004788", KSCATEGORY_PREFERRED_MIDIOUT_DEVICE);
164#define KSCATEGORY_PREFERRED_MIDIOUT_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_PREFERRED_MIDIOUT_DEVICE)
165
166
167/* Media type categories */
168
169#define STATIC_KSCATEGORY_AUDIO \
170 0x6994AD04L, 0x93EF, 0x11D0, {0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96}
171DEFINE_GUIDSTRUCT("6994AD04-93EF-11D0-A3CC-00A0C9223196", KSCATEGORY_AUDIO);
172#define KSCATEGORY_AUDIO DEFINE_GUIDNAMED(KSCATEGORY_AUDIO)
173
174#define STATIC_KSCATEGORY_VIDEO \
175 0x6994AD05L, 0x93EF, 0x11D0, {0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96}
176DEFINE_GUIDSTRUCT("6994AD05-93EF-11D0-A3CC-00A0C9223196", KSCATEGORY_VIDEO);
177#define KSCATEGORY_VIDEO DEFINE_GUIDNAMED(KSCATEGORY_VIDEO)
178
179#define STATIC_KSCATEGORY_TEXT \
180 0x6994AD06L, 0x93EF, 0x11D0, {0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96}
181DEFINE_GUIDSTRUCT("6994AD06-93EF-11D0-A3CC-00A0C9223196", KSCATEGORY_TEXT);
182#define KSCATEGORY_TEXT DEFINE_GUIDNAMED(KSCATEGORY_TEXT)
183
184#define STATIC_KSCATEGORY_NETWORK \
185 0x67C9CC3CL, 0x69C4, 0x11D2, {0x87, 0x59, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96}
186DEFINE_GUIDSTRUCT("67C9CC3C-69C4-11D2-8759-00A0C9223196", KSCATEGORY_NETWORK);
187#define KSCATEGORY_NETWORK DEFINE_GUIDNAMED(KSCATEGORY_NETWORK)
188
189#define STATIC_KSINTERFACESETID_Media \
190 0x3A13EB40L, 0x30A7, 0x11D0, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00}
191DEFINE_GUIDSTRUCT("3A13EB40-30A7-11D0-A5D6-28DB04C10000", KSINTERFACESETID_Media);
192#define KSINTERFACESETID_Media DEFINE_GUIDNAMED(KSINTERFACESETID_Media)
193
194/* ... */
195
196#define STATIC_KSCATEGORY_TOPOLOGY \
197 0xDDA54A40L, 0x1E4C, 0x11D1, {0xA0, 0x50, 0x40, 0x57, 0x05, 0xC1, 0x00, 0x00}
198DEFINE_GUIDSTRUCT("DDA54A40-1E4C-11D1-A050-405705C10000", KSCATEGORY_TOPOLOGY);
199#define KSCATEGORY_TOPOLOGY DEFINE_GUIDNAMED(KSCATEGORY_TOPOLOGY)
200
201#define STATIC_KSCATEGORY_VIRTUAL \
202 0x3503EAC4L, 0x1F26, 0x11D1, {0x8A, 0xB0, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96}
203DEFINE_GUIDSTRUCT("3503EAC4-1F26-11D1-8AB0-00A0C9223196", KSCATEGORY_VIRTUAL);
204#define KSCATEGORY_VIRTUAL DEFINE_GUIDNAMED(KSCATEGORY_VIRTUAL)
205
206#define STATIC_KSCATEGORY_ACOUSTIC_ECHO_CANCEL \
207 0xBF963D80L, 0xC559, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1}
208DEFINE_GUIDSTRUCT("BF963D80-C559-11D0-8A2B-00A0C9255AC1", KSCATEGORY_ACOUSTIC_ECHO_CANCEL);
209#define KSCATEGORY_ACOUSTIC_ECHO_CANCEL DEFINE_GUIDNAMED(KSCATEGORY_ACOUSTIC_ECHO_CANCEL)
210
211
212/* Component-specific */
213
214#define STATIC_KSCATEGORY_SYSAUDIO \
215 0xA7C7A5B1L, 0x5AF3, 0x11D1, {0x9C, 0xED, 0x00, 0xA0, 0x24, 0xBF, 0x04, 0x07}
216DEFINE_GUIDSTRUCT("A7C7A5B1-5AF3-11D1-9CED-00A024BF0407", KSCATEGORY_SYSAUDIO);
217#define KSCATEGORY_SYSAUDIO DEFINE_GUIDNAMED(KSCATEGORY_SYSAUDIO)
218
219#define STATIC_KSCATEGORY_WDMAUD \
220 0x3E227E76L, 0x690D, 0x11D2, {0x81, 0x61, 0x00, 0x00, 0xF8, 0x77, 0x5B, 0xF1}
221DEFINE_GUIDSTRUCT("3E227E76-690D-11D2-8161-0000F8775BF1", KSCATEGORY_WDMAUD);
222#define KSCATEGORY_WDMAUD DEFINE_GUIDNAMED(KSCATEGORY_WDMAUD)
223
224#define STATIC_KSCATEGORY_AUDIO_GFX \
225 0x9BAF9572L, 0x340C, 0x11D3, {0xAB, 0xDC, 0x00, 0xA0, 0xC9, 0x0A, 0xB1, 0x6F}
226DEFINE_GUIDSTRUCT("9BAF9572-340C-11D3-ABDC-00A0C90AB16F", KSCATEGORY_AUDIO_GFX);
227#define KSCATEGORY_AUDIO_GFX DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_GFX)
228
229#define STATIC_KSCATEGORY_AUDIO_SPLITTER \
230 0x9EA331FAL, 0xB91B, 0x45F8, {0x92, 0x85, 0xBD, 0x2B, 0xC7, 0x7A, 0xFC, 0xDE}
231DEFINE_GUIDSTRUCT("9EA331FA-B91B-45F8-9285-BD2BC77AFCDE", KSCATEGORY_AUDIO_SPLITTER);
232#define KSCATEGORY_AUDIO_SPLITTER DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_SPLITTER)
233
234#define STATIC_KSCATEGORY_SYNTHESIZER STATIC_KSNODETYPE_SYNTHESIZER
235#define KSCATEGORY_SYNTHESIZER KSNODETYPE_SYNTHESIZER
236
237#define STATIC_KSCATEGORY_DRM_DESCRAMBLE STATIC_KSNODETYPE_DRM_DESCRAMBLE
238#define KSCATEGORY_DRM_DESCRAMBLE KSNODETYPE_DRM_DESCRAMBLE
239
240#define STATIC_KSDATAFORMAT_SPECIFIER_ANALOGVIDEO \
241 0x0482DDE0L, 0x7817, 0x11CF, {0x8A, 0x03, 0x00, 0xAA, 0x00, 0x6E, 0xCB, 0x65}
242DEFINE_GUIDSTRUCT("0482DDE0-7817-11CF-8A03-00AA006ECB65", KSDATAFORMAT_SPECIFIER_ANALOGVIDEO);
243#define KSDATAFORMAT_SPECIFIER_ANALOGVIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_ANALOGVIDEO)
244
245#define STATIC_KSDATAFORMAT_TYPE_ANALOGVIDEO \
246 0x0482DDE1L, 0x7817, 0x11CF, {0x8A, 0x03, 0x00, 0xAA, 0x00, 0x6E, 0xCB, 0x65}
247DEFINE_GUIDSTRUCT("0482DDE1-7817-11CF-8A03-00AA006ECB65", KSDATAFORMAT_TYPE_ANALOGVIDEO);
248#define KSDATAFORMAT_TYPE_ANALOGVIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_ANALOGVIDEO)
249
250#define STATIC_PINNAME_VIDEO_ANALOGVIDEOIN \
251 0xFB6C4283L, 0x0353, 0x11D1, {0x90, 0x5F, 0x00, 0x00, 0xC0, 0xCC, 0x16, 0xBA}
252DEFINE_GUIDSTRUCT("FB6C4283-0353-11D1-905F-0000C0CC16BA", PINNAME_VIDEO_ANALOGVIDEOIN);
253#define PINNAME_VIDEO_ANALOGVIDEOIN DEFINE_GUIDNAMED(PINNAME_VIDEO_ANALOGVIDEOIN)
254
255/*
256 Nodes
257*/
258
259#define STATIC_KSNODETYPE_ADC\
260 0x4D837FE0L, 0xC555, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1}
261DEFINE_GUIDSTRUCT("4D837FE0-C555-11D0-8A2B-00A0C9255AC1", KSNODETYPE_ADC);
262#define KSNODETYPE_ADC DEFINE_GUIDNAMED(KSNODETYPE_ADC)
263
264#define STATIC_KSNODETYPE_AGC\
265 0xE88C9BA0L, 0xC557, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1}
266DEFINE_GUIDSTRUCT("E88C9BA0-C557-11D0-8A2B-00A0C9255AC1", KSNODETYPE_AGC);
267#define KSNODETYPE_AGC DEFINE_GUIDNAMED(KSNODETYPE_AGC)
268
269#define STATIC_KSNODETYPE_3D_EFFECTS\
270 0x55515860L, 0xC559, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1}
271DEFINE_GUIDSTRUCT("55515860-C559-11D0-8A2B-00A0C9255AC1", KSNODETYPE_3D_EFFECTS);
272#define KSNODETYPE_3D_EFFECTS DEFINE_GUIDNAMED(KSNODETYPE_3D_EFFECTS)
273
274#define STATIC_KSNODETYPE_SUPERMIX\
275 0xE573ADC0L, 0xC555, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1}
276DEFINE_GUIDSTRUCT("E573ADC0-C555-11D0-8A2B-00A0C9255AC1", KSNODETYPE_SUPERMIX);
277#define KSNODETYPE_SUPERMIX DEFINE_GUIDNAMED(KSNODETYPE_SUPERMIX)
278
279#define STATIC_KSNODETYPE_SRC\
280 0x9DB7B9E0L, 0xC555, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1}
281DEFINE_GUIDSTRUCT("9DB7B9E0-C555-11D0-8A2B-00A0C9255AC1", KSNODETYPE_SRC);
282#define KSNODETYPE_SRC DEFINE_GUIDNAMED(KSNODETYPE_SRC)
283
284#define STATIC_KSNODETYPE_DAC\
285 0x507AE360L, 0xC554, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1}
286DEFINE_GUIDSTRUCT("507AE360-C554-11D0-8A2B-00A0C9255AC1", KSNODETYPE_DAC);
287#define KSNODETYPE_DAC DEFINE_GUIDNAMED(KSNODETYPE_DAC)
288
289#define STATIC_KSNODETYPE_SPDIF_INTERFACE\
290 DEFINE_USB_TERMINAL_GUID(0x0605)
291DEFINE_GUIDSTRUCT("DFF21FE5-F70F-11D0-B917-00A0C9223196", KSNODETYPE_SPDIF_INTERFACE);
292#define KSNODETYPE_SPDIF_INTERFACE DEFINE_GUIDNAMED(KSNODETYPE_SPDIF_INTERFACE)
293
294#define STATIC_KSNODETYPE_MICROPHONE\
295 DEFINE_USB_TERMINAL_GUID(0x0201)
296DEFINE_GUIDSTRUCT("DFF21BE1-F70F-11D0-B917-00A0C9223196", KSNODETYPE_MICROPHONE);
297#define KSNODETYPE_MICROPHONE DEFINE_GUIDNAMED(KSNODETYPE_MICROPHONE)
298
299#define STATIC_KSNODETYPE_CD_PLAYER\
300 DEFINE_USB_TERMINAL_GUID(0x0703)
301DEFINE_GUIDSTRUCT("DFF220E3-F70F-11D0-B917-00A0C9223196", KSNODETYPE_CD_PLAYER);
302#define KSNODETYPE_CD_PLAYER DEFINE_GUIDNAMED(KSNODETYPE_CD_PLAYER)
303
304#define STATIC_KSNODETYPE_CHORUS\
305 0x20173F20L, 0xC559, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1}
306DEFINE_GUIDSTRUCT("20173F20-C559-11D0-8A2B-00A0C9255AC1", KSNODETYPE_CHORUS);
307#define KSNODETYPE_CHORUS DEFINE_GUIDNAMED(KSNODETYPE_CHORUS)
308
309#define STATIC_KSNODETYPE_REVERB\
310 0xEF0328E0L, 0xC558, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1}
311DEFINE_GUIDSTRUCT("EF0328E0-C558-11D0-8A2B-00A0C9255AC1", KSNODETYPE_REVERB);
312#define KSNODETYPE_REVERB DEFINE_GUIDNAMED(KSNODETYPE_REVERB)
313
314
315#define STATIC_KSNODETYPE_LINE_CONNECTOR\
316 DEFINE_USB_TERMINAL_GUID(0x0603)
317DEFINE_GUIDSTRUCT("DFF21FE3-F70F-11D0-B917-00A0C9223196", KSNODETYPE_LINE_CONNECTOR);
318#define KSNODETYPE_LINE_CONNECTOR DEFINE_GUIDNAMED(KSNODETYPE_LINE_CONNECTOR)
319
320#define STATIC_KSNODETYPE_ANALOG_CONNECTOR\
321 DEFINE_USB_TERMINAL_GUID(0x601)
322DEFINE_GUIDSTRUCT("DFF21FE1-F70F-11D0-B917-00A0C9223196", KSNODETYPE_ANALOG_CONNECTOR);
323#define KSNODETYPE_ANALOG_CONNECTOR DEFINE_GUIDNAMED(KSNODETYPE_ANALOG_CONNECTOR)
324
325#define STATIC_KSNODETYPE_SPEAKER\
326 DEFINE_USB_TERMINAL_GUID(0x0301)
327DEFINE_GUIDSTRUCT("DFF21CE1-F70F-11D0-B917-00A0C9223196", KSNODETYPE_SPEAKER);
328#define KSNODETYPE_SPEAKER DEFINE_GUIDNAMED(KSNODETYPE_SPEAKER)
329
330#define STATIC_KSAUDFNAME_RECORDING_CONTROL\
331 0x185FEDFAL, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3}
332DEFINE_GUIDSTRUCT("185FEDFA-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_RECORDING_CONTROL);
333#define KSAUDFNAME_RECORDING_CONTROL DEFINE_GUIDNAMED(KSAUDFNAME_RECORDING_CONTROL)
334
335#define STATIC_KSNODETYPE_VOLUME\
336 0x3A5ACC00L, 0xC557, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1}
337DEFINE_GUIDSTRUCT("3A5ACC00-C557-11D0-8A2B-00A0C9255AC1", KSNODETYPE_VOLUME);
338#define KSNODETYPE_VOLUME DEFINE_GUIDNAMED(KSNODETYPE_VOLUME)
339
340#define STATIC_KSAUDFNAME_WAVE_VOLUME\
341 0x185FEDE5L, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3}
342DEFINE_GUIDSTRUCT("185FEDE5-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_WAVE_VOLUME);
343#define KSAUDFNAME_WAVE_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_WAVE_VOLUME)
344
345#define STATIC_KSNODETYPE_MUTE\
346 0x02B223C0L, 0xC557, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1}
347DEFINE_GUIDSTRUCT("02B223C0-C557-11D0-8A2B-00A0C9255AC1", KSNODETYPE_MUTE);
348#define KSNODETYPE_MUTE DEFINE_GUIDNAMED(KSNODETYPE_MUTE)
349
350#define STATIC_KSAUDFNAME_WAVE_MUTE\
351 0x185FEDE6L, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3}
352DEFINE_GUIDSTRUCT("185FEDE6-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_WAVE_MUTE);
353#define KSAUDFNAME_WAVE_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_WAVE_MUTE)
354
355#define STATIC_KSAUDFNAME_MIC_VOLUME\
356 0x185FEDEDL, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3}
357DEFINE_GUIDSTRUCT("185FEDED-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIC_VOLUME);
358#define KSAUDFNAME_MIC_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MIC_VOLUME)
359
360#define STATIC_KSNODETYPE_SUM\
361 0xDA441A60L, 0xC556, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1}
362DEFINE_GUIDSTRUCT("DA441A60-C556-11D0-8A2B-00A0C9255AC1", KSNODETYPE_SUM);
363#define KSNODETYPE_SUM DEFINE_GUIDNAMED(KSNODETYPE_SUM)
364
365#define STATIC_KSAUDFNAME_MASTER_VOLUME\
366 0x185FEDE3L, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3}
367DEFINE_GUIDSTRUCT("185FEDE3-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MASTER_VOLUME);
368#define KSAUDFNAME_MASTER_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MASTER_VOLUME)
369
370#define STATIC_KSAUDFNAME_CD_VOLUME\
371 0x185FEDE9L, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3}
372DEFINE_GUIDSTRUCT("185FEDE9-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_CD_VOLUME);
373#define KSAUDFNAME_CD_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_CD_VOLUME)
374
375#define STATIC_KSAUDFNAME_RECORDING_SOURCE\
376 0x185FEDEFL, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3}
377DEFINE_GUIDSTRUCT("185FEDEF-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_RECORDING_SOURCE);
378#define KSAUDFNAME_RECORDING_SOURCE DEFINE_GUIDNAMED(KSAUDFNAME_RECORDING_SOURCE)
379
380#define STATIC_KSAUDFNAME_LINE_IN_VOLUME\
381 0x185FEDF4L, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3}
382DEFINE_GUIDSTRUCT("185FEDF4-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_LINE_IN_VOLUME);
383#define KSAUDFNAME_LINE_IN_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_LINE_IN_VOLUME)
384
385#define STATIC_KSAUDFNAME_AUX_VOLUME\
386 0x185FEDFCL, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3}
387DEFINE_GUIDSTRUCT("185FEDFC-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_AUX_VOLUME);
388#define KSAUDFNAME_AUX_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_AUX_VOLUME)
389
390#define STATIC_KSAUDFNAME_MIC_IN_VOLUME\
391 0x185FEDF5L, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3}
392DEFINE_GUIDSTRUCT("185FEDF5-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIC_IN_VOLUME);
393#define KSAUDFNAME_MIC_IN_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MIC_IN_VOLUME)
394
395#define STATIC_KSNODETYPE_LOUDNESS\
396 0x41887440L, 0xC558, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1}
397DEFINE_GUIDSTRUCT("41887440-C558-11D0-8A2B-00A0C9255AC1", KSNODETYPE_LOUDNESS);
398#define KSNODETYPE_LOUDNESS DEFINE_GUIDNAMED(KSNODETYPE_LOUDNESS)
399
400#define STATIC_KSAUDFNAME_MICROPHONE_BOOST\
401 0x2bc31d6aL, 0x96e3, 0x11d2, {0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68}
402DEFINE_GUIDSTRUCT("2BC31D6A-96E3-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_MICROPHONE_BOOST);
403#define KSAUDFNAME_MICROPHONE_BOOST DEFINE_GUIDNAMED(KSAUDFNAME_MICROPHONE_BOOST)
404
405#define STATIC_KSAUDFNAME_CD_MUTE\
406 0x185FEDEAL, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3}
407DEFINE_GUIDSTRUCT("185FEDEA-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_CD_MUTE);
408#define KSAUDFNAME_CD_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_CD_MUTE)
409
410#define STATIC_KSAUDFNAME_LINE_MUTE\
411 0x185FEDECL, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3}
412DEFINE_GUIDSTRUCT("185FEDEC-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_LINE_MUTE);
413#define KSAUDFNAME_LINE_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_LINE_MUTE)
414
415#define STATIC_KSAUDFNAME_MIC_MUTE\
416 0x185FEDEEL, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3}
417DEFINE_GUIDSTRUCT("185FEDEE-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIC_MUTE);
418#define KSAUDFNAME_MIC_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_MIC_MUTE)
419
420#define STATIC_KSAUDFNAME_AUX_MUTE\
421 0x185FEDFDL, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3}
422DEFINE_GUIDSTRUCT("185FEDFD-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_AUX_MUTE);
423#define KSAUDFNAME_AUX_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_AUX_MUTE)
424
425#define STATIC_KSAUDFNAME_VOLUME_CONTROL\
426 0x185FEDF7L, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3}
427DEFINE_GUIDSTRUCT("185FEDF7-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_VOLUME_CONTROL);
428#define KSAUDFNAME_VOLUME_CONTROL DEFINE_GUIDNAMED(KSAUDFNAME_VOLUME_CONTROL)
429
430#define STATIC_KSNODETYPE_MUX\
431 0x2CEAF780L, 0xC556, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1}
432DEFINE_GUIDSTRUCT("2CEAF780-C556-11D0-8A2B-00A0C9255AC1", KSNODETYPE_MUX);
433#define KSNODETYPE_MUX DEFINE_GUIDNAMED(KSNODETYPE_MUX)
434
435#define STATIC_KSAUDFNAME_MASTER_MUTE\
436 0x185FEDE4L, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3}
437DEFINE_GUIDSTRUCT("185FEDE4-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MASTER_MUTE);
438#define KSAUDFNAME_MASTER_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_MASTER_MUTE)
439
440#define STATIC_KSNODETYPE_PEAKMETER\
441 0xa085651eL, 0x5f0d, 0x4b36, {0xa8, 0x69, 0xd1, 0x95, 0xd6, 0xab, 0x4b, 0x9e}
442DEFINE_GUIDSTRUCT("A085651E-5F0D-4b36-A869-D195D6AB4B9E", KSNODETYPE_PEAKMETER);
443#define KSNODETYPE_PEAKMETER DEFINE_GUIDNAMED(KSNODETYPE_PEAKMETER)
444
445#define STATIC_KSNODETYPE_STEREO_WIDE\
446 0xA9E69800L, 0xC558, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1}
447DEFINE_GUIDSTRUCT("A9E69800-C558-11D0-8A2B-00A0C9255AC1", KSNODETYPE_STEREO_WIDE);
448#define KSNODETYPE_STEREO_WIDE DEFINE_GUIDNAMED(KSNODETYPE_STEREO_WIDE)
449
450#define STATIC_KSNODETYPE_TONE\
451 0x7607E580L, 0xC557, 0x11D0, {0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1}
452DEFINE_GUIDSTRUCT("7607E580-C557-11D0-8A2B-00A0C9255AC1", KSNODETYPE_TONE);
453#define KSNODETYPE_TONE DEFINE_GUIDNAMED(KSNODETYPE_TONE)
454
455
456#define STATIC_KSNODETYPE_DESKTOP_MICROPHONE\
457 DEFINE_USB_TERMINAL_GUID(0x0202)
458DEFINE_GUIDSTRUCT("DFF21BE2-F70F-11D0-B917-00A0C9223196", KSNODETYPE_DESKTOP_MICROPHONE);
459#define KSNODETYPE_DESKTOP_MICROPHONE DEFINE_GUIDNAMED(KSNODETYPE_DESKTOP_MICROPHONE)
460
461#define STATIC_KSNODETYPE_PERSONAL_MICROPHONE\
462 DEFINE_USB_TERMINAL_GUID(0x0203)
463DEFINE_GUIDSTRUCT("DFF21BE3-F70F-11D0-B917-00A0C9223196", KSNODETYPE_PERSONAL_MICROPHONE);
464#define KSNODETYPE_PERSONAL_MICROPHONE DEFINE_GUIDNAMED(KSNODETYPE_PERSONAL_MICROPHONE)
465
466#define STATIC_KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE\
467 DEFINE_USB_TERMINAL_GUID(0x0204)
468DEFINE_GUIDSTRUCT("DFF21BE4-F70F-11D0-B917-00A0C9223196", KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE);
469#define KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE DEFINE_GUIDNAMED(KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE)
470
471#define STATIC_KSNODETYPE_MICROPHONE_ARRAY\
472 DEFINE_USB_TERMINAL_GUID(0x0205)
473DEFINE_GUIDSTRUCT("DFF21BE5-F70F-11D0-B917-00A0C9223196", KSNODETYPE_MICROPHONE_ARRAY);
474#define KSNODETYPE_MICROPHONE_ARRAY DEFINE_GUIDNAMED(KSNODETYPE_MICROPHONE_ARRAY)
475
476#define STATIC_KSNODETYPE_PROCESSING_MICROPHONE_ARRAY\
477 DEFINE_USB_TERMINAL_GUID(0x0206)
478DEFINE_GUIDSTRUCT("DFF21BE6-F70F-11D0-B917-00A0C9223196", KSNODETYPE_PROCESSING_MICROPHONE_ARRAY);
479#define KSNODETYPE_PROCESSING_MICROPHONE_ARRAY DEFINE_GUIDNAMED(KSNODETYPE_PROCESSING_MICROPHONE_ARRAY)
480
481#define STATIC_KSNODETYPE_HEADPHONES\
482 DEFINE_USB_TERMINAL_GUID(0x0302)
483DEFINE_GUIDSTRUCT("DFF21CE2-F70F-11D0-B917-00A0C9223196", KSNODETYPE_HEADPHONES);
484#define KSNODETYPE_HEADPHONES DEFINE_GUIDNAMED(KSNODETYPE_HEADPHONES)
485
486#define STATIC_KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO\
487 DEFINE_USB_TERMINAL_GUID(0x0303)
488DEFINE_GUIDSTRUCT("DFF21CE3-F70F-11D0-B917-00A0C9223196", KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO);
489#define KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO DEFINE_GUIDNAMED(KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO)
490
491#define STATIC_KSNODETYPE_DESKTOP_SPEAKER\
492 DEFINE_USB_TERMINAL_GUID(0x0304)
493DEFINE_GUIDSTRUCT("DFF21CE4-F70F-11D0-B917-00A0C9223196", KSNODETYPE_DESKTOP_SPEAKER);
494#define KSNODETYPE_DESKTOP_SPEAKER DEFINE_GUIDNAMED(KSNODETYPE_DESKTOP_SPEAKER)
495
496#define STATIC_KSNODETYPE_ROOM_SPEAKER\
497 DEFINE_USB_TERMINAL_GUID(0x0305)
498DEFINE_GUIDSTRUCT("DFF21CE5-F70F-11D0-B917-00A0C9223196", KSNODETYPE_ROOM_SPEAKER);
499#define KSNODETYPE_ROOM_SPEAKER DEFINE_GUIDNAMED(KSNODETYPE_ROOM_SPEAKER)
500
501#define STATIC_KSNODETYPE_COMMUNICATION_SPEAKER\
502 DEFINE_USB_TERMINAL_GUID(0x0306)
503DEFINE_GUIDSTRUCT("DFF21CE6-F70F-11D0-B917-00A0C9223196", KSNODETYPE_COMMUNICATION_SPEAKER);
504#define KSNODETYPE_COMMUNICATION_SPEAKER DEFINE_GUIDNAMED(KSNODETYPE_COMMUNICATION_SPEAKER)
505
506#define STATIC_KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER\
507 DEFINE_USB_TERMINAL_GUID(0x0307)
508DEFINE_GUIDSTRUCT("DFF21CE7-F70F-11D0-B917-00A0C9223196", KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER);
509#define KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER DEFINE_GUIDNAMED(KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER)
510
511#define STATIC_KSAUDFNAME_PC_SPEAKER_VOLUME\
512 0x185FEDF0L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
513DEFINE_GUIDSTRUCT("185FEDF0-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_PC_SPEAKER_VOLUME);
514#define KSAUDFNAME_PC_SPEAKER_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_PC_SPEAKER_VOLUME)
515
516#define STATIC_KSNODETYPE_PHONE_LINE\
517 DEFINE_USB_TERMINAL_GUID(0x0501)
518DEFINE_GUIDSTRUCT("DFF21EE1-F70F-11D0-B917-00A0C9223196", KSNODETYPE_PHONE_LINE);
519#define KSNODETYPE_PHONE_LINE DEFINE_GUIDNAMED(KSNODETYPE_PHONE_LINE)
520
521#define STATIC_KSAUDFNAME_CD_AUDIO\
522 0x185FEDFBL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
523DEFINE_GUIDSTRUCT("185FEDFB-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_CD_AUDIO);
524#define KSAUDFNAME_CD_AUDIO DEFINE_GUIDNAMED(KSAUDFNAME_CD_AUDIO)
525
526#define STATIC_KSAUDFNAME_PC_SPEAKER\
527 0x185FEDFFL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
528DEFINE_GUIDSTRUCT("185FEDFF-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_PC_SPEAKER);
529#define KSAUDFNAME_PC_SPEAKER DEFINE_GUIDNAMED(KSAUDFNAME_PC_SPEAKER)
530
531#define STATIC_KSAUDFNAME_LINE_IN\
532 0x185FEDF9L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
533DEFINE_GUIDSTRUCT("185FEDF9-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_LINE_IN);
534#define KSAUDFNAME_LINE_IN DEFINE_GUIDNAMED(KSAUDFNAME_LINE_IN)
535
536#define STATIC_KSAUDFNAME_VIDEO\
537 0x915daec4L, 0xa434, 0x11d2, 0xac, 0x52, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
538DEFINE_GUIDSTRUCT("915DAEC4-A434-11d2-AC52-00C04F8EFB68", KSAUDFNAME_VIDEO);
539#define KSAUDFNAME_VIDEO DEFINE_GUIDNAMED(KSAUDFNAME_VIDEO)
540
541#define STATIC_KSAUDFNAME_AUX\
542 0x185FEDFEL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
543DEFINE_GUIDSTRUCT("185FEDFE-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_AUX);
544#define KSAUDFNAME_AUX DEFINE_GUIDNAMED(KSAUDFNAME_AUX)
545
546#define STATIC_KSAUDFNAME_STEREO_MIX\
547 0xdff077L, 0x96e3, 0x11d2, 0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
548DEFINE_GUIDSTRUCT("00DFF077-96E3-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_STEREO_MIX);
549#define KSAUDFNAME_STEREO_MIX DEFINE_GUIDNAMED(KSAUDFNAME_STEREO_MIX)
550
551#define STATIC_KSAUDFNAME_MONO_MIX\
552 0xdff078L, 0x96e3, 0x11d2, 0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
553DEFINE_GUIDSTRUCT("00DFF078-96E3-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_MONO_MIX);
554#define KSAUDFNAME_MONO_MIX DEFINE_GUIDNAMED(KSAUDFNAME_MONO_MIX)
555
556#define STATIC_KSAUDFNAME_3D_CENTER\
557 0x9f0670b4L, 0x991f, 0x11d2, 0xac, 0x4d, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
558DEFINE_GUIDSTRUCT("9F0670B4-991F-11d2-AC4D-00C04F8EFB68", KSAUDFNAME_3D_CENTER);
559#define KSAUDFNAME_3D_CENTER DEFINE_GUIDNAMED(KSAUDFNAME_3D_CENTER)
560
561#define STATIC_KSAUDFNAME_MONO_MIX_VOLUME\
562 0x22b0eafeL, 0x96e3, 0x11d2, 0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
563DEFINE_GUIDSTRUCT("22B0EAFE-96E3-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_MONO_MIX_VOLUME);
564#define KSAUDFNAME_MONO_MIX_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MONO_MIX_VOLUME)
565
566#define STATIC_KSAUDFNAME_STEREO_MIX_VOLUME\
567 0x1ad247edL, 0x96e3, 0x11d2, 0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
568DEFINE_GUIDSTRUCT("1AD247ED-96E3-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_STEREO_MIX_VOLUME);
569#define KSAUDFNAME_STEREO_MIX_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_STEREO_MIX_VOLUME)
570
571#define STATIC_KSAUDFNAME_VIDEO_VOLUME\
572 0x9b46e708L, 0x992a, 0x11d2, 0xac, 0x4d, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
573DEFINE_GUIDSTRUCT("9B46E708-992A-11d2-AC4D-00C04F8EFB68", KSAUDFNAME_VIDEO_VOLUME);
574#define KSAUDFNAME_VIDEO_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_VIDEO_VOLUME)
575
576#define STATIC_KSAUDFNAME_TREBLE\
577 0x185FEDE1L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
578DEFINE_GUIDSTRUCT("185FEDE1-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_TREBLE);
579#define KSAUDFNAME_TREBLE DEFINE_GUIDNAMED(KSAUDFNAME_TREBLE)
580
581#define STATIC_KSAUDFNAME_BASS\
582 0x185FEDE0L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
583DEFINE_GUIDSTRUCT("185FEDE0-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_BASS);
584#define KSAUDFNAME_BASS DEFINE_GUIDNAMED(KSAUDFNAME_BASS)
585
586#define STATIC_KSAUDFNAME_3D_DEPTH\
587 0x63ff5747L, 0x991f, 0x11d2, 0xac, 0x4d, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
588DEFINE_GUIDSTRUCT("63FF5747-991F-11d2-AC4D-00C04F8EFB68", KSAUDFNAME_3D_DEPTH);
589#define KSAUDFNAME_3D_DEPTH DEFINE_GUIDNAMED(KSAUDFNAME_3D_DEPTH)
590
591#define STATIC_KSAUDFNAME_MONO_OUT\
592 0xf9b41dc3L, 0x96e2, 0x11d2, 0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
593DEFINE_GUIDSTRUCT("F9B41DC3-96E2-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_MONO_OUT);
594#define KSAUDFNAME_MONO_OUT DEFINE_GUIDNAMED(KSAUDFNAME_MONO_OUT)
595
596#define STATIC_KSAUDFNAME_PC_SPEAKER_MUTE\
597 0x185FEDF1L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
598DEFINE_GUIDSTRUCT("185FEDF1-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_PC_SPEAKER_MUTE);
599#define KSAUDFNAME_PC_SPEAKER_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_PC_SPEAKER_MUTE)
600
601#define STATIC_KSAUDFNAME_ALTERNATE_MICROPHONE\
602 0x2bc31d6bL, 0x96e3, 0x11d2, 0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
603DEFINE_GUIDSTRUCT("2BC31D6B-96E3-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_ALTERNATE_MICROPHONE);
604#define KSAUDFNAME_ALTERNATE_MICROPHONE DEFINE_GUIDNAMED(KSAUDFNAME_ALTERNATE_MICROPHONE)
605
606#define STATIC_KSAUDFNAME_VIDEO_MUTE\
607 0x9b46e709L, 0x992a, 0x11d2, 0xac, 0x4d, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
608DEFINE_GUIDSTRUCT("9B46E709-992A-11d2-AC4D-00C04F8EFB68", KSAUDFNAME_VIDEO_MUTE);
609#define KSAUDFNAME_VIDEO_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_VIDEO_MUTE)
610
611
612/*
613 Pins
614*/
615
616#define STATIC_KSCATEGORY_WDMAUD_USE_PIN_NAME \
617 0x47A4FA20L, 0xA251, 0x11D1, {0xA0, 0x50, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88}
618DEFINE_GUIDSTRUCT("47A4FA20-A251-11D1-A050-0000F8004788", KSCATEGORY_WDMAUD_USE_PIN_NAME);
619#define KSCATEGORY_WDMAUD_USE_PIN_NAME DEFINE_GUIDNAMED(KSCATEGORY_WDMAUD_USE_PIN_NAME)
620
621
622/*
623 Formats
624*/
625
626//#if defined(_INC_MMREG)
627#if !defined( PACK_PRAGMAS_NOT_SUPPORTED )
628#include <pshpack1.h>
629#endif
630typedef struct {
634
635#ifndef _WAVEFORMATEXTENSIBLE_
636#define _WAVEFORMATEXTENSIBLE_
637typedef struct {
639 union
640 {
644 }Samples;
648#endif
649
650#if !defined(WAVE_FORMAT_EXTENSIBLE)
651#define WAVE_FORMAT_EXTENSIBLE 0xFFFE
652#endif
653
654typedef struct {
659
660typedef struct {
664
665#if !defined( PACK_PRAGMAS_NOT_SUPPORTED )
666#include <poppack.h>
667#endif
668
669//#endif
670
671typedef enum {
677
678typedef struct {
686
687typedef struct tagKS_AnalogVideoInfo {
694
699
700typedef enum {
705
706typedef enum {
711
712typedef struct {
719
720typedef struct {
724
725typedef struct {
729
730typedef struct {
740
741typedef struct {
745
746typedef struct {
750
751typedef struct {
758
759typedef enum {
763
764typedef enum {
785 KS_AnalogVideo_PAL_N_COMBO = 0x00100000
787
788typedef struct {
799
813
837
838typedef struct tagKS_FRAME_INFO {
846 union {
849 };
851 union {
852 struct {
855 };
857 };
859
860typedef struct tagKS_VIDEOINFOHEADER {
868
879 union {
882 };
886
887typedef struct tagKS_DATARANGE_VIDEO {
896
906
907typedef struct tagKS_VBIINFOHEADER {
920
930
937
938typedef struct {
944
945typedef struct tagKS_VBI_FRAME_INFO {
954
955#define KS_SIZE_PREHEADER (FIELD_OFFSET(KS_VIDEOINFOHEADER,bmiHeader))
956
957#if !defined( DEFINE_WAVEFORMATEX_GUID )
958#define DEFINE_WAVEFORMATEX_GUID(x) (USHORT)(x), 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
959#endif
960
961#define STATIC_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX\
962 0x00000000L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
963DEFINE_GUIDSTRUCT("00000000-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_WAVEFORMATEX);
964#define KSDATAFORMAT_SUBTYPE_WAVEFORMATEX DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_WAVEFORMATEX)
965
966
967#define INIT_WAVEFORMATEX_GUID(Guid, x) \
968{ \
969 *(Guid) = KSDATAFORMAT_SUBTYPE_WAVEFORMATEX; \
970 (Guid)->Data1 = (USHORT)(x); \
971}
972
973// 'vids'
974#define STATIC_KSDATAFORMAT_TYPE_VIDEO \
975 0x73646976L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
976DEFINE_GUIDSTRUCT("73646976-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_VIDEO);
977#define KSDATAFORMAT_TYPE_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_VIDEO)
978
979// 'auds'
980#define STATIC_KSDATAFORMAT_TYPE_AUDIO \
981 0x73647561L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
982DEFINE_GUIDSTRUCT("73647561-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_AUDIO);
983#define KSDATAFORMAT_TYPE_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_AUDIO)
984
985#define STATIC_KSDATAFORMAT_SPECIFIER_DSOUND\
986 0x518590a2L, 0xa184, 0x11d0, {0x85, 0x22, 0x00, 0xc0, 0x4f, 0xd9, 0xba, 0xf3}
987DEFINE_GUIDSTRUCT("518590a2-a184-11d0-8522-00c04fd9baf3", KSDATAFORMAT_SPECIFIER_DSOUND);
988#define KSDATAFORMAT_SPECIFIER_DSOUND DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_DSOUND)
989
990#define STATIC_KSDATAFORMAT_SUBTYPE_ANALOG\
991 0x6dba3190L, 0x67bd, 0x11cf, {0xa0, 0xf7, 0x00, 0x20, 0xaf, 0xd1, 0x56, 0xe4}
992DEFINE_GUIDSTRUCT("6dba3190-67bd-11cf-a0f7-0020afd156e4", KSDATAFORMAT_SUBTYPE_ANALOG);
993#define KSDATAFORMAT_SUBTYPE_ANALOG DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_ANALOG)
994
995
996// 'txts'
997#define STATIC_KSDATAFORMAT_TYPE_TEXT \
998 0x73747874L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
999DEFINE_GUIDSTRUCT("73747874-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_TEXT);
1000#define KSDATAFORMAT_TYPE_TEXT DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_TEXT)
1001
1002#define STATIC_KSDATAFORMAT_TYPE_MUSIC \
1003 0xE725D360L, 0x62CC, 0x11CF, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00}
1004DEFINE_GUIDSTRUCT("E725D360-62CC-11CF-A5D6-28DB04C10000", KSDATAFORMAT_TYPE_MUSIC);
1005#define KSDATAFORMAT_TYPE_MUSIC DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MUSIC)
1006
1007// 'mids'
1008#define STATIC_KSDATAFORMAT_TYPE_MIDI \
1009 0x7364696DL, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
1010DEFINE_GUIDSTRUCT("7364696D-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_MIDI);
1011#define KSDATAFORMAT_TYPE_MIDI DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MIDI)
1012
1013#define STATIC_KSDATAFORMAT_SUBTYPE_MIDI \
1014 0x1D262760L, 0xE957, 0x11CF, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00}
1015DEFINE_GUIDSTRUCT("1D262760-E957-11CF-A5D6-28DB04C10000", KSDATAFORMAT_SUBTYPE_MIDI);
1016#define KSDATAFORMAT_SUBTYPE_MIDI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MIDI)
1017
1018#define STATIC_KSDATAFORMAT_SUBTYPE_PCM\
1019 0x00000001L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
1020DEFINE_GUIDSTRUCT("00000001-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_PCM);
1021#define KSDATAFORMAT_SUBTYPE_PCM DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_PCM)
1022
1023#define STATIC_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT\
1024 0x00000003L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
1025DEFINE_GUIDSTRUCT("00000003-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_IEEE_FLOAT);
1026#define KSDATAFORMAT_SUBTYPE_IEEE_FLOAT DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_IEEE_FLOAT)
1027
1028#define STATIC_KSDATAFORMAT_SPECIFIER_WAVEFORMATEX\
1029 0x05589f81L, 0xc356, 0x11ce, {0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a}
1030DEFINE_GUIDSTRUCT("05589f81-c356-11ce-bf01-00aa0055595a", KSDATAFORMAT_SPECIFIER_WAVEFORMATEX);
1031#define KSDATAFORMAT_SPECIFIER_WAVEFORMATEX DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_WAVEFORMATEX)
1032
1033#define STATIC_KSDATAFORMAT_SUBTYPE_AC3_AUDIO\
1034 0xe06d802cL, 0xdb46, 0x11cf, {0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea}
1035DEFINE_GUIDSTRUCT("e06d802c-db46-11cf-b4d1-00805f6cbbea", KSDATAFORMAT_SUBTYPE_AC3_AUDIO);
1036#define KSDATAFORMAT_SUBTYPE_AC3_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_AC3_AUDIO)
1037
1038#define STATIC_KSDATAFORMAT_SPECIFIER_AC3_AUDIO\
1039 0xe06d80e4L, 0xdb46, 0x11cf, {0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea}
1040DEFINE_GUIDSTRUCT("e06d80e4-db46-11cf-b4d1-00805f6cbbea", KSDATAFORMAT_SPECIFIER_AC3_AUDIO);
1041#define KSDATAFORMAT_SPECIFIER_AC3_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_AC3_AUDIO)
1042
1043#define STATIC_KSPROPSETID_AC3\
1044 0xBFABE720L, 0x6E1F, 0x11D0, {0xBC, 0xF2, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}
1045DEFINE_GUIDSTRUCT("BFABE720-6E1F-11D0-BCF2-444553540000", KSPROPSETID_AC3);
1046#define KSPROPSETID_AC3 DEFINE_GUIDNAMED(KSPROPSETID_AC3)
1047
1048#define STATIC_KSPROPSETID_Audio\
1049 0x45FFAAA0L, 0x6E1B, 0x11D0, {0xBC, 0xF2, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}
1050DEFINE_GUIDSTRUCT("45FFAAA0-6E1B-11D0-BCF2-444553540000", KSPROPSETID_Audio);
1051#define KSPROPSETID_Audio DEFINE_GUIDNAMED(KSPROPSETID_Audio)
1052
1053typedef enum {
1090
1091#if (NTDDI_VERSION >= NTDDI_WINXP)
1096
1097#endif
1098#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1110#endif
1111
1113
1114#define STATIC_KSEVENTSETID_AudioControlChange\
1115 0xE85E9698L, 0xFA2F, 0x11D1, {0x95, 0xBD, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3}
1116DEFINE_GUIDSTRUCT("E85E9698-FA2F-11D1-95BD-00C04FB925D3", KSEVENTSETID_AudioControlChange);
1117#define KSEVENTSETID_AudioControlChange DEFINE_GUIDNAMED(KSEVENTSETID_AudioControlChange)
1118
1119typedef enum {
1122
1123
1124#define STATIC_KSEVENTSETID_LoopedStreaming\
1125 0x4682B940L, 0xC6EF, 0x11D0, {0x96, 0xD8, 0x00, 0xAA, 0x00, 0x51, 0xE5, 0x1D}
1126DEFINE_GUIDSTRUCT("4682B940-C6EF-11D0-96D8-00AA0051E51D", KSEVENTSETID_LoopedStreaming);
1127#define KSEVENTSETID_LoopedStreaming DEFINE_GUIDNAMED(KSEVENTSETID_LoopedStreaming)
1128
1129typedef enum {
1132
1133#define STATIC_KSEVENTSETID_Connection\
1134 0x7f4bcbe0L, 0x9ea5, 0x11cf, {0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00}
1135DEFINE_GUIDSTRUCT("7f4bcbe0-9ea5-11cf-a5d6-28db04c10000", KSEVENTSETID_Connection);
1136#define KSEVENTSETID_Connection DEFINE_GUIDNAMED(KSEVENTSETID_Connection)
1137
1138
1139typedef struct {
1141#if defined(_NTDDK_)
1143#else // !_NTDDK_
1145#endif // !_NTDDK_
1147
1148#define STATIC_KSPROPSETID_DrmAudioStream\
1149 0x2f2c8ddd, 0x4198, 0x4fac, {0xba, 0x29, 0x61, 0xbb, 0x5, 0xb7, 0xde, 0x6}
1150DEFINE_GUIDSTRUCT("2F2C8DDD-4198-4fac-BA29-61BB05B7DE06", KSPROPSETID_DrmAudioStream);
1151#define KSPROPSETID_DrmAudioStream DEFINE_GUIDNAMED(KSPROPSETID_DrmAudioStream)
1152
1153typedef enum {
1156
1157
1158/*
1159 SysAudio Properties
1160*/
1161
1162#define STATIC_KSPROPSETID_Sysaudio \
1163 0xCBE3FAA0L, 0xCC75, 0x11D0, {0xB4, 0x65, 0x00, 0x00, 0x1A, 0x18, 0x18, 0xE6}
1164DEFINE_GUIDSTRUCT("CBE3FAA0-CC75-11D0-B465-00001A1818E6", KSPROPSETID_Sysaudio);
1165#define KSPROPSETID_Sysaudio DEFINE_GUIDNAMED(KSPROPSETID_Sysaudio)
1166
1167typedef enum {
1178
1179typedef struct {
1184
1185#define SYSAUDIO_FLAGS_DONT_COMBINE_PINS 0x00000001
1186
1187
1188#define STATIC_KSPROPSETID_Sysaudio_Pin \
1189 0xA3A53220L, 0xC6E4, 0x11D0, {0xB4, 0x65, 0x00, 0x00, 0x1A, 0x18, 0x18, 0xE6}
1190DEFINE_GUIDSTRUCT("A3A53220-C6E4-11D0-B465-00001A1818E6", KSPROPSETID_Sysaudio_Pin);
1191#define KSPROPSETID_Sysaudio_Pin DEFINE_GUIDNAMED(KSPROPSETID_Sysaudio_Pin)
1192
1193typedef enum {
1196
1197
1198#define KSAUDIO_CPU_RESOURCES_NOT_HOST_CPU 0x00000000
1199#define KSAUDIO_CPU_RESOURCES_HOST_CPU 0x7FFFFFFF
1200
1201#if (NTDDI_VERSION >= NTDDI_WINXP)
1202#define KSAUDIO_SPEAKER_DIRECTOUT 0
1203#endif
1204#define KSAUDIO_SPEAKER_MONO (SPEAKER_FRONT_CENTER)
1205#define KSAUDIO_SPEAKER_STEREO (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT)
1206#define KSAUDIO_SPEAKER_QUAD (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
1207 SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT)
1208#define KSAUDIO_SPEAKER_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
1209 SPEAKER_FRONT_CENTER | SPEAKER_BACK_CENTER)
1210#define KSAUDIO_SPEAKER_5POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
1211 SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \
1212 SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT)
1213#define KSAUDIO_SPEAKER_7POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
1214 SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \
1215 SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | \
1216 SPEAKER_FRONT_LEFT_OF_CENTER | SPEAKER_FRONT_RIGHT_OF_CENTER)
1217
1218#if ( (NTDDI_VERSION >= NTDDI_WINXPSP2) && (NTDDI_VERSION < NTDDI_WS03) ) || (NTDDI_VERSION >= NTDDI_WS03SP1)
1219
1220#define KSAUDIO_SPEAKER_5POINT1_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
1221 SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \
1222 SPEAKER_SIDE_LEFT | SPEAKER_SIDE_RIGHT)
1223#define KSAUDIO_SPEAKER_7POINT1_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
1224 SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \
1225 SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | \
1226 SPEAKER_SIDE_LEFT | SPEAKER_SIDE_RIGHT)
1227#define KSAUDIO_SPEAKER_5POINT1_BACK KSAUDIO_SPEAKER_5POINT1
1228#define KSAUDIO_SPEAKER_7POINT1_WIDE KSAUDIO_SPEAKER_7POINT1
1229#endif
1230
1231typedef struct
1232{
1237
1238typedef struct
1239{
1244
1245typedef struct {
1246#if defined(_NTDDK_)
1247 ULONGLONG PlayOffset;
1249#else
1252#endif
1254
1255typedef struct {
1260
1261typedef struct {
1268
1269#define KSNODEPIN_STANDARD_IN 1
1270#define KSNODEPIN_STANDARD_OUT 0
1271
1272#define KSNODEPIN_SUM_MUX_IN 1
1273#define KSNODEPIN_SUM_MUX_OUT 0
1274
1275#define KSNODEPIN_DEMUX_IN 0
1276#define KSNODEPIN_DEMUX_OUT 1
1277
1278#if (NTDDI_VERSION < NTDDI_VISTA)
1279
1280#define KSNODEPIN_AEC_RENDER_IN 1
1281#define KSNODEPIN_AEC_RENDER_OUT 0
1282#define KSNODEPIN_AEC_CAPTURE_IN 2
1283#define KSNODEPIN_AEC_CAPTURE_OUT 3
1284
1285#endif
1286
1287
1288#define STATIC_KSMUSIC_TECHNOLOGY_PORT\
1289 0x86C92E60L, 0x62E8, 0x11CF, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00}
1290DEFINE_GUIDSTRUCT("86C92E60-62E8-11CF-A5D6-28DB04C10000", KSMUSIC_TECHNOLOGY_PORT);
1291#define KSMUSIC_TECHNOLOGY_PORT DEFINE_GUIDNAMED(KSMUSIC_TECHNOLOGY_PORT)
1292
1293#define STATIC_KSDATAFORMAT_SUBTYPE_MIDI_BUS\
1294 0x2CA15FA0L, 0x6CFE, 0x11CF, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00}
1295DEFINE_GUIDSTRUCT("2CA15FA0-6CFE-11CF-A5D6-28DB04C10000", KSDATAFORMAT_SUBTYPE_MIDI_BUS);
1296#define KSDATAFORMAT_SUBTYPE_MIDI_BUS DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MIDI_BUS)
1297
1298#define STATIC_KSAUDFNAME_MIDI\
1299 0x185FEDF8L, 0x9905, 0x11D1, {0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3}
1300DEFINE_GUIDSTRUCT("185FEDF8-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIDI);
1301#define KSAUDFNAME_MIDI DEFINE_GUIDNAMED(KSAUDFNAME_MIDI)
1302
1303#define STATIC_KSNODETYPE_SYNTHESIZER\
1304 DEFINE_USB_TERMINAL_GUID(0x0713)
1305DEFINE_GUIDSTRUCT("DFF220F3-F70F-11D0-B917-00A0C9223196", KSNODETYPE_SYNTHESIZER);
1306#define KSNODETYPE_SYNTHESIZER DEFINE_GUIDNAMED(KSNODETYPE_SYNTHESIZER)
1307
1308typedef struct
1309{
1316
1317#if (NTDDI_VERSION >= NTDDI_WINXPSP1)
1318
1319#define STATIC_KSPROPSETID_Jack\
1320 0x4509f757, 0x2d46, 0x4637, {0x8e, 0x62, 0xce, 0x7d, 0xb9, 0x44, 0xf5, 0x7b}
1321DEFINE_GUIDSTRUCT("4509F757-2D46-4637-8E62-CE7DB944F57B", KSPROPSETID_Jack);
1322#define KSPROPSETID_Jack DEFINE_GUIDNAMED(KSPROPSETID_Jack)
1323
1324typedef enum {
1330
1331typedef enum {
1345
1346#define eGeoLocReserved5 eGeoLocNotApplicable
1347
1348typedef enum {
1366
1367typedef enum {
1374
1375typedef enum {
1381
1382typedef struct {
1383 DWORD ChannelMapping;
1385 EPcxConnectionType ConnectionType;
1386 EPcxGeoLocation GeoLocation;
1387 EPcxGenLocation GenLocation;
1388 EPxcPortConnection PortConnection;
1389 BOOL IsConnected;
1391
1392typedef enum {
1396
1397#define MAX_SINK_DESCRIPTION_NAME_LENGTH 32
1398
1399typedef struct _tagKSJACK_SINK_INFORMATION {
1408 LUID PortId;
1410
1411#define JACKDESC2_PRESENCE_DETECT_CAPABILITY 0x1
1412#define JACKDESC2_DYNAMIC_FORMAT_CHANGE_CAPABILITY 0x2
1413
1414typedef struct _tagKSJACK_DESCRIPTION2 {
1418
1419#endif /* (NTDDI_VERSION >= NTDDI_WINXPSP1) */
1420
1421#ifndef _SPEAKER_POSITIONS_
1422#define _SPEAKER_POSITIONS_
1423
1424
1425#define SPEAKER_FRONT_LEFT 0x1
1426#define SPEAKER_FRONT_RIGHT 0x2
1427#define SPEAKER_FRONT_CENTER 0x4
1428#define SPEAKER_LOW_FREQUENCY 0x8
1429#define SPEAKER_BACK_LEFT 0x10
1430#define SPEAKER_BACK_RIGHT 0x20
1431#define SPEAKER_FRONT_LEFT_OF_CENTER 0x40
1432#define SPEAKER_FRONT_RIGHT_OF_CENTER 0x80
1433#define SPEAKER_BACK_CENTER 0x100
1434#define SPEAKER_SIDE_LEFT 0x200
1435#define SPEAKER_SIDE_RIGHT 0x400
1436#define SPEAKER_TOP_CENTER 0x800
1437#define SPEAKER_TOP_FRONT_LEFT 0x1000
1438#define SPEAKER_TOP_FRONT_CENTER 0x2000
1439#define SPEAKER_TOP_FRONT_RIGHT 0x4000
1440#define SPEAKER_TOP_BACK_LEFT 0x8000
1441#define SPEAKER_TOP_BACK_CENTER 0x10000
1442#define SPEAKER_TOP_BACK_RIGHT 0x20000
1443
1444#define SPEAKER_RESERVED 0x7FFC0000
1445#define SPEAKER_ALL 0x80000000
1446
1447#endif
1448
1449#if (NTDDI_VERSION >= NTDDI_WINXP)
1450#define KSAUDIO_SPEAKER_DIRECTOUT 0
1451#endif
1452
1453#define KSAUDIO_SPEAKER_MONO (SPEAKER_FRONT_CENTER)
1454#define KSAUDIO_SPEAKER_STEREO (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT)
1455#define KSAUDIO_SPEAKER_QUAD (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
1456 SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT)
1457#define KSAUDIO_SPEAKER_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
1458 SPEAKER_FRONT_CENTER | SPEAKER_BACK_CENTER)
1459#define KSAUDIO_SPEAKER_5POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
1460 SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \
1461 SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT)
1462#define KSAUDIO_SPEAKER_7POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
1463 SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \
1464 SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | \
1465 SPEAKER_FRONT_LEFT_OF_CENTER | SPEAKER_FRONT_RIGHT_OF_CENTER)
1466
1467#endif
KSJACK_SINK_CONNECTIONTYPE
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned long long DWORDLONG
Definition: intsafe.h:93
#define DEFINE_GUIDSTRUCT(guid, name)
Definition: ks.h:98
#define KSAUDFNAME_MONO_MIX_VOLUME
Definition: ksmedia.h:564
#define KSNODETYPE_TONE
Definition: ksmedia.h:453
KSPROPERTY_SYSAUDIO
Definition: ksmedia.h:1167
@ KSPROPERTY_SYSAUDIO_DEVICE_FRIENDLY_NAME
Definition: ksmedia.h:1169
@ KSPROPERTY_SYSAUDIO_CREATE_VIRTUAL_SOURCE
Definition: ksmedia.h:1173
@ KSPROPERTY_SYSAUDIO_DEVICE_INTERFACE_NAME
Definition: ksmedia.h:1171
@ KSPROPERTY_SYSAUDIO_DEVICE_INSTANCE
Definition: ksmedia.h:1170
@ KSPROPERTY_SYSAUDIO_COMPONENT_ID
Definition: ksmedia.h:1176
@ KSPROPERTY_SYSAUDIO_INSTANCE_INFO
Definition: ksmedia.h:1175
@ KSPROPERTY_SYSAUDIO_SELECT_GRAPH
Definition: ksmedia.h:1172
@ KSPROPERTY_SYSAUDIO_DEVICE_COUNT
Definition: ksmedia.h:1168
@ KSPROPERTY_SYSAUDIO_DEVICE_DEFAULT
Definition: ksmedia.h:1174
#define KSCATEGORY_TEXT
Definition: ksmedia.h:182
#define KSAUDFNAME_PC_SPEAKER_VOLUME
Definition: ksmedia.h:514
struct KSPROPERTY_TUNER_STANDARD_S * PKSPROPERTY_TUNER_STANDARD_S
#define KSDATAFORMAT_SUBTYPE_AC3_AUDIO
Definition: ksmedia.h:1036
struct tagKS_VBI_FRAME_INFO KS_VBI_FRAME_INFO
KSPROPERTY_SYSAUDIO_PIN
Definition: ksmedia.h:1193
@ KSPROPERTY_SYSAUDIO_ATTACH_VIRTUAL_SOURCE
Definition: ksmedia.h:1194
#define KSCATEGORY_AUDIO_DEVICE
Definition: ksmedia.h:139
#define KSAUDFNAME_MIC_MUTE
Definition: ksmedia.h:418
#define KSAUDFNAME_MIC_IN_VOLUME
Definition: ksmedia.h:393
#define PINNAME_VIDEO_ANALOGVIDEOIN
Definition: ksmedia.h:253
struct KSPROPERTY_TUNER_STATUS_S * PKSPROPERTY_TUNER_STATUS_S
KSPROPERTY_AUDIO
Definition: ksmedia.h:1053
@ KSPROPERTY_AUDIO_BASS
Definition: ksmedia.h:1067
@ KSPROPERTY_AUDIO_EQ_LEVEL
Definition: ksmedia.h:1071
@ KSPROPERTY_AUDIO_SURROUND_ENCODE
Definition: ksmedia.h:1088
@ KSPROPERTY_AUDIO_MIX_LEVEL_CAPS
Definition: ksmedia.h:1064
@ KSPROPERTY_AUDIO_FILTER_STATE
Definition: ksmedia.h:1094
@ KSPROPERTY_AUDIO_ALGORITHM_INSTANCE
Definition: ksmedia.h:1093
@ KSPROPERTY_AUDIO_STEREO_ENHANCE
Definition: ksmedia.h:1083
@ KSPROPERTY_AUDIO_MIX_LEVEL_TABLE
Definition: ksmedia.h:1063
@ KSPROPERTY_AUDIO_MID
Definition: ksmedia.h:1068
@ KSPROPERTY_AUDIO_CHORUS_LEVEL
Definition: ksmedia.h:1080
@ KSPROPERTY_AUDIO_DEMUX_DEST
Definition: ksmedia.h:1082
@ KSPROPERTY_AUDIO_CHORUS_MODULATION_RATE
Definition: ksmedia.h:1104
@ KSPROPERTY_AUDIO_QUALITY
Definition: ksmedia.h:1060
@ KSPROPERTY_AUDIO_PREFERRED_STATUS
Definition: ksmedia.h:1095
@ KSPROPERTY_AUDIO_VOLUMELEVEL
Definition: ksmedia.h:1057
@ KSPROPERTY_AUDIO_NUM_EQ_BANDS
Definition: ksmedia.h:1072
@ KSPROPERTY_AUDIO_STEREO_SPEAKER_GEOMETRY
Definition: ksmedia.h:1087
@ KSPROPERTY_AUDIO_MUTE
Definition: ksmedia.h:1066
@ KSPROPERTY_AUDIO_WIDE_MODE
Definition: ksmedia.h:1077
@ KSPROPERTY_AUDIO_REVERB_TIME
Definition: ksmedia.h:1106
@ KSPROPERTY_AUDIO_REVERB_DELAY_FEEDBACK
Definition: ksmedia.h:1107
@ KSPROPERTY_AUDIO_REVERB_LEVEL
Definition: ksmedia.h:1079
@ KSPROPERTY_AUDIO_PEQ_MAX_BANDS
Definition: ksmedia.h:1099
@ KSPROPERTY_AUDIO_MIC_ARRAY_GEOMETRY
Definition: ksmedia.h:1109
@ KSPROPERTY_AUDIO_POSITION
Definition: ksmedia.h:1058
@ KSPROPERTY_AUDIO_DEV_SPECIFIC
Definition: ksmedia.h:1081
@ KSPROPERTY_AUDIO_SAMPLING_RATE
Definition: ksmedia.h:1061
@ KSPROPERTY_AUDIO_PEQ_BAND_Q_FACTOR
Definition: ksmedia.h:1102
@ KSPROPERTY_AUDIO_EQ_BANDS
Definition: ksmedia.h:1073
@ KSPROPERTY_AUDIO_TREBLE
Definition: ksmedia.h:1069
@ KSPROPERTY_AUDIO_DELAY
Definition: ksmedia.h:1075
@ KSPROPERTY_AUDIO_MANUFACTURE_GUID
Definition: ksmedia.h:1084
@ KSPROPERTY_AUDIO_PRODUCT_GUID
Definition: ksmedia.h:1085
@ KSPROPERTY_AUDIO_PEAKMETER
Definition: ksmedia.h:1092
@ KSPROPERTY_AUDIO_CHANNEL_CONFIG
Definition: ksmedia.h:1056
@ KSPROPERTY_AUDIO_LATENCY
Definition: ksmedia.h:1054
@ KSPROPERTY_AUDIO_PEQ_BAND_CENTER_FREQ
Definition: ksmedia.h:1101
@ KSPROPERTY_AUDIO_AGC
Definition: ksmedia.h:1074
@ KSPROPERTY_AUDIO_LOUDNESS
Definition: ksmedia.h:1076
@ KSPROPERTY_AUDIO_COPY_PROTECTION
Definition: ksmedia.h:1055
@ KSPROPERTY_AUDIO_DYNAMIC_SAMPLING_RATE
Definition: ksmedia.h:1062
@ KSPROPERTY_AUDIO_PEQ_NUM_BANDS
Definition: ksmedia.h:1100
@ KSPROPERTY_AUDIO_POSITIONEX
Definition: ksmedia.h:1108
@ KSPROPERTY_AUDIO_PEQ_BAND_LEVEL
Definition: ksmedia.h:1103
@ KSPROPERTY_AUDIO_3D_INTERFACE
Definition: ksmedia.h:1089
@ KSPROPERTY_AUDIO_CPU_RESOURCES
Definition: ksmedia.h:1086
@ KSPROPERTY_AUDIO_MUX_SOURCE
Definition: ksmedia.h:1065
@ KSPROPERTY_AUDIO_BASS_BOOST
Definition: ksmedia.h:1070
@ KSPROPERTY_AUDIO_WIDENESS
Definition: ksmedia.h:1078
@ KSPROPERTY_AUDIO_CHORUS_MODULATION_DEPTH
Definition: ksmedia.h:1105
@ KSPROPERTY_AUDIO_DYNAMIC_RANGE
Definition: ksmedia.h:1059
#define KSAUDFNAME_MICROPHONE_BOOST
Definition: ksmedia.h:403
KSEVENT_AUDIO_CONTROL_CHANGE
Definition: ksmedia.h:1119
@ KSEVENT_CONTROL_CHANGE
Definition: ksmedia.h:1120
#define KSAUDFNAME_LINE_IN
Definition: ksmedia.h:534
#define KSEVENTSETID_Connection
Definition: ksmedia.h:1136
#define KSCATEGORY_WDMAUD
Definition: ksmedia.h:222
struct tagKS_DATARANGE_VIDEO2 KS_DATARANGE_VIDEO2
struct tagKS_DATARANGE_ANALOGVIDEO KS_DATARANGE_ANALOGVIDEO
#define KSNODETYPE_SUM
Definition: ksmedia.h:363
#define KSNODETYPE_CD_PLAYER
Definition: ksmedia.h:302
#define KSCATEGORY_WDMAUD_USE_PIN_NAME
Definition: ksmedia.h:619
#define KSNODETYPE_LOUDNESS
Definition: ksmedia.h:398
struct KSRTAUDIO_HWLATENCY * PKSRTAUDIO_HWLATENCY
struct tagKS_AnalogVideoInfo KS_ANALOGVIDEOINFO
KS_TUNER_STRATEGY
Definition: ksmedia.h:706
@ KS_TUNER_STRATEGY_SIGNAL_STRENGTH
Definition: ksmedia.h:708
@ KS_TUNER_STRATEGY_PLL
Definition: ksmedia.h:707
@ KS_TUNER_STRATEGY_DRIVER_TUNES
Definition: ksmedia.h:709
#define KSDATAFORMAT_SPECIFIER_AC3_AUDIO
Definition: ksmedia.h:1041
#define KSCATEGORY_PREFERRED_MIDIOUT_DEVICE
Definition: ksmedia.h:164
#define KSAUDFNAME_VIDEO_MUTE
Definition: ksmedia.h:609
#define KSCATEGORY_AUDIO_SPLITTER
Definition: ksmedia.h:232
struct tagKS_DATARANGE_VIDEO2 * PKS_DATARANGE_VIDEO2
struct KSDATAFORMAT_WAVEFORMATEX * PKSDATAFORMAT_WAVEFORMATEX
struct KSJACK_DESCRIPTION * PKSJACK_DESCRIPTION
#define KSPROPSETID_Jack
Definition: ksmedia.h:1322
#define KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER
Definition: ksmedia.h:509
#define KSNODETYPE_MICROPHONE
Definition: ksmedia.h:297
#define KSNODETYPE_MUX
Definition: ksmedia.h:433
#define KSAUDFNAME_MIDI
Definition: ksmedia.h:1301
#define KSAUDFNAME_AUX_MUTE
Definition: ksmedia.h:423
#define KSNODETYPE_REVERB
Definition: ksmedia.h:312
#define KSDATAFORMAT_TYPE_TEXT
Definition: ksmedia.h:1000
#define KSAUDFNAME_CD_AUDIO
Definition: ksmedia.h:524
#define KSNODETYPE_COMMUNICATION_SPEAKER
Definition: ksmedia.h:504
#define KSNODETYPE_CHORUS
Definition: ksmedia.h:307
#define KSNODETYPE_ANALOG_CONNECTOR
Definition: ksmedia.h:323
#define KSCATEGORY_ACOUSTIC_ECHO_CANCEL
Definition: ksmedia.h:209
#define KSAUDFNAME_MONO_OUT
Definition: ksmedia.h:594
struct KSPROPERTY_TUNER_FREQUENCY_S * PKSPROPERTY_TUNER_FREQUENCY_S
KSJACK_SINK_CONNECTIONTYPE
Definition: ksmedia.h:1392
@ KSJACK_SINK_CONNECTIONTYPE_HDMI
Definition: ksmedia.h:1393
@ KSJACK_SINK_CONNECTIONTYPE_DISPLAYPORT
Definition: ksmedia.h:1394
#define KSDATAFORMAT_TYPE_MIDI
Definition: ksmedia.h:1011
#define KSAUDFNAME_MASTER_VOLUME
Definition: ksmedia.h:368
#define KSCATEGORY_VIRTUAL
Definition: ksmedia.h:204
struct tagKS_DATARANGE_ANALOGVIDEO * PKS_DATARANGE_ANALOGVIDEO
struct KSNODEPROPERTY_AUDIO_CHANNEL * PKSNODEPROPERTY_AUDIO_CHANNEL
#define KSNODETYPE_SRC
Definition: ksmedia.h:282
#define KSDATAFORMAT_SUBTYPE_PCM
Definition: ksmedia.h:1021
#define KSINTERFACESETID_Media
Definition: ksmedia.h:192
#define KSEVENTSETID_LoopedStreaming
Definition: ksmedia.h:1127
#define KSDATAFORMAT_SUBTYPE_WAVEFORMATEX
Definition: ksmedia.h:964
struct KSDATARANGE_AUDIO * PKSDATARANGE_AUDIO
#define KSCATEGORY_PREFERRED_WAVEOUT_DEVICE
Definition: ksmedia.h:154
#define KSNODETYPE_ROOM_SPEAKER
Definition: ksmedia.h:499
struct tagKS_FRAME_INFO KS_FRAME_INFO
struct KSPROPERTY_TUNER_MODE_CAPS_S * PKSPROPERTY_TUNER_MODE_CAPS_S
struct KSPROPERTY_TUNER_MODE_S * PKSPROPERTY_TUNER_MODE_S
#define KSPROPSETID_Sysaudio_Pin
Definition: ksmedia.h:1191
#define KSDATAFORMAT_SUBTYPE_MIDI_BUS
Definition: ksmedia.h:1296
#define KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO
Definition: ksmedia.h:489
#define KSNODETYPE_DESKTOP_MICROPHONE
Definition: ksmedia.h:459
#define KSAUDFNAME_STEREO_MIX_VOLUME
Definition: ksmedia.h:569
#define KSAUDFNAME_VIDEO_VOLUME
Definition: ksmedia.h:574
struct tagKS_BITMAPINFOHEADER KS_BITMAPINFOHEADER
KS_TUNER_TUNING_FLAGS
Definition: ksmedia.h:700
@ KS_TUNER_TUNING_FINE
Definition: ksmedia.h:702
@ KS_TUNER_TUNING_EXACT
Definition: ksmedia.h:701
@ KS_TUNER_TUNING_COARSE
Definition: ksmedia.h:703
KSEVENT_TUNER
Definition: ksmedia.h:759
@ KSEVENT_TUNER_INITIATE_SCAN
Definition: ksmedia.h:761
@ KSEVENT_TUNER_CHANGED
Definition: ksmedia.h:760
#define KSNODETYPE_PERSONAL_MICROPHONE
Definition: ksmedia.h:464
#define KSNODETYPE_PROCESSING_MICROPHONE_ARRAY
Definition: ksmedia.h:479
struct tagKS_VIDEOINFOHEADER KS_VIDEOINFOHEADER
#define KSCATEGORY_AUDIO_GFX
Definition: ksmedia.h:227
struct tagKS_AnalogVideoInfo * PKS_ANALOGVIDEOINFO
#define KSAUDFNAME_MONO_MIX
Definition: ksmedia.h:554
#define KSNODETYPE_MICROPHONE_ARRAY
Definition: ksmedia.h:474
#define KSAUDFNAME_VOLUME_CONTROL
Definition: ksmedia.h:428
struct KSAUDIO_POSITION * PKSAUDIO_POSITION
#define KSAUDFNAME_RECORDING_SOURCE
Definition: ksmedia.h:378
KSPROPERTY_JACK
Definition: ksmedia.h:1324
@ KSPROPERTY_JACK_CONTAINERID
Definition: ksmedia.h:1328
@ KSPROPERTY_JACK_DESCRIPTION2
Definition: ksmedia.h:1326
@ KSPROPERTY_JACK_DESCRIPTION
Definition: ksmedia.h:1325
@ KSPROPERTY_JACK_SINK_INFO
Definition: ksmedia.h:1327
struct _tagKSJACK_SINK_INFORMATION KSJACK_SINK_INFORMATION
#define KSAUDFNAME_AUX
Definition: ksmedia.h:544
#define KSCATEGORY_VIDEO
Definition: ksmedia.h:177
#define KSNODETYPE_VOLUME
Definition: ksmedia.h:338
#define KSPROPSETID_AC3
Definition: ksmedia.h:1046
#define KSCATEGORY_NETWORK
Definition: ksmedia.h:187
struct tagKS_DATARANGE_VIDEO KS_DATARANGE_VIDEO
#define KSPROPSETID_DrmAudioStream
Definition: ksmedia.h:1151
#define KSDATAFORMAT_TYPE_MUSIC
Definition: ksmedia.h:1005
LONGLONG REFERENCE_TIME
Definition: ksmedia.h:19
struct tagKS_TVTUNER_CHANGE_INFO * PKS_TVTUNER_CHANGE_INFO
#define KSAUDFNAME_CD_MUTE
Definition: ksmedia.h:408
struct KSDATAFORMAT_DSOUND * PKSDATAFORMAT_DSOUND
struct KSPROPERTY_TUNER_IF_MEDIUM_S * PKSPROPERTY_TUNER_IF_MEDIUM_S
#define KSNODETYPE_MUTE
Definition: ksmedia.h:348
#define KSNODETYPE_ADC
Definition: ksmedia.h:262
struct KSNODEPROPERTY * PKSNODEPROPERTY
#define KSNODETYPE_3D_EFFECTS
Definition: ksmedia.h:272
#define KSAUDFNAME_LINE_IN_VOLUME
Definition: ksmedia.h:383
#define KSDATAFORMAT_SUBTYPE_ANALOG
Definition: ksmedia.h:993
EPcxGenLocation
Definition: ksmedia.h:1367
@ eGenLocInternal
Definition: ksmedia.h:1369
@ EPcxGenLocation_enum_count
Definition: ksmedia.h:1372
@ eGenLocOther
Definition: ksmedia.h:1371
@ eGenLocSeparate
Definition: ksmedia.h:1370
@ eGenLocPrimaryBox
Definition: ksmedia.h:1368
#define KSAUDFNAME_RECORDING_CONTROL
Definition: ksmedia.h:333
#define KSNODETYPE_DESKTOP_SPEAKER
Definition: ksmedia.h:494
#define MAX_SINK_DESCRIPTION_NAME_LENGTH
Definition: ksmedia.h:1397
#define KSNODETYPE_SYNTHESIZER
Definition: ksmedia.h:1306
#define KSMUSIC_TECHNOLOGY_PORT
Definition: ksmedia.h:1291
#define KSAUDFNAME_MASTER_MUTE
Definition: ksmedia.h:438
#define KSPROPSETID_Sysaudio
Definition: ksmedia.h:1165
#define KSDATAFORMAT_TYPE_ANALOGVIDEO
Definition: ksmedia.h:248
#define KSAUDFNAME_STEREO_MIX
Definition: ksmedia.h:549
struct tagKS_VBIINFOHEADER * PKS_VBIINFOHEADER
struct KSPROPERTY_CROSSBAR_ROUTE_S * PKSPROPERTY_CROSSBAR_ROUTE_S
#define KSNODETYPE_AGC
Definition: ksmedia.h:267
#define KSAUDFNAME_BASS
Definition: ksmedia.h:584
#define KSAUDFNAME_WAVE_VOLUME
Definition: ksmedia.h:343
#define KSNODETYPE_DAC
Definition: ksmedia.h:287
#define KSAUDFNAME_TREBLE
Definition: ksmedia.h:579
struct _KS_VIDEO_STREAM_CONFIG_CAPS KS_VIDEO_STREAM_CONFIG_CAPS
KSPROPERTY_ALLOCATOR_CONTROL
Definition: ksmedia.h:671
@ KSPROPERTY_ALLOCATOR_CONTROL_SURFACE_SIZE
Definition: ksmedia.h:673
@ KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_CAPS
Definition: ksmedia.h:674
@ KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_INTERLEAVE
Definition: ksmedia.h:675
@ KSPROPERTY_ALLOCATOR_CONTROL_HONOR_COUNT
Definition: ksmedia.h:672
EPxcPortConnection
Definition: ksmedia.h:1375
@ ePortConnUnknown
Definition: ksmedia.h:1379
@ ePortConnBothIntegratedAndJack
Definition: ksmedia.h:1378
@ ePortConnIntegratedDevice
Definition: ksmedia.h:1377
@ ePortConnJack
Definition: ksmedia.h:1376
struct tagKS_FRAME_INFO * PKS_FRAME_INFO
struct _KS_VIDEO_STREAM_CONFIG_CAPS * PKS_VIDEO_STREAM_CONFIG_CAPS
#define KSEVENTSETID_AudioControlChange
Definition: ksmedia.h:1117
#define KSNODETYPE_SUPERMIX
Definition: ksmedia.h:277
KSEVENT_LOOPEDSTREAMING
Definition: ksmedia.h:1129
@ KSEVENT_LOOPEDSTREAMING_POSITION
Definition: ksmedia.h:1130
#define KSCOMPONENTID_USBAUDIO
Definition: ksmedia.h:123
#define KSDATAFORMAT_SPECIFIER_DSOUND
Definition: ksmedia.h:988
struct LOOPEDSTREAMING_POSITION_EVENT_DATA * PLOOPEDSTREAMING_POSITION_EVENT_DATA
#define KSCATEGORY_SYSAUDIO
Definition: ksmedia.h:217
#define KSAUDFNAME_AUX_VOLUME
Definition: ksmedia.h:388
#define KSCATEGORY_PREFERRED_WAVEIN_DEVICE
Definition: ksmedia.h:159
#define KSDATAFORMAT_TYPE_AUDIO
Definition: ksmedia.h:983
EPcxGeoLocation
Definition: ksmedia.h:1348
@ eGeoLocBottom
Definition: ksmedia.h:1354
@ eGeoLocRiser
Definition: ksmedia.h:1356
@ eGeoLocDrivebay
Definition: ksmedia.h:1358
@ eGeoLocRearPanel
Definition: ksmedia.h:1355
@ eGeoLocRear
Definition: ksmedia.h:1349
@ EPcxGeoLocation_enum_count
Definition: ksmedia.h:1364
@ eGeoLocReserved6
Definition: ksmedia.h:1363
@ eGeoLocOutsideMobileLid
Definition: ksmedia.h:1360
@ eGeoLocNotApplicable
Definition: ksmedia.h:1362
@ eGeoLocHDMI
Definition: ksmedia.h:1359
@ eGeoLocFront
Definition: ksmedia.h:1350
@ eGeoLocLeft
Definition: ksmedia.h:1351
@ eGeoLocInsideMobileLid
Definition: ksmedia.h:1357
@ eGeoLocTop
Definition: ksmedia.h:1353
@ eGeoLocRight
Definition: ksmedia.h:1352
@ eGeoLocATAPI
Definition: ksmedia.h:1361
#define KSDATAFORMAT_TYPE_VIDEO
Definition: ksmedia.h:977
struct tagKS_VBIINFOHEADER KS_VBIINFOHEADER
#define PINNAME_VIDEO_CAPTURE
Definition: ksmedia.h:146
#define KSNODETYPE_PEAKMETER
Definition: ksmedia.h:443
#define KSNODETYPE_LINE_CONNECTOR
Definition: ksmedia.h:318
KSPROPERTY_DRMAUDIOSTREAM
Definition: ksmedia.h:1153
@ KSPROPERTY_DRMAUDIOSTREAM_CONTENTID
Definition: ksmedia.h:1154
struct KSPROPERTY_TUNER_CAPS_S * PKSPROPERTY_TUNER_CAPS_S
struct WAVEFORMATEXTENSIBLE * PWAVEFORMATEXTENSIBLE
#define KSAUDFNAME_PC_SPEAKER
Definition: ksmedia.h:529
#define KSCATEGORY_TOPOLOGY
Definition: ksmedia.h:199
#define KSAUDFNAME_MIC_VOLUME
Definition: ksmedia.h:358
struct tagKS_VIDEOINFOHEADER2 KS_VIDEOINFOHEADER2
struct tagKS_VBI_FRAME_INFO * PKS_VBI_FRAME_INFO
#define KSAUDFNAME_LINE_MUTE
Definition: ksmedia.h:413
#define KSAUDFNAME_ALTERNATE_MICROPHONE
Definition: ksmedia.h:604
KS_AnalogVideoStandard
Definition: ksmedia.h:764
@ KS_AnalogVideo_NTSC_433
Definition: ksmedia.h:768
@ KS_AnalogVideo_SECAM_K
Definition: ksmedia.h:781
@ KS_AnalogVideo_PAL_M
Definition: ksmedia.h:774
@ KS_AnalogVideo_PAL_I
Definition: ksmedia.h:773
@ KS_AnalogVideo_PAL_H
Definition: ksmedia.h:772
@ KS_AnalogVideo_SECAM_K1
Definition: ksmedia.h:782
@ KS_AnalogVideo_PAL_N_COMBO
Definition: ksmedia.h:785
@ KS_AnalogVideo_PAL_B
Definition: ksmedia.h:769
@ KS_AnalogVideo_PAL_N
Definition: ksmedia.h:775
@ KS_AnalogVideo_None
Definition: ksmedia.h:765
@ KS_AnalogVideo_SECAM_G
Definition: ksmedia.h:779
@ KS_AnalogVideo_SECAM_B
Definition: ksmedia.h:777
@ KS_AnalogVideo_NTSC_M
Definition: ksmedia.h:766
@ KS_AnalogVideo_NTSC_M_J
Definition: ksmedia.h:767
@ KS_AnalogVideo_PAL_G
Definition: ksmedia.h:771
@ KS_AnalogVideo_SECAM_D
Definition: ksmedia.h:778
@ KS_AnalogVideo_PAL_D
Definition: ksmedia.h:770
@ KS_AnalogVideo_SECAM_L1
Definition: ksmedia.h:784
@ KS_AnalogVideo_SECAM_H
Definition: ksmedia.h:780
@ KS_AnalogVideo_PAL_60
Definition: ksmedia.h:776
@ KS_AnalogVideo_SECAM_L
Definition: ksmedia.h:783
#define KSAUDFNAME_PC_SPEAKER_MUTE
Definition: ksmedia.h:599
#define KSCATEGORY_AUDIO
Definition: ksmedia.h:172
#define KSNODETYPE_STEREO_WIDE
Definition: ksmedia.h:448
#define KSAUDFNAME_CD_VOLUME
Definition: ksmedia.h:373
struct KSDSOUND_BUFFERDESC * PKSDSOUND_BUFFERDESC
#define KSAUDFNAME_3D_DEPTH
Definition: ksmedia.h:589
struct tagKS_VIDEOINFOHEADER * PKS_VIDEOINFOHEADER
#define KSNODETYPE_HEADPHONES
Definition: ksmedia.h:484
#define KSAUDFNAME_WAVE_MUTE
Definition: ksmedia.h:353
struct SYSAUDIO_INSTANCE_INFO * PSYSAUDIO_INSTANCE_INFO
struct tagKS_TVTUNER_CHANGE_INFO KS_TVTUNER_CHANGE_INFO
#define KSAUDFNAME_VIDEO
Definition: ksmedia.h:539
#define KSPROPSETID_Audio
Definition: ksmedia.h:1051
#define KSNODETYPE_SPDIF_INTERFACE
Definition: ksmedia.h:292
struct tagKS_DATARANGE_VIDEO_VBI * PKS_DATARANGE_VIDEO_VBI
struct tagKS_VIDEOINFOHEADER2 * PKS_VIDEOINFOHEADER2
#define KSDATAFORMAT_SUBTYPE_IEEE_FLOAT
Definition: ksmedia.h:1026
#define KSNODETYPE_SPEAKER
Definition: ksmedia.h:328
#define KSDATAFORMAT_SPECIFIER_ANALOGVIDEO
Definition: ksmedia.h:243
struct _tagKSJACK_SINK_INFORMATION * PKSJACK_SINK_INFORMATION
struct KSRTAUDIO_HWREGISTER * PKSRTAUDIO_HWREGISTER
#define KSNODETYPE_PHONE_LINE
Definition: ksmedia.h:519
#define KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE
Definition: ksmedia.h:469
struct KSPROPERTY_TUNER_INPUT_S * PKSPROPERTY_TUNER_INPUT_S
#define KSDATAFORMAT_SUBTYPE_MIDI
Definition: ksmedia.h:1016
struct tagKS_BITMAPINFOHEADER * PKS_BITMAPINFOHEADER
#define KSDATAFORMAT_SPECIFIER_WAVEFORMATEX
Definition: ksmedia.h:1031
struct tagKS_DATARANGE_VIDEO * PKS_DATARANGE_VIDEO
#define KSAUDFNAME_3D_CENTER
Definition: ksmedia.h:559
struct tagKS_DATARANGE_VIDEO_VBI KS_DATARANGE_VIDEO_VBI
struct KSDATARANGE_MUSIC * PKSDATARANGE_MUSIC
EPcxConnectionType
Definition: ksmedia.h:1331
@ eConnTypeRJ11Modem
Definition: ksmedia.h:1342
@ eConnTypeOtherDigital
Definition: ksmedia.h:1338
@ eConnTypeAtapiInternal
Definition: ksmedia.h:1335
@ eConnTypeOptical
Definition: ksmedia.h:1337
@ eConnTypeRCA
Definition: ksmedia.h:1336
@ eConnTypeCombination
Definition: ksmedia.h:1343
@ eConnTypeUnknown
Definition: ksmedia.h:1332
@ eConnTypeOtherAnalog
Definition: ksmedia.h:1339
@ eConnTypeXlrProfessional
Definition: ksmedia.h:1341
@ eConnTypeQuarter
Definition: ksmedia.h:1334
@ eConnType3Point5mm
Definition: ksmedia.h:1333
@ eConnTypeMultichannelAnalogDIN
Definition: ksmedia.h:1340
struct _tagKSJACK_DESCRIPTION2 * PKSJACK_DESCRIPTION2
struct _tagKSJACK_DESCRIPTION2 KSJACK_DESCRIPTION2
long LONG
Definition: pedump.c:60
DWORDLONG WriteOffset
Definition: ksmedia.h:1251
DWORDLONG PlayOffset
Definition: ksmedia.h:1250
KSDATAFORMAT DataFormat
Definition: ksmedia.h:661
KSDSOUND_BUFFERDESC BufferDesc
Definition: ksmedia.h:662
WAVEFORMATEX WaveFormatEx
Definition: ksmedia.h:632
KSDATAFORMAT DataFormat
Definition: ksmedia.h:631
ULONG MaximumChannels
Definition: ksmedia.h:680
ULONG MinimumBitsPerSample
Definition: ksmedia.h:681
ULONG MaximumBitsPerSample
Definition: ksmedia.h:682
ULONG MaximumSampleFrequency
Definition: ksmedia.h:684
KSDATARANGE DataRange
Definition: ksmedia.h:679
ULONG MinimumSampleFrequency
Definition: ksmedia.h:683
KSDATARANGE DataRange
Definition: ksmedia.h:1310
WAVEFORMATEX WaveFormatEx
Definition: ksmedia.h:657
KSNODEPROPERTY NodeProperty
Definition: ksmedia.h:1240
ULONG NodeId
Definition: ksmedia.h:1234
KSPROPERTY Property
Definition: ksmedia.h:1233
ULONG Reserved
Definition: ksmedia.h:1235
KSPIN_MEDIUM TVAudioMedium
Definition: ksmedia.h:716
KSPROPERTY Property
Definition: ksmedia.h:713
KSPIN_MEDIUM RadioAudioMedium
Definition: ksmedia.h:717
KSPIN_MEDIUM VideoMedium
Definition: ksmedia.h:715
KSPROPERTY Property
Definition: ksmedia.h:726
ULONGLONG Denominator
Definition: ksmedia.h:1265
ULONGLONG Numerator
Definition: ksmedia.h:1264
KSPROPERTY Property
Definition: ksmedia.h:1180
WAVEFORMATEX Format
Definition: ksmedia.h:638
WORD wValidBitsPerSample
Definition: ksmedia.h:641
KSJACK_SINK_CONNECTIONTYPE ConnType
REFERENCE_TIME AvgTimePerFrame
Definition: ksmedia.h:692
KS_ANALOGVIDEOINFO AnalogVideoInfo
Definition: ksmedia.h:697
DWORD MemoryAllocationFlags
Definition: ksmedia.h:902
DWORD StreamDescriptionFlags
Definition: ksmedia.h:901
KS_VIDEO_STREAM_CONFIG_CAPS ConfigCaps
Definition: ksmedia.h:903
KS_VIDEOINFOHEADER2 VideoInfoHeader
Definition: ksmedia.h:904
KSDATARANGE DataRange
Definition: ksmedia.h:898
KSDATARANGE DataRange
Definition: ksmedia.h:922
KS_VIDEO_STREAM_CONFIG_CAPS ConfigCaps
Definition: ksmedia.h:927
KS_VBIINFOHEADER VBIInfoHeader
Definition: ksmedia.h:928
DWORD MemoryAllocationFlags
Definition: ksmedia.h:892
DWORD StreamDescriptionFlags
Definition: ksmedia.h:891
KS_VIDEO_STREAM_CONFIG_CAPS ConfigCaps
Definition: ksmedia.h:893
KS_VIDEOINFOHEADER VideoInfoHeader
Definition: ksmedia.h:894
KSDATARANGE DataRange
Definition: ksmedia.h:888
ULONGLONG FrameCompletionNumber
Definition: ksmedia.h:856
HANDLE hSurfaceHandle
Definition: ksmedia.h:844
DWORD dwFrameFlags
Definition: ksmedia.h:840
RECT DirectDrawRect
Definition: ksmedia.h:845
DWORD Reserved2
Definition: ksmedia.h:850
DWORD Reserved1
Definition: ksmedia.h:848
DWORD Reserved4
Definition: ksmedia.h:854
DWORD Reserved3
Definition: ksmedia.h:853
LONGLONG PictureNumber
Definition: ksmedia.h:841
LONG lSurfacePitch
Definition: ksmedia.h:847
HANDLE hDirectDraw
Definition: ksmedia.h:843
LONGLONG DropCount
Definition: ksmedia.h:842
ULONG ExtendedHeaderSize
Definition: ksmedia.h:839
ULONG SamplesPerLine
Definition: ksmedia.h:916
ULONG MaxLineStartTime
Definition: ksmedia.h:912
ULONG SamplingFrequency
Definition: ksmedia.h:910
ULONG ActualLineEndTime
Definition: ksmedia.h:914
ULONG MinLineStartTime
Definition: ksmedia.h:911
ULONG ActualLineStartTime
Definition: ksmedia.h:913
LONGLONG PictureNumber
Definition: ksmedia.h:948
LONGLONG DropCount
Definition: ksmedia.h:949
DWORD dwSamplingFrequency
Definition: ksmedia.h:950
ULONG ExtendedHeaderSize
Definition: ksmedia.h:946
KS_TVTUNER_CHANGE_INFO TvTunerChangeInfo
Definition: ksmedia.h:951
KS_VBIINFOHEADER VBIInfoHeader
Definition: ksmedia.h:952
KS_BITMAPINFOHEADER bmiHeader
Definition: ksmedia.h:884
REFERENCE_TIME AvgTimePerFrame
Definition: ksmedia.h:874
KS_BITMAPINFOHEADER bmiHeader
Definition: ksmedia.h:866
REFERENCE_TIME AvgTimePerFrame
Definition: ksmedia.h:865
static COORD Position
Definition: mouse.c:34
int64_t LONGLONG
Definition: typedefs.h:68
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
_Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET WriteOffset
Definition: wdfusb.h:1921
unsigned char UCHAR
Definition: xmlstorage.h:181
__wchar_t WCHAR
Definition: xmlstorage.h:180