2 * Copyright (C) 2003 Robert Reif
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __WINE_DSCONF_H
20 #define __WINE_DSCONF_H
24 #endif /* defined(__cplusplus) */
26 /*****************************************************************************
27 * Predeclare the interfaces
29 DEFINE_GUID(CLSID_DirectSoundPrivate
, 0x11ab3ec0,0x25ec,0x11d1,0xa4,0xd8,0x00,0xc0,0x4f,0xc2,0x8a,0xca);
31 DEFINE_GUID(DSPROPSETID_DirectSoundDevice
, 0x84624f82,0x25ec,0x11d1,0xa4,0xd8,0x00,0xc0,0x4f,0xc2,0x8a,0xca);
35 DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A
= 1,
36 DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1
= 2,
37 DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1
= 3,
38 DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W
= 4,
39 DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A
= 5,
40 DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W
= 6,
41 DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A
= 7,
42 DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W
= 8,
43 } DSPROPERTY_DIRECTSOUNDDEVICE
;
46 #define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W
47 #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W
48 #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W
50 #define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A
51 #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A
52 #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A
57 DIRECTSOUNDDEVICE_TYPE_EMULATED
,
58 DIRECTSOUNDDEVICE_TYPE_VXD
,
59 DIRECTSOUNDDEVICE_TYPE_WDM
60 } DIRECTSOUNDDEVICE_TYPE
;
64 DIRECTSOUNDDEVICE_DATAFLOW_RENDER
,
65 DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE
66 } DIRECTSOUNDDEVICE_DATAFLOW
;
68 typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA
71 DIRECTSOUNDDEVICE_DATAFLOW DataFlow
;
73 } DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA
, *PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA
;
75 typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA
78 DIRECTSOUNDDEVICE_DATAFLOW DataFlow
;
80 } DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA
, *PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA
;
83 #define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA
84 #define PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA
86 #define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA
87 #define PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA
90 typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA
93 CHAR DescriptionA
[0x100];
94 WCHAR DescriptionW
[0x100];
95 CHAR ModuleA
[MAX_PATH
];
96 WCHAR ModuleW
[MAX_PATH
];
97 DIRECTSOUNDDEVICE_TYPE Type
;
98 DIRECTSOUNDDEVICE_DATAFLOW DataFlow
;
101 } DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA
, *PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA
;
103 typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
105 DIRECTSOUNDDEVICE_TYPE Type
;
106 DIRECTSOUNDDEVICE_DATAFLOW DataFlow
;
112 } DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
, *PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
;
114 typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
116 DIRECTSOUNDDEVICE_TYPE Type
;
117 DIRECTSOUNDDEVICE_DATAFLOW DataFlow
;
123 } DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
, *PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
;
126 #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
127 #define PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
129 #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
130 #define PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
133 typedef BOOL (CALLBACK
*LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1
)(PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA
, LPVOID
);
134 typedef BOOL (CALLBACK
*LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA
)(PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
, LPVOID
);
135 typedef BOOL (CALLBACK
*LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW
)(PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
, LPVOID
);
137 typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA
139 LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1 Callback
;
141 } DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA
, *PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA
;
143 typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA
145 LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA Callback
;
147 } DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA
, *PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA
;
149 typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA
151 LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW Callback
;
153 } DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA
, *PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA
;
156 #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA
157 #define PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA
159 #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA
160 #define PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA
165 #endif /* defined(__cplusplus) */
167 #endif /* __WINE_DSCONF_H */