comparison lib/legacy_dx/dsconf.h @ 0:9c0607679772

init
author Ritor1
date Sat, 12 Jan 2013 09:45:18 +0600
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:9c0607679772
1 /*==========================================================================;
2 *
3 * Copyright (c) Microsoft Corporation. All rights reserved.
4 *
5 * File: dsconf.h
6 * Content: DirectSound configuration interface include file
7 *
8 **************************************************************************/
9
10 #ifndef __DSCONF_INCLUDED__
11 #define __DSCONF_INCLUDED__
12
13 #ifndef __DSOUND_INCLUDED__
14 #error dsound.h not included
15 #endif // __DSOUND_INCLUDED__
16
17 #ifdef __cplusplus
18 extern "C" {
19 #endif // __cplusplus
20
21
22 // DirectSound Private Component GUID {11AB3EC0-25EC-11d1-A4D8-00C04FC28ACA}
23 DEFINE_GUID(CLSID_DirectSoundPrivate, 0x11ab3ec0, 0x25ec, 0x11d1, 0xa4, 0xd8, 0x0, 0xc0, 0x4f, 0xc2, 0x8a, 0xca);
24
25
26 //
27 // DirectSound Device Properties {84624F82-25EC-11d1-A4D8-00C04FC28ACA}
28 //
29
30 DEFINE_GUID(DSPROPSETID_DirectSoundDevice, 0x84624f82, 0x25ec, 0x11d1, 0xa4, 0xd8, 0x0, 0xc0, 0x4f, 0xc2, 0x8a, 0xca);
31
32 typedef enum
33 {
34 DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A = 1,
35 DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1 = 2,
36 DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1 = 3,
37 DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W = 4,
38 DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A = 5,
39 DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W = 6,
40 DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A = 7,
41 DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W = 8,
42 } DSPROPERTY_DIRECTSOUNDDEVICE;
43
44 #if DIRECTSOUND_VERSION >= 0x0700
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 // UNICODE
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 // UNICODE
54 #else // DIRECTSOUND_VERSION >= 0x0700
55 #define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A
56 #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1
57 #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1
58 #endif // DIRECTSOUND_VERSION >= 0x0700
59
60 typedef enum
61 {
62 DIRECTSOUNDDEVICE_TYPE_EMULATED,
63 DIRECTSOUNDDEVICE_TYPE_VXD,
64 DIRECTSOUNDDEVICE_TYPE_WDM
65 } DIRECTSOUNDDEVICE_TYPE;
66
67 typedef enum
68 {
69 DIRECTSOUNDDEVICE_DATAFLOW_RENDER,
70 DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE
71 } DIRECTSOUNDDEVICE_DATAFLOW;
72
73
74 typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA
75 {
76 LPSTR DeviceName; // waveIn/waveOut device name
77 DIRECTSOUNDDEVICE_DATAFLOW DataFlow; // Data flow (i.e. waveIn or waveOut)
78 GUID DeviceId; // DirectSound device id
79 } DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA;
80
81 typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA
82 {
83 LPWSTR DeviceName; // waveIn/waveOut device name
84 DIRECTSOUNDDEVICE_DATAFLOW DataFlow; // Data flow (i.e. waveIn or waveOut)
85 GUID DeviceId; // DirectSound device id
86 } DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA;
87
88 #ifdef UNICODE
89 #define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA
90 #define PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA
91 #else // UNICODE
92 #define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA
93 #define PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA
94 #endif // UNICODE
95
96 typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA
97 {
98 GUID DeviceId; // DirectSound device id
99 CHAR DescriptionA[0x100]; // Device description (ANSI)
100 WCHAR DescriptionW[0x100]; // Device description (Unicode)
101 CHAR ModuleA[MAX_PATH]; // Device driver module (ANSI)
102 WCHAR ModuleW[MAX_PATH]; // Device driver module (Unicode)
103 DIRECTSOUNDDEVICE_TYPE Type; // Device type
104 DIRECTSOUNDDEVICE_DATAFLOW DataFlow; // Device dataflow
105 ULONG WaveDeviceId; // Wave device id
106 ULONG Devnode; // Devnode (or DevInst)
107 } DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA;
108
109 typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
110 {
111 DIRECTSOUNDDEVICE_TYPE Type; // Device type
112 DIRECTSOUNDDEVICE_DATAFLOW DataFlow; // Device dataflow
113 GUID DeviceId; // DirectSound device id
114 LPSTR Description; // Device description
115 LPSTR Module; // Device driver module
116 LPSTR Interface; // Device interface
117 ULONG WaveDeviceId; // Wave device id
118 } DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA;
119
120 typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
121 {
122 DIRECTSOUNDDEVICE_TYPE Type; // Device type
123 DIRECTSOUNDDEVICE_DATAFLOW DataFlow; // Device dataflow
124 GUID DeviceId; // DirectSound device id
125 LPWSTR Description; // Device description
126 LPWSTR Module; // Device driver module
127 LPWSTR Interface; // Device interface
128 ULONG WaveDeviceId; // Wave device id
129 } DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA;
130
131 #if DIRECTSOUND_VERSION >= 0x0700
132 #ifdef UNICODE
133 #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
134 #define PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
135 #else // UNICODE
136 #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
137 #define PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
138 #endif // UNICODE
139 #else // DIRECTSOUND_VERSION >= 0x0700
140 #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA
141 #define PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA
142 #endif // DIRECTSOUND_VERSION >= 0x0700
143
144 typedef BOOL (CALLBACK *LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1)(PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA, LPVOID);
145 typedef BOOL (CALLBACK *LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA)(PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA, LPVOID);
146 typedef BOOL (CALLBACK *LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW)(PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA, LPVOID);
147
148 #if DIRECTSOUND_VERSION >= 0x0700
149 #ifdef UNICODE
150 #define LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW
151 #else // UNICODE
152 #define LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA
153 #endif // UNICODE
154 #else // DIRECTSOUND_VERSION >= 0x0700
155 #define LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1
156 #endif // DIRECTSOUND_VERSION >= 0x0700
157
158 typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA
159 {
160 LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1 Callback; // Callback function pointer
161 LPVOID Context; // Callback function context argument
162 } DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA;
163
164 typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA
165 {
166 LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA Callback; // Callback function pointer
167 LPVOID Context; // Callback function context argument
168 } DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA;
169
170 typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA
171 {
172 LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW Callback; // Callback function pointer
173 LPVOID Context; // Callback function context argument
174 } DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA;
175
176 #if DIRECTSOUND_VERSION >= 0x0700
177 #ifdef UNICODE
178 #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA
179 #define PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA
180 #else // UNICODE
181 #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA
182 #define PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA
183 #endif // UNICODE
184 #else // DIRECTSOUND_VERSION >= 0x0700
185 #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA
186 #define PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA
187 #endif // DIRECTSOUND_VERSION >= 0x0700
188
189
190 #ifdef __cplusplus
191 }
192 #endif // __cplusplus
193
194 #endif // __DSCONF_INCLUDED__
195