ReactOS 0.4.15-dev-7953-g1f49173
interfaces.hpp
Go to the documentation of this file.
1/*
2Copyright (c) 2006-2008 dogbert <dogber1@gmail.com>
3All rights reserved.
4
5Redistribution and use in source and binary forms, with or without
6modification, are permitted provided that the following conditions
7are met:
81. Redistributions of source code must retain the above copyright
9 notice, this list of conditions and the following disclaimer.
102. Redistributions in binary form must reproduce the above copyright
11 notice, this list of conditions and the following disclaimer in the
12 documentation and/or other materials provided with the distribution.
133. The name of the author may not be used to endorse or promote products
14 derived from this software without specific prior written permission.
15
16THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26*/
27
28#ifndef _INTERFACES_HPP_
29#define _INTERFACES_HPP_
30
31#include <portcls.h>
32#include <stdunk.h>
33
34#define MAXLEN_DMA_BUFFER 0x18000
35#define MAX_OUTPUT_STREAMS 1
36#define MAX_INPUT_STREAMS 1
37#define MAX_AC3_INPUT_STREAMS 1
38
39// PCM Info
40#define MIN_CHANNELS 2
41#define MAX_CHANNELS_PCM 8
42#define MIN_BITS_PER_SAMPLE_PCM 16
43#define MAX_BITS_PER_SAMPLE_PCM 32
44#define MIN_SAMPLE_RATE 44100
45#define MAX_SAMPLE_RATE 96000
46#define MAX_SAMPLE_RATE_MULTI 48000
47
48// AC3 Info
49#define MAX_CHANNELS_AC3 2
50#define MIN_BITS_PER_SAMPLE_AC3 16
51#define MAX_BITS_PER_SAMPLE_AC3 16
52#define MIN_SAMPLE_RATE_AC3 48000
53#define MAX_SAMPLE_RATE_AC3 48000
54
55// WMA-Pro Info
56#define MAX_CHANNELS_WMA 2
57#define MIN_BITS_PER_SAMPLE_WMA 16
58#define MAX_BITS_PER_SAMPLE_WMA 16
59#define MIN_SAMPLE_RATE_WMA 44100
60#define MAX_SAMPLE_RATE_WMA 48000
61
62#define PCM_OUT_STREAM 0
63#define PCM_IN_STREAM 1
64#define AC3_OUT_STREAM 2
65
66#define CHAN_LEFT 0
67#define CHAN_RIGHT 1
68#define CHAN_MASTER (-1)
69
70#define IN_CHANNEL 0
71#define OUT_CHANNEL 1
72
73#define UInt32 ULONG
74#define UInt16 USHORT
75#define UInt8 BYTE
76#define Int32 LONG
77
78#define KSSTATE_STOP_AC3 (KSSTATE)5
79#define KSSTATE_RUN_AC3 (KSSTATE)6
80
81// Interface ICMITopology
82DECLARE_INTERFACE_(ICMITopology,IMiniportTopology)
83{
84 STDMETHOD_(NTSTATUS,GetDescription)
85 ( THIS_
86 PPCFILTER_DESCRIPTOR* OutFilterDescriptor
87 ) PURE;
88 STDMETHOD_(NTSTATUS,DataRangeIntersection)
89 ( THIS_
90 ULONG PinId,
91 PKSDATARANGE DataRange,
92 PKSDATARANGE MatchingDataRange,
94 PVOID ResultantFormat,
95 PULONG ResultantFormatLength
96 ) PURE;
98 ( THIS_
99 PUNKNOWN UnknownAdapter,
102 ) PURE;
103 STDMETHOD_(NTSTATUS,loadMixerSettingsFromMemory)
104 ( THIS_
105 void
106 ) PURE;
107 STDMETHOD_(NTSTATUS,storeMixerSettingsToMemory)
108 ( THIS_
109 void
110 ) PURE;
111};
112typedef ICMITopology *PCMITOPOLOGY;
113
114// Interface IMiniportWaveCMI
116{
117 STDMETHOD_(void,ServiceWaveISR)
118 ( THIS_
119 ULONG channel
120 ) PURE;
121
122 STDMETHOD_(void,powerUp)
123 ( THIS_
124 void
125 ) PURE;
126 STDMETHOD_(void,powerDown)
127 ( THIS_
128 void
129 ) PURE;
130};
131typedef IMiniportWaveCMI *PCMIWAVE;
132
133// structure to avoid the fucking COM crapola
134typedef struct CMI8738Info {
152
153typedef struct VolumeTable {
163
164// Interface ICMIAdapter
166{
168 ( THIS_
171 ) PURE;
172 STDMETHOD_(PINTERRUPTSYNC,getInterruptSync)
173 ( THIS_
174 void
175 ) PURE;
176 STDMETHOD_(PDEVICE_OBJECT,getDeviceObject)
177 ( THIS_
178 void
179 ) PURE;
180 STDMETHOD_(PCMI8738Info,getCMI8738Info)
181 ( THIS_
182 void
183 ) PURE;
184 STDMETHOD_(UInt8, readUInt8)
185 ( THIS_
186 UInt8 reg
187 ) PURE;
188 STDMETHOD_(void, writeUInt8)
189 ( THIS_
190 UInt8 reg,
192 ) PURE;
193 STDMETHOD_(void, setUInt8Bit)
194 ( THIS_
195 UInt8 reg,
196 UInt8 flag
197 ) PURE;
198 STDMETHOD_(void, clearUInt8Bit)
199 ( THIS_
200 UInt8 reg,
201 UInt8 flag
202 ) PURE;
203 STDMETHOD_(UInt16, readUInt16)
204 ( THIS_
205 UInt8 reg
206 ) PURE;
207 STDMETHOD_(void, writeUInt16)
208 ( THIS_
209 UInt8 reg,
211 ) PURE;
212 STDMETHOD_(UInt32, readUInt32)
213 ( THIS_
214 UInt8 reg
215 ) PURE;
216 STDMETHOD_(void, writeUInt32)
217 ( THIS_
218 UInt8 reg,
220 ) PURE;
221 STDMETHOD_(void, setUInt32Bit)
222 ( THIS_
223 UInt8 reg,
225 ) PURE;
226 STDMETHOD_(void, clearUInt32Bit)
227 ( THIS_
228 UInt8 reg,
230 ) PURE;
231 STDMETHOD_(UInt8, readMixer)
232 ( THIS_
234 ) PURE;
235 STDMETHOD_(void, writeMixer)
236 ( THIS_
237 UInt8 index,
239 ) PURE;
240 STDMETHOD_(void, setMixerBit)
241 ( THIS_
242 UInt8 index,
243 UInt8 flag
244 ) PURE;
245 STDMETHOD_(void, clearMixerBit)
246 ( THIS_
247 UInt8 index,
248 UInt8 flag
249 ) PURE;
250 STDMETHOD_(void,resetMixer)
251 ( THIS_
252 ) PURE;
253 STDMETHOD_(NTSTATUS,activateMPU)
254 ( THIS_
255 ULONG* MPUBase
256 ) PURE;
257 STDMETHOD_(NTSTATUS,loadSBMixerFromMemory)
258 ( THIS_
259 ) PURE;
260};
261typedef ICMIAdapter *PCMIADAPTER;
262
263// GUIDs
264
265// {34B338A2-BB40-4ecd-B97A-AEB03F325825}
266DEFINE_GUID(IID_ICMIAdapter, 0x34b338a2, 0xbb40, 0x4ecd, 0xb9, 0x7a, 0xae, 0xb0, 0x3f, 0x32, 0x58, 0x25);
267// {60BB55CF-C960-4ddf-B7A4-243978B2FE7B}
268DEFINE_GUID(IID_ICMITopolgy, 0x60bb55cf, 0xc960, 0x4ddf, 0xb7, 0xa4, 0x24, 0x39, 0x78, 0xb2, 0xfe, 0x7b);
269// {E8698236-D854-4da7-BF31-8332C614CE91}
270DEFINE_GUID(IID_IMiniportWaveCMI, 0xe8698236, 0xd854, 0x4da7, 0xbf, 0x31, 0x83, 0x32, 0xc6, 0x14, 0xce, 0x91);
271
272
273// {9DB14E9A-7BE7-480d-A2FA-32932489DE9C}
274#define STATIC_PRODUCT_CM8738 \
275 0x9db14e9a, 0x7be7, 0x480d, {0xa2, 0xfa, 0x32, 0x93, 0x24, 0x89, 0xde, 0x9c}
276DEFINE_GUIDSTRUCT("9DB14E9A-7BE7-480d-A2FA-32932489DE9C", PRODUCT_CM8738);
277#define PRODUCT_CM8738 DEFINE_GUIDNAMED(PRODUCT_CM8738)
278
279// {9DB14E9A-7BE7-480d-A2FA-32932489DE9D}
280#define STATIC_COMPONENT_CM8738 \
281 0x9db14e9a, 0x7be7, 0x480d, {0xa2, 0xfa, 0x32, 0x93, 0x24, 0x89, 0xde, 0x9d}
282DEFINE_GUIDSTRUCT("9DB14E9A-7BE7-480d-A2FA-32932489DE9D", COMPONENT_CM8738);
283#define COMPONENT_CM8738 DEFINE_GUIDNAMED(COMPONENT_CM8738)
284
285// {9DB14E9A-7BE7-480d-A2FA-32932489DE9E}
286#define STATIC_MANUFACTURER_CM8738 \
287 0x9db14e9a, 0x7be7, 0x480d, {0xa2, 0xfa, 0x32, 0x93, 0x24, 0x89, 0xde, 0x9e}
288DEFINE_GUIDSTRUCT("9DB14E9A-7BE7-480d-A2FA-32932489DE9E", MANUFACTURER_CM8738);
289#define MANUFACTURER_CM8738 DEFINE_GUIDNAMED(MANUFACTURER_CM8738)
290
291
292#define CMIPCI_VERSION 0x00
293
294// topology node names (refer to .inf file)
295// {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF0}
296#define STATIC_CMINAME_IEC_5V \
297 0x2B81CDBB, 0xEE6C, 0x4ECC, {0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF0}
298DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF0", CMINAME_IEC_5V);
299#define CMINAME_IEC_5V DEFINE_GUIDNAMED(CMINAME_IEC_5V)
300
301// {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF1}
302#define STATIC_CMINAME_IEC_OUT \
303 0x2B81CDBB, 0xEE6C, 0x4ECC, {0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF1}
304DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF1", CMINAME_IEC_OUT);
305#define CMINAME_IEC_OUT DEFINE_GUIDNAMED(CMINAME_IEC_OUT)
306
307// {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF2}
308#define STATIC_CMINAME_IEC_INVERSE \
309 0x2B81CDBB, 0xEE6C, 0x4ECC, {0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF2}
310DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF2", CMINAME_IEC_INVERSE);
311#define CMINAME_IEC_INVERSE DEFINE_GUIDNAMED(CMINAME_IEC_INVERSE)
312
313// {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF3}
314#define STATIC_CMINAME_IEC_MONITOR \
315 0x2B81CDBB, 0xEE6C, 0x4ECC, {0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF3}
316DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF3", CMINAME_IEC_MONITOR);
317#define CMINAME_IEC_MONITOR DEFINE_GUIDNAMED(CMINAME_IEC_MONITOR)
318
319// {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF4}
320#define STATIC_CMINAME_DAC \
321 0x2B81CDBB, 0xEE6C, 0x4ECC, {0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF4}
322DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF4", CMINAME_DAC);
323#define CMINAME_DAC DEFINE_GUIDNAMED(CMINAME_DAC)
324
325// {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF5}
326#define STATIC_CMINAME_IEC_SELECT \
327 0x2B81CDBB, 0xEE6C, 0x4ECC, {0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF5}
328DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF5", CMINAME_IEC_SELECT);
329#define CMINAME_IEC_SELECT DEFINE_GUIDNAMED(CMINAME_IEC_SELECT)
330
331// {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF6}
332#define STATIC_CMINAME_XCHG_FB \
333 0x2B81CDBB, 0xEE6C, 0x4ECC, {0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF6}
334DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF6", CMINAME_XCHG_FB);
335#define CMINAME_XCHG_FB DEFINE_GUIDNAMED(CMINAME_XCHG_FB)
336
337// {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF7}
338#define STATIC_CMINAME_BASS2LINE \
339 0x2B81CDBB, 0xEE6C, 0x4ECC, {0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF7}
340DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF7", CMINAME_BASS2LINE);
341#define CMINAME_BASS2LINE DEFINE_GUIDNAMED(CMINAME_BASS2LINE)
342
343// {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF8}
344#define STATIC_CMINAME_CENTER2LINE \
345 0x2B81CDBB, 0xEE6C, 0x4ECC, {0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF8}
346DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF8", CMINAME_CENTER2LINE);
347#define CMINAME_CENTER2LINE DEFINE_GUIDNAMED(CMINAME_CENTER2LINE)
348
349// {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF9}
350#define STATIC_CMINAME_IEC_COPYRIGHT \
351 0x2B81CDBB, 0xEE6C, 0x4ECC, {0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xF9}
352DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DF9", CMINAME_IEC_COPYRIGHT);
353#define CMINAME_IEC_COPYRIGHT DEFINE_GUIDNAMED(CMINAME_IEC_COPYRIGHT)
354
355// {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DFA}
356#define STATIC_CMINAME_IEC_POLVALID \
357 0x2B81CDBB, 0xEE6C, 0x4ECC, {0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xFA}
358DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DFA", CMINAME_IEC_POLVALID);
359#define CMINAME_IEC_POLVALID DEFINE_GUIDNAMED(CMINAME_IEC_POLVALID)
360
361// {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DFB}
362#define STATIC_CMINAME_IEC_LOOP \
363 0x2B81CDBB, 0xEE6C, 0x4ECC, {0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xFB}
364DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DFB", CMINAME_IEC_LOOP);
365#define CMINAME_IEC_LOOP DEFINE_GUIDNAMED(CMINAME_IEC_LOOP)
366
367// {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DFC}
368#define STATIC_CMINAME_REAR2LINE \
369 0x2B81CDBB, 0xEE6C, 0x4ECC, {0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xFC}
370DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DFC", CMINAME_REAR2LINE);
371#define CMINAME_REAR2LINE DEFINE_GUIDNAMED(CMINAME_REAR2LINE)
372
373// {2B81CDBB-EE6C-4ECC-8AA5-9A188B023DFD}
374#define STATIC_CMINAME_CENTER2MIC \
375 0x2B81CDBB, 0xEE6C, 0x4ECC, {0x8A, 0xA5, 0x9A, 0x18, 0x8B, 0x02, 0x3D, 0xFD}
376DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DFD", CMINAME_CENTER2MIC);
377#define CMINAME_CENTER2MIC DEFINE_GUIDNAMED(CMINAME_CENTER2MIC)
378
379//topology pins
380enum
381{
393
396
397//topology nodes
398enum
399{
437
440
441//wave miniport pins
442enum
443{
450
453
454//wave miniport nodes
455enum
456{
466
469
470#endif //_INTERFACES_HPP_
LONG NTSTATUS
Definition: precomp.h:26
#define index(s, c)
Definition: various.h:29
#define DECLARE_INTERFACE_(i, b)
Definition: basetyps.h:78
#define PURE
Definition: basetyps.h:64
#define THIS_
Definition: basetyps.h:65
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
USHORT UInt16
Definition: chm_lib.c:102
DWORD UInt32
Definition: chm_lib.c:104
LONG Int32
Definition: chm_lib.c:103
#define UInt8
Definition: interfaces.hpp:75
ICMITopology * PCMITOPOLOGY
Definition: interfaces.hpp:112
CMI8738Info * PCMI8738Info
Definition: interfaces.hpp:151
#define CMINAME_IEC_OUT
Definition: interfaces.hpp:305
@ PIN_WAVE_CAPTURE_SOURCE
Definition: interfaces.hpp:445
@ PIN_WAVE_CAPTURE_SINK
Definition: interfaces.hpp:444
@ PIN_WAVE_INVALID
Definition: interfaces.hpp:451
@ PIN_WAVE_RENDER_SINK
Definition: interfaces.hpp:446
@ PIN_WAVE_AC3_RENDER_SINK
Definition: interfaces.hpp:448
@ PIN_WAVE_AC3_RENDER_SOURCE
Definition: interfaces.hpp:449
@ PIN_WAVE_RENDER_SOURCE
Definition: interfaces.hpp:447
#define MANUFACTURER_CM8738
Definition: interfaces.hpp:289
#define COMPONENT_CM8738
Definition: interfaces.hpp:283
#define CMINAME_DAC
Definition: interfaces.hpp:323
#define CMINAME_IEC_MONITOR
Definition: interfaces.hpp:317
#define CMINAME_REAR2LINE
Definition: interfaces.hpp:371
@ PIN_SPDIF_AC3_SOURCE
Definition: interfaces.hpp:391
@ PIN_LINEIN_SOURCE
Definition: interfaces.hpp:386
@ PIN_SPDIFIN_SOURCE
Definition: interfaces.hpp:383
@ PIN_MIC_SOURCE
Definition: interfaces.hpp:384
@ PIN_AUX_SOURCE
Definition: interfaces.hpp:387
@ PIN_CD_SOURCE
Definition: interfaces.hpp:385
@ PIN_INVALID
Definition: interfaces.hpp:394
@ PIN_DAC_SOURCE
Definition: interfaces.hpp:388
@ PIN_WAVEOUT_SOURCE
Definition: interfaces.hpp:382
@ PIN_LINEOUT_DEST
Definition: interfaces.hpp:389
@ PIN_SPDIF_AC3_DEST
Definition: interfaces.hpp:392
@ PIN_WAVEIN_DEST
Definition: interfaces.hpp:390
#define PRODUCT_CM8738
Definition: interfaces.hpp:277
#define CMINAME_IEC_POLVALID
Definition: interfaces.hpp:359
#define CMINAME_CENTER2MIC
Definition: interfaces.hpp:377
#define CMINAME_IEC_LOOP
Definition: interfaces.hpp:365
#define CMINAME_XCHG_FB
Definition: interfaces.hpp:335
#define CMINAME_IEC_5V
Definition: interfaces.hpp:299
#define CMINAME_IEC_SELECT
Definition: interfaces.hpp:329
#define CMINAME_IEC_INVERSE
Definition: interfaces.hpp:311
#define CMINAME_BASS2LINE
Definition: interfaces.hpp:341
#define CMINAME_CENTER2LINE
Definition: interfaces.hpp:347
@ KSNODE_TOPO_BASS2LINE
Definition: interfaces.hpp:429
@ KSNODE_TOPO_CD_VOLUME
Definition: interfaces.hpp:406
@ KSNODE_TOPO_MICOUT_MUTE
Definition: interfaces.hpp:414
@ KSNODE_TOPO_XCHG_FB
Definition: interfaces.hpp:428
@ KSNODE_TOPO_CENTER2LINE
Definition: interfaces.hpp:430
@ KSNODE_TOPO_REAR2LINE
Definition: interfaces.hpp:434
@ KSNODE_TOPO_MICOUT_LOUDNESS
Definition: interfaces.hpp:411
@ KSNODE_TOPO_MICIN_VOLUME
Definition: interfaces.hpp:409
@ KSNODE_TOPO_CD_MUTE
Definition: interfaces.hpp:412
@ KSNODE_TOPO_MICOUT_VOLUME
Definition: interfaces.hpp:402
@ KSNODE_TOPO_AUX_MUTE_IN
Definition: interfaces.hpp:418
@ KSNODE_TOPO_SPDIF_AC3_MUX
Definition: interfaces.hpp:427
@ KSNODE_TOPO_IEC_OUT
Definition: interfaces.hpp:422
@ KSNODE_TOPO_AUX_VOLUME
Definition: interfaces.hpp:408
@ KSNODE_TOPO_LINEOUT_VOLUME
Definition: interfaces.hpp:404
@ KSNODE_TOPO_SPDIF_AC3_MUTE
Definition: interfaces.hpp:426
@ KSNODE_TOPO_IEC_LOOP
Definition: interfaces.hpp:433
@ KSNODE_TOPO_IEC_POLVALID
Definition: interfaces.hpp:432
@ KSNODE_TOPO_LINEIN_MUTE
Definition: interfaces.hpp:413
@ KSNODE_TOPO_INVALID
Definition: interfaces.hpp:438
@ KSNODE_TOPO_WAVEIN_SUM
Definition: interfaces.hpp:405
@ KSNODE_TOPO_LINEOUT_MIX
Definition: interfaces.hpp:403
@ KSNODE_TOPO_LINEIN_VOLUME
Definition: interfaces.hpp:407
@ KSNODE_TOPO_WAVEOUT_MUTE
Definition: interfaces.hpp:401
@ KSNODE_TOPO_IEC_5V
Definition: interfaces.hpp:421
@ KSNODE_TOPO_IEC_INVERSE
Definition: interfaces.hpp:423
@ KSNODE_TOPO_WAVEOUT_VOLUME
Definition: interfaces.hpp:400
@ KSNODE_TOPO_IEC_COPYRIGHT
Definition: interfaces.hpp:431
@ KSNODE_TOPO_AUX_MUTE
Definition: interfaces.hpp:415
@ KSNODE_TOPO_WAVEOUT_MUTE_IN
Definition: interfaces.hpp:420
@ KSNODE_TOPO_IEC_SELECT
Definition: interfaces.hpp:425
@ KSNODE_TOPO_IEC_MONITOR
Definition: interfaces.hpp:424
@ KSNODE_TOPO_CD_MUTE_IN
Definition: interfaces.hpp:419
@ KSNODE_TOPO_CENTER2MIC
Definition: interfaces.hpp:435
@ KSNODE_TOPO_LINEIN_MUTE_IN
Definition: interfaces.hpp:416
@ KSNODE_TOPO_MIC_MUTE_IN
Definition: interfaces.hpp:417
@ KSNODE_TOPO_MASTER_MUTE_DUMMY
Definition: interfaces.hpp:436
@ KSNODE_TOPO_MICIN_LOUDNESS
Definition: interfaces.hpp:410
#define CMINAME_IEC_COPYRIGHT
Definition: interfaces.hpp:353
IMiniportWaveCMI * PCMIWAVE
Definition: interfaces.hpp:131
@ KSNODE_WAVE_VOLUME2
Definition: interfaces.hpp:461
@ KSNODE_WAVE_DAC
Definition: interfaces.hpp:464
@ KSNODE_WAVE_INVALID
Definition: interfaces.hpp:467
@ KSNODE_WAVE_VOLUME1
Definition: interfaces.hpp:458
@ KSNODE_WAVE_3D_EFFECTS
Definition: interfaces.hpp:459
@ KSNODE_WAVE_SUM
Definition: interfaces.hpp:463
@ KSNODE_WAVE_ADC
Definition: interfaces.hpp:457
@ KSNODE_WAVE_SRC
Definition: interfaces.hpp:462
@ KSNODE_WAVE_SPDIF
Definition: interfaces.hpp:465
@ KSNODE_WAVE_SUPERMIX
Definition: interfaces.hpp:460
ICMIAdapter * PCMIADAPTER
Definition: interfaces.hpp:261
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean flag
Definition: glfuncs.h:52
CPPORT Port[4]
Definition: headless.c:35
static int reg
Definition: i386-dis.c:1290
#define DEFINE_GUIDSTRUCT(guid, name)
Definition: ks.h:98
IInterruptSync * PINTERRUPTSYNC
Definition: portcls.h:888
IResourceList * PRESOURCELIST
Definition: portcls.h:442
IPortTopology * PPORTTOPOLOGY
Definition: portcls.h:1415
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Definition: guiddef.h:68
UInt32 * MPUBase
Definition: interfaces.hpp:142
PCMIWAVE WaveMiniport
Definition: interfaces.hpp:143
UInt32 regFUNCTRL0
Definition: interfaces.hpp:149
UInt32 * IOBase
Definition: interfaces.hpp:141
bool enableSPDIFIn
Definition: interfaces.hpp:146
PCMITOPOLOGY TopoMiniport
Definition: interfaces.hpp:144
bool enableSPDIFInMonitor
Definition: interfaces.hpp:147
UInt32 maxChannels
Definition: interfaces.hpp:136
bool canMultiChannel
Definition: interfaces.hpp:138
UInt32 formatMask
Definition: interfaces.hpp:148
bool enableSPDIFOut
Definition: interfaces.hpp:145
uint32_t * PULONG
Definition: typedefs.h:59
uint32_t ULONG
Definition: typedefs.h:59
Definition: pdh_main.c:94
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
_In_ WDFREQUEST _In_ size_t OutputBufferLength
Definition: wdfio.h:320
_Must_inspect_result_ _In_ WDFIORESREQLIST _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIORESLIST * ResourceList
Definition: wdfresource.h:309
static int init
Definition: wintirpc.c:33