source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dsconf.h@ 1186

Last change on this file since 1186 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 7.6 KB
Line 
1/*
2 * Copyright (C) 2003 Robert Reif
3 *
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.
8 *
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.
13 *
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
17 */
18
19#ifndef __WINE_DSCONF_H
20#define __WINE_DSCONF_H
21
22#ifdef __cplusplus
23extern "C" {
24#endif /* defined(__cplusplus) */
25
26/*****************************************************************************
27 * Predeclare the interfaces
28 */
29DEFINE_GUID(CLSID_DirectSoundPrivate, 0x11ab3ec0,0x25ec,0x11d1,0xa4,0xd8,0x00,0xc0,0x4f,0xc2,0x8a,0xca);
30
31DEFINE_GUID(DSPROPSETID_DirectSoundDevice, 0x84624f82,0x25ec,0x11d1,0xa4,0xd8,0x00,0xc0,0x4f,0xc2,0x8a,0xca);
32
33typedef enum
34{
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;
44
45#ifdef UNICODE
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
49#else
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
53#endif
54
55typedef enum
56{
57 DIRECTSOUNDDEVICE_TYPE_EMULATED,
58 DIRECTSOUNDDEVICE_TYPE_VXD,
59 DIRECTSOUNDDEVICE_TYPE_WDM
60} DIRECTSOUNDDEVICE_TYPE;
61
62typedef enum
63{
64 DIRECTSOUNDDEVICE_DATAFLOW_RENDER,
65 DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE
66} DIRECTSOUNDDEVICE_DATAFLOW;
67
68typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA
69{
70 LPSTR DeviceName;
71 DIRECTSOUNDDEVICE_DATAFLOW DataFlow;
72 GUID DeviceId;
73} DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA;
74
75typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA
76{
77 LPWSTR DeviceName;
78 DIRECTSOUNDDEVICE_DATAFLOW DataFlow;
79 GUID DeviceId;
80} DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA;
81
82#ifdef UNICODE
83#define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA
84#define PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA
85#else
86#define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA
87#define PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA
88#endif
89
90typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA
91{
92 GUID DeviceId;
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;
99 ULONG WaveDeviceId;
100 ULONG Devnode;
101} DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA;
102
103typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
104{
105 DIRECTSOUNDDEVICE_TYPE Type;
106 DIRECTSOUNDDEVICE_DATAFLOW DataFlow;
107 GUID DeviceId;
108 LPSTR Description;
109 LPSTR Module;
110 LPSTR Interface;
111 ULONG WaveDeviceId;
112} DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA;
113
114typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
115{
116 DIRECTSOUNDDEVICE_TYPE Type;
117 DIRECTSOUNDDEVICE_DATAFLOW DataFlow;
118 GUID DeviceId;
119 LPWSTR Description;
120 LPWSTR Module;
121 LPWSTR Interface;
122 ULONG WaveDeviceId;
123} DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA;
124
125#ifdef UNICODE
126#define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
127#define PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
128#else
129#define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
130#define PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
131#endif
132
133typedef WINBOOL (CALLBACK *LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1)(PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA, LPVOID);
134typedef WINBOOL (CALLBACK *LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA)(PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA, LPVOID);
135typedef WINBOOL (CALLBACK *LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW)(PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA, LPVOID);
136
137typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA
138{
139 LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1 Callback;
140 LPVOID Context;
141} DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA;
142
143typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA
144{
145 LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA Callback;
146 LPVOID Context;
147} DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA;
148
149typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA
150{
151 LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW Callback;
152 LPVOID Context;
153} DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA;
154
155#ifdef UNICODE
156#define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA
157#define PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA
158#else
159#define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA
160#define PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA
161#endif
162
163#ifdef __cplusplus
164} /* extern "C" */
165#endif /* defined(__cplusplus) */
166
167#endif /* __WINE_DSCONF_H */
Note: See TracBrowser for help on using the repository browser.