RetroArch
dsconf.h
Go to the documentation of this file.
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 /*#include <winapifamily.h>*/
13 
14 /*#pragma region Desktop Family*/
15 /*#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)*/
16 
17 
18 #ifndef __DSOUND_INCLUDED__
19 #error dsound.h not included
20 #endif // __DSOUND_INCLUDED__
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif // __cplusplus
25 
26 
27 // DirectSound Configuration Component GUID {11AB3EC0-25EC-11d1-A4D8-00C04FC28ACA}
28 DEFINE_GUID(CLSID_DirectSoundPrivate, 0x11ab3ec0, 0x25ec, 0x11d1, 0xa4, 0xd8, 0x0, 0xc0, 0x4f, 0xc2, 0x8a, 0xca);
29 
30 
31 //
32 // DirectSound Device Properties {84624F82-25EC-11d1-A4D8-00C04FC28ACA}
33 //
34 
35 DEFINE_GUID(DSPROPSETID_DirectSoundDevice, 0x84624f82, 0x25ec, 0x11d1, 0xa4, 0xd8, 0x0, 0xc0, 0x4f, 0xc2, 0x8a, 0xca);
36 
37 typedef enum
38 {
48 
49 #if DIRECTSOUND_VERSION >= 0x0700
50 #ifdef UNICODE
51 #define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W
52 #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W
53 #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W
54 #else // UNICODE
55 #define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A
56 #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A
57 #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A
58 #endif // UNICODE
59 #else // DIRECTSOUND_VERSION >= 0x0700
60 #define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A
61 #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1
62 #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1
63 #endif // DIRECTSOUND_VERSION >= 0x0700
64 
65 typedef enum
66 {
71 
72 typedef enum
73 {
77 
78 
80 {
81  LPSTR DeviceName; // waveIn/waveOut device name
82  DIRECTSOUNDDEVICE_DATAFLOW DataFlow; // Data flow (i.e. waveIn or waveOut)
83  GUID DeviceId; // DirectSound device id
85 
87 {
88  LPWSTR DeviceName; // waveIn/waveOut device name
89  DIRECTSOUNDDEVICE_DATAFLOW DataFlow; // Data flow (i.e. waveIn or waveOut)
90  GUID DeviceId; // DirectSound device id
92 
93 #ifdef UNICODE
94 #define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA
95 #define PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA
96 #else // UNICODE
97 #define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA
98 #define PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA
99 #endif // UNICODE
100 
102 {
103  GUID DeviceId; // DirectSound device id
104  CHAR DescriptionA[0x100]; // Device description (ANSI)
105  WCHAR DescriptionW[0x100]; // Device description (Unicode)
106  CHAR ModuleA[MAX_PATH]; // Device driver module (ANSI)
107  WCHAR ModuleW[MAX_PATH]; // Device driver module (Unicode)
108  DIRECTSOUNDDEVICE_TYPE Type; // Device type
110  ULONG WaveDeviceId; // Wave device id
111  ULONG Devnode; // Devnode (or DevInst)
113 
115 {
116  DIRECTSOUNDDEVICE_TYPE Type; // Device type
118  GUID DeviceId; // DirectSound device id
119  LPSTR Description; // Device description
120  LPSTR Module; // Device driver module
121  LPSTR Interface; // Device interface
122  ULONG WaveDeviceId; // Wave device id
124 
126 {
127  DIRECTSOUNDDEVICE_TYPE Type; // Device type
129  GUID DeviceId; // DirectSound device id
130  LPWSTR Description; // Device description
131  LPWSTR Module; // Device driver module
132  LPWSTR Interface; // Device interface
133  ULONG WaveDeviceId; // Wave device id
135 
136 #if DIRECTSOUND_VERSION >= 0x0700
137 #ifdef UNICODE
138 #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
139 #define PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
140 #else // UNICODE
141 #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
142 #define PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
143 #endif // UNICODE
144 #else // DIRECTSOUND_VERSION >= 0x0700
145 #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA
146 #define PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA
147 #endif // DIRECTSOUND_VERSION >= 0x0700
148 
152 
153 #if DIRECTSOUND_VERSION >= 0x0700
154 #ifdef UNICODE
155 #define LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW
156 #else // UNICODE
157 #define LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA
158 #endif // UNICODE
159 #else // DIRECTSOUND_VERSION >= 0x0700
160 #define LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1
161 #endif // DIRECTSOUND_VERSION >= 0x0700
162 
164 {
165  LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1 Callback; // Callback function pointer
166  LPVOID Context; // Callback function context argument
168 
170 {
171  LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA Callback; // Callback function pointer
172  LPVOID Context; // Callback function context argument
174 
176 {
177  LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW Callback; // Callback function pointer
178  LPVOID Context; // Callback function context argument
180 
181 #if DIRECTSOUND_VERSION >= 0x0700
182 #ifdef UNICODE
183 #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA
184 #define PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA
185 #else // UNICODE
186 #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA
187 #define PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA
188 #endif // UNICODE
189 #else // DIRECTSOUND_VERSION >= 0x0700
190 #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA
191 #define PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA
192 #endif // DIRECTSOUND_VERSION >= 0x0700
193 
194 
195 #ifdef __cplusplus
196 }
197 #endif // __cplusplus
198 
199 
200 /*#endif*/ /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
201 /*#pragma endregion*/
202 
203 #endif // __DSCONF_INCLUDED__
204 
DIRECTSOUNDDEVICE_DATAFLOW DataFlow
Definition: dsconf.h:89
LPVOID Context
Definition: dsconf.h:178
LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW Callback
Definition: dsconf.h:177
struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA * PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA
LPVOID Context
Definition: dsconf.h:166
struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA * PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA
struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA * PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
DIRECTSOUNDDEVICE_TYPE Type
Definition: dsconf.h:116
struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA
Definition: dsconf.h:74
ULONG WaveDeviceId
Definition: dsconf.h:133
DIRECTSOUNDDEVICE_DATAFLOW DataFlow
Definition: dsconf.h:128
WCHAR DescriptionW[0x100]
Definition: dsconf.h:105
Definition: dsconf.h:67
struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA * PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA
BOOL(CALLBACK * LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA)(PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA, LPVOID)
Definition: dsconf.h:150
LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1 Callback
Definition: dsconf.h:165
LPWSTR Description
Definition: dsconf.h:130
DIRECTSOUNDDEVICE_TYPE
Definition: dsconf.h:65
DIRECTSOUNDDEVICE_DATAFLOW DataFlow
Definition: dsconf.h:82
struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA
Definition: dsconf.h:68
struct _DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA * PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA
Definition: dsconf.h:69
struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA
WCHAR ModuleW[MAX_PATH]
Definition: dsconf.h:107
Definition: dsconf.h:75
DIRECTSOUNDDEVICE_DATAFLOW DataFlow
Definition: dsconf.h:109
struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA
struct _DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA * PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA
struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA * PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA
DIRECTSOUNDDEVICE_DATAFLOW
Definition: dsconf.h:72
LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA Callback
Definition: dsconf.h:171
DIRECTSOUNDDEVICE_DATAFLOW DataFlow
Definition: dsconf.h:117
BOOL(CALLBACK * LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW)(PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA, LPVOID)
Definition: dsconf.h:151
LPVOID Context
Definition: dsconf.h:172
ULONG WaveDeviceId
Definition: dsconf.h:122
DIRECTSOUNDDEVICE_TYPE Type
Definition: dsconf.h:108
BOOL(CALLBACK * LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1)(PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA, LPVOID)
Definition: dsconf.h:149
DSPROPERTY_DIRECTSOUNDDEVICE
Definition: dsconf.h:37
unsigned int BOOL
Definition: gctypes.h:51
struct _DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA
CHAR ModuleA[MAX_PATH]
Definition: dsconf.h:106
CHAR DescriptionA[0x100]
Definition: dsconf.h:104
struct _DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA
ULONG WaveDeviceId
Definition: dsconf.h:110
struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
DIRECTSOUNDDEVICE_TYPE Type
Definition: dsconf.h:127
struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA * PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
LPSTR Description
Definition: dsconf.h:119
LPWSTR Interface
Definition: dsconf.h:132
DEFINE_GUID(CLSID_DirectSoundPrivate, 0x11ab3ec0, 0x25ec, 0x11d1, 0xa4, 0xd8, 0x0, 0xc0, 0x4f, 0xc2, 0x8a, 0xca)