|  | /*** Autogenerated by WIDL 8.0-rc1 from include/xaudio2.idl - Do not edit ***/ | 
|  |  | 
|  | #ifdef _WIN32 | 
|  | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 
|  | #define __REQUIRED_RPCNDR_H_VERSION__ 475 | 
|  | #endif | 
|  | #include <rpc.h> | 
|  | #include <rpcndr.h> | 
|  | #endif | 
|  |  | 
|  | #ifndef COM_NO_WINDOWS_H | 
|  | #include <windows.h> | 
|  | #include <ole2.h> | 
|  | #endif | 
|  |  | 
|  | #ifndef __xaudio2_h__ | 
|  | #define __xaudio2_h__ | 
|  |  | 
|  | #ifndef __WIDL_INLINE | 
|  | #if defined(__cplusplus) || defined(_MSC_VER) | 
|  | #define __WIDL_INLINE inline | 
|  | #elif defined(__GNUC__) | 
|  | #define __WIDL_INLINE __inline__ | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | /* Forward declarations */ | 
|  |  | 
|  | #ifndef __XAudio20_FWD_DEFINED__ | 
|  | #define __XAudio20_FWD_DEFINED__ | 
|  | #ifdef __cplusplus | 
|  | typedef class XAudio20 XAudio20; | 
|  | #else | 
|  | typedef struct XAudio20 XAudio20; | 
|  | #endif /* defined __cplusplus */ | 
|  | #endif /* defined __XAudio20_FWD_DEFINED__ */ | 
|  |  | 
|  | #ifndef __XAudio21_FWD_DEFINED__ | 
|  | #define __XAudio21_FWD_DEFINED__ | 
|  | #ifdef __cplusplus | 
|  | typedef class XAudio21 XAudio21; | 
|  | #else | 
|  | typedef struct XAudio21 XAudio21; | 
|  | #endif /* defined __cplusplus */ | 
|  | #endif /* defined __XAudio21_FWD_DEFINED__ */ | 
|  |  | 
|  | #ifndef __XAudio22_FWD_DEFINED__ | 
|  | #define __XAudio22_FWD_DEFINED__ | 
|  | #ifdef __cplusplus | 
|  | typedef class XAudio22 XAudio22; | 
|  | #else | 
|  | typedef struct XAudio22 XAudio22; | 
|  | #endif /* defined __cplusplus */ | 
|  | #endif /* defined __XAudio22_FWD_DEFINED__ */ | 
|  |  | 
|  | #ifndef __XAudio23_FWD_DEFINED__ | 
|  | #define __XAudio23_FWD_DEFINED__ | 
|  | #ifdef __cplusplus | 
|  | typedef class XAudio23 XAudio23; | 
|  | #else | 
|  | typedef struct XAudio23 XAudio23; | 
|  | #endif /* defined __cplusplus */ | 
|  | #endif /* defined __XAudio23_FWD_DEFINED__ */ | 
|  |  | 
|  | #ifndef __XAudio24_FWD_DEFINED__ | 
|  | #define __XAudio24_FWD_DEFINED__ | 
|  | #ifdef __cplusplus | 
|  | typedef class XAudio24 XAudio24; | 
|  | #else | 
|  | typedef struct XAudio24 XAudio24; | 
|  | #endif /* defined __cplusplus */ | 
|  | #endif /* defined __XAudio24_FWD_DEFINED__ */ | 
|  |  | 
|  | #ifndef __XAudio25_FWD_DEFINED__ | 
|  | #define __XAudio25_FWD_DEFINED__ | 
|  | #ifdef __cplusplus | 
|  | typedef class XAudio25 XAudio25; | 
|  | #else | 
|  | typedef struct XAudio25 XAudio25; | 
|  | #endif /* defined __cplusplus */ | 
|  | #endif /* defined __XAudio25_FWD_DEFINED__ */ | 
|  |  | 
|  | #ifndef __XAudio26_FWD_DEFINED__ | 
|  | #define __XAudio26_FWD_DEFINED__ | 
|  | #ifdef __cplusplus | 
|  | typedef class XAudio26 XAudio26; | 
|  | #else | 
|  | typedef struct XAudio26 XAudio26; | 
|  | #endif /* defined __cplusplus */ | 
|  | #endif /* defined __XAudio26_FWD_DEFINED__ */ | 
|  |  | 
|  | #ifndef __XAudio27_FWD_DEFINED__ | 
|  | #define __XAudio27_FWD_DEFINED__ | 
|  | #ifdef __cplusplus | 
|  | typedef class XAudio27 XAudio27; | 
|  | #else | 
|  | typedef struct XAudio27 XAudio27; | 
|  | #endif /* defined __cplusplus */ | 
|  | #endif /* defined __XAudio27_FWD_DEFINED__ */ | 
|  |  | 
|  | #ifndef __XAudio2Debug_FWD_DEFINED__ | 
|  | #define __XAudio2Debug_FWD_DEFINED__ | 
|  | #ifdef __cplusplus | 
|  | typedef class XAudio2Debug XAudio2Debug; | 
|  | #else | 
|  | typedef struct XAudio2Debug XAudio2Debug; | 
|  | #endif /* defined __cplusplus */ | 
|  | #endif /* defined __XAudio2Debug_FWD_DEFINED__ */ | 
|  |  | 
|  | #ifndef __IXAudio2EngineCallback_FWD_DEFINED__ | 
|  | #define __IXAudio2EngineCallback_FWD_DEFINED__ | 
|  | typedef interface IXAudio2EngineCallback IXAudio2EngineCallback; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio2EngineCallback; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio20Voice_FWD_DEFINED__ | 
|  | #define __IXAudio20Voice_FWD_DEFINED__ | 
|  | typedef interface IXAudio20Voice IXAudio20Voice; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio20Voice; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio23Voice_FWD_DEFINED__ | 
|  | #define __IXAudio23Voice_FWD_DEFINED__ | 
|  | typedef interface IXAudio23Voice IXAudio23Voice; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio23Voice; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio27Voice_FWD_DEFINED__ | 
|  | #define __IXAudio27Voice_FWD_DEFINED__ | 
|  | typedef interface IXAudio27Voice IXAudio27Voice; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio27Voice; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio2Voice_FWD_DEFINED__ | 
|  | #define __IXAudio2Voice_FWD_DEFINED__ | 
|  | typedef interface IXAudio2Voice IXAudio2Voice; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio2Voice; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio20SourceVoice_FWD_DEFINED__ | 
|  | #define __IXAudio20SourceVoice_FWD_DEFINED__ | 
|  | typedef interface IXAudio20SourceVoice IXAudio20SourceVoice; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio20SourceVoice; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio23SourceVoice_FWD_DEFINED__ | 
|  | #define __IXAudio23SourceVoice_FWD_DEFINED__ | 
|  | typedef interface IXAudio23SourceVoice IXAudio23SourceVoice; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio23SourceVoice; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio27SourceVoice_FWD_DEFINED__ | 
|  | #define __IXAudio27SourceVoice_FWD_DEFINED__ | 
|  | typedef interface IXAudio27SourceVoice IXAudio27SourceVoice; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio27SourceVoice; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio2SourceVoice_FWD_DEFINED__ | 
|  | #define __IXAudio2SourceVoice_FWD_DEFINED__ | 
|  | typedef interface IXAudio2SourceVoice IXAudio2SourceVoice; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio2SourceVoice; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio20SubmixVoice_FWD_DEFINED__ | 
|  | #define __IXAudio20SubmixVoice_FWD_DEFINED__ | 
|  | typedef interface IXAudio20SubmixVoice IXAudio20SubmixVoice; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio20SubmixVoice; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio23SubmixVoice_FWD_DEFINED__ | 
|  | #define __IXAudio23SubmixVoice_FWD_DEFINED__ | 
|  | typedef interface IXAudio23SubmixVoice IXAudio23SubmixVoice; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio23SubmixVoice; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio27SubmixVoice_FWD_DEFINED__ | 
|  | #define __IXAudio27SubmixVoice_FWD_DEFINED__ | 
|  | typedef interface IXAudio27SubmixVoice IXAudio27SubmixVoice; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio27SubmixVoice; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio2SubmixVoice_FWD_DEFINED__ | 
|  | #define __IXAudio2SubmixVoice_FWD_DEFINED__ | 
|  | typedef interface IXAudio2SubmixVoice IXAudio2SubmixVoice; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio2SubmixVoice; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio20MasteringVoice_FWD_DEFINED__ | 
|  | #define __IXAudio20MasteringVoice_FWD_DEFINED__ | 
|  | typedef interface IXAudio20MasteringVoice IXAudio20MasteringVoice; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio20MasteringVoice; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio23MasteringVoice_FWD_DEFINED__ | 
|  | #define __IXAudio23MasteringVoice_FWD_DEFINED__ | 
|  | typedef interface IXAudio23MasteringVoice IXAudio23MasteringVoice; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio23MasteringVoice; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio27MasteringVoice_FWD_DEFINED__ | 
|  | #define __IXAudio27MasteringVoice_FWD_DEFINED__ | 
|  | typedef interface IXAudio27MasteringVoice IXAudio27MasteringVoice; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio27MasteringVoice; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio2MasteringVoice_FWD_DEFINED__ | 
|  | #define __IXAudio2MasteringVoice_FWD_DEFINED__ | 
|  | typedef interface IXAudio2MasteringVoice IXAudio2MasteringVoice; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio2MasteringVoice; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio20VoiceCallback_FWD_DEFINED__ | 
|  | #define __IXAudio20VoiceCallback_FWD_DEFINED__ | 
|  | typedef interface IXAudio20VoiceCallback IXAudio20VoiceCallback; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio20VoiceCallback; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio2VoiceCallback_FWD_DEFINED__ | 
|  | #define __IXAudio2VoiceCallback_FWD_DEFINED__ | 
|  | typedef interface IXAudio2VoiceCallback IXAudio2VoiceCallback; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio2VoiceCallback; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio20_FWD_DEFINED__ | 
|  | #define __IXAudio20_FWD_DEFINED__ | 
|  | typedef interface IXAudio20 IXAudio20; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio20; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio22_FWD_DEFINED__ | 
|  | #define __IXAudio22_FWD_DEFINED__ | 
|  | typedef interface IXAudio22 IXAudio22; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio22; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio23_FWD_DEFINED__ | 
|  | #define __IXAudio23_FWD_DEFINED__ | 
|  | typedef interface IXAudio23 IXAudio23; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio23; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio27_FWD_DEFINED__ | 
|  | #define __IXAudio27_FWD_DEFINED__ | 
|  | typedef interface IXAudio27 IXAudio27; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio27; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IXAudio2_FWD_DEFINED__ | 
|  | #define __IXAudio2_FWD_DEFINED__ | 
|  | typedef interface IXAudio2 IXAudio2; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | /* Headers for imported files */ | 
|  |  | 
|  | #include <unknwn.h> | 
|  | #include <mmdeviceapi.h> | 
|  | #include <audiosessiontypes.h> | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | #include <pshpack1.h> | 
|  | /***************************************************************************** | 
|  | * XAudio20 coclass | 
|  | */ | 
|  |  | 
|  | DEFINE_GUID(CLSID_XAudio20, 0xfac23f48, 0x31f5, 0x45a8, 0xb4,0x9b, 0x52,0x25,0xd6,0x14,0x01,0xaa); | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | class DECLSPEC_UUID("fac23f48-31f5-45a8-b49b-5225d61401aa") XAudio20; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(XAudio20, 0xfac23f48, 0x31f5, 0x45a8, 0xb4,0x9b, 0x52,0x25,0xd6,0x14,0x01,0xaa) | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | /***************************************************************************** | 
|  | * XAudio21 coclass | 
|  | */ | 
|  |  | 
|  | DEFINE_GUID(CLSID_XAudio21, 0xe21a7345, 0xeb21, 0x468e, 0xbe,0x50, 0x80,0x4d,0xb9,0x7c,0xf7,0x08); | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | class DECLSPEC_UUID("e21a7345-eb21-468e-be50-804db97cf708") XAudio21; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(XAudio21, 0xe21a7345, 0xeb21, 0x468e, 0xbe,0x50, 0x80,0x4d,0xb9,0x7c,0xf7,0x08) | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | /***************************************************************************** | 
|  | * XAudio22 coclass | 
|  | */ | 
|  |  | 
|  | DEFINE_GUID(CLSID_XAudio22, 0xb802058a, 0x464a, 0x42db, 0xbc,0x10, 0xb6,0x50,0xd6,0xf2,0x58,0x6a); | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | class DECLSPEC_UUID("b802058a-464a-42db-bc10-b650d6f2586a") XAudio22; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(XAudio22, 0xb802058a, 0x464a, 0x42db, 0xbc,0x10, 0xb6,0x50,0xd6,0xf2,0x58,0x6a) | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | /***************************************************************************** | 
|  | * XAudio23 coclass | 
|  | */ | 
|  |  | 
|  | DEFINE_GUID(CLSID_XAudio23, 0x4c5e637a, 0x16c7, 0x4de3, 0x9c,0x46, 0x5e,0xd2,0x21,0x81,0x96,0x2d); | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | class DECLSPEC_UUID("4c5e637a-16c7-4de3-9c46-5ed22181962d") XAudio23; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(XAudio23, 0x4c5e637a, 0x16c7, 0x4de3, 0x9c,0x46, 0x5e,0xd2,0x21,0x81,0x96,0x2d) | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | /***************************************************************************** | 
|  | * XAudio24 coclass | 
|  | */ | 
|  |  | 
|  | DEFINE_GUID(CLSID_XAudio24, 0x03219e78, 0x5bc3, 0x44d1, 0xb9,0x2e, 0xf6,0x3d,0x89,0xcc,0x65,0x26); | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | class DECLSPEC_UUID("03219e78-5bc3-44d1-b92e-f63d89cc6526") XAudio24; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(XAudio24, 0x03219e78, 0x5bc3, 0x44d1, 0xb9,0x2e, 0xf6,0x3d,0x89,0xcc,0x65,0x26) | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | /***************************************************************************** | 
|  | * XAudio25 coclass | 
|  | */ | 
|  |  | 
|  | DEFINE_GUID(CLSID_XAudio25, 0x4c9b6dde, 0x6809, 0x46e6, 0xa2,0x78, 0x9b,0x6a,0x97,0x58,0x86,0x70); | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | class DECLSPEC_UUID("4c9b6dde-6809-46e6-a278-9b6a97588670") XAudio25; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(XAudio25, 0x4c9b6dde, 0x6809, 0x46e6, 0xa2,0x78, 0x9b,0x6a,0x97,0x58,0x86,0x70) | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | /***************************************************************************** | 
|  | * XAudio26 coclass | 
|  | */ | 
|  |  | 
|  | DEFINE_GUID(CLSID_XAudio26, 0x3eda9b49, 0x2085, 0x498b, 0x9b,0xb2, 0x39,0xa6,0x77,0x84,0x93,0xde); | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | class DECLSPEC_UUID("3eda9b49-2085-498b-9bb2-39a6778493de") XAudio26; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(XAudio26, 0x3eda9b49, 0x2085, 0x498b, 0x9b,0xb2, 0x39,0xa6,0x77,0x84,0x93,0xde) | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | /***************************************************************************** | 
|  | * XAudio27 coclass | 
|  | */ | 
|  |  | 
|  | DEFINE_GUID(CLSID_XAudio27, 0x5a508685, 0xa254, 0x4fba, 0x9b,0x82, 0x9a,0x24,0xb0,0x03,0x06,0xaf); | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | class DECLSPEC_UUID("5a508685-a254-4fba-9b82-9a24b00306af") XAudio27; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(XAudio27, 0x5a508685, 0xa254, 0x4fba, 0x9b,0x82, 0x9a,0x24,0xb0,0x03,0x06,0xaf) | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | /***************************************************************************** | 
|  | * XAudio2Debug coclass | 
|  | */ | 
|  |  | 
|  | DEFINE_GUID(CLSID_XAudio2Debug, 0xdb05ea35, 0x0329, 0x4d4b, 0xa5,0x3a, 0x6d,0xea,0xd0,0x3d,0x38,0x52); | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | class DECLSPEC_UUID("db05ea35-0329-4d4b-a53a-6dead03d3852") XAudio2Debug; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(XAudio2Debug, 0xdb05ea35, 0x0329, 0x4d4b, 0xa5,0x3a, 0x6d,0xea,0xd0,0x3d,0x38,0x52) | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #if 0 | 
|  | typedef struct WAVEFORMATEX { | 
|  | WORD wFormatTag; | 
|  | WORD nChannels; | 
|  | DWORD nSamplesPerSec; | 
|  | DWORD nAvgBytesPerSec; | 
|  | WORD nBlockAlign; | 
|  | WORD wBitsPerSample; | 
|  | WORD cbSize; | 
|  | } WAVEFORMATEX; | 
|  | typedef struct __WIDL_xaudio2_generated_name_00000020 { | 
|  | WAVEFORMATEX Format; | 
|  | union { | 
|  | WORD wValidBitsPerSample; | 
|  | WORD wSamplesPerBlock; | 
|  | WORD wReserved; | 
|  | } Samples; | 
|  | DWORD dwChannelMask; | 
|  | GUID SubFormat; | 
|  | } WAVEFORMATEXTENSIBLE; | 
|  | typedef struct __WIDL_xaudio2_generated_name_00000020 *PWAVEFORMATEXTENSIBLE; | 
|  | #else | 
|  | #include <mmreg.h> | 
|  | #endif | 
|  | #ifndef __IXAudio2Voice_FWD_DEFINED__ | 
|  | #define __IXAudio2Voice_FWD_DEFINED__ | 
|  | typedef interface IXAudio2Voice IXAudio2Voice; | 
|  | #ifdef __cplusplus | 
|  | interface IXAudio2Voice; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | typedef enum XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER { | 
|  | Processor1 = 0x1, | 
|  | Processor2 = 0x2, | 
|  | Processor3 = 0x4, | 
|  | Processor4 = 0x8, | 
|  | Processor5 = 0x10, | 
|  | Processor6 = 0x20, | 
|  | Processor7 = 0x40, | 
|  | Processor8 = 0x80, | 
|  | Processor9 = 0x100, | 
|  | Processor10 = 0x200, | 
|  | Processor11 = 0x400, | 
|  | Processor12 = 0x800, | 
|  | Processor13 = 0x1000, | 
|  | Processor14 = 0x2000, | 
|  | Processor15 = 0x4000, | 
|  | Processor16 = 0x8000, | 
|  | Processor17 = 0x10000, | 
|  | Processor18 = 0x20000, | 
|  | Processor19 = 0x40000, | 
|  | Processor20 = 0x80000, | 
|  | Processor21 = 0x100000, | 
|  | Processor22 = 0x200000, | 
|  | Processor23 = 0x400000, | 
|  | Processor24 = 0x800000, | 
|  | Processor25 = 0x1000000, | 
|  | Processor26 = 0x2000000, | 
|  | Processor27 = 0x4000000, | 
|  | Processor28 = 0x8000000, | 
|  | Processor29 = 0x10000000, | 
|  | Processor30 = 0x20000000, | 
|  | Processor31 = 0x40000000, | 
|  | Processor32 = 0x80000000, | 
|  | XAUDIO2_ANY_PROCESSOR = 0xffffffff, | 
|  | XAUDIO2_DEFAULT_PROCESSOR = XAUDIO2_ANY_PROCESSOR | 
|  | } XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER; | 
|  | typedef enum XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER XAUDIO2_PROCESSOR; | 
|  | typedef struct XAUDIO2_PERFORMANCE_DATA { | 
|  | UINT64 AudioCyclesSinceLastQuery; | 
|  | UINT64 TotalCyclesSinceLastQuery; | 
|  | UINT32 MinimumCyclesPerQuantum; | 
|  | UINT32 MaximumCyclesPerQuantum; | 
|  | UINT32 MemoryUsageInBytes; | 
|  | UINT32 CurrentLatencyInSamples; | 
|  | UINT32 GlitchesSinceEngineStarted; | 
|  | UINT32 ActiveSourceVoiceCount; | 
|  | UINT32 TotalSourceVoiceCount; | 
|  | UINT32 ActiveSubmixVoiceCount; | 
|  | UINT32 ActiveResamplerCount; | 
|  | UINT32 ActiveMatrixMixCount; | 
|  | UINT32 ActiveXmaSourceVoices; | 
|  | UINT32 ActiveXmaStreams; | 
|  | } XAUDIO2_PERFORMANCE_DATA; | 
|  | typedef struct XAUDIO22_PERFORMANCE_DATA { | 
|  | UINT64 AudioCyclesSinceLastQuery; | 
|  | UINT64 TotalCyclesSinceLastQuery; | 
|  | UINT32 MinimumCyclesPerQuantum; | 
|  | UINT32 MaximumCyclesPerQuantum; | 
|  | UINT32 MemoryUsageInBytes; | 
|  | UINT32 CurrentLatencyInSamples; | 
|  | UINT32 GlitchesSinceEngineStarted; | 
|  | UINT32 ActiveSourceVoiceCount; | 
|  | UINT32 TotalSourceVoiceCount; | 
|  | UINT32 ActiveSubmixVoiceCount; | 
|  | UINT32 TotalSubmixVoiceCount; | 
|  | UINT32 ActiveXmaSourceVoices; | 
|  | UINT32 ActiveXmaStreams; | 
|  | } XAUDIO22_PERFORMANCE_DATA; | 
|  | typedef struct XAUDIO20_PERFORMANCE_DATA { | 
|  | UINT64 AudioCyclesSinceLastQuery; | 
|  | UINT64 TotalCyclesSinceLastQuery; | 
|  | UINT32 MinimumCyclesPerQuantum; | 
|  | UINT32 MaximumCyclesPerQuantum; | 
|  | UINT32 MemoryUsageInBytes; | 
|  | UINT32 CurrentLatencyInSamples; | 
|  | UINT32 GlitchesSinceLastQuery; | 
|  | UINT32 ActiveSourceVoiceCount; | 
|  | UINT32 TotalSourceVoiceCount; | 
|  | UINT32 ActiveSubmixVoiceCount; | 
|  | UINT32 TotalSubmixVoiceCount; | 
|  | UINT32 ActiveXmaSourceVoices; | 
|  | UINT32 ActiveXmaStreams; | 
|  | } XAUDIO20_PERFORMANCE_DATA; | 
|  | typedef enum XAUDIO2_DEVICE_ROLE { | 
|  | NotDefaultDevice = 0x0, | 
|  | DefaultConsoleDevice = 0x1, | 
|  | DefaultMultimediaDevice = 0x2, | 
|  | DefaultCommunicationsDevice = 0x4, | 
|  | DefaultGameDevice = 0x8, | 
|  | GlobalDefaultDevice = 0xf, | 
|  | InvalidDeviceRole = ~GlobalDefaultDevice | 
|  | } XAUDIO2_DEVICE_ROLE; | 
|  | typedef struct XAUDIO2_DEVICE_DETAILS { | 
|  | WCHAR DeviceID[256]; | 
|  | WCHAR DisplayName[256]; | 
|  | XAUDIO2_DEVICE_ROLE Role; | 
|  | WAVEFORMATEXTENSIBLE OutputFormat; | 
|  | } XAUDIO2_DEVICE_DETAILS; | 
|  | typedef struct XAUDIO27_VOICE_DETAILS { | 
|  | UINT32 CreationFlags; | 
|  | UINT32 InputChannels; | 
|  | UINT32 InputSampleRate; | 
|  | } XAUDIO27_VOICE_DETAILS; | 
|  | typedef struct XAUDIO2_VOICE_DETAILS { | 
|  | UINT32 CreationFlags; | 
|  | UINT32 ActiveFlags; | 
|  | UINT32 InputChannels; | 
|  | UINT32 InputSampleRate; | 
|  | } XAUDIO2_VOICE_DETAILS; | 
|  | typedef struct XAUDIO2_SEND_DESCRIPTOR { | 
|  | UINT32 Flags; | 
|  | IXAudio2Voice *pOutputVoice; | 
|  | } XAUDIO2_SEND_DESCRIPTOR; | 
|  | typedef struct XAUDIO23_VOICE_SENDS { | 
|  | UINT32 OutputCount; | 
|  | IXAudio2Voice **pOutputVoices; | 
|  | } XAUDIO23_VOICE_SENDS; | 
|  | typedef struct XAUDIO2_VOICE_SENDS { | 
|  | UINT32 SendCount; | 
|  | XAUDIO2_SEND_DESCRIPTOR *pSends; | 
|  | } XAUDIO2_VOICE_SENDS; | 
|  | typedef struct XAUDIO2_EFFECT_DESCRIPTOR { | 
|  | IUnknown *pEffect; | 
|  | WINBOOL InitialState; | 
|  | UINT32 OutputChannels; | 
|  | } XAUDIO2_EFFECT_DESCRIPTOR; | 
|  | typedef struct XAUDIO2_EFFECT_CHAIN { | 
|  | UINT32 EffectCount; | 
|  | XAUDIO2_EFFECT_DESCRIPTOR *pEffectDescriptors; | 
|  | } XAUDIO2_EFFECT_CHAIN; | 
|  | #define XAUDIO2_MAX_BUFFER_BYTES (0x80000000) | 
|  |  | 
|  | #define XAUDIO2_MAX_QUEUED_BUFFERS (64) | 
|  |  | 
|  | #define XAUDIO2_MAX_BUFFERS_SYSTEM (2) | 
|  |  | 
|  | #define XAUDIO2_MAX_AUDIO_CHANNELS (64) | 
|  |  | 
|  | #define XAUDIO2_MIN_SAMPLE_RATE (1000) | 
|  |  | 
|  | #define XAUDIO2_MAX_SAMPLE_RATE (200000) | 
|  |  | 
|  | #define XAUDIO2_MAX_VOLUME_LEVEL (16777216.0000000) | 
|  |  | 
|  | #define XAUDIO2_MIN_FREQ_RATIO (1 / 1024.00000000000) | 
|  |  | 
|  | #define XAUDIO2_MAX_FREQ_RATIO (1024.00000000000) | 
|  |  | 
|  | #define XAUDIO2_DEFAULT_FREQ_RATIO (2.00000000000000) | 
|  |  | 
|  | #define XAUDIO2_MAX_FILTER_ONEOVERQ (1.50000000000000) | 
|  |  | 
|  | #define XAUDIO2_MAX_FILTER_FREQUENCY (1.00000000000000) | 
|  |  | 
|  | #define XAUDIO2_MAX_LOOP_COUNT (254) | 
|  |  | 
|  | #define XAUDIO20_MAX_LOOP_COUNT (0x100000) | 
|  |  | 
|  | #define XAUDIO2_COMMIT_NOW (0) | 
|  |  | 
|  | #define XAUDIO2_COMMIT_ALL (0) | 
|  |  | 
|  | #define XAUDIO2_INVALID_OPSET (0xffffffff) | 
|  |  | 
|  | #define XAUDIO2_NO_LOOP_REGION (0) | 
|  |  | 
|  | #define XAUDIO2_LOOP_INFINITE (255) | 
|  |  | 
|  | #define XAUDIO20_LOOP_INFINITE ((UINT)-1) | 
|  |  | 
|  | #define XAUDIO2_DEFAULT_CHANNELS (0) | 
|  |  | 
|  | #define XAUDIO2_DEFAULT_SAMPLERATE (0) | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio2EngineCallback interface | 
|  | */ | 
|  | #ifndef __IXAudio2EngineCallback_INTERFACE_DEFINED__ | 
|  | #define __IXAudio2EngineCallback_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio2EngineCallback | 
|  | { | 
|  |  | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE OnProcessingPassStart( | 
|  | ) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE OnProcessingPassEnd( | 
|  | ) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE OnCriticalError( | 
|  | HRESULT Error) = 0; | 
|  |  | 
|  | END_INTERFACE | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio2EngineCallbackVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio2EngineCallback methods ***/ | 
|  | void (STDMETHODCALLTYPE *OnProcessingPassStart)( | 
|  | IXAudio2EngineCallback *This); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *OnProcessingPassEnd)( | 
|  | IXAudio2EngineCallback *This); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *OnCriticalError)( | 
|  | IXAudio2EngineCallback *This, | 
|  | HRESULT Error); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio2EngineCallbackVtbl; | 
|  |  | 
|  | interface IXAudio2EngineCallback { | 
|  | CONST_VTBL IXAudio2EngineCallbackVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio2EngineCallback methods ***/ | 
|  | #define IXAudio2EngineCallback_OnProcessingPassStart(This) (This)->lpVtbl->OnProcessingPassStart(This) | 
|  | #define IXAudio2EngineCallback_OnProcessingPassEnd(This) (This)->lpVtbl->OnProcessingPassEnd(This) | 
|  | #define IXAudio2EngineCallback_OnCriticalError(This,Error) (This)->lpVtbl->OnCriticalError(This,Error) | 
|  | #else | 
|  | /*** IXAudio2EngineCallback methods ***/ | 
|  | static __WIDL_INLINE void IXAudio2EngineCallback_OnProcessingPassStart(IXAudio2EngineCallback* This) { | 
|  | This->lpVtbl->OnProcessingPassStart(This); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2EngineCallback_OnProcessingPassEnd(IXAudio2EngineCallback* This) { | 
|  | This->lpVtbl->OnProcessingPassEnd(This); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2EngineCallback_OnCriticalError(IXAudio2EngineCallback* This,HRESULT Error) { | 
|  | This->lpVtbl->OnCriticalError(This,Error); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio2EngineCallback_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef enum XAUDIO2_FILTER_TYPE { | 
|  | LowPassFilter = 0, | 
|  | BandPassFilter = 1, | 
|  | HighPassFilter = 2, | 
|  | NotchFilter = 3 | 
|  | } XAUDIO2_FILTER_TYPE; | 
|  | typedef struct XAUDIO2_FILTER_PARAMETERS { | 
|  | XAUDIO2_FILTER_TYPE Type; | 
|  | float Frequency; | 
|  | float OneOverQ; | 
|  | } XAUDIO2_FILTER_PARAMETERS; | 
|  | /***************************************************************************** | 
|  | * IXAudio20Voice interface | 
|  | */ | 
|  | #ifndef __IXAudio20Voice_INTERFACE_DEFINED__ | 
|  | #define __IXAudio20Voice_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio20Voice | 
|  | { | 
|  |  | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetVoiceDetails( | 
|  | XAUDIO27_VOICE_DETAILS *pVoiceDetails) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetOutputVoices( | 
|  | const XAUDIO23_VOICE_SENDS *pSendList) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetEffectChain( | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnableEffect( | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE DisableEffect( | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetEffectState( | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetEffectParameters( | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetEffectParameters( | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFilterParameters( | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetFilterParameters( | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetVolume( | 
|  | float Volume, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetVolume( | 
|  | float *pVolume) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetChannelVolumes( | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetChannelVolumes( | 
|  | UINT32 Channels, | 
|  | float *pVolumes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetOutputMatrix( | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetOutputMatrix( | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE DestroyVoice( | 
|  | ) = 0; | 
|  |  | 
|  | END_INTERFACE | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio20VoiceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio20Voice methods ***/ | 
|  | void (STDMETHODCALLTYPE *GetVoiceDetails)( | 
|  | IXAudio20Voice *This, | 
|  | XAUDIO27_VOICE_DETAILS *pVoiceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( | 
|  | IXAudio20Voice *This, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectChain)( | 
|  | IXAudio20Voice *This, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableEffect)( | 
|  | IXAudio20Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DisableEffect)( | 
|  | IXAudio20Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetEffectState)( | 
|  | IXAudio20Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( | 
|  | IXAudio20Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( | 
|  | IXAudio20Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( | 
|  | IXAudio20Voice *This, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFilterParameters)( | 
|  | IXAudio20Voice *This, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVolume)( | 
|  | IXAudio20Voice *This, | 
|  | float Volume, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetVolume)( | 
|  | IXAudio20Voice *This, | 
|  | float *pVolume); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( | 
|  | IXAudio20Voice *This, | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetChannelVolumes)( | 
|  | IXAudio20Voice *This, | 
|  | UINT32 Channels, | 
|  | float *pVolumes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( | 
|  | IXAudio20Voice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetOutputMatrix)( | 
|  | IXAudio20Voice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *DestroyVoice)( | 
|  | IXAudio20Voice *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio20VoiceVtbl; | 
|  |  | 
|  | interface IXAudio20Voice { | 
|  | CONST_VTBL IXAudio20VoiceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio20Voice methods ***/ | 
|  | #define IXAudio20Voice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) | 
|  | #define IXAudio20Voice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) | 
|  | #define IXAudio20Voice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) | 
|  | #define IXAudio20Voice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio20Voice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio20Voice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) | 
|  | #define IXAudio20Voice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) | 
|  | #define IXAudio20Voice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) | 
|  | #define IXAudio20Voice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) | 
|  | #define IXAudio20Voice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) | 
|  | #define IXAudio20Voice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) | 
|  | #define IXAudio20Voice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) | 
|  | #define IXAudio20Voice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) | 
|  | #define IXAudio20Voice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) | 
|  | #define IXAudio20Voice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) | 
|  | #define IXAudio20Voice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) | 
|  | #define IXAudio20Voice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) | 
|  | #else | 
|  | /*** IXAudio20Voice methods ***/ | 
|  | static __WIDL_INLINE void IXAudio20Voice_GetVoiceDetails(IXAudio20Voice* This,XAUDIO27_VOICE_DETAILS *pVoiceDetails) { | 
|  | This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20Voice_SetOutputVoices(IXAudio20Voice* This,const XAUDIO23_VOICE_SENDS *pSendList) { | 
|  | return This->lpVtbl->SetOutputVoices(This,pSendList); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20Voice_SetEffectChain(IXAudio20Voice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->SetEffectChain(This,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20Voice_EnableEffect(IXAudio20Voice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20Voice_DisableEffect(IXAudio20Voice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20Voice_GetEffectState(IXAudio20Voice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { | 
|  | This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20Voice_SetEffectParameters(IXAudio20Voice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20Voice_GetEffectParameters(IXAudio20Voice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { | 
|  | return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20Voice_SetFilterParameters(IXAudio20Voice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20Voice_GetFilterParameters(IXAudio20Voice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetFilterParameters(This,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20Voice_SetVolume(IXAudio20Voice* This,float Volume,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetVolume(This,Volume,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20Voice_GetVolume(IXAudio20Voice* This,float *pVolume) { | 
|  | This->lpVtbl->GetVolume(This,pVolume); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20Voice_SetChannelVolumes(IXAudio20Voice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20Voice_GetChannelVolumes(IXAudio20Voice* This,UINT32 Channels,float *pVolumes) { | 
|  | This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20Voice_SetOutputMatrix(IXAudio20Voice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20Voice_GetOutputMatrix(IXAudio20Voice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { | 
|  | return This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20Voice_DestroyVoice(IXAudio20Voice* This) { | 
|  | This->lpVtbl->DestroyVoice(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio20Voice_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio23Voice interface | 
|  | */ | 
|  | #ifndef __IXAudio23Voice_INTERFACE_DEFINED__ | 
|  | #define __IXAudio23Voice_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio23Voice | 
|  | { | 
|  |  | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetVoiceDetails( | 
|  | XAUDIO27_VOICE_DETAILS *pVoiceDetails) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetOutputVoices( | 
|  | const XAUDIO23_VOICE_SENDS *pSendList) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetEffectChain( | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnableEffect( | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE DisableEffect( | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetEffectState( | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetEffectParameters( | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetEffectParameters( | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFilterParameters( | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetFilterParameters( | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetVolume( | 
|  | float Volume, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetVolume( | 
|  | float *pVolume) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetChannelVolumes( | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetChannelVolumes( | 
|  | UINT32 Channels, | 
|  | float *pVolumes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetOutputMatrix( | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetOutputMatrix( | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE DestroyVoice( | 
|  | ) = 0; | 
|  |  | 
|  | END_INTERFACE | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio23VoiceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio23Voice methods ***/ | 
|  | void (STDMETHODCALLTYPE *GetVoiceDetails)( | 
|  | IXAudio23Voice *This, | 
|  | XAUDIO27_VOICE_DETAILS *pVoiceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( | 
|  | IXAudio23Voice *This, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectChain)( | 
|  | IXAudio23Voice *This, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableEffect)( | 
|  | IXAudio23Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DisableEffect)( | 
|  | IXAudio23Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetEffectState)( | 
|  | IXAudio23Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( | 
|  | IXAudio23Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( | 
|  | IXAudio23Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( | 
|  | IXAudio23Voice *This, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFilterParameters)( | 
|  | IXAudio23Voice *This, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVolume)( | 
|  | IXAudio23Voice *This, | 
|  | float Volume, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetVolume)( | 
|  | IXAudio23Voice *This, | 
|  | float *pVolume); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( | 
|  | IXAudio23Voice *This, | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetChannelVolumes)( | 
|  | IXAudio23Voice *This, | 
|  | UINT32 Channels, | 
|  | float *pVolumes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( | 
|  | IXAudio23Voice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputMatrix)( | 
|  | IXAudio23Voice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *DestroyVoice)( | 
|  | IXAudio23Voice *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio23VoiceVtbl; | 
|  |  | 
|  | interface IXAudio23Voice { | 
|  | CONST_VTBL IXAudio23VoiceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio23Voice methods ***/ | 
|  | #define IXAudio23Voice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) | 
|  | #define IXAudio23Voice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) | 
|  | #define IXAudio23Voice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) | 
|  | #define IXAudio23Voice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio23Voice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio23Voice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) | 
|  | #define IXAudio23Voice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) | 
|  | #define IXAudio23Voice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) | 
|  | #define IXAudio23Voice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) | 
|  | #define IXAudio23Voice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) | 
|  | #define IXAudio23Voice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) | 
|  | #define IXAudio23Voice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) | 
|  | #define IXAudio23Voice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) | 
|  | #define IXAudio23Voice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) | 
|  | #define IXAudio23Voice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) | 
|  | #define IXAudio23Voice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) | 
|  | #define IXAudio23Voice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) | 
|  | #else | 
|  | /*** IXAudio23Voice methods ***/ | 
|  | static __WIDL_INLINE void IXAudio23Voice_GetVoiceDetails(IXAudio23Voice* This,XAUDIO27_VOICE_DETAILS *pVoiceDetails) { | 
|  | This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23Voice_SetOutputVoices(IXAudio23Voice* This,const XAUDIO23_VOICE_SENDS *pSendList) { | 
|  | return This->lpVtbl->SetOutputVoices(This,pSendList); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23Voice_SetEffectChain(IXAudio23Voice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->SetEffectChain(This,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23Voice_EnableEffect(IXAudio23Voice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23Voice_DisableEffect(IXAudio23Voice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23Voice_GetEffectState(IXAudio23Voice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { | 
|  | This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23Voice_SetEffectParameters(IXAudio23Voice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23Voice_GetEffectParameters(IXAudio23Voice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { | 
|  | return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23Voice_SetFilterParameters(IXAudio23Voice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23Voice_GetFilterParameters(IXAudio23Voice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetFilterParameters(This,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23Voice_SetVolume(IXAudio23Voice* This,float Volume,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetVolume(This,Volume,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23Voice_GetVolume(IXAudio23Voice* This,float *pVolume) { | 
|  | This->lpVtbl->GetVolume(This,pVolume); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23Voice_SetChannelVolumes(IXAudio23Voice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23Voice_GetChannelVolumes(IXAudio23Voice* This,UINT32 Channels,float *pVolumes) { | 
|  | This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23Voice_SetOutputMatrix(IXAudio23Voice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23Voice_GetOutputMatrix(IXAudio23Voice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { | 
|  | This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23Voice_DestroyVoice(IXAudio23Voice* This) { | 
|  | This->lpVtbl->DestroyVoice(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio23Voice_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio27Voice interface | 
|  | */ | 
|  | #ifndef __IXAudio27Voice_INTERFACE_DEFINED__ | 
|  | #define __IXAudio27Voice_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio27Voice | 
|  | { | 
|  |  | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetVoiceDetails( | 
|  | XAUDIO27_VOICE_DETAILS *pVoiceDetails) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetOutputVoices( | 
|  | const XAUDIO2_VOICE_SENDS *pSendList) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetEffectChain( | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnableEffect( | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE DisableEffect( | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetEffectState( | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetEffectParameters( | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetEffectParameters( | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFilterParameters( | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetFilterParameters( | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetOutputFilterParameters( | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetOutputFilterParameters( | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetVolume( | 
|  | float Volume, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetVolume( | 
|  | float *pVolume) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetChannelVolumes( | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetChannelVolumes( | 
|  | UINT32 Channels, | 
|  | float *pVolumes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetOutputMatrix( | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetOutputMatrix( | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE DestroyVoice( | 
|  | ) = 0; | 
|  |  | 
|  | END_INTERFACE | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio27VoiceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio27Voice methods ***/ | 
|  | void (STDMETHODCALLTYPE *GetVoiceDetails)( | 
|  | IXAudio27Voice *This, | 
|  | XAUDIO27_VOICE_DETAILS *pVoiceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( | 
|  | IXAudio27Voice *This, | 
|  | const XAUDIO2_VOICE_SENDS *pSendList); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectChain)( | 
|  | IXAudio27Voice *This, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableEffect)( | 
|  | IXAudio27Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DisableEffect)( | 
|  | IXAudio27Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetEffectState)( | 
|  | IXAudio27Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( | 
|  | IXAudio27Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( | 
|  | IXAudio27Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( | 
|  | IXAudio27Voice *This, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFilterParameters)( | 
|  | IXAudio27Voice *This, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputFilterParameters)( | 
|  | IXAudio27Voice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputFilterParameters)( | 
|  | IXAudio27Voice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVolume)( | 
|  | IXAudio27Voice *This, | 
|  | float Volume, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetVolume)( | 
|  | IXAudio27Voice *This, | 
|  | float *pVolume); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( | 
|  | IXAudio27Voice *This, | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetChannelVolumes)( | 
|  | IXAudio27Voice *This, | 
|  | UINT32 Channels, | 
|  | float *pVolumes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( | 
|  | IXAudio27Voice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputMatrix)( | 
|  | IXAudio27Voice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *DestroyVoice)( | 
|  | IXAudio27Voice *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio27VoiceVtbl; | 
|  |  | 
|  | interface IXAudio27Voice { | 
|  | CONST_VTBL IXAudio27VoiceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio27Voice methods ***/ | 
|  | #define IXAudio27Voice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) | 
|  | #define IXAudio27Voice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) | 
|  | #define IXAudio27Voice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) | 
|  | #define IXAudio27Voice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio27Voice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio27Voice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) | 
|  | #define IXAudio27Voice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) | 
|  | #define IXAudio27Voice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) | 
|  | #define IXAudio27Voice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) | 
|  | #define IXAudio27Voice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) | 
|  | #define IXAudio27Voice_SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) (This)->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) | 
|  | #define IXAudio27Voice_GetOutputFilterParameters(This,pDestinationVoice,pParameters) (This)->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters) | 
|  | #define IXAudio27Voice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) | 
|  | #define IXAudio27Voice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) | 
|  | #define IXAudio27Voice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) | 
|  | #define IXAudio27Voice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) | 
|  | #define IXAudio27Voice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) | 
|  | #define IXAudio27Voice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) | 
|  | #define IXAudio27Voice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) | 
|  | #else | 
|  | /*** IXAudio27Voice methods ***/ | 
|  | static __WIDL_INLINE void IXAudio27Voice_GetVoiceDetails(IXAudio27Voice* This,XAUDIO27_VOICE_DETAILS *pVoiceDetails) { | 
|  | This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27Voice_SetOutputVoices(IXAudio27Voice* This,const XAUDIO2_VOICE_SENDS *pSendList) { | 
|  | return This->lpVtbl->SetOutputVoices(This,pSendList); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27Voice_SetEffectChain(IXAudio27Voice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->SetEffectChain(This,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27Voice_EnableEffect(IXAudio27Voice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27Voice_DisableEffect(IXAudio27Voice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27Voice_GetEffectState(IXAudio27Voice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { | 
|  | This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27Voice_SetEffectParameters(IXAudio27Voice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27Voice_GetEffectParameters(IXAudio27Voice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { | 
|  | return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27Voice_SetFilterParameters(IXAudio27Voice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27Voice_GetFilterParameters(IXAudio27Voice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetFilterParameters(This,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27Voice_SetOutputFilterParameters(IXAudio27Voice* This,IXAudio2Voice *pDestinationVoice,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27Voice_GetOutputFilterParameters(IXAudio27Voice* This,IXAudio2Voice *pDestinationVoice,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27Voice_SetVolume(IXAudio27Voice* This,float Volume,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetVolume(This,Volume,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27Voice_GetVolume(IXAudio27Voice* This,float *pVolume) { | 
|  | This->lpVtbl->GetVolume(This,pVolume); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27Voice_SetChannelVolumes(IXAudio27Voice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27Voice_GetChannelVolumes(IXAudio27Voice* This,UINT32 Channels,float *pVolumes) { | 
|  | This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27Voice_SetOutputMatrix(IXAudio27Voice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27Voice_GetOutputMatrix(IXAudio27Voice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { | 
|  | This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27Voice_DestroyVoice(IXAudio27Voice* This) { | 
|  | This->lpVtbl->DestroyVoice(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio27Voice_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio2Voice interface | 
|  | */ | 
|  | #ifndef __IXAudio2Voice_INTERFACE_DEFINED__ | 
|  | #define __IXAudio2Voice_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio2Voice | 
|  | { | 
|  |  | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetVoiceDetails( | 
|  | XAUDIO2_VOICE_DETAILS *pVoiceDetails) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetOutputVoices( | 
|  | const XAUDIO2_VOICE_SENDS *pSendList) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetEffectChain( | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnableEffect( | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE DisableEffect( | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetEffectState( | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetEffectParameters( | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetEffectParameters( | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFilterParameters( | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetFilterParameters( | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetOutputFilterParameters( | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetOutputFilterParameters( | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetVolume( | 
|  | float Volume, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetVolume( | 
|  | float *pVolume) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetChannelVolumes( | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetChannelVolumes( | 
|  | UINT32 Channels, | 
|  | float *pVolumes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetOutputMatrix( | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetOutputMatrix( | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE DestroyVoice( | 
|  | ) = 0; | 
|  |  | 
|  | END_INTERFACE | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio2VoiceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio2Voice methods ***/ | 
|  | void (STDMETHODCALLTYPE *GetVoiceDetails)( | 
|  | IXAudio2Voice *This, | 
|  | XAUDIO2_VOICE_DETAILS *pVoiceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( | 
|  | IXAudio2Voice *This, | 
|  | const XAUDIO2_VOICE_SENDS *pSendList); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectChain)( | 
|  | IXAudio2Voice *This, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableEffect)( | 
|  | IXAudio2Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DisableEffect)( | 
|  | IXAudio2Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetEffectState)( | 
|  | IXAudio2Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( | 
|  | IXAudio2Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( | 
|  | IXAudio2Voice *This, | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( | 
|  | IXAudio2Voice *This, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFilterParameters)( | 
|  | IXAudio2Voice *This, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputFilterParameters)( | 
|  | IXAudio2Voice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputFilterParameters)( | 
|  | IXAudio2Voice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVolume)( | 
|  | IXAudio2Voice *This, | 
|  | float Volume, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetVolume)( | 
|  | IXAudio2Voice *This, | 
|  | float *pVolume); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( | 
|  | IXAudio2Voice *This, | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetChannelVolumes)( | 
|  | IXAudio2Voice *This, | 
|  | UINT32 Channels, | 
|  | float *pVolumes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( | 
|  | IXAudio2Voice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputMatrix)( | 
|  | IXAudio2Voice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *DestroyVoice)( | 
|  | IXAudio2Voice *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio2VoiceVtbl; | 
|  |  | 
|  | interface IXAudio2Voice { | 
|  | CONST_VTBL IXAudio2VoiceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio2Voice methods ***/ | 
|  | #define IXAudio2Voice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) | 
|  | #define IXAudio2Voice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) | 
|  | #define IXAudio2Voice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) | 
|  | #define IXAudio2Voice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio2Voice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio2Voice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) | 
|  | #define IXAudio2Voice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) | 
|  | #define IXAudio2Voice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) | 
|  | #define IXAudio2Voice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) | 
|  | #define IXAudio2Voice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) | 
|  | #define IXAudio2Voice_SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) (This)->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) | 
|  | #define IXAudio2Voice_GetOutputFilterParameters(This,pDestinationVoice,pParameters) (This)->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters) | 
|  | #define IXAudio2Voice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) | 
|  | #define IXAudio2Voice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) | 
|  | #define IXAudio2Voice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) | 
|  | #define IXAudio2Voice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) | 
|  | #define IXAudio2Voice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) | 
|  | #define IXAudio2Voice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) | 
|  | #define IXAudio2Voice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) | 
|  | #else | 
|  | /*** IXAudio2Voice methods ***/ | 
|  | static __WIDL_INLINE void IXAudio2Voice_GetVoiceDetails(IXAudio2Voice* This,XAUDIO2_VOICE_DETAILS *pVoiceDetails) { | 
|  | This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2Voice_SetOutputVoices(IXAudio2Voice* This,const XAUDIO2_VOICE_SENDS *pSendList) { | 
|  | return This->lpVtbl->SetOutputVoices(This,pSendList); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2Voice_SetEffectChain(IXAudio2Voice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->SetEffectChain(This,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2Voice_EnableEffect(IXAudio2Voice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2Voice_DisableEffect(IXAudio2Voice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2Voice_GetEffectState(IXAudio2Voice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { | 
|  | This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2Voice_SetEffectParameters(IXAudio2Voice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2Voice_GetEffectParameters(IXAudio2Voice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { | 
|  | return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2Voice_SetFilterParameters(IXAudio2Voice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2Voice_GetFilterParameters(IXAudio2Voice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetFilterParameters(This,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2Voice_SetOutputFilterParameters(IXAudio2Voice* This,IXAudio2Voice *pDestinationVoice,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2Voice_GetOutputFilterParameters(IXAudio2Voice* This,IXAudio2Voice *pDestinationVoice,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2Voice_SetVolume(IXAudio2Voice* This,float Volume,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetVolume(This,Volume,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2Voice_GetVolume(IXAudio2Voice* This,float *pVolume) { | 
|  | This->lpVtbl->GetVolume(This,pVolume); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2Voice_SetChannelVolumes(IXAudio2Voice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2Voice_GetChannelVolumes(IXAudio2Voice* This,UINT32 Channels,float *pVolumes) { | 
|  | This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2Voice_SetOutputMatrix(IXAudio2Voice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2Voice_GetOutputMatrix(IXAudio2Voice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { | 
|  | This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2Voice_DestroyVoice(IXAudio2Voice* This) { | 
|  | This->lpVtbl->DestroyVoice(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio2Voice_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef struct XAUDIO2_BUFFER { | 
|  | UINT32 Flags; | 
|  | UINT32 AudioBytes; | 
|  | const BYTE *pAudioData; | 
|  | UINT32 PlayBegin; | 
|  | UINT32 PlayLength; | 
|  | UINT32 LoopBegin; | 
|  | UINT32 LoopLength; | 
|  | UINT32 LoopCount; | 
|  | void *pContext; | 
|  | } XAUDIO2_BUFFER; | 
|  | typedef struct XAUDIO2_BUFFER_WMA { | 
|  | const UINT32 *pDecodedPacketCumulativeBytes; | 
|  | UINT32 PacketCount; | 
|  | } XAUDIO2_BUFFER_WMA; | 
|  | typedef struct XAUDIO2_VOICE_STATE { | 
|  | void *pCurrentBufferContext; | 
|  | UINT32 BuffersQueued; | 
|  | UINT64 SamplesPlayed; | 
|  | } XAUDIO2_VOICE_STATE; | 
|  | /***************************************************************************** | 
|  | * IXAudio20SourceVoice interface | 
|  | */ | 
|  | #ifndef __IXAudio20SourceVoice_INTERFACE_DEFINED__ | 
|  | #define __IXAudio20SourceVoice_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio20SourceVoice : public IXAudio20Voice | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Start( | 
|  | UINT32 Flags = 0, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Stop( | 
|  | UINT32 Flags = 0, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SubmitSourceBuffer( | 
|  | const XAUDIO2_BUFFER *pBuffer, | 
|  | const XAUDIO2_BUFFER_WMA *pBufferWMA = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FlushSourceBuffers( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Discontinuity( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ExitLoop( | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetState( | 
|  | XAUDIO2_VOICE_STATE *pVoiceState) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFrequencyRatio( | 
|  | float Ratio, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetFrequencyRatio( | 
|  | float *pRatio) = 0; | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio20SourceVoiceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio20Voice methods ***/ | 
|  | void (STDMETHODCALLTYPE *GetVoiceDetails)( | 
|  | IXAudio20SourceVoice *This, | 
|  | XAUDIO27_VOICE_DETAILS *pVoiceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( | 
|  | IXAudio20SourceVoice *This, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectChain)( | 
|  | IXAudio20SourceVoice *This, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableEffect)( | 
|  | IXAudio20SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DisableEffect)( | 
|  | IXAudio20SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetEffectState)( | 
|  | IXAudio20SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( | 
|  | IXAudio20SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( | 
|  | IXAudio20SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( | 
|  | IXAudio20SourceVoice *This, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFilterParameters)( | 
|  | IXAudio20SourceVoice *This, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVolume)( | 
|  | IXAudio20SourceVoice *This, | 
|  | float Volume, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetVolume)( | 
|  | IXAudio20SourceVoice *This, | 
|  | float *pVolume); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( | 
|  | IXAudio20SourceVoice *This, | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetChannelVolumes)( | 
|  | IXAudio20SourceVoice *This, | 
|  | UINT32 Channels, | 
|  | float *pVolumes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( | 
|  | IXAudio20SourceVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetOutputMatrix)( | 
|  | IXAudio20SourceVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *DestroyVoice)( | 
|  | IXAudio20SourceVoice *This); | 
|  |  | 
|  | /*** IXAudio20SourceVoice methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Start)( | 
|  | IXAudio20SourceVoice *This, | 
|  | UINT32 Flags, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Stop)( | 
|  | IXAudio20SourceVoice *This, | 
|  | UINT32 Flags, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SubmitSourceBuffer)( | 
|  | IXAudio20SourceVoice *This, | 
|  | const XAUDIO2_BUFFER *pBuffer, | 
|  | const XAUDIO2_BUFFER_WMA *pBufferWMA); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FlushSourceBuffers)( | 
|  | IXAudio20SourceVoice *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Discontinuity)( | 
|  | IXAudio20SourceVoice *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ExitLoop)( | 
|  | IXAudio20SourceVoice *This, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetState)( | 
|  | IXAudio20SourceVoice *This, | 
|  | XAUDIO2_VOICE_STATE *pVoiceState); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFrequencyRatio)( | 
|  | IXAudio20SourceVoice *This, | 
|  | float Ratio, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFrequencyRatio)( | 
|  | IXAudio20SourceVoice *This, | 
|  | float *pRatio); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio20SourceVoiceVtbl; | 
|  |  | 
|  | interface IXAudio20SourceVoice { | 
|  | CONST_VTBL IXAudio20SourceVoiceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio20Voice methods ***/ | 
|  | #define IXAudio20SourceVoice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) | 
|  | #define IXAudio20SourceVoice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) | 
|  | #define IXAudio20SourceVoice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) | 
|  | #define IXAudio20SourceVoice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio20SourceVoice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio20SourceVoice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) | 
|  | #define IXAudio20SourceVoice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) | 
|  | #define IXAudio20SourceVoice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) | 
|  | #define IXAudio20SourceVoice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) | 
|  | #define IXAudio20SourceVoice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) | 
|  | #define IXAudio20SourceVoice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) | 
|  | #define IXAudio20SourceVoice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) | 
|  | #define IXAudio20SourceVoice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) | 
|  | #define IXAudio20SourceVoice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) | 
|  | #define IXAudio20SourceVoice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) | 
|  | #define IXAudio20SourceVoice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) | 
|  | #define IXAudio20SourceVoice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) | 
|  | /*** IXAudio20SourceVoice methods ***/ | 
|  | #define IXAudio20SourceVoice_Start(This,Flags,OperationSet) (This)->lpVtbl->Start(This,Flags,OperationSet) | 
|  | #define IXAudio20SourceVoice_Stop(This,Flags,OperationSet) (This)->lpVtbl->Stop(This,Flags,OperationSet) | 
|  | #define IXAudio20SourceVoice_SubmitSourceBuffer(This,pBuffer,pBufferWMA) (This)->lpVtbl->SubmitSourceBuffer(This,pBuffer,pBufferWMA) | 
|  | #define IXAudio20SourceVoice_FlushSourceBuffers(This) (This)->lpVtbl->FlushSourceBuffers(This) | 
|  | #define IXAudio20SourceVoice_Discontinuity(This) (This)->lpVtbl->Discontinuity(This) | 
|  | #define IXAudio20SourceVoice_ExitLoop(This,OperationSet) (This)->lpVtbl->ExitLoop(This,OperationSet) | 
|  | #define IXAudio20SourceVoice_GetState(This,pVoiceState) (This)->lpVtbl->GetState(This,pVoiceState) | 
|  | #define IXAudio20SourceVoice_SetFrequencyRatio(This,Ratio,OperationSet) (This)->lpVtbl->SetFrequencyRatio(This,Ratio,OperationSet) | 
|  | #define IXAudio20SourceVoice_GetFrequencyRatio(This,pRatio) (This)->lpVtbl->GetFrequencyRatio(This,pRatio) | 
|  | #else | 
|  | /*** IXAudio20Voice methods ***/ | 
|  | static __WIDL_INLINE void IXAudio20SourceVoice_GetVoiceDetails(IXAudio20SourceVoice* This,XAUDIO27_VOICE_DETAILS *pVoiceDetails) { | 
|  | This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SourceVoice_SetOutputVoices(IXAudio20SourceVoice* This,const XAUDIO23_VOICE_SENDS *pSendList) { | 
|  | return This->lpVtbl->SetOutputVoices(This,pSendList); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SourceVoice_SetEffectChain(IXAudio20SourceVoice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->SetEffectChain(This,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SourceVoice_EnableEffect(IXAudio20SourceVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SourceVoice_DisableEffect(IXAudio20SourceVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20SourceVoice_GetEffectState(IXAudio20SourceVoice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { | 
|  | This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SourceVoice_SetEffectParameters(IXAudio20SourceVoice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SourceVoice_GetEffectParameters(IXAudio20SourceVoice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { | 
|  | return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SourceVoice_SetFilterParameters(IXAudio20SourceVoice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20SourceVoice_GetFilterParameters(IXAudio20SourceVoice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetFilterParameters(This,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SourceVoice_SetVolume(IXAudio20SourceVoice* This,float Volume,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetVolume(This,Volume,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20SourceVoice_GetVolume(IXAudio20SourceVoice* This,float *pVolume) { | 
|  | This->lpVtbl->GetVolume(This,pVolume); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SourceVoice_SetChannelVolumes(IXAudio20SourceVoice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20SourceVoice_GetChannelVolumes(IXAudio20SourceVoice* This,UINT32 Channels,float *pVolumes) { | 
|  | This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SourceVoice_SetOutputMatrix(IXAudio20SourceVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SourceVoice_GetOutputMatrix(IXAudio20SourceVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { | 
|  | return This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20SourceVoice_DestroyVoice(IXAudio20SourceVoice* This) { | 
|  | This->lpVtbl->DestroyVoice(This); | 
|  | } | 
|  | /*** IXAudio20SourceVoice methods ***/ | 
|  | static __WIDL_INLINE HRESULT IXAudio20SourceVoice_Start(IXAudio20SourceVoice* This,UINT32 Flags,UINT32 OperationSet) { | 
|  | return This->lpVtbl->Start(This,Flags,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SourceVoice_Stop(IXAudio20SourceVoice* This,UINT32 Flags,UINT32 OperationSet) { | 
|  | return This->lpVtbl->Stop(This,Flags,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SourceVoice_SubmitSourceBuffer(IXAudio20SourceVoice* This,const XAUDIO2_BUFFER *pBuffer,const XAUDIO2_BUFFER_WMA *pBufferWMA) { | 
|  | return This->lpVtbl->SubmitSourceBuffer(This,pBuffer,pBufferWMA); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SourceVoice_FlushSourceBuffers(IXAudio20SourceVoice* This) { | 
|  | return This->lpVtbl->FlushSourceBuffers(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SourceVoice_Discontinuity(IXAudio20SourceVoice* This) { | 
|  | return This->lpVtbl->Discontinuity(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SourceVoice_ExitLoop(IXAudio20SourceVoice* This,UINT32 OperationSet) { | 
|  | return This->lpVtbl->ExitLoop(This,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20SourceVoice_GetState(IXAudio20SourceVoice* This,XAUDIO2_VOICE_STATE *pVoiceState) { | 
|  | This->lpVtbl->GetState(This,pVoiceState); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SourceVoice_SetFrequencyRatio(IXAudio20SourceVoice* This,float Ratio,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFrequencyRatio(This,Ratio,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20SourceVoice_GetFrequencyRatio(IXAudio20SourceVoice* This,float *pRatio) { | 
|  | This->lpVtbl->GetFrequencyRatio(This,pRatio); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio20SourceVoice_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio23SourceVoice interface | 
|  | */ | 
|  | #ifndef __IXAudio23SourceVoice_INTERFACE_DEFINED__ | 
|  | #define __IXAudio23SourceVoice_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio23SourceVoice : public IXAudio23Voice | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Start( | 
|  | UINT32 Flags = 0, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Stop( | 
|  | UINT32 Flags = 0, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SubmitSourceBuffer( | 
|  | const XAUDIO2_BUFFER *pBuffer, | 
|  | const XAUDIO2_BUFFER_WMA *pBufferWMA = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FlushSourceBuffers( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Discontinuity( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ExitLoop( | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetState( | 
|  | XAUDIO2_VOICE_STATE *pVoiceState) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFrequencyRatio( | 
|  | float Ratio, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetFrequencyRatio( | 
|  | float *pRatio) = 0; | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio23SourceVoiceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio23Voice methods ***/ | 
|  | void (STDMETHODCALLTYPE *GetVoiceDetails)( | 
|  | IXAudio23SourceVoice *This, | 
|  | XAUDIO27_VOICE_DETAILS *pVoiceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( | 
|  | IXAudio23SourceVoice *This, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectChain)( | 
|  | IXAudio23SourceVoice *This, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableEffect)( | 
|  | IXAudio23SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DisableEffect)( | 
|  | IXAudio23SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetEffectState)( | 
|  | IXAudio23SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( | 
|  | IXAudio23SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( | 
|  | IXAudio23SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( | 
|  | IXAudio23SourceVoice *This, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFilterParameters)( | 
|  | IXAudio23SourceVoice *This, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVolume)( | 
|  | IXAudio23SourceVoice *This, | 
|  | float Volume, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetVolume)( | 
|  | IXAudio23SourceVoice *This, | 
|  | float *pVolume); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( | 
|  | IXAudio23SourceVoice *This, | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetChannelVolumes)( | 
|  | IXAudio23SourceVoice *This, | 
|  | UINT32 Channels, | 
|  | float *pVolumes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( | 
|  | IXAudio23SourceVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputMatrix)( | 
|  | IXAudio23SourceVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *DestroyVoice)( | 
|  | IXAudio23SourceVoice *This); | 
|  |  | 
|  | /*** IXAudio23SourceVoice methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Start)( | 
|  | IXAudio23SourceVoice *This, | 
|  | UINT32 Flags, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Stop)( | 
|  | IXAudio23SourceVoice *This, | 
|  | UINT32 Flags, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SubmitSourceBuffer)( | 
|  | IXAudio23SourceVoice *This, | 
|  | const XAUDIO2_BUFFER *pBuffer, | 
|  | const XAUDIO2_BUFFER_WMA *pBufferWMA); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FlushSourceBuffers)( | 
|  | IXAudio23SourceVoice *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Discontinuity)( | 
|  | IXAudio23SourceVoice *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ExitLoop)( | 
|  | IXAudio23SourceVoice *This, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetState)( | 
|  | IXAudio23SourceVoice *This, | 
|  | XAUDIO2_VOICE_STATE *pVoiceState); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFrequencyRatio)( | 
|  | IXAudio23SourceVoice *This, | 
|  | float Ratio, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFrequencyRatio)( | 
|  | IXAudio23SourceVoice *This, | 
|  | float *pRatio); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio23SourceVoiceVtbl; | 
|  |  | 
|  | interface IXAudio23SourceVoice { | 
|  | CONST_VTBL IXAudio23SourceVoiceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio23Voice methods ***/ | 
|  | #define IXAudio23SourceVoice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) | 
|  | #define IXAudio23SourceVoice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) | 
|  | #define IXAudio23SourceVoice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) | 
|  | #define IXAudio23SourceVoice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio23SourceVoice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio23SourceVoice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) | 
|  | #define IXAudio23SourceVoice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) | 
|  | #define IXAudio23SourceVoice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) | 
|  | #define IXAudio23SourceVoice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) | 
|  | #define IXAudio23SourceVoice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) | 
|  | #define IXAudio23SourceVoice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) | 
|  | #define IXAudio23SourceVoice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) | 
|  | #define IXAudio23SourceVoice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) | 
|  | #define IXAudio23SourceVoice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) | 
|  | #define IXAudio23SourceVoice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) | 
|  | #define IXAudio23SourceVoice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) | 
|  | #define IXAudio23SourceVoice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) | 
|  | /*** IXAudio23SourceVoice methods ***/ | 
|  | #define IXAudio23SourceVoice_Start(This,Flags,OperationSet) (This)->lpVtbl->Start(This,Flags,OperationSet) | 
|  | #define IXAudio23SourceVoice_Stop(This,Flags,OperationSet) (This)->lpVtbl->Stop(This,Flags,OperationSet) | 
|  | #define IXAudio23SourceVoice_SubmitSourceBuffer(This,pBuffer,pBufferWMA) (This)->lpVtbl->SubmitSourceBuffer(This,pBuffer,pBufferWMA) | 
|  | #define IXAudio23SourceVoice_FlushSourceBuffers(This) (This)->lpVtbl->FlushSourceBuffers(This) | 
|  | #define IXAudio23SourceVoice_Discontinuity(This) (This)->lpVtbl->Discontinuity(This) | 
|  | #define IXAudio23SourceVoice_ExitLoop(This,OperationSet) (This)->lpVtbl->ExitLoop(This,OperationSet) | 
|  | #define IXAudio23SourceVoice_GetState(This,pVoiceState) (This)->lpVtbl->GetState(This,pVoiceState) | 
|  | #define IXAudio23SourceVoice_SetFrequencyRatio(This,Ratio,OperationSet) (This)->lpVtbl->SetFrequencyRatio(This,Ratio,OperationSet) | 
|  | #define IXAudio23SourceVoice_GetFrequencyRatio(This,pRatio) (This)->lpVtbl->GetFrequencyRatio(This,pRatio) | 
|  | #else | 
|  | /*** IXAudio23Voice methods ***/ | 
|  | static __WIDL_INLINE void IXAudio23SourceVoice_GetVoiceDetails(IXAudio23SourceVoice* This,XAUDIO27_VOICE_DETAILS *pVoiceDetails) { | 
|  | This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SourceVoice_SetOutputVoices(IXAudio23SourceVoice* This,const XAUDIO23_VOICE_SENDS *pSendList) { | 
|  | return This->lpVtbl->SetOutputVoices(This,pSendList); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SourceVoice_SetEffectChain(IXAudio23SourceVoice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->SetEffectChain(This,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SourceVoice_EnableEffect(IXAudio23SourceVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SourceVoice_DisableEffect(IXAudio23SourceVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23SourceVoice_GetEffectState(IXAudio23SourceVoice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { | 
|  | This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SourceVoice_SetEffectParameters(IXAudio23SourceVoice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SourceVoice_GetEffectParameters(IXAudio23SourceVoice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { | 
|  | return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SourceVoice_SetFilterParameters(IXAudio23SourceVoice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23SourceVoice_GetFilterParameters(IXAudio23SourceVoice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetFilterParameters(This,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SourceVoice_SetVolume(IXAudio23SourceVoice* This,float Volume,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetVolume(This,Volume,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23SourceVoice_GetVolume(IXAudio23SourceVoice* This,float *pVolume) { | 
|  | This->lpVtbl->GetVolume(This,pVolume); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SourceVoice_SetChannelVolumes(IXAudio23SourceVoice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23SourceVoice_GetChannelVolumes(IXAudio23SourceVoice* This,UINT32 Channels,float *pVolumes) { | 
|  | This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SourceVoice_SetOutputMatrix(IXAudio23SourceVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23SourceVoice_GetOutputMatrix(IXAudio23SourceVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { | 
|  | This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23SourceVoice_DestroyVoice(IXAudio23SourceVoice* This) { | 
|  | This->lpVtbl->DestroyVoice(This); | 
|  | } | 
|  | /*** IXAudio23SourceVoice methods ***/ | 
|  | static __WIDL_INLINE HRESULT IXAudio23SourceVoice_Start(IXAudio23SourceVoice* This,UINT32 Flags,UINT32 OperationSet) { | 
|  | return This->lpVtbl->Start(This,Flags,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SourceVoice_Stop(IXAudio23SourceVoice* This,UINT32 Flags,UINT32 OperationSet) { | 
|  | return This->lpVtbl->Stop(This,Flags,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SourceVoice_SubmitSourceBuffer(IXAudio23SourceVoice* This,const XAUDIO2_BUFFER *pBuffer,const XAUDIO2_BUFFER_WMA *pBufferWMA) { | 
|  | return This->lpVtbl->SubmitSourceBuffer(This,pBuffer,pBufferWMA); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SourceVoice_FlushSourceBuffers(IXAudio23SourceVoice* This) { | 
|  | return This->lpVtbl->FlushSourceBuffers(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SourceVoice_Discontinuity(IXAudio23SourceVoice* This) { | 
|  | return This->lpVtbl->Discontinuity(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SourceVoice_ExitLoop(IXAudio23SourceVoice* This,UINT32 OperationSet) { | 
|  | return This->lpVtbl->ExitLoop(This,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23SourceVoice_GetState(IXAudio23SourceVoice* This,XAUDIO2_VOICE_STATE *pVoiceState) { | 
|  | This->lpVtbl->GetState(This,pVoiceState); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SourceVoice_SetFrequencyRatio(IXAudio23SourceVoice* This,float Ratio,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFrequencyRatio(This,Ratio,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23SourceVoice_GetFrequencyRatio(IXAudio23SourceVoice* This,float *pRatio) { | 
|  | This->lpVtbl->GetFrequencyRatio(This,pRatio); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio23SourceVoice_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio27SourceVoice interface | 
|  | */ | 
|  | #ifndef __IXAudio27SourceVoice_INTERFACE_DEFINED__ | 
|  | #define __IXAudio27SourceVoice_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio27SourceVoice : public IXAudio27Voice | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Start( | 
|  | UINT32 Flags = 0, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Stop( | 
|  | UINT32 Flags = 0, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SubmitSourceBuffer( | 
|  | const XAUDIO2_BUFFER *pBuffer, | 
|  | const XAUDIO2_BUFFER_WMA *pBufferWMA = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FlushSourceBuffers( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Discontinuity( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ExitLoop( | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetState( | 
|  | XAUDIO2_VOICE_STATE *pVoiceState) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFrequencyRatio( | 
|  | float Ratio, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetFrequencyRatio( | 
|  | float *pRatio) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetSourceSampleRate( | 
|  | UINT32 NewSourceSampleRate) = 0; | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio27SourceVoiceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio27Voice methods ***/ | 
|  | void (STDMETHODCALLTYPE *GetVoiceDetails)( | 
|  | IXAudio27SourceVoice *This, | 
|  | XAUDIO27_VOICE_DETAILS *pVoiceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( | 
|  | IXAudio27SourceVoice *This, | 
|  | const XAUDIO2_VOICE_SENDS *pSendList); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectChain)( | 
|  | IXAudio27SourceVoice *This, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableEffect)( | 
|  | IXAudio27SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DisableEffect)( | 
|  | IXAudio27SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetEffectState)( | 
|  | IXAudio27SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( | 
|  | IXAudio27SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( | 
|  | IXAudio27SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( | 
|  | IXAudio27SourceVoice *This, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFilterParameters)( | 
|  | IXAudio27SourceVoice *This, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputFilterParameters)( | 
|  | IXAudio27SourceVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputFilterParameters)( | 
|  | IXAudio27SourceVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVolume)( | 
|  | IXAudio27SourceVoice *This, | 
|  | float Volume, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetVolume)( | 
|  | IXAudio27SourceVoice *This, | 
|  | float *pVolume); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( | 
|  | IXAudio27SourceVoice *This, | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetChannelVolumes)( | 
|  | IXAudio27SourceVoice *This, | 
|  | UINT32 Channels, | 
|  | float *pVolumes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( | 
|  | IXAudio27SourceVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputMatrix)( | 
|  | IXAudio27SourceVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *DestroyVoice)( | 
|  | IXAudio27SourceVoice *This); | 
|  |  | 
|  | /*** IXAudio27SourceVoice methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Start)( | 
|  | IXAudio27SourceVoice *This, | 
|  | UINT32 Flags, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Stop)( | 
|  | IXAudio27SourceVoice *This, | 
|  | UINT32 Flags, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SubmitSourceBuffer)( | 
|  | IXAudio27SourceVoice *This, | 
|  | const XAUDIO2_BUFFER *pBuffer, | 
|  | const XAUDIO2_BUFFER_WMA *pBufferWMA); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FlushSourceBuffers)( | 
|  | IXAudio27SourceVoice *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Discontinuity)( | 
|  | IXAudio27SourceVoice *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ExitLoop)( | 
|  | IXAudio27SourceVoice *This, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetState)( | 
|  | IXAudio27SourceVoice *This, | 
|  | XAUDIO2_VOICE_STATE *pVoiceState); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFrequencyRatio)( | 
|  | IXAudio27SourceVoice *This, | 
|  | float Ratio, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFrequencyRatio)( | 
|  | IXAudio27SourceVoice *This, | 
|  | float *pRatio); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSourceSampleRate)( | 
|  | IXAudio27SourceVoice *This, | 
|  | UINT32 NewSourceSampleRate); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio27SourceVoiceVtbl; | 
|  |  | 
|  | interface IXAudio27SourceVoice { | 
|  | CONST_VTBL IXAudio27SourceVoiceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio27Voice methods ***/ | 
|  | #define IXAudio27SourceVoice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) | 
|  | #define IXAudio27SourceVoice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) | 
|  | #define IXAudio27SourceVoice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) | 
|  | #define IXAudio27SourceVoice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio27SourceVoice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio27SourceVoice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) | 
|  | #define IXAudio27SourceVoice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) | 
|  | #define IXAudio27SourceVoice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) | 
|  | #define IXAudio27SourceVoice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) | 
|  | #define IXAudio27SourceVoice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) | 
|  | #define IXAudio27SourceVoice_SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) (This)->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) | 
|  | #define IXAudio27SourceVoice_GetOutputFilterParameters(This,pDestinationVoice,pParameters) (This)->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters) | 
|  | #define IXAudio27SourceVoice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) | 
|  | #define IXAudio27SourceVoice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) | 
|  | #define IXAudio27SourceVoice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) | 
|  | #define IXAudio27SourceVoice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) | 
|  | #define IXAudio27SourceVoice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) | 
|  | #define IXAudio27SourceVoice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) | 
|  | #define IXAudio27SourceVoice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) | 
|  | /*** IXAudio27SourceVoice methods ***/ | 
|  | #define IXAudio27SourceVoice_Start(This,Flags,OperationSet) (This)->lpVtbl->Start(This,Flags,OperationSet) | 
|  | #define IXAudio27SourceVoice_Stop(This,Flags,OperationSet) (This)->lpVtbl->Stop(This,Flags,OperationSet) | 
|  | #define IXAudio27SourceVoice_SubmitSourceBuffer(This,pBuffer,pBufferWMA) (This)->lpVtbl->SubmitSourceBuffer(This,pBuffer,pBufferWMA) | 
|  | #define IXAudio27SourceVoice_FlushSourceBuffers(This) (This)->lpVtbl->FlushSourceBuffers(This) | 
|  | #define IXAudio27SourceVoice_Discontinuity(This) (This)->lpVtbl->Discontinuity(This) | 
|  | #define IXAudio27SourceVoice_ExitLoop(This,OperationSet) (This)->lpVtbl->ExitLoop(This,OperationSet) | 
|  | #define IXAudio27SourceVoice_GetState(This,pVoiceState) (This)->lpVtbl->GetState(This,pVoiceState) | 
|  | #define IXAudio27SourceVoice_SetFrequencyRatio(This,Ratio,OperationSet) (This)->lpVtbl->SetFrequencyRatio(This,Ratio,OperationSet) | 
|  | #define IXAudio27SourceVoice_GetFrequencyRatio(This,pRatio) (This)->lpVtbl->GetFrequencyRatio(This,pRatio) | 
|  | #define IXAudio27SourceVoice_SetSourceSampleRate(This,NewSourceSampleRate) (This)->lpVtbl->SetSourceSampleRate(This,NewSourceSampleRate) | 
|  | #else | 
|  | /*** IXAudio27Voice methods ***/ | 
|  | static __WIDL_INLINE void IXAudio27SourceVoice_GetVoiceDetails(IXAudio27SourceVoice* This,XAUDIO27_VOICE_DETAILS *pVoiceDetails) { | 
|  | This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_SetOutputVoices(IXAudio27SourceVoice* This,const XAUDIO2_VOICE_SENDS *pSendList) { | 
|  | return This->lpVtbl->SetOutputVoices(This,pSendList); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_SetEffectChain(IXAudio27SourceVoice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->SetEffectChain(This,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_EnableEffect(IXAudio27SourceVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_DisableEffect(IXAudio27SourceVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27SourceVoice_GetEffectState(IXAudio27SourceVoice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { | 
|  | This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_SetEffectParameters(IXAudio27SourceVoice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_GetEffectParameters(IXAudio27SourceVoice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { | 
|  | return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_SetFilterParameters(IXAudio27SourceVoice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27SourceVoice_GetFilterParameters(IXAudio27SourceVoice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetFilterParameters(This,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_SetOutputFilterParameters(IXAudio27SourceVoice* This,IXAudio2Voice *pDestinationVoice,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27SourceVoice_GetOutputFilterParameters(IXAudio27SourceVoice* This,IXAudio2Voice *pDestinationVoice,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_SetVolume(IXAudio27SourceVoice* This,float Volume,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetVolume(This,Volume,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27SourceVoice_GetVolume(IXAudio27SourceVoice* This,float *pVolume) { | 
|  | This->lpVtbl->GetVolume(This,pVolume); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_SetChannelVolumes(IXAudio27SourceVoice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27SourceVoice_GetChannelVolumes(IXAudio27SourceVoice* This,UINT32 Channels,float *pVolumes) { | 
|  | This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_SetOutputMatrix(IXAudio27SourceVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27SourceVoice_GetOutputMatrix(IXAudio27SourceVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { | 
|  | This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27SourceVoice_DestroyVoice(IXAudio27SourceVoice* This) { | 
|  | This->lpVtbl->DestroyVoice(This); | 
|  | } | 
|  | /*** IXAudio27SourceVoice methods ***/ | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_Start(IXAudio27SourceVoice* This,UINT32 Flags,UINT32 OperationSet) { | 
|  | return This->lpVtbl->Start(This,Flags,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_Stop(IXAudio27SourceVoice* This,UINT32 Flags,UINT32 OperationSet) { | 
|  | return This->lpVtbl->Stop(This,Flags,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_SubmitSourceBuffer(IXAudio27SourceVoice* This,const XAUDIO2_BUFFER *pBuffer,const XAUDIO2_BUFFER_WMA *pBufferWMA) { | 
|  | return This->lpVtbl->SubmitSourceBuffer(This,pBuffer,pBufferWMA); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_FlushSourceBuffers(IXAudio27SourceVoice* This) { | 
|  | return This->lpVtbl->FlushSourceBuffers(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_Discontinuity(IXAudio27SourceVoice* This) { | 
|  | return This->lpVtbl->Discontinuity(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_ExitLoop(IXAudio27SourceVoice* This,UINT32 OperationSet) { | 
|  | return This->lpVtbl->ExitLoop(This,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27SourceVoice_GetState(IXAudio27SourceVoice* This,XAUDIO2_VOICE_STATE *pVoiceState) { | 
|  | This->lpVtbl->GetState(This,pVoiceState); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_SetFrequencyRatio(IXAudio27SourceVoice* This,float Ratio,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFrequencyRatio(This,Ratio,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27SourceVoice_GetFrequencyRatio(IXAudio27SourceVoice* This,float *pRatio) { | 
|  | This->lpVtbl->GetFrequencyRatio(This,pRatio); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SourceVoice_SetSourceSampleRate(IXAudio27SourceVoice* This,UINT32 NewSourceSampleRate) { | 
|  | return This->lpVtbl->SetSourceSampleRate(This,NewSourceSampleRate); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio27SourceVoice_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio2SourceVoice interface | 
|  | */ | 
|  | #ifndef __IXAudio2SourceVoice_INTERFACE_DEFINED__ | 
|  | #define __IXAudio2SourceVoice_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio2SourceVoice : public IXAudio2Voice | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Start( | 
|  | UINT32 Flags = 0, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Stop( | 
|  | UINT32 Flags = 0, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SubmitSourceBuffer( | 
|  | const XAUDIO2_BUFFER *pBuffer, | 
|  | const XAUDIO2_BUFFER_WMA *pBufferWMA = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FlushSourceBuffers( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Discontinuity( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ExitLoop( | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetState( | 
|  | XAUDIO2_VOICE_STATE *pVoiceState, | 
|  | UINT32 Flags = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFrequencyRatio( | 
|  | float Ratio, | 
|  | UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetFrequencyRatio( | 
|  | float *pRatio) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetSourceSampleRate( | 
|  | UINT32 NewSourceSampleRate) = 0; | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio2SourceVoiceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio2Voice methods ***/ | 
|  | void (STDMETHODCALLTYPE *GetVoiceDetails)( | 
|  | IXAudio2SourceVoice *This, | 
|  | XAUDIO2_VOICE_DETAILS *pVoiceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( | 
|  | IXAudio2SourceVoice *This, | 
|  | const XAUDIO2_VOICE_SENDS *pSendList); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectChain)( | 
|  | IXAudio2SourceVoice *This, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableEffect)( | 
|  | IXAudio2SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DisableEffect)( | 
|  | IXAudio2SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetEffectState)( | 
|  | IXAudio2SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( | 
|  | IXAudio2SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( | 
|  | IXAudio2SourceVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( | 
|  | IXAudio2SourceVoice *This, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFilterParameters)( | 
|  | IXAudio2SourceVoice *This, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputFilterParameters)( | 
|  | IXAudio2SourceVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputFilterParameters)( | 
|  | IXAudio2SourceVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVolume)( | 
|  | IXAudio2SourceVoice *This, | 
|  | float Volume, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetVolume)( | 
|  | IXAudio2SourceVoice *This, | 
|  | float *pVolume); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( | 
|  | IXAudio2SourceVoice *This, | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetChannelVolumes)( | 
|  | IXAudio2SourceVoice *This, | 
|  | UINT32 Channels, | 
|  | float *pVolumes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( | 
|  | IXAudio2SourceVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputMatrix)( | 
|  | IXAudio2SourceVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *DestroyVoice)( | 
|  | IXAudio2SourceVoice *This); | 
|  |  | 
|  | /*** IXAudio2SourceVoice methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Start)( | 
|  | IXAudio2SourceVoice *This, | 
|  | UINT32 Flags, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Stop)( | 
|  | IXAudio2SourceVoice *This, | 
|  | UINT32 Flags, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SubmitSourceBuffer)( | 
|  | IXAudio2SourceVoice *This, | 
|  | const XAUDIO2_BUFFER *pBuffer, | 
|  | const XAUDIO2_BUFFER_WMA *pBufferWMA); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FlushSourceBuffers)( | 
|  | IXAudio2SourceVoice *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Discontinuity)( | 
|  | IXAudio2SourceVoice *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ExitLoop)( | 
|  | IXAudio2SourceVoice *This, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetState)( | 
|  | IXAudio2SourceVoice *This, | 
|  | XAUDIO2_VOICE_STATE *pVoiceState, | 
|  | UINT32 Flags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFrequencyRatio)( | 
|  | IXAudio2SourceVoice *This, | 
|  | float Ratio, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFrequencyRatio)( | 
|  | IXAudio2SourceVoice *This, | 
|  | float *pRatio); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSourceSampleRate)( | 
|  | IXAudio2SourceVoice *This, | 
|  | UINT32 NewSourceSampleRate); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio2SourceVoiceVtbl; | 
|  |  | 
|  | interface IXAudio2SourceVoice { | 
|  | CONST_VTBL IXAudio2SourceVoiceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio2Voice methods ***/ | 
|  | #define IXAudio2SourceVoice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) | 
|  | #define IXAudio2SourceVoice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) | 
|  | #define IXAudio2SourceVoice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) | 
|  | #define IXAudio2SourceVoice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio2SourceVoice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio2SourceVoice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) | 
|  | #define IXAudio2SourceVoice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) | 
|  | #define IXAudio2SourceVoice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) | 
|  | #define IXAudio2SourceVoice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) | 
|  | #define IXAudio2SourceVoice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) | 
|  | #define IXAudio2SourceVoice_SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) (This)->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) | 
|  | #define IXAudio2SourceVoice_GetOutputFilterParameters(This,pDestinationVoice,pParameters) (This)->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters) | 
|  | #define IXAudio2SourceVoice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) | 
|  | #define IXAudio2SourceVoice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) | 
|  | #define IXAudio2SourceVoice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) | 
|  | #define IXAudio2SourceVoice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) | 
|  | #define IXAudio2SourceVoice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) | 
|  | #define IXAudio2SourceVoice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) | 
|  | #define IXAudio2SourceVoice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) | 
|  | /*** IXAudio2SourceVoice methods ***/ | 
|  | #define IXAudio2SourceVoice_Start(This,Flags,OperationSet) (This)->lpVtbl->Start(This,Flags,OperationSet) | 
|  | #define IXAudio2SourceVoice_Stop(This,Flags,OperationSet) (This)->lpVtbl->Stop(This,Flags,OperationSet) | 
|  | #define IXAudio2SourceVoice_SubmitSourceBuffer(This,pBuffer,pBufferWMA) (This)->lpVtbl->SubmitSourceBuffer(This,pBuffer,pBufferWMA) | 
|  | #define IXAudio2SourceVoice_FlushSourceBuffers(This) (This)->lpVtbl->FlushSourceBuffers(This) | 
|  | #define IXAudio2SourceVoice_Discontinuity(This) (This)->lpVtbl->Discontinuity(This) | 
|  | #define IXAudio2SourceVoice_ExitLoop(This,OperationSet) (This)->lpVtbl->ExitLoop(This,OperationSet) | 
|  | #define IXAudio2SourceVoice_GetState(This,pVoiceState,Flags) (This)->lpVtbl->GetState(This,pVoiceState,Flags) | 
|  | #define IXAudio2SourceVoice_SetFrequencyRatio(This,Ratio,OperationSet) (This)->lpVtbl->SetFrequencyRatio(This,Ratio,OperationSet) | 
|  | #define IXAudio2SourceVoice_GetFrequencyRatio(This,pRatio) (This)->lpVtbl->GetFrequencyRatio(This,pRatio) | 
|  | #define IXAudio2SourceVoice_SetSourceSampleRate(This,NewSourceSampleRate) (This)->lpVtbl->SetSourceSampleRate(This,NewSourceSampleRate) | 
|  | #else | 
|  | /*** IXAudio2Voice methods ***/ | 
|  | static __WIDL_INLINE void IXAudio2SourceVoice_GetVoiceDetails(IXAudio2SourceVoice* This,XAUDIO2_VOICE_DETAILS *pVoiceDetails) { | 
|  | This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_SetOutputVoices(IXAudio2SourceVoice* This,const XAUDIO2_VOICE_SENDS *pSendList) { | 
|  | return This->lpVtbl->SetOutputVoices(This,pSendList); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_SetEffectChain(IXAudio2SourceVoice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->SetEffectChain(This,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_EnableEffect(IXAudio2SourceVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_DisableEffect(IXAudio2SourceVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2SourceVoice_GetEffectState(IXAudio2SourceVoice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { | 
|  | This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_SetEffectParameters(IXAudio2SourceVoice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_GetEffectParameters(IXAudio2SourceVoice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { | 
|  | return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_SetFilterParameters(IXAudio2SourceVoice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2SourceVoice_GetFilterParameters(IXAudio2SourceVoice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetFilterParameters(This,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_SetOutputFilterParameters(IXAudio2SourceVoice* This,IXAudio2Voice *pDestinationVoice,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2SourceVoice_GetOutputFilterParameters(IXAudio2SourceVoice* This,IXAudio2Voice *pDestinationVoice,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_SetVolume(IXAudio2SourceVoice* This,float Volume,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetVolume(This,Volume,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2SourceVoice_GetVolume(IXAudio2SourceVoice* This,float *pVolume) { | 
|  | This->lpVtbl->GetVolume(This,pVolume); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_SetChannelVolumes(IXAudio2SourceVoice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2SourceVoice_GetChannelVolumes(IXAudio2SourceVoice* This,UINT32 Channels,float *pVolumes) { | 
|  | This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_SetOutputMatrix(IXAudio2SourceVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2SourceVoice_GetOutputMatrix(IXAudio2SourceVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { | 
|  | This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2SourceVoice_DestroyVoice(IXAudio2SourceVoice* This) { | 
|  | This->lpVtbl->DestroyVoice(This); | 
|  | } | 
|  | /*** IXAudio2SourceVoice methods ***/ | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_Start(IXAudio2SourceVoice* This,UINT32 Flags,UINT32 OperationSet) { | 
|  | return This->lpVtbl->Start(This,Flags,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_Stop(IXAudio2SourceVoice* This,UINT32 Flags,UINT32 OperationSet) { | 
|  | return This->lpVtbl->Stop(This,Flags,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_SubmitSourceBuffer(IXAudio2SourceVoice* This,const XAUDIO2_BUFFER *pBuffer,const XAUDIO2_BUFFER_WMA *pBufferWMA) { | 
|  | return This->lpVtbl->SubmitSourceBuffer(This,pBuffer,pBufferWMA); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_FlushSourceBuffers(IXAudio2SourceVoice* This) { | 
|  | return This->lpVtbl->FlushSourceBuffers(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_Discontinuity(IXAudio2SourceVoice* This) { | 
|  | return This->lpVtbl->Discontinuity(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_ExitLoop(IXAudio2SourceVoice* This,UINT32 OperationSet) { | 
|  | return This->lpVtbl->ExitLoop(This,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2SourceVoice_GetState(IXAudio2SourceVoice* This,XAUDIO2_VOICE_STATE *pVoiceState,UINT32 Flags) { | 
|  | This->lpVtbl->GetState(This,pVoiceState,Flags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_SetFrequencyRatio(IXAudio2SourceVoice* This,float Ratio,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFrequencyRatio(This,Ratio,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2SourceVoice_GetFrequencyRatio(IXAudio2SourceVoice* This,float *pRatio) { | 
|  | This->lpVtbl->GetFrequencyRatio(This,pRatio); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SourceVoice_SetSourceSampleRate(IXAudio2SourceVoice* This,UINT32 NewSourceSampleRate) { | 
|  | return This->lpVtbl->SetSourceSampleRate(This,NewSourceSampleRate); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio2SourceVoice_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio20SubmixVoice interface | 
|  | */ | 
|  | #ifndef __IXAudio20SubmixVoice_INTERFACE_DEFINED__ | 
|  | #define __IXAudio20SubmixVoice_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio20SubmixVoice : public IXAudio20Voice | 
|  | { | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio20SubmixVoiceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio20Voice methods ***/ | 
|  | void (STDMETHODCALLTYPE *GetVoiceDetails)( | 
|  | IXAudio20SubmixVoice *This, | 
|  | XAUDIO27_VOICE_DETAILS *pVoiceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( | 
|  | IXAudio20SubmixVoice *This, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectChain)( | 
|  | IXAudio20SubmixVoice *This, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableEffect)( | 
|  | IXAudio20SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DisableEffect)( | 
|  | IXAudio20SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetEffectState)( | 
|  | IXAudio20SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( | 
|  | IXAudio20SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( | 
|  | IXAudio20SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( | 
|  | IXAudio20SubmixVoice *This, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFilterParameters)( | 
|  | IXAudio20SubmixVoice *This, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVolume)( | 
|  | IXAudio20SubmixVoice *This, | 
|  | float Volume, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetVolume)( | 
|  | IXAudio20SubmixVoice *This, | 
|  | float *pVolume); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( | 
|  | IXAudio20SubmixVoice *This, | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetChannelVolumes)( | 
|  | IXAudio20SubmixVoice *This, | 
|  | UINT32 Channels, | 
|  | float *pVolumes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( | 
|  | IXAudio20SubmixVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetOutputMatrix)( | 
|  | IXAudio20SubmixVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *DestroyVoice)( | 
|  | IXAudio20SubmixVoice *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio20SubmixVoiceVtbl; | 
|  |  | 
|  | interface IXAudio20SubmixVoice { | 
|  | CONST_VTBL IXAudio20SubmixVoiceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio20Voice methods ***/ | 
|  | #define IXAudio20SubmixVoice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) | 
|  | #define IXAudio20SubmixVoice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) | 
|  | #define IXAudio20SubmixVoice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) | 
|  | #define IXAudio20SubmixVoice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio20SubmixVoice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio20SubmixVoice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) | 
|  | #define IXAudio20SubmixVoice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) | 
|  | #define IXAudio20SubmixVoice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) | 
|  | #define IXAudio20SubmixVoice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) | 
|  | #define IXAudio20SubmixVoice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) | 
|  | #define IXAudio20SubmixVoice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) | 
|  | #define IXAudio20SubmixVoice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) | 
|  | #define IXAudio20SubmixVoice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) | 
|  | #define IXAudio20SubmixVoice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) | 
|  | #define IXAudio20SubmixVoice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) | 
|  | #define IXAudio20SubmixVoice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) | 
|  | #define IXAudio20SubmixVoice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) | 
|  | #else | 
|  | /*** IXAudio20Voice methods ***/ | 
|  | static __WIDL_INLINE void IXAudio20SubmixVoice_GetVoiceDetails(IXAudio20SubmixVoice* This,XAUDIO27_VOICE_DETAILS *pVoiceDetails) { | 
|  | This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SubmixVoice_SetOutputVoices(IXAudio20SubmixVoice* This,const XAUDIO23_VOICE_SENDS *pSendList) { | 
|  | return This->lpVtbl->SetOutputVoices(This,pSendList); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SubmixVoice_SetEffectChain(IXAudio20SubmixVoice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->SetEffectChain(This,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SubmixVoice_EnableEffect(IXAudio20SubmixVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SubmixVoice_DisableEffect(IXAudio20SubmixVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20SubmixVoice_GetEffectState(IXAudio20SubmixVoice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { | 
|  | This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SubmixVoice_SetEffectParameters(IXAudio20SubmixVoice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SubmixVoice_GetEffectParameters(IXAudio20SubmixVoice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { | 
|  | return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SubmixVoice_SetFilterParameters(IXAudio20SubmixVoice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20SubmixVoice_GetFilterParameters(IXAudio20SubmixVoice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetFilterParameters(This,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SubmixVoice_SetVolume(IXAudio20SubmixVoice* This,float Volume,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetVolume(This,Volume,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20SubmixVoice_GetVolume(IXAudio20SubmixVoice* This,float *pVolume) { | 
|  | This->lpVtbl->GetVolume(This,pVolume); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SubmixVoice_SetChannelVolumes(IXAudio20SubmixVoice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20SubmixVoice_GetChannelVolumes(IXAudio20SubmixVoice* This,UINT32 Channels,float *pVolumes) { | 
|  | This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SubmixVoice_SetOutputMatrix(IXAudio20SubmixVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20SubmixVoice_GetOutputMatrix(IXAudio20SubmixVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { | 
|  | return This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20SubmixVoice_DestroyVoice(IXAudio20SubmixVoice* This) { | 
|  | This->lpVtbl->DestroyVoice(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio20SubmixVoice_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio23SubmixVoice interface | 
|  | */ | 
|  | #ifndef __IXAudio23SubmixVoice_INTERFACE_DEFINED__ | 
|  | #define __IXAudio23SubmixVoice_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio23SubmixVoice : public IXAudio23Voice | 
|  | { | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio23SubmixVoiceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio23Voice methods ***/ | 
|  | void (STDMETHODCALLTYPE *GetVoiceDetails)( | 
|  | IXAudio23SubmixVoice *This, | 
|  | XAUDIO27_VOICE_DETAILS *pVoiceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( | 
|  | IXAudio23SubmixVoice *This, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectChain)( | 
|  | IXAudio23SubmixVoice *This, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableEffect)( | 
|  | IXAudio23SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DisableEffect)( | 
|  | IXAudio23SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetEffectState)( | 
|  | IXAudio23SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( | 
|  | IXAudio23SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( | 
|  | IXAudio23SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( | 
|  | IXAudio23SubmixVoice *This, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFilterParameters)( | 
|  | IXAudio23SubmixVoice *This, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVolume)( | 
|  | IXAudio23SubmixVoice *This, | 
|  | float Volume, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetVolume)( | 
|  | IXAudio23SubmixVoice *This, | 
|  | float *pVolume); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( | 
|  | IXAudio23SubmixVoice *This, | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetChannelVolumes)( | 
|  | IXAudio23SubmixVoice *This, | 
|  | UINT32 Channels, | 
|  | float *pVolumes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( | 
|  | IXAudio23SubmixVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputMatrix)( | 
|  | IXAudio23SubmixVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *DestroyVoice)( | 
|  | IXAudio23SubmixVoice *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio23SubmixVoiceVtbl; | 
|  |  | 
|  | interface IXAudio23SubmixVoice { | 
|  | CONST_VTBL IXAudio23SubmixVoiceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio23Voice methods ***/ | 
|  | #define IXAudio23SubmixVoice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) | 
|  | #define IXAudio23SubmixVoice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) | 
|  | #define IXAudio23SubmixVoice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) | 
|  | #define IXAudio23SubmixVoice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio23SubmixVoice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio23SubmixVoice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) | 
|  | #define IXAudio23SubmixVoice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) | 
|  | #define IXAudio23SubmixVoice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) | 
|  | #define IXAudio23SubmixVoice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) | 
|  | #define IXAudio23SubmixVoice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) | 
|  | #define IXAudio23SubmixVoice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) | 
|  | #define IXAudio23SubmixVoice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) | 
|  | #define IXAudio23SubmixVoice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) | 
|  | #define IXAudio23SubmixVoice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) | 
|  | #define IXAudio23SubmixVoice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) | 
|  | #define IXAudio23SubmixVoice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) | 
|  | #define IXAudio23SubmixVoice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) | 
|  | #else | 
|  | /*** IXAudio23Voice methods ***/ | 
|  | static __WIDL_INLINE void IXAudio23SubmixVoice_GetVoiceDetails(IXAudio23SubmixVoice* This,XAUDIO27_VOICE_DETAILS *pVoiceDetails) { | 
|  | This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SubmixVoice_SetOutputVoices(IXAudio23SubmixVoice* This,const XAUDIO23_VOICE_SENDS *pSendList) { | 
|  | return This->lpVtbl->SetOutputVoices(This,pSendList); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SubmixVoice_SetEffectChain(IXAudio23SubmixVoice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->SetEffectChain(This,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SubmixVoice_EnableEffect(IXAudio23SubmixVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SubmixVoice_DisableEffect(IXAudio23SubmixVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23SubmixVoice_GetEffectState(IXAudio23SubmixVoice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { | 
|  | This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SubmixVoice_SetEffectParameters(IXAudio23SubmixVoice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SubmixVoice_GetEffectParameters(IXAudio23SubmixVoice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { | 
|  | return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SubmixVoice_SetFilterParameters(IXAudio23SubmixVoice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23SubmixVoice_GetFilterParameters(IXAudio23SubmixVoice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetFilterParameters(This,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SubmixVoice_SetVolume(IXAudio23SubmixVoice* This,float Volume,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetVolume(This,Volume,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23SubmixVoice_GetVolume(IXAudio23SubmixVoice* This,float *pVolume) { | 
|  | This->lpVtbl->GetVolume(This,pVolume); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SubmixVoice_SetChannelVolumes(IXAudio23SubmixVoice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23SubmixVoice_GetChannelVolumes(IXAudio23SubmixVoice* This,UINT32 Channels,float *pVolumes) { | 
|  | This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23SubmixVoice_SetOutputMatrix(IXAudio23SubmixVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23SubmixVoice_GetOutputMatrix(IXAudio23SubmixVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { | 
|  | This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23SubmixVoice_DestroyVoice(IXAudio23SubmixVoice* This) { | 
|  | This->lpVtbl->DestroyVoice(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio23SubmixVoice_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio27SubmixVoice interface | 
|  | */ | 
|  | #ifndef __IXAudio27SubmixVoice_INTERFACE_DEFINED__ | 
|  | #define __IXAudio27SubmixVoice_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio27SubmixVoice : public IXAudio27Voice | 
|  | { | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio27SubmixVoiceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio27Voice methods ***/ | 
|  | void (STDMETHODCALLTYPE *GetVoiceDetails)( | 
|  | IXAudio27SubmixVoice *This, | 
|  | XAUDIO27_VOICE_DETAILS *pVoiceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( | 
|  | IXAudio27SubmixVoice *This, | 
|  | const XAUDIO2_VOICE_SENDS *pSendList); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectChain)( | 
|  | IXAudio27SubmixVoice *This, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableEffect)( | 
|  | IXAudio27SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DisableEffect)( | 
|  | IXAudio27SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetEffectState)( | 
|  | IXAudio27SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( | 
|  | IXAudio27SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( | 
|  | IXAudio27SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( | 
|  | IXAudio27SubmixVoice *This, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFilterParameters)( | 
|  | IXAudio27SubmixVoice *This, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputFilterParameters)( | 
|  | IXAudio27SubmixVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputFilterParameters)( | 
|  | IXAudio27SubmixVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVolume)( | 
|  | IXAudio27SubmixVoice *This, | 
|  | float Volume, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetVolume)( | 
|  | IXAudio27SubmixVoice *This, | 
|  | float *pVolume); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( | 
|  | IXAudio27SubmixVoice *This, | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetChannelVolumes)( | 
|  | IXAudio27SubmixVoice *This, | 
|  | UINT32 Channels, | 
|  | float *pVolumes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( | 
|  | IXAudio27SubmixVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputMatrix)( | 
|  | IXAudio27SubmixVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *DestroyVoice)( | 
|  | IXAudio27SubmixVoice *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio27SubmixVoiceVtbl; | 
|  |  | 
|  | interface IXAudio27SubmixVoice { | 
|  | CONST_VTBL IXAudio27SubmixVoiceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio27Voice methods ***/ | 
|  | #define IXAudio27SubmixVoice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) | 
|  | #define IXAudio27SubmixVoice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) | 
|  | #define IXAudio27SubmixVoice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) | 
|  | #define IXAudio27SubmixVoice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio27SubmixVoice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio27SubmixVoice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) | 
|  | #define IXAudio27SubmixVoice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) | 
|  | #define IXAudio27SubmixVoice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) | 
|  | #define IXAudio27SubmixVoice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) | 
|  | #define IXAudio27SubmixVoice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) | 
|  | #define IXAudio27SubmixVoice_SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) (This)->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) | 
|  | #define IXAudio27SubmixVoice_GetOutputFilterParameters(This,pDestinationVoice,pParameters) (This)->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters) | 
|  | #define IXAudio27SubmixVoice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) | 
|  | #define IXAudio27SubmixVoice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) | 
|  | #define IXAudio27SubmixVoice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) | 
|  | #define IXAudio27SubmixVoice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) | 
|  | #define IXAudio27SubmixVoice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) | 
|  | #define IXAudio27SubmixVoice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) | 
|  | #define IXAudio27SubmixVoice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) | 
|  | #else | 
|  | /*** IXAudio27Voice methods ***/ | 
|  | static __WIDL_INLINE void IXAudio27SubmixVoice_GetVoiceDetails(IXAudio27SubmixVoice* This,XAUDIO27_VOICE_DETAILS *pVoiceDetails) { | 
|  | This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SubmixVoice_SetOutputVoices(IXAudio27SubmixVoice* This,const XAUDIO2_VOICE_SENDS *pSendList) { | 
|  | return This->lpVtbl->SetOutputVoices(This,pSendList); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SubmixVoice_SetEffectChain(IXAudio27SubmixVoice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->SetEffectChain(This,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SubmixVoice_EnableEffect(IXAudio27SubmixVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SubmixVoice_DisableEffect(IXAudio27SubmixVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27SubmixVoice_GetEffectState(IXAudio27SubmixVoice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { | 
|  | This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SubmixVoice_SetEffectParameters(IXAudio27SubmixVoice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SubmixVoice_GetEffectParameters(IXAudio27SubmixVoice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { | 
|  | return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SubmixVoice_SetFilterParameters(IXAudio27SubmixVoice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27SubmixVoice_GetFilterParameters(IXAudio27SubmixVoice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetFilterParameters(This,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SubmixVoice_SetOutputFilterParameters(IXAudio27SubmixVoice* This,IXAudio2Voice *pDestinationVoice,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27SubmixVoice_GetOutputFilterParameters(IXAudio27SubmixVoice* This,IXAudio2Voice *pDestinationVoice,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SubmixVoice_SetVolume(IXAudio27SubmixVoice* This,float Volume,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetVolume(This,Volume,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27SubmixVoice_GetVolume(IXAudio27SubmixVoice* This,float *pVolume) { | 
|  | This->lpVtbl->GetVolume(This,pVolume); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SubmixVoice_SetChannelVolumes(IXAudio27SubmixVoice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27SubmixVoice_GetChannelVolumes(IXAudio27SubmixVoice* This,UINT32 Channels,float *pVolumes) { | 
|  | This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27SubmixVoice_SetOutputMatrix(IXAudio27SubmixVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27SubmixVoice_GetOutputMatrix(IXAudio27SubmixVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { | 
|  | This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27SubmixVoice_DestroyVoice(IXAudio27SubmixVoice* This) { | 
|  | This->lpVtbl->DestroyVoice(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio27SubmixVoice_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio2SubmixVoice interface | 
|  | */ | 
|  | #ifndef __IXAudio2SubmixVoice_INTERFACE_DEFINED__ | 
|  | #define __IXAudio2SubmixVoice_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio2SubmixVoice : public IXAudio2Voice | 
|  | { | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio2SubmixVoiceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio2Voice methods ***/ | 
|  | void (STDMETHODCALLTYPE *GetVoiceDetails)( | 
|  | IXAudio2SubmixVoice *This, | 
|  | XAUDIO2_VOICE_DETAILS *pVoiceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( | 
|  | IXAudio2SubmixVoice *This, | 
|  | const XAUDIO2_VOICE_SENDS *pSendList); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectChain)( | 
|  | IXAudio2SubmixVoice *This, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableEffect)( | 
|  | IXAudio2SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DisableEffect)( | 
|  | IXAudio2SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetEffectState)( | 
|  | IXAudio2SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( | 
|  | IXAudio2SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( | 
|  | IXAudio2SubmixVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( | 
|  | IXAudio2SubmixVoice *This, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFilterParameters)( | 
|  | IXAudio2SubmixVoice *This, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputFilterParameters)( | 
|  | IXAudio2SubmixVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputFilterParameters)( | 
|  | IXAudio2SubmixVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVolume)( | 
|  | IXAudio2SubmixVoice *This, | 
|  | float Volume, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetVolume)( | 
|  | IXAudio2SubmixVoice *This, | 
|  | float *pVolume); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( | 
|  | IXAudio2SubmixVoice *This, | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetChannelVolumes)( | 
|  | IXAudio2SubmixVoice *This, | 
|  | UINT32 Channels, | 
|  | float *pVolumes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( | 
|  | IXAudio2SubmixVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputMatrix)( | 
|  | IXAudio2SubmixVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *DestroyVoice)( | 
|  | IXAudio2SubmixVoice *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio2SubmixVoiceVtbl; | 
|  |  | 
|  | interface IXAudio2SubmixVoice { | 
|  | CONST_VTBL IXAudio2SubmixVoiceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio2Voice methods ***/ | 
|  | #define IXAudio2SubmixVoice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) | 
|  | #define IXAudio2SubmixVoice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) | 
|  | #define IXAudio2SubmixVoice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) | 
|  | #define IXAudio2SubmixVoice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio2SubmixVoice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio2SubmixVoice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) | 
|  | #define IXAudio2SubmixVoice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) | 
|  | #define IXAudio2SubmixVoice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) | 
|  | #define IXAudio2SubmixVoice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) | 
|  | #define IXAudio2SubmixVoice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) | 
|  | #define IXAudio2SubmixVoice_SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) (This)->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) | 
|  | #define IXAudio2SubmixVoice_GetOutputFilterParameters(This,pDestinationVoice,pParameters) (This)->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters) | 
|  | #define IXAudio2SubmixVoice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) | 
|  | #define IXAudio2SubmixVoice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) | 
|  | #define IXAudio2SubmixVoice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) | 
|  | #define IXAudio2SubmixVoice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) | 
|  | #define IXAudio2SubmixVoice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) | 
|  | #define IXAudio2SubmixVoice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) | 
|  | #define IXAudio2SubmixVoice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) | 
|  | #else | 
|  | /*** IXAudio2Voice methods ***/ | 
|  | static __WIDL_INLINE void IXAudio2SubmixVoice_GetVoiceDetails(IXAudio2SubmixVoice* This,XAUDIO2_VOICE_DETAILS *pVoiceDetails) { | 
|  | This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SubmixVoice_SetOutputVoices(IXAudio2SubmixVoice* This,const XAUDIO2_VOICE_SENDS *pSendList) { | 
|  | return This->lpVtbl->SetOutputVoices(This,pSendList); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SubmixVoice_SetEffectChain(IXAudio2SubmixVoice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->SetEffectChain(This,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SubmixVoice_EnableEffect(IXAudio2SubmixVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SubmixVoice_DisableEffect(IXAudio2SubmixVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2SubmixVoice_GetEffectState(IXAudio2SubmixVoice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { | 
|  | This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SubmixVoice_SetEffectParameters(IXAudio2SubmixVoice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SubmixVoice_GetEffectParameters(IXAudio2SubmixVoice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { | 
|  | return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SubmixVoice_SetFilterParameters(IXAudio2SubmixVoice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2SubmixVoice_GetFilterParameters(IXAudio2SubmixVoice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetFilterParameters(This,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SubmixVoice_SetOutputFilterParameters(IXAudio2SubmixVoice* This,IXAudio2Voice *pDestinationVoice,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2SubmixVoice_GetOutputFilterParameters(IXAudio2SubmixVoice* This,IXAudio2Voice *pDestinationVoice,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SubmixVoice_SetVolume(IXAudio2SubmixVoice* This,float Volume,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetVolume(This,Volume,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2SubmixVoice_GetVolume(IXAudio2SubmixVoice* This,float *pVolume) { | 
|  | This->lpVtbl->GetVolume(This,pVolume); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SubmixVoice_SetChannelVolumes(IXAudio2SubmixVoice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2SubmixVoice_GetChannelVolumes(IXAudio2SubmixVoice* This,UINT32 Channels,float *pVolumes) { | 
|  | This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2SubmixVoice_SetOutputMatrix(IXAudio2SubmixVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2SubmixVoice_GetOutputMatrix(IXAudio2SubmixVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { | 
|  | This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2SubmixVoice_DestroyVoice(IXAudio2SubmixVoice* This) { | 
|  | This->lpVtbl->DestroyVoice(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio2SubmixVoice_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio20MasteringVoice interface | 
|  | */ | 
|  | #ifndef __IXAudio20MasteringVoice_INTERFACE_DEFINED__ | 
|  | #define __IXAudio20MasteringVoice_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio20MasteringVoice : public IXAudio20Voice | 
|  | { | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio20MasteringVoiceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio20Voice methods ***/ | 
|  | void (STDMETHODCALLTYPE *GetVoiceDetails)( | 
|  | IXAudio20MasteringVoice *This, | 
|  | XAUDIO27_VOICE_DETAILS *pVoiceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( | 
|  | IXAudio20MasteringVoice *This, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectChain)( | 
|  | IXAudio20MasteringVoice *This, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableEffect)( | 
|  | IXAudio20MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DisableEffect)( | 
|  | IXAudio20MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetEffectState)( | 
|  | IXAudio20MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( | 
|  | IXAudio20MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( | 
|  | IXAudio20MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( | 
|  | IXAudio20MasteringVoice *This, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFilterParameters)( | 
|  | IXAudio20MasteringVoice *This, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVolume)( | 
|  | IXAudio20MasteringVoice *This, | 
|  | float Volume, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetVolume)( | 
|  | IXAudio20MasteringVoice *This, | 
|  | float *pVolume); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( | 
|  | IXAudio20MasteringVoice *This, | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetChannelVolumes)( | 
|  | IXAudio20MasteringVoice *This, | 
|  | UINT32 Channels, | 
|  | float *pVolumes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( | 
|  | IXAudio20MasteringVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetOutputMatrix)( | 
|  | IXAudio20MasteringVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *DestroyVoice)( | 
|  | IXAudio20MasteringVoice *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio20MasteringVoiceVtbl; | 
|  |  | 
|  | interface IXAudio20MasteringVoice { | 
|  | CONST_VTBL IXAudio20MasteringVoiceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio20Voice methods ***/ | 
|  | #define IXAudio20MasteringVoice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) | 
|  | #define IXAudio20MasteringVoice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) | 
|  | #define IXAudio20MasteringVoice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) | 
|  | #define IXAudio20MasteringVoice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio20MasteringVoice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio20MasteringVoice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) | 
|  | #define IXAudio20MasteringVoice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) | 
|  | #define IXAudio20MasteringVoice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) | 
|  | #define IXAudio20MasteringVoice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) | 
|  | #define IXAudio20MasteringVoice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) | 
|  | #define IXAudio20MasteringVoice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) | 
|  | #define IXAudio20MasteringVoice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) | 
|  | #define IXAudio20MasteringVoice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) | 
|  | #define IXAudio20MasteringVoice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) | 
|  | #define IXAudio20MasteringVoice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) | 
|  | #define IXAudio20MasteringVoice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) | 
|  | #define IXAudio20MasteringVoice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) | 
|  | #else | 
|  | /*** IXAudio20Voice methods ***/ | 
|  | static __WIDL_INLINE void IXAudio20MasteringVoice_GetVoiceDetails(IXAudio20MasteringVoice* This,XAUDIO27_VOICE_DETAILS *pVoiceDetails) { | 
|  | This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20MasteringVoice_SetOutputVoices(IXAudio20MasteringVoice* This,const XAUDIO23_VOICE_SENDS *pSendList) { | 
|  | return This->lpVtbl->SetOutputVoices(This,pSendList); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20MasteringVoice_SetEffectChain(IXAudio20MasteringVoice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->SetEffectChain(This,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20MasteringVoice_EnableEffect(IXAudio20MasteringVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20MasteringVoice_DisableEffect(IXAudio20MasteringVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20MasteringVoice_GetEffectState(IXAudio20MasteringVoice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { | 
|  | This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20MasteringVoice_SetEffectParameters(IXAudio20MasteringVoice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20MasteringVoice_GetEffectParameters(IXAudio20MasteringVoice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { | 
|  | return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20MasteringVoice_SetFilterParameters(IXAudio20MasteringVoice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20MasteringVoice_GetFilterParameters(IXAudio20MasteringVoice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetFilterParameters(This,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20MasteringVoice_SetVolume(IXAudio20MasteringVoice* This,float Volume,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetVolume(This,Volume,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20MasteringVoice_GetVolume(IXAudio20MasteringVoice* This,float *pVolume) { | 
|  | This->lpVtbl->GetVolume(This,pVolume); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20MasteringVoice_SetChannelVolumes(IXAudio20MasteringVoice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20MasteringVoice_GetChannelVolumes(IXAudio20MasteringVoice* This,UINT32 Channels,float *pVolumes) { | 
|  | This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20MasteringVoice_SetOutputMatrix(IXAudio20MasteringVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20MasteringVoice_GetOutputMatrix(IXAudio20MasteringVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { | 
|  | return This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20MasteringVoice_DestroyVoice(IXAudio20MasteringVoice* This) { | 
|  | This->lpVtbl->DestroyVoice(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio20MasteringVoice_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio23MasteringVoice interface | 
|  | */ | 
|  | #ifndef __IXAudio23MasteringVoice_INTERFACE_DEFINED__ | 
|  | #define __IXAudio23MasteringVoice_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio23MasteringVoice : public IXAudio23Voice | 
|  | { | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio23MasteringVoiceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio23Voice methods ***/ | 
|  | void (STDMETHODCALLTYPE *GetVoiceDetails)( | 
|  | IXAudio23MasteringVoice *This, | 
|  | XAUDIO27_VOICE_DETAILS *pVoiceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( | 
|  | IXAudio23MasteringVoice *This, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectChain)( | 
|  | IXAudio23MasteringVoice *This, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableEffect)( | 
|  | IXAudio23MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DisableEffect)( | 
|  | IXAudio23MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetEffectState)( | 
|  | IXAudio23MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( | 
|  | IXAudio23MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( | 
|  | IXAudio23MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( | 
|  | IXAudio23MasteringVoice *This, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFilterParameters)( | 
|  | IXAudio23MasteringVoice *This, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVolume)( | 
|  | IXAudio23MasteringVoice *This, | 
|  | float Volume, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetVolume)( | 
|  | IXAudio23MasteringVoice *This, | 
|  | float *pVolume); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( | 
|  | IXAudio23MasteringVoice *This, | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetChannelVolumes)( | 
|  | IXAudio23MasteringVoice *This, | 
|  | UINT32 Channels, | 
|  | float *pVolumes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( | 
|  | IXAudio23MasteringVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputMatrix)( | 
|  | IXAudio23MasteringVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *DestroyVoice)( | 
|  | IXAudio23MasteringVoice *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio23MasteringVoiceVtbl; | 
|  |  | 
|  | interface IXAudio23MasteringVoice { | 
|  | CONST_VTBL IXAudio23MasteringVoiceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio23Voice methods ***/ | 
|  | #define IXAudio23MasteringVoice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) | 
|  | #define IXAudio23MasteringVoice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) | 
|  | #define IXAudio23MasteringVoice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) | 
|  | #define IXAudio23MasteringVoice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio23MasteringVoice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio23MasteringVoice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) | 
|  | #define IXAudio23MasteringVoice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) | 
|  | #define IXAudio23MasteringVoice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) | 
|  | #define IXAudio23MasteringVoice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) | 
|  | #define IXAudio23MasteringVoice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) | 
|  | #define IXAudio23MasteringVoice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) | 
|  | #define IXAudio23MasteringVoice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) | 
|  | #define IXAudio23MasteringVoice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) | 
|  | #define IXAudio23MasteringVoice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) | 
|  | #define IXAudio23MasteringVoice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) | 
|  | #define IXAudio23MasteringVoice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) | 
|  | #define IXAudio23MasteringVoice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) | 
|  | #else | 
|  | /*** IXAudio23Voice methods ***/ | 
|  | static __WIDL_INLINE void IXAudio23MasteringVoice_GetVoiceDetails(IXAudio23MasteringVoice* This,XAUDIO27_VOICE_DETAILS *pVoiceDetails) { | 
|  | This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23MasteringVoice_SetOutputVoices(IXAudio23MasteringVoice* This,const XAUDIO23_VOICE_SENDS *pSendList) { | 
|  | return This->lpVtbl->SetOutputVoices(This,pSendList); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23MasteringVoice_SetEffectChain(IXAudio23MasteringVoice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->SetEffectChain(This,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23MasteringVoice_EnableEffect(IXAudio23MasteringVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23MasteringVoice_DisableEffect(IXAudio23MasteringVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23MasteringVoice_GetEffectState(IXAudio23MasteringVoice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { | 
|  | This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23MasteringVoice_SetEffectParameters(IXAudio23MasteringVoice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23MasteringVoice_GetEffectParameters(IXAudio23MasteringVoice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { | 
|  | return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23MasteringVoice_SetFilterParameters(IXAudio23MasteringVoice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23MasteringVoice_GetFilterParameters(IXAudio23MasteringVoice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetFilterParameters(This,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23MasteringVoice_SetVolume(IXAudio23MasteringVoice* This,float Volume,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetVolume(This,Volume,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23MasteringVoice_GetVolume(IXAudio23MasteringVoice* This,float *pVolume) { | 
|  | This->lpVtbl->GetVolume(This,pVolume); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23MasteringVoice_SetChannelVolumes(IXAudio23MasteringVoice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23MasteringVoice_GetChannelVolumes(IXAudio23MasteringVoice* This,UINT32 Channels,float *pVolumes) { | 
|  | This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23MasteringVoice_SetOutputMatrix(IXAudio23MasteringVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23MasteringVoice_GetOutputMatrix(IXAudio23MasteringVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { | 
|  | This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23MasteringVoice_DestroyVoice(IXAudio23MasteringVoice* This) { | 
|  | This->lpVtbl->DestroyVoice(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio23MasteringVoice_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio27MasteringVoice interface | 
|  | */ | 
|  | #ifndef __IXAudio27MasteringVoice_INTERFACE_DEFINED__ | 
|  | #define __IXAudio27MasteringVoice_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio27MasteringVoice : public IXAudio27Voice | 
|  | { | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio27MasteringVoiceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio27Voice methods ***/ | 
|  | void (STDMETHODCALLTYPE *GetVoiceDetails)( | 
|  | IXAudio27MasteringVoice *This, | 
|  | XAUDIO27_VOICE_DETAILS *pVoiceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( | 
|  | IXAudio27MasteringVoice *This, | 
|  | const XAUDIO2_VOICE_SENDS *pSendList); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectChain)( | 
|  | IXAudio27MasteringVoice *This, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableEffect)( | 
|  | IXAudio27MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DisableEffect)( | 
|  | IXAudio27MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetEffectState)( | 
|  | IXAudio27MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( | 
|  | IXAudio27MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( | 
|  | IXAudio27MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( | 
|  | IXAudio27MasteringVoice *This, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFilterParameters)( | 
|  | IXAudio27MasteringVoice *This, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputFilterParameters)( | 
|  | IXAudio27MasteringVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputFilterParameters)( | 
|  | IXAudio27MasteringVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVolume)( | 
|  | IXAudio27MasteringVoice *This, | 
|  | float Volume, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetVolume)( | 
|  | IXAudio27MasteringVoice *This, | 
|  | float *pVolume); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( | 
|  | IXAudio27MasteringVoice *This, | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetChannelVolumes)( | 
|  | IXAudio27MasteringVoice *This, | 
|  | UINT32 Channels, | 
|  | float *pVolumes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( | 
|  | IXAudio27MasteringVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputMatrix)( | 
|  | IXAudio27MasteringVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *DestroyVoice)( | 
|  | IXAudio27MasteringVoice *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio27MasteringVoiceVtbl; | 
|  |  | 
|  | interface IXAudio27MasteringVoice { | 
|  | CONST_VTBL IXAudio27MasteringVoiceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio27Voice methods ***/ | 
|  | #define IXAudio27MasteringVoice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) | 
|  | #define IXAudio27MasteringVoice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) | 
|  | #define IXAudio27MasteringVoice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) | 
|  | #define IXAudio27MasteringVoice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio27MasteringVoice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio27MasteringVoice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) | 
|  | #define IXAudio27MasteringVoice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) | 
|  | #define IXAudio27MasteringVoice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) | 
|  | #define IXAudio27MasteringVoice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) | 
|  | #define IXAudio27MasteringVoice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) | 
|  | #define IXAudio27MasteringVoice_SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) (This)->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) | 
|  | #define IXAudio27MasteringVoice_GetOutputFilterParameters(This,pDestinationVoice,pParameters) (This)->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters) | 
|  | #define IXAudio27MasteringVoice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) | 
|  | #define IXAudio27MasteringVoice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) | 
|  | #define IXAudio27MasteringVoice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) | 
|  | #define IXAudio27MasteringVoice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) | 
|  | #define IXAudio27MasteringVoice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) | 
|  | #define IXAudio27MasteringVoice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) | 
|  | #define IXAudio27MasteringVoice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) | 
|  | #else | 
|  | /*** IXAudio27Voice methods ***/ | 
|  | static __WIDL_INLINE void IXAudio27MasteringVoice_GetVoiceDetails(IXAudio27MasteringVoice* This,XAUDIO27_VOICE_DETAILS *pVoiceDetails) { | 
|  | This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27MasteringVoice_SetOutputVoices(IXAudio27MasteringVoice* This,const XAUDIO2_VOICE_SENDS *pSendList) { | 
|  | return This->lpVtbl->SetOutputVoices(This,pSendList); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27MasteringVoice_SetEffectChain(IXAudio27MasteringVoice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->SetEffectChain(This,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27MasteringVoice_EnableEffect(IXAudio27MasteringVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27MasteringVoice_DisableEffect(IXAudio27MasteringVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27MasteringVoice_GetEffectState(IXAudio27MasteringVoice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { | 
|  | This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27MasteringVoice_SetEffectParameters(IXAudio27MasteringVoice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27MasteringVoice_GetEffectParameters(IXAudio27MasteringVoice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { | 
|  | return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27MasteringVoice_SetFilterParameters(IXAudio27MasteringVoice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27MasteringVoice_GetFilterParameters(IXAudio27MasteringVoice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetFilterParameters(This,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27MasteringVoice_SetOutputFilterParameters(IXAudio27MasteringVoice* This,IXAudio2Voice *pDestinationVoice,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27MasteringVoice_GetOutputFilterParameters(IXAudio27MasteringVoice* This,IXAudio2Voice *pDestinationVoice,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27MasteringVoice_SetVolume(IXAudio27MasteringVoice* This,float Volume,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetVolume(This,Volume,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27MasteringVoice_GetVolume(IXAudio27MasteringVoice* This,float *pVolume) { | 
|  | This->lpVtbl->GetVolume(This,pVolume); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27MasteringVoice_SetChannelVolumes(IXAudio27MasteringVoice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27MasteringVoice_GetChannelVolumes(IXAudio27MasteringVoice* This,UINT32 Channels,float *pVolumes) { | 
|  | This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27MasteringVoice_SetOutputMatrix(IXAudio27MasteringVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27MasteringVoice_GetOutputMatrix(IXAudio27MasteringVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { | 
|  | This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27MasteringVoice_DestroyVoice(IXAudio27MasteringVoice* This) { | 
|  | This->lpVtbl->DestroyVoice(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio27MasteringVoice_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio2MasteringVoice interface | 
|  | */ | 
|  | #ifndef __IXAudio2MasteringVoice_INTERFACE_DEFINED__ | 
|  | #define __IXAudio2MasteringVoice_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio2MasteringVoice : public IXAudio2Voice | 
|  | { | 
|  | virtual void STDMETHODCALLTYPE GetChannelMask( | 
|  | DWORD *pChannelMask) = 0; | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio2MasteringVoiceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio2Voice methods ***/ | 
|  | void (STDMETHODCALLTYPE *GetVoiceDetails)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | XAUDIO2_VOICE_DETAILS *pVoiceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | const XAUDIO2_VOICE_SENDS *pSendList); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectChain)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableEffect)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DisableEffect)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetEffectState)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | WINBOOL *pEnabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | const void *pParameters, | 
|  | UINT32 ParametersByteSize, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | UINT32 EffectIndex, | 
|  | void *pParameters, | 
|  | UINT32 ParametersByteSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetFilterParameters)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputFilterParameters)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | const XAUDIO2_FILTER_PARAMETERS *pParameters, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputFilterParameters)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | XAUDIO2_FILTER_PARAMETERS *pParameters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetVolume)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | float Volume, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetVolume)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | float *pVolume); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | UINT32 Channels, | 
|  | const float *pVolumes, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetChannelVolumes)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | UINT32 Channels, | 
|  | float *pVolumes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | const float *pLevelMatrix, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetOutputMatrix)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | IXAudio2Voice *pDestinationVoice, | 
|  | UINT32 SourceChannels, | 
|  | UINT32 DestinationChannels, | 
|  | float *pLevelMatrix); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *DestroyVoice)( | 
|  | IXAudio2MasteringVoice *This); | 
|  |  | 
|  | /*** IXAudio2MasteringVoice methods ***/ | 
|  | void (STDMETHODCALLTYPE *GetChannelMask)( | 
|  | IXAudio2MasteringVoice *This, | 
|  | DWORD *pChannelMask); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio2MasteringVoiceVtbl; | 
|  |  | 
|  | interface IXAudio2MasteringVoice { | 
|  | CONST_VTBL IXAudio2MasteringVoiceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio2Voice methods ***/ | 
|  | #define IXAudio2MasteringVoice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) | 
|  | #define IXAudio2MasteringVoice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) | 
|  | #define IXAudio2MasteringVoice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) | 
|  | #define IXAudio2MasteringVoice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio2MasteringVoice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) | 
|  | #define IXAudio2MasteringVoice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) | 
|  | #define IXAudio2MasteringVoice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) | 
|  | #define IXAudio2MasteringVoice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) | 
|  | #define IXAudio2MasteringVoice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) | 
|  | #define IXAudio2MasteringVoice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) | 
|  | #define IXAudio2MasteringVoice_SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) (This)->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) | 
|  | #define IXAudio2MasteringVoice_GetOutputFilterParameters(This,pDestinationVoice,pParameters) (This)->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters) | 
|  | #define IXAudio2MasteringVoice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) | 
|  | #define IXAudio2MasteringVoice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) | 
|  | #define IXAudio2MasteringVoice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) | 
|  | #define IXAudio2MasteringVoice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) | 
|  | #define IXAudio2MasteringVoice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) | 
|  | #define IXAudio2MasteringVoice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) | 
|  | #define IXAudio2MasteringVoice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) | 
|  | /*** IXAudio2MasteringVoice methods ***/ | 
|  | #define IXAudio2MasteringVoice_GetChannelMask(This,pChannelMask) (This)->lpVtbl->GetChannelMask(This,pChannelMask) | 
|  | #else | 
|  | /*** IXAudio2Voice methods ***/ | 
|  | static __WIDL_INLINE void IXAudio2MasteringVoice_GetVoiceDetails(IXAudio2MasteringVoice* This,XAUDIO2_VOICE_DETAILS *pVoiceDetails) { | 
|  | This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2MasteringVoice_SetOutputVoices(IXAudio2MasteringVoice* This,const XAUDIO2_VOICE_SENDS *pSendList) { | 
|  | return This->lpVtbl->SetOutputVoices(This,pSendList); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2MasteringVoice_SetEffectChain(IXAudio2MasteringVoice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->SetEffectChain(This,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2MasteringVoice_EnableEffect(IXAudio2MasteringVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2MasteringVoice_DisableEffect(IXAudio2MasteringVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { | 
|  | return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2MasteringVoice_GetEffectState(IXAudio2MasteringVoice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { | 
|  | This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2MasteringVoice_SetEffectParameters(IXAudio2MasteringVoice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2MasteringVoice_GetEffectParameters(IXAudio2MasteringVoice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { | 
|  | return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2MasteringVoice_SetFilterParameters(IXAudio2MasteringVoice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2MasteringVoice_GetFilterParameters(IXAudio2MasteringVoice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetFilterParameters(This,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2MasteringVoice_SetOutputFilterParameters(IXAudio2MasteringVoice* This,IXAudio2Voice *pDestinationVoice,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2MasteringVoice_GetOutputFilterParameters(IXAudio2MasteringVoice* This,IXAudio2Voice *pDestinationVoice,XAUDIO2_FILTER_PARAMETERS *pParameters) { | 
|  | This->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2MasteringVoice_SetVolume(IXAudio2MasteringVoice* This,float Volume,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetVolume(This,Volume,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2MasteringVoice_GetVolume(IXAudio2MasteringVoice* This,float *pVolume) { | 
|  | This->lpVtbl->GetVolume(This,pVolume); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2MasteringVoice_SetChannelVolumes(IXAudio2MasteringVoice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2MasteringVoice_GetChannelVolumes(IXAudio2MasteringVoice* This,UINT32 Channels,float *pVolumes) { | 
|  | This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2MasteringVoice_SetOutputMatrix(IXAudio2MasteringVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { | 
|  | return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2MasteringVoice_GetOutputMatrix(IXAudio2MasteringVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { | 
|  | This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2MasteringVoice_DestroyVoice(IXAudio2MasteringVoice* This) { | 
|  | This->lpVtbl->DestroyVoice(This); | 
|  | } | 
|  | /*** IXAudio2MasteringVoice methods ***/ | 
|  | static __WIDL_INLINE void IXAudio2MasteringVoice_GetChannelMask(IXAudio2MasteringVoice* This,DWORD *pChannelMask) { | 
|  | This->lpVtbl->GetChannelMask(This,pChannelMask); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio2MasteringVoice_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio20VoiceCallback interface | 
|  | */ | 
|  | #ifndef __IXAudio20VoiceCallback_INTERFACE_DEFINED__ | 
|  | #define __IXAudio20VoiceCallback_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio20VoiceCallback | 
|  | { | 
|  |  | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE OnVoiceProcessingPassStart( | 
|  | ) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE OnVoiceProcessingPassEnd( | 
|  | ) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE OnStreamEnd( | 
|  | ) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE OnBufferStart( | 
|  | void *pBufferContext) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE OnBufferEnd( | 
|  | void *pBufferContext) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE OnLoopEnd( | 
|  | void *pBufferContext) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE OnVoiceError( | 
|  | void *pBuffercontext, | 
|  | HRESULT Error) = 0; | 
|  |  | 
|  | END_INTERFACE | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio20VoiceCallbackVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio20VoiceCallback methods ***/ | 
|  | void (STDMETHODCALLTYPE *OnVoiceProcessingPassStart)( | 
|  | IXAudio20VoiceCallback *This); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *OnVoiceProcessingPassEnd)( | 
|  | IXAudio20VoiceCallback *This); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *OnStreamEnd)( | 
|  | IXAudio20VoiceCallback *This); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *OnBufferStart)( | 
|  | IXAudio20VoiceCallback *This, | 
|  | void *pBufferContext); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *OnBufferEnd)( | 
|  | IXAudio20VoiceCallback *This, | 
|  | void *pBufferContext); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *OnLoopEnd)( | 
|  | IXAudio20VoiceCallback *This, | 
|  | void *pBufferContext); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *OnVoiceError)( | 
|  | IXAudio20VoiceCallback *This, | 
|  | void *pBuffercontext, | 
|  | HRESULT Error); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio20VoiceCallbackVtbl; | 
|  |  | 
|  | interface IXAudio20VoiceCallback { | 
|  | CONST_VTBL IXAudio20VoiceCallbackVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio20VoiceCallback methods ***/ | 
|  | #define IXAudio20VoiceCallback_OnVoiceProcessingPassStart(This) (This)->lpVtbl->OnVoiceProcessingPassStart(This) | 
|  | #define IXAudio20VoiceCallback_OnVoiceProcessingPassEnd(This) (This)->lpVtbl->OnVoiceProcessingPassEnd(This) | 
|  | #define IXAudio20VoiceCallback_OnStreamEnd(This) (This)->lpVtbl->OnStreamEnd(This) | 
|  | #define IXAudio20VoiceCallback_OnBufferStart(This,pBufferContext) (This)->lpVtbl->OnBufferStart(This,pBufferContext) | 
|  | #define IXAudio20VoiceCallback_OnBufferEnd(This,pBufferContext) (This)->lpVtbl->OnBufferEnd(This,pBufferContext) | 
|  | #define IXAudio20VoiceCallback_OnLoopEnd(This,pBufferContext) (This)->lpVtbl->OnLoopEnd(This,pBufferContext) | 
|  | #define IXAudio20VoiceCallback_OnVoiceError(This,pBuffercontext,Error) (This)->lpVtbl->OnVoiceError(This,pBuffercontext,Error) | 
|  | #else | 
|  | /*** IXAudio20VoiceCallback methods ***/ | 
|  | static __WIDL_INLINE void IXAudio20VoiceCallback_OnVoiceProcessingPassStart(IXAudio20VoiceCallback* This) { | 
|  | This->lpVtbl->OnVoiceProcessingPassStart(This); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20VoiceCallback_OnVoiceProcessingPassEnd(IXAudio20VoiceCallback* This) { | 
|  | This->lpVtbl->OnVoiceProcessingPassEnd(This); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20VoiceCallback_OnStreamEnd(IXAudio20VoiceCallback* This) { | 
|  | This->lpVtbl->OnStreamEnd(This); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20VoiceCallback_OnBufferStart(IXAudio20VoiceCallback* This,void *pBufferContext) { | 
|  | This->lpVtbl->OnBufferStart(This,pBufferContext); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20VoiceCallback_OnBufferEnd(IXAudio20VoiceCallback* This,void *pBufferContext) { | 
|  | This->lpVtbl->OnBufferEnd(This,pBufferContext); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20VoiceCallback_OnLoopEnd(IXAudio20VoiceCallback* This,void *pBufferContext) { | 
|  | This->lpVtbl->OnLoopEnd(This,pBufferContext); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20VoiceCallback_OnVoiceError(IXAudio20VoiceCallback* This,void *pBuffercontext,HRESULT Error) { | 
|  | This->lpVtbl->OnVoiceError(This,pBuffercontext,Error); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio20VoiceCallback_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio2VoiceCallback interface | 
|  | */ | 
|  | #ifndef __IXAudio2VoiceCallback_INTERFACE_DEFINED__ | 
|  | #define __IXAudio2VoiceCallback_INTERFACE_DEFINED__ | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | interface IXAudio2VoiceCallback | 
|  | { | 
|  |  | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE OnVoiceProcessingPassStart( | 
|  | UINT32 BytesRequired) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE OnVoiceProcessingPassEnd( | 
|  | ) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE OnStreamEnd( | 
|  | ) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE OnBufferStart( | 
|  | void *pBufferContext) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE OnBufferEnd( | 
|  | void *pBufferContext) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE OnLoopEnd( | 
|  | void *pBufferContext) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE OnVoiceError( | 
|  | void *pBuffercontext, | 
|  | HRESULT Error) = 0; | 
|  |  | 
|  | END_INTERFACE | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IXAudio2VoiceCallbackVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IXAudio2VoiceCallback methods ***/ | 
|  | void (STDMETHODCALLTYPE *OnVoiceProcessingPassStart)( | 
|  | IXAudio2VoiceCallback *This, | 
|  | UINT32 BytesRequired); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *OnVoiceProcessingPassEnd)( | 
|  | IXAudio2VoiceCallback *This); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *OnStreamEnd)( | 
|  | IXAudio2VoiceCallback *This); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *OnBufferStart)( | 
|  | IXAudio2VoiceCallback *This, | 
|  | void *pBufferContext); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *OnBufferEnd)( | 
|  | IXAudio2VoiceCallback *This, | 
|  | void *pBufferContext); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *OnLoopEnd)( | 
|  | IXAudio2VoiceCallback *This, | 
|  | void *pBufferContext); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *OnVoiceError)( | 
|  | IXAudio2VoiceCallback *This, | 
|  | void *pBuffercontext, | 
|  | HRESULT Error); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio2VoiceCallbackVtbl; | 
|  |  | 
|  | interface IXAudio2VoiceCallback { | 
|  | CONST_VTBL IXAudio2VoiceCallbackVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IXAudio2VoiceCallback methods ***/ | 
|  | #define IXAudio2VoiceCallback_OnVoiceProcessingPassStart(This,BytesRequired) (This)->lpVtbl->OnVoiceProcessingPassStart(This,BytesRequired) | 
|  | #define IXAudio2VoiceCallback_OnVoiceProcessingPassEnd(This) (This)->lpVtbl->OnVoiceProcessingPassEnd(This) | 
|  | #define IXAudio2VoiceCallback_OnStreamEnd(This) (This)->lpVtbl->OnStreamEnd(This) | 
|  | #define IXAudio2VoiceCallback_OnBufferStart(This,pBufferContext) (This)->lpVtbl->OnBufferStart(This,pBufferContext) | 
|  | #define IXAudio2VoiceCallback_OnBufferEnd(This,pBufferContext) (This)->lpVtbl->OnBufferEnd(This,pBufferContext) | 
|  | #define IXAudio2VoiceCallback_OnLoopEnd(This,pBufferContext) (This)->lpVtbl->OnLoopEnd(This,pBufferContext) | 
|  | #define IXAudio2VoiceCallback_OnVoiceError(This,pBuffercontext,Error) (This)->lpVtbl->OnVoiceError(This,pBuffercontext,Error) | 
|  | #else | 
|  | /*** IXAudio2VoiceCallback methods ***/ | 
|  | static __WIDL_INLINE void IXAudio2VoiceCallback_OnVoiceProcessingPassStart(IXAudio2VoiceCallback* This,UINT32 BytesRequired) { | 
|  | This->lpVtbl->OnVoiceProcessingPassStart(This,BytesRequired); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2VoiceCallback_OnVoiceProcessingPassEnd(IXAudio2VoiceCallback* This) { | 
|  | This->lpVtbl->OnVoiceProcessingPassEnd(This); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2VoiceCallback_OnStreamEnd(IXAudio2VoiceCallback* This) { | 
|  | This->lpVtbl->OnStreamEnd(This); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2VoiceCallback_OnBufferStart(IXAudio2VoiceCallback* This,void *pBufferContext) { | 
|  | This->lpVtbl->OnBufferStart(This,pBufferContext); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2VoiceCallback_OnBufferEnd(IXAudio2VoiceCallback* This,void *pBufferContext) { | 
|  | This->lpVtbl->OnBufferEnd(This,pBufferContext); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2VoiceCallback_OnLoopEnd(IXAudio2VoiceCallback* This,void *pBufferContext) { | 
|  | This->lpVtbl->OnLoopEnd(This,pBufferContext); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2VoiceCallback_OnVoiceError(IXAudio2VoiceCallback* This,void *pBuffercontext,HRESULT Error) { | 
|  | This->lpVtbl->OnVoiceError(This,pBuffercontext,Error); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio2VoiceCallback_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef struct XAUDIO2_DEBUG_CONFIGURATION { | 
|  | UINT32 TraceMask; | 
|  | UINT32 BreakMask; | 
|  | WINBOOL LogThreadID; | 
|  | WINBOOL LogFileline; | 
|  | WINBOOL LogFunctionName; | 
|  | WINBOOL LogTiming; | 
|  | } XAUDIO2_DEBUG_CONFIGURATION; | 
|  | /***************************************************************************** | 
|  | * IXAudio20 interface | 
|  | */ | 
|  | #ifndef __IXAudio20_INTERFACE_DEFINED__ | 
|  | #define __IXAudio20_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IXAudio20, 0x8bcf1f58, 0x9fe7, 0x4583, 0x8a,0xc6, 0xe2,0xad,0xc4,0x65,0xc8,0xbb); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("8bcf1f58-9fe7-4583-8ac6-e2adc465c8bb") | 
|  | IXAudio20 : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDeviceCount( | 
|  | UINT32 *pCount) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDeviceDetails( | 
|  | UINT32 Index, | 
|  | XAUDIO2_DEVICE_DETAILS *pDeviceDetails) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Initialize( | 
|  | UINT32 Flags = 0, | 
|  | XAUDIO2_PROCESSOR XAudio2Processor = XAUDIO2_DEFAULT_PROCESSOR) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterForCallbacks( | 
|  | IXAudio2EngineCallback *pCallback) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE UnregisterForCallbacks( | 
|  | IXAudio2EngineCallback *pCallback) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateSourceVoice( | 
|  | IXAudio2SourceVoice **ppSourceVoice, | 
|  | const WAVEFORMATEX *pSourceFormat, | 
|  | UINT32 Flags = 0, | 
|  | float MaxFrequencyRatio = XAUDIO2_DEFAULT_FREQ_RATIO, | 
|  | IXAudio2VoiceCallback *pCallback = 0, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList = 0, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateSubmixVoice( | 
|  | IXAudio2SubmixVoice **ppSubmixVoice, | 
|  | UINT32 InputChannels, | 
|  | UINT32 InputSampleRate, | 
|  | UINT32 Flags = 0, | 
|  | UINT32 ProcessingStage = 0, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList = 0, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateMasteringVoice( | 
|  | IXAudio2MasteringVoice **ppMasteringVoice, | 
|  | UINT32 InputChannels = XAUDIO2_DEFAULT_CHANNELS, | 
|  | UINT32 InputSampleRate = XAUDIO2_DEFAULT_SAMPLERATE, | 
|  | UINT32 Flags = 0, | 
|  | UINT32 DeviceIndex = 0, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE StartEngine( | 
|  | ) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE StopEngine( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CommitChanges( | 
|  | UINT32 OperationSet) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetPerformanceData( | 
|  | XAUDIO20_PERFORMANCE_DATA *pPerfData) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE SetDebugConfiguration( | 
|  | const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration, | 
|  | void *pReserved = 0) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IXAudio20, 0x8bcf1f58, 0x9fe7, 0x4583, 0x8a,0xc6, 0xe2,0xad,0xc4,0x65,0xc8,0xbb) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IXAudio20Vtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IXAudio20 *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IXAudio20 *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IXAudio20 *This); | 
|  |  | 
|  | /*** IXAudio20 methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetDeviceCount)( | 
|  | IXAudio20 *This, | 
|  | UINT32 *pCount); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDeviceDetails)( | 
|  | IXAudio20 *This, | 
|  | UINT32 Index, | 
|  | XAUDIO2_DEVICE_DETAILS *pDeviceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Initialize)( | 
|  | IXAudio20 *This, | 
|  | UINT32 Flags, | 
|  | XAUDIO2_PROCESSOR XAudio2Processor); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterForCallbacks)( | 
|  | IXAudio20 *This, | 
|  | IXAudio2EngineCallback *pCallback); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *UnregisterForCallbacks)( | 
|  | IXAudio20 *This, | 
|  | IXAudio2EngineCallback *pCallback); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateSourceVoice)( | 
|  | IXAudio20 *This, | 
|  | IXAudio2SourceVoice **ppSourceVoice, | 
|  | const WAVEFORMATEX *pSourceFormat, | 
|  | UINT32 Flags, | 
|  | float MaxFrequencyRatio, | 
|  | IXAudio2VoiceCallback *pCallback, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateSubmixVoice)( | 
|  | IXAudio20 *This, | 
|  | IXAudio2SubmixVoice **ppSubmixVoice, | 
|  | UINT32 InputChannels, | 
|  | UINT32 InputSampleRate, | 
|  | UINT32 Flags, | 
|  | UINT32 ProcessingStage, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateMasteringVoice)( | 
|  | IXAudio20 *This, | 
|  | IXAudio2MasteringVoice **ppMasteringVoice, | 
|  | UINT32 InputChannels, | 
|  | UINT32 InputSampleRate, | 
|  | UINT32 Flags, | 
|  | UINT32 DeviceIndex, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *StartEngine)( | 
|  | IXAudio20 *This); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *StopEngine)( | 
|  | IXAudio20 *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CommitChanges)( | 
|  | IXAudio20 *This, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetPerformanceData)( | 
|  | IXAudio20 *This, | 
|  | XAUDIO20_PERFORMANCE_DATA *pPerfData); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *SetDebugConfiguration)( | 
|  | IXAudio20 *This, | 
|  | const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration, | 
|  | void *pReserved); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio20Vtbl; | 
|  |  | 
|  | interface IXAudio20 { | 
|  | CONST_VTBL IXAudio20Vtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IXAudio20_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IXAudio20_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IXAudio20_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IXAudio20 methods ***/ | 
|  | #define IXAudio20_GetDeviceCount(This,pCount) (This)->lpVtbl->GetDeviceCount(This,pCount) | 
|  | #define IXAudio20_GetDeviceDetails(This,Index,pDeviceDetails) (This)->lpVtbl->GetDeviceDetails(This,Index,pDeviceDetails) | 
|  | #define IXAudio20_Initialize(This,Flags,XAudio2Processor) (This)->lpVtbl->Initialize(This,Flags,XAudio2Processor) | 
|  | #define IXAudio20_RegisterForCallbacks(This,pCallback) (This)->lpVtbl->RegisterForCallbacks(This,pCallback) | 
|  | #define IXAudio20_UnregisterForCallbacks(This,pCallback) (This)->lpVtbl->UnregisterForCallbacks(This,pCallback) | 
|  | #define IXAudio20_CreateSourceVoice(This,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain) (This)->lpVtbl->CreateSourceVoice(This,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain) | 
|  | #define IXAudio20_CreateSubmixVoice(This,ppSubmixVoice,InputChannels,InputSampleRate,Flags,ProcessingStage,pSendList,pEffectChain) (This)->lpVtbl->CreateSubmixVoice(This,ppSubmixVoice,InputChannels,InputSampleRate,Flags,ProcessingStage,pSendList,pEffectChain) | 
|  | #define IXAudio20_CreateMasteringVoice(This,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceIndex,pEffectChain) (This)->lpVtbl->CreateMasteringVoice(This,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceIndex,pEffectChain) | 
|  | #define IXAudio20_StartEngine(This) (This)->lpVtbl->StartEngine(This) | 
|  | #define IXAudio20_StopEngine(This) (This)->lpVtbl->StopEngine(This) | 
|  | #define IXAudio20_CommitChanges(This,OperationSet) (This)->lpVtbl->CommitChanges(This,OperationSet) | 
|  | #define IXAudio20_GetPerformanceData(This,pPerfData) (This)->lpVtbl->GetPerformanceData(This,pPerfData) | 
|  | #define IXAudio20_SetDebugConfiguration(This,pDebugConfiguration,pReserved) (This)->lpVtbl->SetDebugConfiguration(This,pDebugConfiguration,pReserved) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IXAudio20_QueryInterface(IXAudio20* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IXAudio20_AddRef(IXAudio20* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IXAudio20_Release(IXAudio20* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IXAudio20 methods ***/ | 
|  | static __WIDL_INLINE HRESULT IXAudio20_GetDeviceCount(IXAudio20* This,UINT32 *pCount) { | 
|  | return This->lpVtbl->GetDeviceCount(This,pCount); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20_GetDeviceDetails(IXAudio20* This,UINT32 Index,XAUDIO2_DEVICE_DETAILS *pDeviceDetails) { | 
|  | return This->lpVtbl->GetDeviceDetails(This,Index,pDeviceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20_Initialize(IXAudio20* This,UINT32 Flags,XAUDIO2_PROCESSOR XAudio2Processor) { | 
|  | return This->lpVtbl->Initialize(This,Flags,XAudio2Processor); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20_RegisterForCallbacks(IXAudio20* This,IXAudio2EngineCallback *pCallback) { | 
|  | return This->lpVtbl->RegisterForCallbacks(This,pCallback); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20_UnregisterForCallbacks(IXAudio20* This,IXAudio2EngineCallback *pCallback) { | 
|  | This->lpVtbl->UnregisterForCallbacks(This,pCallback); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20_CreateSourceVoice(IXAudio20* This,IXAudio2SourceVoice **ppSourceVoice,const WAVEFORMATEX *pSourceFormat,UINT32 Flags,float MaxFrequencyRatio,IXAudio2VoiceCallback *pCallback,const XAUDIO23_VOICE_SENDS *pSendList,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->CreateSourceVoice(This,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20_CreateSubmixVoice(IXAudio20* This,IXAudio2SubmixVoice **ppSubmixVoice,UINT32 InputChannels,UINT32 InputSampleRate,UINT32 Flags,UINT32 ProcessingStage,const XAUDIO23_VOICE_SENDS *pSendList,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->CreateSubmixVoice(This,ppSubmixVoice,InputChannels,InputSampleRate,Flags,ProcessingStage,pSendList,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20_CreateMasteringVoice(IXAudio20* This,IXAudio2MasteringVoice **ppMasteringVoice,UINT32 InputChannels,UINT32 InputSampleRate,UINT32 Flags,UINT32 DeviceIndex,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->CreateMasteringVoice(This,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceIndex,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20_StartEngine(IXAudio20* This) { | 
|  | return This->lpVtbl->StartEngine(This); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20_StopEngine(IXAudio20* This) { | 
|  | This->lpVtbl->StopEngine(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio20_CommitChanges(IXAudio20* This,UINT32 OperationSet) { | 
|  | return This->lpVtbl->CommitChanges(This,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20_GetPerformanceData(IXAudio20* This,XAUDIO20_PERFORMANCE_DATA *pPerfData) { | 
|  | This->lpVtbl->GetPerformanceData(This,pPerfData); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio20_SetDebugConfiguration(IXAudio20* This,const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration,void *pReserved) { | 
|  | This->lpVtbl->SetDebugConfiguration(This,pDebugConfiguration,pReserved); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio20_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio22 interface | 
|  | */ | 
|  | #ifndef __IXAudio22_INTERFACE_DEFINED__ | 
|  | #define __IXAudio22_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IXAudio22, 0x8bcf1f58, 0x9fe7, 0x4583, 0x8a,0xc6, 0xe2,0xad,0xc4,0x65,0xc8,0xbb); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("8bcf1f58-9fe7-4583-8ac6-e2adc465c8bb") | 
|  | IXAudio22 : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDeviceCount( | 
|  | UINT32 *pCount) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDeviceDetails( | 
|  | UINT32 Index, | 
|  | XAUDIO2_DEVICE_DETAILS *pDeviceDetails) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Initialize( | 
|  | UINT32 Flags = 0, | 
|  | XAUDIO2_PROCESSOR XAudio2Processor = XAUDIO2_DEFAULT_PROCESSOR) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterForCallbacks( | 
|  | IXAudio2EngineCallback *pCallback) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE UnregisterForCallbacks( | 
|  | IXAudio2EngineCallback *pCallback) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateSourceVoice( | 
|  | IXAudio2SourceVoice **ppSourceVoice, | 
|  | const WAVEFORMATEX *pSourceFormat, | 
|  | UINT32 Flags = 0, | 
|  | float MaxFrequencyRatio = XAUDIO2_DEFAULT_FREQ_RATIO, | 
|  | IXAudio2VoiceCallback *pCallback = 0, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList = 0, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateSubmixVoice( | 
|  | IXAudio2SubmixVoice **ppSubmixVoice, | 
|  | UINT32 InputChannels, | 
|  | UINT32 InputSampleRate, | 
|  | UINT32 Flags = 0, | 
|  | UINT32 ProcessingStage = 0, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList = 0, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateMasteringVoice( | 
|  | IXAudio2MasteringVoice **ppMasteringVoice, | 
|  | UINT32 InputChannels = XAUDIO2_DEFAULT_CHANNELS, | 
|  | UINT32 InputSampleRate = XAUDIO2_DEFAULT_SAMPLERATE, | 
|  | UINT32 Flags = 0, | 
|  | UINT32 DeviceIndex = 0, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE StartEngine( | 
|  | ) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE StopEngine( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CommitChanges( | 
|  | UINT32 OperationSet) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetPerformanceData( | 
|  | XAUDIO22_PERFORMANCE_DATA *pPerfData) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE SetDebugConfiguration( | 
|  | const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration, | 
|  | void *pReserved = 0) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IXAudio22, 0x8bcf1f58, 0x9fe7, 0x4583, 0x8a,0xc6, 0xe2,0xad,0xc4,0x65,0xc8,0xbb) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IXAudio22Vtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IXAudio22 *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IXAudio22 *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IXAudio22 *This); | 
|  |  | 
|  | /*** IXAudio22 methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetDeviceCount)( | 
|  | IXAudio22 *This, | 
|  | UINT32 *pCount); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDeviceDetails)( | 
|  | IXAudio22 *This, | 
|  | UINT32 Index, | 
|  | XAUDIO2_DEVICE_DETAILS *pDeviceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Initialize)( | 
|  | IXAudio22 *This, | 
|  | UINT32 Flags, | 
|  | XAUDIO2_PROCESSOR XAudio2Processor); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterForCallbacks)( | 
|  | IXAudio22 *This, | 
|  | IXAudio2EngineCallback *pCallback); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *UnregisterForCallbacks)( | 
|  | IXAudio22 *This, | 
|  | IXAudio2EngineCallback *pCallback); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateSourceVoice)( | 
|  | IXAudio22 *This, | 
|  | IXAudio2SourceVoice **ppSourceVoice, | 
|  | const WAVEFORMATEX *pSourceFormat, | 
|  | UINT32 Flags, | 
|  | float MaxFrequencyRatio, | 
|  | IXAudio2VoiceCallback *pCallback, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateSubmixVoice)( | 
|  | IXAudio22 *This, | 
|  | IXAudio2SubmixVoice **ppSubmixVoice, | 
|  | UINT32 InputChannels, | 
|  | UINT32 InputSampleRate, | 
|  | UINT32 Flags, | 
|  | UINT32 ProcessingStage, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateMasteringVoice)( | 
|  | IXAudio22 *This, | 
|  | IXAudio2MasteringVoice **ppMasteringVoice, | 
|  | UINT32 InputChannels, | 
|  | UINT32 InputSampleRate, | 
|  | UINT32 Flags, | 
|  | UINT32 DeviceIndex, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *StartEngine)( | 
|  | IXAudio22 *This); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *StopEngine)( | 
|  | IXAudio22 *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CommitChanges)( | 
|  | IXAudio22 *This, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetPerformanceData)( | 
|  | IXAudio22 *This, | 
|  | XAUDIO22_PERFORMANCE_DATA *pPerfData); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *SetDebugConfiguration)( | 
|  | IXAudio22 *This, | 
|  | const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration, | 
|  | void *pReserved); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio22Vtbl; | 
|  |  | 
|  | interface IXAudio22 { | 
|  | CONST_VTBL IXAudio22Vtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IXAudio22_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IXAudio22_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IXAudio22_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IXAudio22 methods ***/ | 
|  | #define IXAudio22_GetDeviceCount(This,pCount) (This)->lpVtbl->GetDeviceCount(This,pCount) | 
|  | #define IXAudio22_GetDeviceDetails(This,Index,pDeviceDetails) (This)->lpVtbl->GetDeviceDetails(This,Index,pDeviceDetails) | 
|  | #define IXAudio22_Initialize(This,Flags,XAudio2Processor) (This)->lpVtbl->Initialize(This,Flags,XAudio2Processor) | 
|  | #define IXAudio22_RegisterForCallbacks(This,pCallback) (This)->lpVtbl->RegisterForCallbacks(This,pCallback) | 
|  | #define IXAudio22_UnregisterForCallbacks(This,pCallback) (This)->lpVtbl->UnregisterForCallbacks(This,pCallback) | 
|  | #define IXAudio22_CreateSourceVoice(This,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain) (This)->lpVtbl->CreateSourceVoice(This,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain) | 
|  | #define IXAudio22_CreateSubmixVoice(This,ppSubmixVoice,InputChannels,InputSampleRate,Flags,ProcessingStage,pSendList,pEffectChain) (This)->lpVtbl->CreateSubmixVoice(This,ppSubmixVoice,InputChannels,InputSampleRate,Flags,ProcessingStage,pSendList,pEffectChain) | 
|  | #define IXAudio22_CreateMasteringVoice(This,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceIndex,pEffectChain) (This)->lpVtbl->CreateMasteringVoice(This,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceIndex,pEffectChain) | 
|  | #define IXAudio22_StartEngine(This) (This)->lpVtbl->StartEngine(This) | 
|  | #define IXAudio22_StopEngine(This) (This)->lpVtbl->StopEngine(This) | 
|  | #define IXAudio22_CommitChanges(This,OperationSet) (This)->lpVtbl->CommitChanges(This,OperationSet) | 
|  | #define IXAudio22_GetPerformanceData(This,pPerfData) (This)->lpVtbl->GetPerformanceData(This,pPerfData) | 
|  | #define IXAudio22_SetDebugConfiguration(This,pDebugConfiguration,pReserved) (This)->lpVtbl->SetDebugConfiguration(This,pDebugConfiguration,pReserved) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IXAudio22_QueryInterface(IXAudio22* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IXAudio22_AddRef(IXAudio22* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IXAudio22_Release(IXAudio22* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IXAudio22 methods ***/ | 
|  | static __WIDL_INLINE HRESULT IXAudio22_GetDeviceCount(IXAudio22* This,UINT32 *pCount) { | 
|  | return This->lpVtbl->GetDeviceCount(This,pCount); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio22_GetDeviceDetails(IXAudio22* This,UINT32 Index,XAUDIO2_DEVICE_DETAILS *pDeviceDetails) { | 
|  | return This->lpVtbl->GetDeviceDetails(This,Index,pDeviceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio22_Initialize(IXAudio22* This,UINT32 Flags,XAUDIO2_PROCESSOR XAudio2Processor) { | 
|  | return This->lpVtbl->Initialize(This,Flags,XAudio2Processor); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio22_RegisterForCallbacks(IXAudio22* This,IXAudio2EngineCallback *pCallback) { | 
|  | return This->lpVtbl->RegisterForCallbacks(This,pCallback); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio22_UnregisterForCallbacks(IXAudio22* This,IXAudio2EngineCallback *pCallback) { | 
|  | This->lpVtbl->UnregisterForCallbacks(This,pCallback); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio22_CreateSourceVoice(IXAudio22* This,IXAudio2SourceVoice **ppSourceVoice,const WAVEFORMATEX *pSourceFormat,UINT32 Flags,float MaxFrequencyRatio,IXAudio2VoiceCallback *pCallback,const XAUDIO23_VOICE_SENDS *pSendList,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->CreateSourceVoice(This,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio22_CreateSubmixVoice(IXAudio22* This,IXAudio2SubmixVoice **ppSubmixVoice,UINT32 InputChannels,UINT32 InputSampleRate,UINT32 Flags,UINT32 ProcessingStage,const XAUDIO23_VOICE_SENDS *pSendList,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->CreateSubmixVoice(This,ppSubmixVoice,InputChannels,InputSampleRate,Flags,ProcessingStage,pSendList,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio22_CreateMasteringVoice(IXAudio22* This,IXAudio2MasteringVoice **ppMasteringVoice,UINT32 InputChannels,UINT32 InputSampleRate,UINT32 Flags,UINT32 DeviceIndex,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->CreateMasteringVoice(This,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceIndex,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio22_StartEngine(IXAudio22* This) { | 
|  | return This->lpVtbl->StartEngine(This); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio22_StopEngine(IXAudio22* This) { | 
|  | This->lpVtbl->StopEngine(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio22_CommitChanges(IXAudio22* This,UINT32 OperationSet) { | 
|  | return This->lpVtbl->CommitChanges(This,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio22_GetPerformanceData(IXAudio22* This,XAUDIO22_PERFORMANCE_DATA *pPerfData) { | 
|  | This->lpVtbl->GetPerformanceData(This,pPerfData); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio22_SetDebugConfiguration(IXAudio22* This,const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration,void *pReserved) { | 
|  | This->lpVtbl->SetDebugConfiguration(This,pDebugConfiguration,pReserved); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio22_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio23 interface | 
|  | */ | 
|  | #ifndef __IXAudio23_INTERFACE_DEFINED__ | 
|  | #define __IXAudio23_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IXAudio23, 0x8bcf1f58, 0x9fe7, 0x4583, 0x8a,0xc6, 0xe2,0xad,0xc4,0x65,0xc8,0xbb); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("8bcf1f58-9fe7-4583-8ac6-e2adc465c8bb") | 
|  | IXAudio23 : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDeviceCount( | 
|  | UINT32 *pCount) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDeviceDetails( | 
|  | UINT32 Index, | 
|  | XAUDIO2_DEVICE_DETAILS *pDeviceDetails) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Initialize( | 
|  | UINT32 Flags = 0, | 
|  | XAUDIO2_PROCESSOR XAudio2Processor = XAUDIO2_DEFAULT_PROCESSOR) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterForCallbacks( | 
|  | IXAudio2EngineCallback *pCallback) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE UnregisterForCallbacks( | 
|  | IXAudio2EngineCallback *pCallback) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateSourceVoice( | 
|  | IXAudio2SourceVoice **ppSourceVoice, | 
|  | const WAVEFORMATEX *pSourceFormat, | 
|  | UINT32 Flags = 0, | 
|  | float MaxFrequencyRatio = XAUDIO2_DEFAULT_FREQ_RATIO, | 
|  | IXAudio2VoiceCallback *pCallback = 0, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList = 0, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateSubmixVoice( | 
|  | IXAudio2SubmixVoice **ppSubmixVoice, | 
|  | UINT32 InputChannels, | 
|  | UINT32 InputSampleRate, | 
|  | UINT32 Flags = 0, | 
|  | UINT32 ProcessingStage = 0, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList = 0, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateMasteringVoice( | 
|  | IXAudio2MasteringVoice **ppMasteringVoice, | 
|  | UINT32 InputChannels = XAUDIO2_DEFAULT_CHANNELS, | 
|  | UINT32 InputSampleRate = XAUDIO2_DEFAULT_SAMPLERATE, | 
|  | UINT32 Flags = 0, | 
|  | UINT32 DeviceIndex = 0, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE StartEngine( | 
|  | ) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE StopEngine( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CommitChanges( | 
|  | UINT32 OperationSet) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetPerformanceData( | 
|  | XAUDIO2_PERFORMANCE_DATA *pPerfData) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE SetDebugConfiguration( | 
|  | const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration, | 
|  | void *pReserved = 0) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IXAudio23, 0x8bcf1f58, 0x9fe7, 0x4583, 0x8a,0xc6, 0xe2,0xad,0xc4,0x65,0xc8,0xbb) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IXAudio23Vtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IXAudio23 *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IXAudio23 *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IXAudio23 *This); | 
|  |  | 
|  | /*** IXAudio23 methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetDeviceCount)( | 
|  | IXAudio23 *This, | 
|  | UINT32 *pCount); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDeviceDetails)( | 
|  | IXAudio23 *This, | 
|  | UINT32 Index, | 
|  | XAUDIO2_DEVICE_DETAILS *pDeviceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Initialize)( | 
|  | IXAudio23 *This, | 
|  | UINT32 Flags, | 
|  | XAUDIO2_PROCESSOR XAudio2Processor); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterForCallbacks)( | 
|  | IXAudio23 *This, | 
|  | IXAudio2EngineCallback *pCallback); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *UnregisterForCallbacks)( | 
|  | IXAudio23 *This, | 
|  | IXAudio2EngineCallback *pCallback); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateSourceVoice)( | 
|  | IXAudio23 *This, | 
|  | IXAudio2SourceVoice **ppSourceVoice, | 
|  | const WAVEFORMATEX *pSourceFormat, | 
|  | UINT32 Flags, | 
|  | float MaxFrequencyRatio, | 
|  | IXAudio2VoiceCallback *pCallback, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateSubmixVoice)( | 
|  | IXAudio23 *This, | 
|  | IXAudio2SubmixVoice **ppSubmixVoice, | 
|  | UINT32 InputChannels, | 
|  | UINT32 InputSampleRate, | 
|  | UINT32 Flags, | 
|  | UINT32 ProcessingStage, | 
|  | const XAUDIO23_VOICE_SENDS *pSendList, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateMasteringVoice)( | 
|  | IXAudio23 *This, | 
|  | IXAudio2MasteringVoice **ppMasteringVoice, | 
|  | UINT32 InputChannels, | 
|  | UINT32 InputSampleRate, | 
|  | UINT32 Flags, | 
|  | UINT32 DeviceIndex, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *StartEngine)( | 
|  | IXAudio23 *This); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *StopEngine)( | 
|  | IXAudio23 *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CommitChanges)( | 
|  | IXAudio23 *This, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetPerformanceData)( | 
|  | IXAudio23 *This, | 
|  | XAUDIO2_PERFORMANCE_DATA *pPerfData); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *SetDebugConfiguration)( | 
|  | IXAudio23 *This, | 
|  | const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration, | 
|  | void *pReserved); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio23Vtbl; | 
|  |  | 
|  | interface IXAudio23 { | 
|  | CONST_VTBL IXAudio23Vtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IXAudio23_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IXAudio23_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IXAudio23_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IXAudio23 methods ***/ | 
|  | #define IXAudio23_GetDeviceCount(This,pCount) (This)->lpVtbl->GetDeviceCount(This,pCount) | 
|  | #define IXAudio23_GetDeviceDetails(This,Index,pDeviceDetails) (This)->lpVtbl->GetDeviceDetails(This,Index,pDeviceDetails) | 
|  | #define IXAudio23_Initialize(This,Flags,XAudio2Processor) (This)->lpVtbl->Initialize(This,Flags,XAudio2Processor) | 
|  | #define IXAudio23_RegisterForCallbacks(This,pCallback) (This)->lpVtbl->RegisterForCallbacks(This,pCallback) | 
|  | #define IXAudio23_UnregisterForCallbacks(This,pCallback) (This)->lpVtbl->UnregisterForCallbacks(This,pCallback) | 
|  | #define IXAudio23_CreateSourceVoice(This,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain) (This)->lpVtbl->CreateSourceVoice(This,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain) | 
|  | #define IXAudio23_CreateSubmixVoice(This,ppSubmixVoice,InputChannels,InputSampleRate,Flags,ProcessingStage,pSendList,pEffectChain) (This)->lpVtbl->CreateSubmixVoice(This,ppSubmixVoice,InputChannels,InputSampleRate,Flags,ProcessingStage,pSendList,pEffectChain) | 
|  | #define IXAudio23_CreateMasteringVoice(This,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceIndex,pEffectChain) (This)->lpVtbl->CreateMasteringVoice(This,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceIndex,pEffectChain) | 
|  | #define IXAudio23_StartEngine(This) (This)->lpVtbl->StartEngine(This) | 
|  | #define IXAudio23_StopEngine(This) (This)->lpVtbl->StopEngine(This) | 
|  | #define IXAudio23_CommitChanges(This,OperationSet) (This)->lpVtbl->CommitChanges(This,OperationSet) | 
|  | #define IXAudio23_GetPerformanceData(This,pPerfData) (This)->lpVtbl->GetPerformanceData(This,pPerfData) | 
|  | #define IXAudio23_SetDebugConfiguration(This,pDebugConfiguration,pReserved) (This)->lpVtbl->SetDebugConfiguration(This,pDebugConfiguration,pReserved) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IXAudio23_QueryInterface(IXAudio23* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IXAudio23_AddRef(IXAudio23* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IXAudio23_Release(IXAudio23* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IXAudio23 methods ***/ | 
|  | static __WIDL_INLINE HRESULT IXAudio23_GetDeviceCount(IXAudio23* This,UINT32 *pCount) { | 
|  | return This->lpVtbl->GetDeviceCount(This,pCount); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23_GetDeviceDetails(IXAudio23* This,UINT32 Index,XAUDIO2_DEVICE_DETAILS *pDeviceDetails) { | 
|  | return This->lpVtbl->GetDeviceDetails(This,Index,pDeviceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23_Initialize(IXAudio23* This,UINT32 Flags,XAUDIO2_PROCESSOR XAudio2Processor) { | 
|  | return This->lpVtbl->Initialize(This,Flags,XAudio2Processor); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23_RegisterForCallbacks(IXAudio23* This,IXAudio2EngineCallback *pCallback) { | 
|  | return This->lpVtbl->RegisterForCallbacks(This,pCallback); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23_UnregisterForCallbacks(IXAudio23* This,IXAudio2EngineCallback *pCallback) { | 
|  | This->lpVtbl->UnregisterForCallbacks(This,pCallback); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23_CreateSourceVoice(IXAudio23* This,IXAudio2SourceVoice **ppSourceVoice,const WAVEFORMATEX *pSourceFormat,UINT32 Flags,float MaxFrequencyRatio,IXAudio2VoiceCallback *pCallback,const XAUDIO23_VOICE_SENDS *pSendList,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->CreateSourceVoice(This,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23_CreateSubmixVoice(IXAudio23* This,IXAudio2SubmixVoice **ppSubmixVoice,UINT32 InputChannels,UINT32 InputSampleRate,UINT32 Flags,UINT32 ProcessingStage,const XAUDIO23_VOICE_SENDS *pSendList,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->CreateSubmixVoice(This,ppSubmixVoice,InputChannels,InputSampleRate,Flags,ProcessingStage,pSendList,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23_CreateMasteringVoice(IXAudio23* This,IXAudio2MasteringVoice **ppMasteringVoice,UINT32 InputChannels,UINT32 InputSampleRate,UINT32 Flags,UINT32 DeviceIndex,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->CreateMasteringVoice(This,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceIndex,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23_StartEngine(IXAudio23* This) { | 
|  | return This->lpVtbl->StartEngine(This); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23_StopEngine(IXAudio23* This) { | 
|  | This->lpVtbl->StopEngine(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio23_CommitChanges(IXAudio23* This,UINT32 OperationSet) { | 
|  | return This->lpVtbl->CommitChanges(This,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23_GetPerformanceData(IXAudio23* This,XAUDIO2_PERFORMANCE_DATA *pPerfData) { | 
|  | This->lpVtbl->GetPerformanceData(This,pPerfData); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio23_SetDebugConfiguration(IXAudio23* This,const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration,void *pReserved) { | 
|  | This->lpVtbl->SetDebugConfiguration(This,pDebugConfiguration,pReserved); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio23_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IXAudio27 interface | 
|  | */ | 
|  | #ifndef __IXAudio27_INTERFACE_DEFINED__ | 
|  | #define __IXAudio27_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IXAudio27, 0x8bcf1f58, 0x9fe7, 0x4583, 0x8a,0xc6, 0xe2,0xad,0xc4,0x65,0xc8,0xbb); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("8bcf1f58-9fe7-4583-8ac6-e2adc465c8bb") | 
|  | IXAudio27 : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDeviceCount( | 
|  | UINT32 *pCount) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDeviceDetails( | 
|  | UINT32 Index, | 
|  | XAUDIO2_DEVICE_DETAILS *pDeviceDetails) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Initialize( | 
|  | UINT32 Flags = 0, | 
|  | XAUDIO2_PROCESSOR XAudio2Processor = XAUDIO2_DEFAULT_PROCESSOR) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterForCallbacks( | 
|  | IXAudio2EngineCallback *pCallback) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE UnregisterForCallbacks( | 
|  | IXAudio2EngineCallback *pCallback) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateSourceVoice( | 
|  | IXAudio2SourceVoice **ppSourceVoice, | 
|  | const WAVEFORMATEX *pSourceFormat, | 
|  | UINT32 Flags = 0, | 
|  | float MaxFrequencyRatio = XAUDIO2_DEFAULT_FREQ_RATIO, | 
|  | IXAudio2VoiceCallback *pCallback = 0, | 
|  | const XAUDIO2_VOICE_SENDS *pSendList = 0, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateSubmixVoice( | 
|  | IXAudio2SubmixVoice **ppSubmixVoice, | 
|  | UINT32 InputChannels, | 
|  | UINT32 InputSampleRate, | 
|  | UINT32 Flags = 0, | 
|  | UINT32 ProcessingStage = 0, | 
|  | const XAUDIO2_VOICE_SENDS *pSendList = 0, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateMasteringVoice( | 
|  | IXAudio2MasteringVoice **ppMasteringVoice, | 
|  | UINT32 InputChannels = XAUDIO2_DEFAULT_CHANNELS, | 
|  | UINT32 InputSampleRate = XAUDIO2_DEFAULT_SAMPLERATE, | 
|  | UINT32 Flags = 0, | 
|  | UINT32 DeviceIndex = 0, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE StartEngine( | 
|  | ) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE StopEngine( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CommitChanges( | 
|  | UINT32 OperationSet) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetPerformanceData( | 
|  | XAUDIO2_PERFORMANCE_DATA *pPerfData) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE SetDebugConfiguration( | 
|  | const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration, | 
|  | void *pReserved = 0) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IXAudio27, 0x8bcf1f58, 0x9fe7, 0x4583, 0x8a,0xc6, 0xe2,0xad,0xc4,0x65,0xc8,0xbb) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IXAudio27Vtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IXAudio27 *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IXAudio27 *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IXAudio27 *This); | 
|  |  | 
|  | /*** IXAudio27 methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetDeviceCount)( | 
|  | IXAudio27 *This, | 
|  | UINT32 *pCount); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDeviceDetails)( | 
|  | IXAudio27 *This, | 
|  | UINT32 Index, | 
|  | XAUDIO2_DEVICE_DETAILS *pDeviceDetails); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Initialize)( | 
|  | IXAudio27 *This, | 
|  | UINT32 Flags, | 
|  | XAUDIO2_PROCESSOR XAudio2Processor); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterForCallbacks)( | 
|  | IXAudio27 *This, | 
|  | IXAudio2EngineCallback *pCallback); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *UnregisterForCallbacks)( | 
|  | IXAudio27 *This, | 
|  | IXAudio2EngineCallback *pCallback); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateSourceVoice)( | 
|  | IXAudio27 *This, | 
|  | IXAudio2SourceVoice **ppSourceVoice, | 
|  | const WAVEFORMATEX *pSourceFormat, | 
|  | UINT32 Flags, | 
|  | float MaxFrequencyRatio, | 
|  | IXAudio2VoiceCallback *pCallback, | 
|  | const XAUDIO2_VOICE_SENDS *pSendList, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateSubmixVoice)( | 
|  | IXAudio27 *This, | 
|  | IXAudio2SubmixVoice **ppSubmixVoice, | 
|  | UINT32 InputChannels, | 
|  | UINT32 InputSampleRate, | 
|  | UINT32 Flags, | 
|  | UINT32 ProcessingStage, | 
|  | const XAUDIO2_VOICE_SENDS *pSendList, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateMasteringVoice)( | 
|  | IXAudio27 *This, | 
|  | IXAudio2MasteringVoice **ppMasteringVoice, | 
|  | UINT32 InputChannels, | 
|  | UINT32 InputSampleRate, | 
|  | UINT32 Flags, | 
|  | UINT32 DeviceIndex, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *StartEngine)( | 
|  | IXAudio27 *This); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *StopEngine)( | 
|  | IXAudio27 *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CommitChanges)( | 
|  | IXAudio27 *This, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetPerformanceData)( | 
|  | IXAudio27 *This, | 
|  | XAUDIO2_PERFORMANCE_DATA *pPerfData); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *SetDebugConfiguration)( | 
|  | IXAudio27 *This, | 
|  | const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration, | 
|  | void *pReserved); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio27Vtbl; | 
|  |  | 
|  | interface IXAudio27 { | 
|  | CONST_VTBL IXAudio27Vtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IXAudio27_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IXAudio27_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IXAudio27_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IXAudio27 methods ***/ | 
|  | #define IXAudio27_GetDeviceCount(This,pCount) (This)->lpVtbl->GetDeviceCount(This,pCount) | 
|  | #define IXAudio27_GetDeviceDetails(This,Index,pDeviceDetails) (This)->lpVtbl->GetDeviceDetails(This,Index,pDeviceDetails) | 
|  | #define IXAudio27_Initialize(This,Flags,XAudio2Processor) (This)->lpVtbl->Initialize(This,Flags,XAudio2Processor) | 
|  | #define IXAudio27_RegisterForCallbacks(This,pCallback) (This)->lpVtbl->RegisterForCallbacks(This,pCallback) | 
|  | #define IXAudio27_UnregisterForCallbacks(This,pCallback) (This)->lpVtbl->UnregisterForCallbacks(This,pCallback) | 
|  | #define IXAudio27_CreateSourceVoice(This,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain) (This)->lpVtbl->CreateSourceVoice(This,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain) | 
|  | #define IXAudio27_CreateSubmixVoice(This,ppSubmixVoice,InputChannels,InputSampleRate,Flags,ProcessingStage,pSendList,pEffectChain) (This)->lpVtbl->CreateSubmixVoice(This,ppSubmixVoice,InputChannels,InputSampleRate,Flags,ProcessingStage,pSendList,pEffectChain) | 
|  | #define IXAudio27_CreateMasteringVoice(This,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceIndex,pEffectChain) (This)->lpVtbl->CreateMasteringVoice(This,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceIndex,pEffectChain) | 
|  | #define IXAudio27_StartEngine(This) (This)->lpVtbl->StartEngine(This) | 
|  | #define IXAudio27_StopEngine(This) (This)->lpVtbl->StopEngine(This) | 
|  | #define IXAudio27_CommitChanges(This,OperationSet) (This)->lpVtbl->CommitChanges(This,OperationSet) | 
|  | #define IXAudio27_GetPerformanceData(This,pPerfData) (This)->lpVtbl->GetPerformanceData(This,pPerfData) | 
|  | #define IXAudio27_SetDebugConfiguration(This,pDebugConfiguration,pReserved) (This)->lpVtbl->SetDebugConfiguration(This,pDebugConfiguration,pReserved) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IXAudio27_QueryInterface(IXAudio27* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IXAudio27_AddRef(IXAudio27* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IXAudio27_Release(IXAudio27* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IXAudio27 methods ***/ | 
|  | static __WIDL_INLINE HRESULT IXAudio27_GetDeviceCount(IXAudio27* This,UINT32 *pCount) { | 
|  | return This->lpVtbl->GetDeviceCount(This,pCount); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27_GetDeviceDetails(IXAudio27* This,UINT32 Index,XAUDIO2_DEVICE_DETAILS *pDeviceDetails) { | 
|  | return This->lpVtbl->GetDeviceDetails(This,Index,pDeviceDetails); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27_Initialize(IXAudio27* This,UINT32 Flags,XAUDIO2_PROCESSOR XAudio2Processor) { | 
|  | return This->lpVtbl->Initialize(This,Flags,XAudio2Processor); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27_RegisterForCallbacks(IXAudio27* This,IXAudio2EngineCallback *pCallback) { | 
|  | return This->lpVtbl->RegisterForCallbacks(This,pCallback); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27_UnregisterForCallbacks(IXAudio27* This,IXAudio2EngineCallback *pCallback) { | 
|  | This->lpVtbl->UnregisterForCallbacks(This,pCallback); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27_CreateSourceVoice(IXAudio27* This,IXAudio2SourceVoice **ppSourceVoice,const WAVEFORMATEX *pSourceFormat,UINT32 Flags,float MaxFrequencyRatio,IXAudio2VoiceCallback *pCallback,const XAUDIO2_VOICE_SENDS *pSendList,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->CreateSourceVoice(This,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27_CreateSubmixVoice(IXAudio27* This,IXAudio2SubmixVoice **ppSubmixVoice,UINT32 InputChannels,UINT32 InputSampleRate,UINT32 Flags,UINT32 ProcessingStage,const XAUDIO2_VOICE_SENDS *pSendList,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->CreateSubmixVoice(This,ppSubmixVoice,InputChannels,InputSampleRate,Flags,ProcessingStage,pSendList,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27_CreateMasteringVoice(IXAudio27* This,IXAudio2MasteringVoice **ppMasteringVoice,UINT32 InputChannels,UINT32 InputSampleRate,UINT32 Flags,UINT32 DeviceIndex,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->CreateMasteringVoice(This,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceIndex,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27_StartEngine(IXAudio27* This) { | 
|  | return This->lpVtbl->StartEngine(This); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27_StopEngine(IXAudio27* This) { | 
|  | This->lpVtbl->StopEngine(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio27_CommitChanges(IXAudio27* This,UINT32 OperationSet) { | 
|  | return This->lpVtbl->CommitChanges(This,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27_GetPerformanceData(IXAudio27* This,XAUDIO2_PERFORMANCE_DATA *pPerfData) { | 
|  | This->lpVtbl->GetPerformanceData(This,pPerfData); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio27_SetDebugConfiguration(IXAudio27* This,const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration,void *pReserved) { | 
|  | This->lpVtbl->SetDebugConfiguration(This,pDebugConfiguration,pReserved); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio27_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | DEFINE_GUID(IID_IXAudio28, 0x60d8dac8, 0x5aa1, 0x4e8e, 0xb5, 0x97, 0x2f, 0x5e, 0x28, 0x83, 0xd4, 0x84); | 
|  | /***************************************************************************** | 
|  | * IXAudio2 interface | 
|  | */ | 
|  | #ifndef __IXAudio2_INTERFACE_DEFINED__ | 
|  | #define __IXAudio2_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IXAudio2, 0x2b02e3cf, 0x2e0b, 0x4ec3, 0xbe,0x45, 0x1b,0x2a,0x3f,0xe7,0x21,0x0d); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("2b02e3cf-2e0b-4ec3-be45-1b2a3fe7210d") | 
|  | IXAudio2 : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterForCallbacks( | 
|  | IXAudio2EngineCallback *pCallback) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE UnregisterForCallbacks( | 
|  | IXAudio2EngineCallback *pCallback) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateSourceVoice( | 
|  | IXAudio2SourceVoice **ppSourceVoice, | 
|  | const WAVEFORMATEX *pSourceFormat, | 
|  | UINT32 Flags = 0, | 
|  | float MaxFrequencyRatio = XAUDIO2_DEFAULT_FREQ_RATIO, | 
|  | IXAudio2VoiceCallback *pCallback = 0, | 
|  | const XAUDIO2_VOICE_SENDS *pSendList = 0, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateSubmixVoice( | 
|  | IXAudio2SubmixVoice **ppSubmixVoice, | 
|  | UINT32 InputChannels, | 
|  | UINT32 InputSampleRate, | 
|  | UINT32 Flags = 0, | 
|  | UINT32 ProcessingStage = 0, | 
|  | const XAUDIO2_VOICE_SENDS *pSendList = 0, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain = 0) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateMasteringVoice( | 
|  | IXAudio2MasteringVoice **ppMasteringVoice, | 
|  | UINT32 InputChannels = XAUDIO2_DEFAULT_CHANNELS, | 
|  | UINT32 InputSampleRate = XAUDIO2_DEFAULT_SAMPLERATE, | 
|  | UINT32 Flags = 0, | 
|  | LPCWSTR DeviceId = 0, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain = 0, | 
|  | AUDIO_STREAM_CATEGORY StreamCategory = AudioCategory_GameEffects) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE StartEngine( | 
|  | ) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE StopEngine( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CommitChanges( | 
|  | UINT32 OperationSet) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE GetPerformanceData( | 
|  | XAUDIO2_PERFORMANCE_DATA *pPerfData) = 0; | 
|  |  | 
|  | virtual void STDMETHODCALLTYPE SetDebugConfiguration( | 
|  | const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration, | 
|  | void *pReserved = 0) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IXAudio2, 0x2b02e3cf, 0x2e0b, 0x4ec3, 0xbe,0x45, 0x1b,0x2a,0x3f,0xe7,0x21,0x0d) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IXAudio2Vtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IXAudio2 *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IXAudio2 *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IXAudio2 *This); | 
|  |  | 
|  | /*** IXAudio2 methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterForCallbacks)( | 
|  | IXAudio2 *This, | 
|  | IXAudio2EngineCallback *pCallback); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *UnregisterForCallbacks)( | 
|  | IXAudio2 *This, | 
|  | IXAudio2EngineCallback *pCallback); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateSourceVoice)( | 
|  | IXAudio2 *This, | 
|  | IXAudio2SourceVoice **ppSourceVoice, | 
|  | const WAVEFORMATEX *pSourceFormat, | 
|  | UINT32 Flags, | 
|  | float MaxFrequencyRatio, | 
|  | IXAudio2VoiceCallback *pCallback, | 
|  | const XAUDIO2_VOICE_SENDS *pSendList, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateSubmixVoice)( | 
|  | IXAudio2 *This, | 
|  | IXAudio2SubmixVoice **ppSubmixVoice, | 
|  | UINT32 InputChannels, | 
|  | UINT32 InputSampleRate, | 
|  | UINT32 Flags, | 
|  | UINT32 ProcessingStage, | 
|  | const XAUDIO2_VOICE_SENDS *pSendList, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateMasteringVoice)( | 
|  | IXAudio2 *This, | 
|  | IXAudio2MasteringVoice **ppMasteringVoice, | 
|  | UINT32 InputChannels, | 
|  | UINT32 InputSampleRate, | 
|  | UINT32 Flags, | 
|  | LPCWSTR DeviceId, | 
|  | const XAUDIO2_EFFECT_CHAIN *pEffectChain, | 
|  | AUDIO_STREAM_CATEGORY StreamCategory); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *StartEngine)( | 
|  | IXAudio2 *This); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *StopEngine)( | 
|  | IXAudio2 *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CommitChanges)( | 
|  | IXAudio2 *This, | 
|  | UINT32 OperationSet); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *GetPerformanceData)( | 
|  | IXAudio2 *This, | 
|  | XAUDIO2_PERFORMANCE_DATA *pPerfData); | 
|  |  | 
|  | void (STDMETHODCALLTYPE *SetDebugConfiguration)( | 
|  | IXAudio2 *This, | 
|  | const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration, | 
|  | void *pReserved); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IXAudio2Vtbl; | 
|  |  | 
|  | interface IXAudio2 { | 
|  | CONST_VTBL IXAudio2Vtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IXAudio2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IXAudio2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IXAudio2_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IXAudio2 methods ***/ | 
|  | #define IXAudio2_RegisterForCallbacks(This,pCallback) (This)->lpVtbl->RegisterForCallbacks(This,pCallback) | 
|  | #define IXAudio2_UnregisterForCallbacks(This,pCallback) (This)->lpVtbl->UnregisterForCallbacks(This,pCallback) | 
|  | #define IXAudio2_CreateSourceVoice(This,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain) (This)->lpVtbl->CreateSourceVoice(This,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain) | 
|  | #define IXAudio2_CreateSubmixVoice(This,ppSubmixVoice,InputChannels,InputSampleRate,Flags,ProcessingStage,pSendList,pEffectChain) (This)->lpVtbl->CreateSubmixVoice(This,ppSubmixVoice,InputChannels,InputSampleRate,Flags,ProcessingStage,pSendList,pEffectChain) | 
|  | #define IXAudio2_CreateMasteringVoice(This,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceId,pEffectChain,StreamCategory) (This)->lpVtbl->CreateMasteringVoice(This,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceId,pEffectChain,StreamCategory) | 
|  | #define IXAudio2_StartEngine(This) (This)->lpVtbl->StartEngine(This) | 
|  | #define IXAudio2_StopEngine(This) (This)->lpVtbl->StopEngine(This) | 
|  | #define IXAudio2_CommitChanges(This,OperationSet) (This)->lpVtbl->CommitChanges(This,OperationSet) | 
|  | #define IXAudio2_GetPerformanceData(This,pPerfData) (This)->lpVtbl->GetPerformanceData(This,pPerfData) | 
|  | #define IXAudio2_SetDebugConfiguration(This,pDebugConfiguration,pReserved) (This)->lpVtbl->SetDebugConfiguration(This,pDebugConfiguration,pReserved) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IXAudio2_QueryInterface(IXAudio2* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IXAudio2_AddRef(IXAudio2* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IXAudio2_Release(IXAudio2* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IXAudio2 methods ***/ | 
|  | static __WIDL_INLINE HRESULT IXAudio2_RegisterForCallbacks(IXAudio2* This,IXAudio2EngineCallback *pCallback) { | 
|  | return This->lpVtbl->RegisterForCallbacks(This,pCallback); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2_UnregisterForCallbacks(IXAudio2* This,IXAudio2EngineCallback *pCallback) { | 
|  | This->lpVtbl->UnregisterForCallbacks(This,pCallback); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2_CreateSourceVoice(IXAudio2* This,IXAudio2SourceVoice **ppSourceVoice,const WAVEFORMATEX *pSourceFormat,UINT32 Flags,float MaxFrequencyRatio,IXAudio2VoiceCallback *pCallback,const XAUDIO2_VOICE_SENDS *pSendList,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->CreateSourceVoice(This,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2_CreateSubmixVoice(IXAudio2* This,IXAudio2SubmixVoice **ppSubmixVoice,UINT32 InputChannels,UINT32 InputSampleRate,UINT32 Flags,UINT32 ProcessingStage,const XAUDIO2_VOICE_SENDS *pSendList,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { | 
|  | return This->lpVtbl->CreateSubmixVoice(This,ppSubmixVoice,InputChannels,InputSampleRate,Flags,ProcessingStage,pSendList,pEffectChain); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2_CreateMasteringVoice(IXAudio2* This,IXAudio2MasteringVoice **ppMasteringVoice,UINT32 InputChannels,UINT32 InputSampleRate,UINT32 Flags,LPCWSTR DeviceId,const XAUDIO2_EFFECT_CHAIN *pEffectChain,AUDIO_STREAM_CATEGORY StreamCategory) { | 
|  | return This->lpVtbl->CreateMasteringVoice(This,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceId,pEffectChain,StreamCategory); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2_StartEngine(IXAudio2* This) { | 
|  | return This->lpVtbl->StartEngine(This); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2_StopEngine(IXAudio2* This) { | 
|  | This->lpVtbl->StopEngine(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IXAudio2_CommitChanges(IXAudio2* This,UINT32 OperationSet) { | 
|  | return This->lpVtbl->CommitChanges(This,OperationSet); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2_GetPerformanceData(IXAudio2* This,XAUDIO2_PERFORMANCE_DATA *pPerfData) { | 
|  | This->lpVtbl->GetPerformanceData(This,pPerfData); | 
|  | } | 
|  | static __WIDL_INLINE void IXAudio2_SetDebugConfiguration(IXAudio2* This,const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration,void *pReserved) { | 
|  | This->lpVtbl->SetDebugConfiguration(This,pDebugConfiguration,pReserved); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IXAudio2_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #define XAUDIO2_DEBUG_ENGINE (1) | 
|  |  | 
|  | #define XAUDIO2_VOICE_NOPITCH (2) | 
|  |  | 
|  | #define XAUDIO2_VOICE_NOSRC (4) | 
|  |  | 
|  | #define XAUDIO2_VOICE_USEFILTER (8) | 
|  |  | 
|  | #define XAUDIO2_VOICE_MUSIC (16) | 
|  |  | 
|  | #define XAUDIO2_PLAY_TAILS (32) | 
|  |  | 
|  | #define XAUDIO2_END_OF_STREAM (64) | 
|  |  | 
|  | #define XAUDIO2_SEND_USEFILTER (128) | 
|  |  | 
|  | #define XAUDIO2_VOICE_NOSAMPLESPLAYED (256) | 
|  |  | 
|  | #define XAUDIO2_DEFAULT_FILTER_TYPE (LowPassFilter) | 
|  |  | 
|  | #define XAUDIO2_DEFAULT_FILTER_FREQUENCY (XAUDIO2_MAX_FILTER_FREQUENCY) | 
|  |  | 
|  | #define XAUDIO2_DEFAULT_FILTER_ONEOVERQ (1.00000000000000) | 
|  |  | 
|  | #define XAUDIO2_QUANTUM_NUMERATOR (1) | 
|  |  | 
|  | #define XAUDIO2_QUANTUM_DENOMINATOR (100) | 
|  |  | 
|  | #define XAUDIO2_QUANTUM_MS ((1000.00000000000 * XAUDIO2_QUANTUM_NUMERATOR) / XAUDIO2_QUANTUM_DENOMINATOR) | 
|  |  | 
|  | #define XAUDIO2_E_INVALID_CALL ((HRESULT)0x88960001) | 
|  | #define XAUDIO2_E_XMA_DECODER_ERROR ((HRESULT)0x88960002) | 
|  | #define XAUDIO2_E_XAPO_CREATION_FAILED ((HRESULT)0x88960003) | 
|  | #define XAUDIO2_E_DEVICE_INVALIDATED ((HRESULT)0x88960004) | 
|  | #define XAUDIO20_E_XMA_DECODER_ERROR ((HRESULT)0x88960001) | 
|  | #define XAUDIO20_E_XAPO_CREATION_FAILED ((HRESULT)0x88960002) | 
|  | #define XAUDIO20_E_DEVICE_INVALIDATED ((HRESULT)0x88960003) | 
|  | #ifdef XAUDIO2_HELPER_FUNCTIONS | 
|  | #define _USE_MATH_DEFINES | 
|  | #include <math.h> | 
|  | inline static float XAudio2DecibelsToAmplitudeRatio(float decibels) { return powf(10.0f, decibels/20.0f); } | 
|  | inline static float XAudio2AmplitudeRatioToDecibels(float volume) { if (volume == 0) { return -3.402823466e+38f; } return 20.0f * log10f(volume); } | 
|  | inline static float XAudio2SemitonesToFrequencyRatio(float semitones) { return powf(2.0f, semitones/12.0f); } | 
|  | inline static float XAudio2FrequencyRatioToSemitones(float freqratio) { return 39.86313713864835f * log10f(freqratio); } | 
|  | inline static float XAudio2CutoffFrequencyToRadians(float cutofffreq, UINT32 samplerate) { if ((UINT32)(cutofffreq * 6.0f) >= samplerate) { return XAUDIO2_MAX_FILTER_FREQUENCY; } return 2.0f * sinf((float)M_PI * cutofffreq / samplerate); } | 
|  | inline static float XAudio2RadiansToCutoffFrequency(float radians, float samplerate) { return samplerate * asinf(radians/2.0f) / (float)M_PI; } | 
|  | #endif | 
|  | HRESULT WINAPI XAudio2Create(IXAudio2** pxaudio2, UINT32 flags, XAUDIO2_PROCESSOR processor); | 
|  | #include <poppack.h> | 
|  | /* Begin additional prototypes for all interfaces */ | 
|  |  | 
|  |  | 
|  | /* End additional prototypes */ | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif /* __xaudio2_h__ */ |