annotate lib/legacy_dx/dsconf.h @ 2221:c69013c186c7

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