| /* | 
 |  * Copyright (C) 2003 Robert Reif | 
 |  * | 
 |  * This library is free software; you can redistribute it and/or | 
 |  * modify it under the terms of the GNU Lesser General Public | 
 |  * License as published by the Free Software Foundation; either | 
 |  * version 2.1 of the License, or (at your option) any later version. | 
 |  * | 
 |  * This library is distributed in the hope that it will be useful, | 
 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
 |  * Lesser General Public License for more details. | 
 |  * | 
 |  * You should have received a copy of the GNU Lesser General Public | 
 |  * License along with this library; if not, write to the Free Software | 
 |  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | 
 |  */ | 
 |  | 
 | #ifndef __WINE_DSCONF_H | 
 | #define __WINE_DSCONF_H | 
 | #define __DSCONF_INCLUDED__ | 
 |  | 
 | #ifdef __cplusplus | 
 | extern "C" { | 
 | #endif /* defined(__cplusplus) */ | 
 |  | 
 | /***************************************************************************** | 
 |  * Predeclare the interfaces | 
 |  */ | 
 | DEFINE_GUID(CLSID_DirectSoundPrivate,           0x11ab3ec0,0x25ec,0x11d1,0xa4,0xd8,0x00,0xc0,0x4f,0xc2,0x8a,0xca); | 
 |  | 
 | DEFINE_GUID(DSPROPSETID_DirectSoundDevice,      0x84624f82,0x25ec,0x11d1,0xa4,0xd8,0x00,0xc0,0x4f,0xc2,0x8a,0xca); | 
 |  | 
 | typedef enum | 
 | { | 
 |         DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A = 1, | 
 |         DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1       = 2, | 
 |         DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1         = 3, | 
 |         DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W = 4, | 
 |         DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A       = 5, | 
 |         DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W       = 6, | 
 |         DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A         = 7, | 
 |         DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W         = 8, | 
 | } DSPROPERTY_DIRECTSOUNDDEVICE; | 
 |  | 
 | #ifdef UNICODE | 
 | #define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING  DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W | 
 | #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION        DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W | 
 | #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE          DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W | 
 | #else | 
 | #define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING  DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A | 
 | #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION        DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A | 
 | #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE          DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A | 
 | #endif | 
 |  | 
 | typedef enum | 
 | { | 
 |         DIRECTSOUNDDEVICE_TYPE_EMULATED, | 
 |         DIRECTSOUNDDEVICE_TYPE_VXD, | 
 |         DIRECTSOUNDDEVICE_TYPE_WDM | 
 | } DIRECTSOUNDDEVICE_TYPE; | 
 |  | 
 | typedef enum | 
 | { | 
 |         DIRECTSOUNDDEVICE_DATAFLOW_RENDER, | 
 |         DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE | 
 | } DIRECTSOUNDDEVICE_DATAFLOW; | 
 |  | 
 | typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA | 
 | { | 
 |         LPSTR                           DeviceName; | 
 |         DIRECTSOUNDDEVICE_DATAFLOW      DataFlow; | 
 |         GUID                            DeviceId; | 
 | } DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA; | 
 |  | 
 | typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA | 
 | { | 
 |         LPWSTR                          DeviceName; | 
 |         DIRECTSOUNDDEVICE_DATAFLOW      DataFlow; | 
 |         GUID                            DeviceId; | 
 | } DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA; | 
 |  | 
 | #ifdef UNICODE | 
 | #define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA     DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA | 
 | #define PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA    PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA | 
 | #else | 
 | #define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA     DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA | 
 | #define PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA    PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA | 
 | #endif | 
 |  | 
 | typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA | 
 | { | 
 |         GUID                            DeviceId; | 
 |         CHAR                            DescriptionA[0x100]; | 
 |         WCHAR                           DescriptionW[0x100]; | 
 |         CHAR                            ModuleA[MAX_PATH]; | 
 |         WCHAR                           ModuleW[MAX_PATH]; | 
 |         DIRECTSOUNDDEVICE_TYPE          Type; | 
 |         DIRECTSOUNDDEVICE_DATAFLOW      DataFlow; | 
 |         ULONG                           WaveDeviceId; | 
 |         ULONG                           Devnode; | 
 | } DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA; | 
 |  | 
 | typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA | 
 | { | 
 |         DIRECTSOUNDDEVICE_TYPE          Type; | 
 |         DIRECTSOUNDDEVICE_DATAFLOW      DataFlow; | 
 |         GUID                            DeviceId; | 
 |         LPSTR                           Description; | 
 |         LPSTR                           Module; | 
 |         LPSTR                           Interface; | 
 |         ULONG                           WaveDeviceId; | 
 | } DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA; | 
 |  | 
 | typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA | 
 | { | 
 |         DIRECTSOUNDDEVICE_TYPE          Type; | 
 |         DIRECTSOUNDDEVICE_DATAFLOW      DataFlow; | 
 |         GUID                            DeviceId; | 
 |         LPWSTR                          Description; | 
 |         LPWSTR                          Module; | 
 |         LPWSTR                          Interface; | 
 |         ULONG                           WaveDeviceId; | 
 | } DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA; | 
 |  | 
 | #ifdef UNICODE | 
 | #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA   DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA | 
 | #define PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA  PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA | 
 | #else | 
 | #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA   DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA | 
 | #define PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA  PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA | 
 | #endif | 
 |  | 
 | typedef BOOL (CALLBACK *LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1)(PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA, LPVOID); | 
 | typedef BOOL (CALLBACK *LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA)(PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA, LPVOID); | 
 | typedef BOOL (CALLBACK *LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW)(PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA, LPVOID); | 
 |  | 
 | typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA | 
 | { | 
 |         LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1 Callback; | 
 |         LPVOID                                  Context; | 
 | } DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA; | 
 |  | 
 | typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA | 
 | { | 
 |         LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA Callback; | 
 |         LPVOID                                  Context; | 
 | } DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA; | 
 |  | 
 | typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA | 
 | { | 
 |         LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW Callback; | 
 |         LPVOID                                  Context; | 
 | } DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA; | 
 |  | 
 | #ifdef UNICODE | 
 | #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA     DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA | 
 | #define PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA    PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA | 
 | #else | 
 | #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA     DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA | 
 | #define PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA    PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA | 
 | #endif | 
 |  | 
 | #ifdef __cplusplus | 
 | } /* extern "C" */ | 
 | #endif /* defined(__cplusplus) */ | 
 |  | 
 | #endif /* __WINE_DSCONF_H */ |