ReactOS  0.4.15-dev-1384-g878186b
interfaces.hpp
Go to the documentation of this file.
1 /*
2 Copyright (c) 2006-2008 dogbert <dogber1@gmail.com>
3 All rights reserved.
4 
5 Redistribution and use in source and binary forms, with or without
6 modification, are permitted provided that the following conditions
7 are met:
8 1. Redistributions of source code must retain the above copyright
9  notice, this list of conditions and the following disclaimer.
10 2. 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.
13 3. 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 
16 THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18 OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19 IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25 THIS 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
82 DECLARE_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 };
112 typedef ICMITopology *PCMITOPOLOGY;
113 
114 // Interface IMiniportWaveCMI
115 DECLARE_INTERFACE_(IMiniportWaveCMI,IUnknown)
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 };
131 typedef IMiniportWaveCMI *PCMIWAVE;
132 
133 // structure to avoid the fucking COM crapola
134 typedef struct CMI8738Info {
139  bool doAC3SW;
150 } CMI8738Info;
152 
153 typedef struct VolumeTable {
162 } 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,
191  UInt8 value
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,
210  UInt16 value
211  ) PURE;
212  STDMETHOD_(UInt32, readUInt32)
213  ( THIS_
214  UInt8 reg
215  ) PURE;
216  STDMETHOD_(void, writeUInt32)
217  ( THIS_
218  UInt8 reg,
219  UInt32 value
220  ) PURE;
221  STDMETHOD_(void, setUInt32Bit)
222  ( THIS_
223  UInt8 reg,
224  UInt32 flag
225  ) PURE;
226  STDMETHOD_(void, clearUInt32Bit)
227  ( THIS_
228  UInt8 reg,
229  UInt32 flag
230  ) PURE;
231  STDMETHOD_(UInt8, readMixer)
232  ( THIS_
233  UInt8 index
234  ) PURE;
235  STDMETHOD_(void, writeMixer)
236  ( THIS_
237  UInt8 index,
238  UInt8 value
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 };
261 typedef ICMIAdapter *PCMIADAPTER;
262 
263 // GUIDs
264 
265 // {34B338A2-BB40-4ecd-B97A-AEB03F325825}
266 DEFINE_GUID(IID_ICMIAdapter, 0x34b338a2, 0xbb40, 0x4ecd, 0xb9, 0x7a, 0xae, 0xb0, 0x3f, 0x32, 0x58, 0x25);
267 // {60BB55CF-C960-4ddf-B7A4-243978B2FE7B}
268 DEFINE_GUID(IID_ICMITopolgy, 0x60bb55cf, 0xc960, 0x4ddf, 0xb7, 0xa4, 0x24, 0x39, 0x78, 0xb2, 0xfe, 0x7b);
269 // {E8698236-D854-4da7-BF31-8332C614CE91}
270 DEFINE_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}
276 DEFINE_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}
282 DEFINE_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}
288 DEFINE_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}
298 DEFINE_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}
304 DEFINE_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}
310 DEFINE_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}
316 DEFINE_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}
322 DEFINE_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}
328 DEFINE_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}
334 DEFINE_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}
340 DEFINE_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}
346 DEFINE_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}
352 DEFINE_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}
358 DEFINE_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}
364 DEFINE_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}
370 DEFINE_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}
376 DEFINE_GUIDSTRUCT("2B81CDBB-EE6C-4ECC-8AA5-9A188B023DFD", CMINAME_CENTER2MIC);
377 #define CMINAME_CENTER2MIC DEFINE_GUIDNAMED(CMINAME_CENTER2MIC)
378 
379 //topology pins
380 enum
381 {
393 
395 };
396 
397 //topology nodes
398 enum
399 {
437 
439 };
440 
441 //wave miniport pins
442 enum
443 {
450 
452 };
453 
454 //wave miniport nodes
455 enum
456 {
466 
468 };
469 
470 #endif //_INTERFACES_HPP_
UInt32 * IOBase
Definition: interfaces.hpp:141
CPPORT Port[4]
Definition: headless.c:34
ICMITopology * PCMITOPOLOGY
Definition: interfaces.hpp:111
#define CMINAME_IEC_OUT
Definition: interfaces.hpp:305
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
#define THIS_
Definition: basetyps.h:65
IPortTopology * PPORTTOPOLOGY
Definition: portcls.h:1403
DWORD UInt32
Definition: chm_lib.c:104
ICMIAdapter * PCMIADAPTER
Definition: interfaces.hpp:260
LONG NTSTATUS
Definition: precomp.h:26
#define UInt8
Definition: interfaces.hpp:75
bool enableSPDIFOut
Definition: interfaces.hpp:145
PCMIWAVE WaveMiniport
Definition: interfaces.hpp:143
USHORT UInt16
Definition: chm_lib.c:102
#define CMINAME_XCHG_FB
Definition: interfaces.hpp:335
struct VolumeTable VolumeTable
DEFINE_GUID(IID_IIrpTarget, 0xB4C90A60, 0x5791, 0x11D0, 0xF9, 0x86, 0x00, 0xA0, 0xC9, 0x11, 0xB5, 0x44)
UInt32 regFUNCTRL0
Definition: interfaces.hpp:149
_Must_inspect_result_ _In_ WDFIORESREQLIST _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIORESLIST * ResourceList
Definition: wdfresource.h:304
#define CMINAME_IEC_INVERSE
Definition: interfaces.hpp:311
static int init
Definition: wintirpc.c:33
#define CMINAME_CENTER2LINE
Definition: interfaces.hpp:347
_In_ WDFREQUEST _In_ size_t OutputBufferLength
Definition: wdfio.h:318
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
UInt32 * MPUBase
Definition: interfaces.hpp:142
#define CMINAME_CENTER2MIC
Definition: interfaces.hpp:377
PCMITOPOLOGY TopoMiniport
Definition: interfaces.hpp:144
#define CMINAME_IEC_5V
Definition: interfaces.hpp:299
DEFINE_GUIDSTRUCT("9DB14E9A-7BE7-480d-A2FA-32932489DE9C", PRODUCT_CM8738)
#define PRODUCT_CM8738
Definition: interfaces.hpp:277
#define CMINAME_IEC_POLVALID
Definition: interfaces.hpp:359
#define CMINAME_IEC_COPYRIGHT
Definition: interfaces.hpp:353
UInt32 formatMask
Definition: interfaces.hpp:148
#define MANUFACTURER_CM8738
Definition: interfaces.hpp:289
#define CMINAME_IEC_LOOP
Definition: interfaces.hpp:365
static int reg
Definition: i386-dis.c:1283
#define index(s, c)
Definition: various.h:29
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
UInt32 maxChannels
Definition: interfaces.hpp:136
GLsizei const GLfloat * value
Definition: glext.h:6069
CMI8738Info * PCMI8738Info
Definition: interfaces.hpp:151
bool enableSPDIFIn
Definition: interfaces.hpp:146
IMiniportWaveCMI * PCMIWAVE
Definition: interfaces.hpp:130
IResourceList * PRESOURCELIST
Definition: portcls.h:442
DECLARE_INTERFACE_(IIrpTarget, IUnknown)
Definition: interfaces.hpp:157
#define CMINAME_IEC_MONITOR
Definition: interfaces.hpp:317
#define COMPONENT_CM8738
Definition: interfaces.hpp:283
unsigned int * PULONG
Definition: retypes.h:1
#define PURE
Definition: basetyps.h:64
IInterruptSync * PINTERRUPTSYNC
Definition: portcls.h:878
LONG Int32
Definition: chm_lib.c:103
#define CMINAME_REAR2LINE
Definition: interfaces.hpp:371
unsigned int ULONG
Definition: retypes.h:1
struct CMI8738Info CMI8738Info
bool enableSPDIFInMonitor
Definition: interfaces.hpp:147
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
#define CMINAME_IEC_SELECT
Definition: interfaces.hpp:329
#define CMINAME_DAC
Definition: interfaces.hpp:323
#define CMINAME_BASS2LINE
Definition: interfaces.hpp:341
bool canMultiChannel
Definition: interfaces.hpp:138