123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- /*==========================================================================;
- *
- * Copyright (c) Microsoft Corporation. All rights reserved.
- *
- * File: dsconf.h
- * Content: DirectSound configuration interface include file
- *
- **************************************************************************/
- #ifndef __DSCONF_INCLUDED__
- #define __DSCONF_INCLUDED__
- #ifndef __DSOUND_INCLUDED__
- #error dsound.h not included
- #endif // __DSOUND_INCLUDED__
- #ifdef __cplusplus
- extern "C" {
- #endif // __cplusplus
- // DirectSound Private Component GUID {11AB3EC0-25EC-11d1-A4D8-00C04FC28ACA}
- DEFINE_GUID(CLSID_DirectSoundPrivate, 0x11ab3ec0, 0x25ec, 0x11d1, 0xa4, 0xd8, 0x0, 0xc0, 0x4f, 0xc2, 0x8a, 0xca);
- //
- // DirectSound Device Properties {84624F82-25EC-11d1-A4D8-00C04FC28ACA}
- //
- DEFINE_GUID(DSPROPSETID_DirectSoundDevice, 0x84624f82, 0x25ec, 0x11d1, 0xa4, 0xd8, 0x0, 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;
- #if DIRECTSOUND_VERSION >= 0x0700
- #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 // UNICODE
- #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 // UNICODE
- #else // DIRECTSOUND_VERSION >= 0x0700
- #define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A
- #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1
- #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1
- #endif // DIRECTSOUND_VERSION >= 0x0700
- 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; // waveIn/waveOut device name
- DIRECTSOUNDDEVICE_DATAFLOW DataFlow; // Data flow (i.e. waveIn or waveOut)
- GUID DeviceId; // DirectSound device id
- } DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA;
- typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W_DATA
- {
- LPWSTR DeviceName; // waveIn/waveOut device name
- DIRECTSOUNDDEVICE_DATAFLOW DataFlow; // Data flow (i.e. waveIn or waveOut)
- GUID DeviceId; // DirectSound device id
- } 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 // UNICODE
- #define DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA
- #define PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A_DATA
- #endif // UNICODE
- typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA
- {
- GUID DeviceId; // DirectSound device id
- CHAR DescriptionA[0x100]; // Device description (ANSI)
- WCHAR DescriptionW[0x100]; // Device description (Unicode)
- CHAR ModuleA[MAX_PATH]; // Device driver module (ANSI)
- WCHAR ModuleW[MAX_PATH]; // Device driver module (Unicode)
- DIRECTSOUNDDEVICE_TYPE Type; // Device type
- DIRECTSOUNDDEVICE_DATAFLOW DataFlow; // Device dataflow
- ULONG WaveDeviceId; // Wave device id
- ULONG Devnode; // Devnode (or DevInst)
- } DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA;
- typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
- {
- DIRECTSOUNDDEVICE_TYPE Type; // Device type
- DIRECTSOUNDDEVICE_DATAFLOW DataFlow; // Device dataflow
- GUID DeviceId; // DirectSound device id
- LPSTR Description; // Device description
- LPSTR Module; // Device driver module
- LPSTR Interface; // Device interface
- ULONG WaveDeviceId; // Wave device id
- } DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA;
- typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
- {
- DIRECTSOUNDDEVICE_TYPE Type; // Device type
- DIRECTSOUNDDEVICE_DATAFLOW DataFlow; // Device dataflow
- GUID DeviceId; // DirectSound device id
- LPWSTR Description; // Device description
- LPWSTR Module; // Device driver module
- LPWSTR Interface; // Device interface
- ULONG WaveDeviceId; // Wave device id
- } DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA;
- #if DIRECTSOUND_VERSION >= 0x0700
- #ifdef UNICODE
- #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
- #define PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA
- #else // UNICODE
- #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
- #define PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA
- #endif // UNICODE
- #else // DIRECTSOUND_VERSION >= 0x0700
- #define DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA
- #define PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA
- #endif // DIRECTSOUND_VERSION >= 0x0700
- 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);
- #if DIRECTSOUND_VERSION >= 0x0700
- #ifdef UNICODE
- #define LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW
- #else // UNICODE
- #define LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA
- #endif // UNICODE
- #else // DIRECTSOUND_VERSION >= 0x0700
- #define LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1
- #endif // DIRECTSOUND_VERSION >= 0x0700
- typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA
- {
- LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1 Callback; // Callback function pointer
- LPVOID Context; // Callback function context argument
- } DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA;
- typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA
- {
- LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA Callback; // Callback function pointer
- LPVOID Context; // Callback function context argument
- } DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA;
- typedef struct _DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA
- {
- LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW Callback; // Callback function pointer
- LPVOID Context; // Callback function context argument
- } DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA, *PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA;
- #if DIRECTSOUND_VERSION >= 0x0700
- #ifdef UNICODE
- #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA
- #define PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W_DATA
- #else // UNICODE
- #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA
- #define PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A_DATA
- #endif // UNICODE
- #else // DIRECTSOUND_VERSION >= 0x0700
- #define DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA
- #define PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_DATA PDSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1_DATA
- #endif // DIRECTSOUND_VERSION >= 0x0700
- #ifdef __cplusplus
- }
- #endif // __cplusplus
- #endif // __DSCONF_INCLUDED__
|