33 0xd8f1eee0, 0xf634, 0x11cf, 0x87, 0x0, 0x0, 0xa0, 0x24, 0x5d, 0x91, 0x8b);
37 0xd8f1eee1, 0xf634, 0x11cf, 0x87, 0x0, 0x0, 0xa0, 0x24, 0x5d, 0x91, 0x8b);
43 #define OUTPUT_MODE_STEREO 0x00000001
44 #define OUTPUT_MODE_QUAD 0x00000002
47 #define OUTPUT_HEADPHONES 0x00000001 // headphones
48 #define OUTPUT_SPEAKERS_WIDE 0x00000002
49 #define OUTPUT_SPEAKERS_NARROW 0x00000003
52 #define A3D_RESOURCE_MODE_OFF 0x00000000
53 #define A3D_RESOURCE_MODE_NOTIFY 0x00000001
54 #define A3D_RESOURCE_MODE_DYNAMIC 0x00000002
59 #define INTERFACE IA3d
66 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
67 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
68 STDMETHOD_(ULONG,Release) (THIS) PURE;
71 STDMETHOD(SetOutputMode)(THIS_ DWORD dwFrontXtalkMode, DWORD dwBackXtalkMode, DWORD dwQuadMode) PURE;
72 STDMETHOD(GetOutputMode)(THIS_ DWORD *lpdwFrontXtalkMode, DWORD *lpdwBackXtalkMode, DWORD *lpdwQuadMode) PURE;
74 STDMETHOD(SetResourceManagerMode) (THIS_ DWORD ) PURE;
75 STDMETHOD(GetResourceManagerMode) (THIS_ DWORD *) PURE;
77 STDMETHOD(SetHFAbsorbFactor)(THIS_ FLOAT ) PURE;
78 STDMETHOD(GetHFAbsorbFactor)(THIS_ FLOAT *) PURE;
88 #define A3D_OK 1 // A3dCreate returns this upon detection of A3D enabled hardware.
91 A3dCreate(GUID * lpGUID, LPDIRECTSOUND *
ppDS, IUnknown FAR *
pUnkOuter );
95 #if !defined(__cplusplus) || defined(CINTERFACE)
96 #define IA3d_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
97 #define IA3d_AddRef(p) (p)->lpVtbl->AddRef(p)
98 #define IA3d_Release(p) (p)->lpVtbl->Release(p)
99 #define IA3d_SetOutputMode(p,a,b,c) (p)->lpVtbl->SetOutputMode(p,a,b,c)
100 #define IA3d_GetOutputMode(p,a,b,c) (p)->lpVtbl->GetOutputMode(p,a,b,c)
101 #define IA3d_SetResourceManagerMode(p,a) (p)->lpVtbl->SetResourceManagerMode(p,a)
102 #define IA3d_GetResourceManagerMode(p,a) (p)->lpVtbl->GetResourceManagerMode(p,a)
103 #define IA3d_SetHFAbsorbFactor(p,a) (p)->lpVtbl->SetHFAbsorbFactor(p,a)
104 #define IA3d_GetHFAbsorbFactor(p,a) (p)->lpVtbl->GetHFAbsorbFactor(p,a)
108 #define IA3d_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
109 #define IA3d_AddRef(p) (p)->AddRef()
110 #define IA3d_Release(p) (p)->Release()
111 #define IA3d_SetOutputMode(p,a,b,c) (p)->SetOutputMode(a,b,c)
112 #define IA3d_GetOutputMode(p,a,b,c) (p)->GetOutputMode(a,b,c)
113 #define IA3d_SetResourceManagerMode(p,a) (p)->SetResourceManagerMode(a)
114 #define IA3d_GetResourceManagerMode(p,a) (p)->GetResourceManagerMode(a)
115 #define IA3d_SetHFAbsorbFactor(p,a) (p)->SetHFAbsorbFactor(a)
116 #define IA3d_GetHFAbsorbFactor(p,a) (p)->GetHFAbsorbFactor(a)