2 * DirectPlay Voice Interfaces
4 * Copyright (C) 2014 Alistair Leslie-Hughes
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 #ifndef __DVOICE_INCLUDED__
21 #define __DVOICE_INCLUDED__
34 DEFINE_GUID(CLSID_DirectPlayVoiceClient
, 0xb9f3eb85, 0xb781, 0x4ac1, 0x8d, 0x90, 0x93, 0xa0, 0x5e, 0xe3, 0x7d, 0x7d);
35 DEFINE_GUID(CLSID_DirectPlayVoiceServer
, 0xd3f5b8e6, 0x9b78, 0x4a4c, 0x94, 0xea, 0xca, 0x23, 0x97, 0xb6, 0x63, 0xd3);
36 DEFINE_GUID(CLSID_DirectPlayVoiceTest
, 0x0f0f094b, 0xb01c, 0x4091, 0xa1, 0x4d, 0xdd, 0x0c, 0xd8, 0x07, 0x71, 0x1a);
38 DEFINE_GUID(IID_IDirectPlayVoiceClient
, 0x1dfdc8ea, 0xbcf7, 0x41d6, 0xb2, 0x95, 0xab, 0x64, 0xb3, 0xb2, 0x33, 0x06);
39 DEFINE_GUID(IID_IDirectPlayVoiceServer
, 0xfaa1c173, 0x0468, 0x43b6, 0x8a, 0x2a, 0xea, 0x8a, 0x4f, 0x20, 0x76, 0xc9);
40 DEFINE_GUID(IID_IDirectPlayVoiceTest
, 0xd26af734, 0x208b, 0x41da, 0x82, 0x24, 0xe0, 0xce, 0x79, 0x81, 0x0b, 0xe1);
42 DEFINE_GUID(DPVCTGUID_ADPCM
, 0x699b52c1, 0xa885, 0x46a8, 0xa3, 0x08, 0x97, 0x17, 0x24, 0x19, 0xad, 0xc7);
43 DEFINE_GUID(DPVCTGUID_GSM
, 0x24768c60, 0x5a0d, 0x11d3, 0x9b, 0xe4, 0x52, 0x54, 0x00, 0xd9, 0x85, 0xe7);
44 DEFINE_GUID(DPVCTGUID_NONE
, 0x8de12fd4, 0x7cb3, 0x48ce, 0xa7, 0xe8, 0x9c, 0x47, 0xa2, 0x2e, 0x8a, 0xc5);
45 DEFINE_GUID(DPVCTGUID_SC03
, 0x7d82a29b, 0x2242, 0x4f82, 0x8f, 0x39, 0x5d, 0x11, 0x53, 0xdf, 0x3e, 0x41);
46 DEFINE_GUID(DPVCTGUID_SC06
, 0x53def900, 0x7168, 0x4633, 0xb4, 0x7f, 0xd1, 0x43, 0x91, 0x6a, 0x13, 0xc7);
47 DEFINE_GUID(DPVCTGUID_TRUESPEECH
, 0xd7954361, 0x5a0b, 0x11d3, 0x9b, 0xe4, 0x52, 0x54, 0x00, 0xd9, 0x85, 0xe7);
48 DEFINE_GUID(DPVCTGUID_VR12
, 0xfe44a9fe, 0x8ed4, 0x48bf, 0x9d, 0x66, 0x1b, 0x1a, 0xdf, 0xf9, 0xff, 0x6d);
50 #define DPVCTGUID_DEFAULT DPVCTGUID_SC03
52 typedef struct IDirectPlayVoiceClient
*LPDIRECTPLAYVOICECLIENT
, *PDIRECTPLAYVOICECLIENT
;
53 typedef struct IDirectPlayVoiceServer
*LPDIRECTPLAYVOICESERVER
, *PDIRECTPLAYVOICESERVER
;
54 typedef struct IDirectPlayVoiceTest
*LPDIRECTPLAYVOICETEST
, *PDIRECTPLAYVOICETEST
;
57 typedef HRESULT (PASCAL
*PDVMESSAGEHANDLER
)(PVOID pvUserContext
, DWORD dwMessageType
, LPVOID lpMessage
);
58 typedef PDVMESSAGEHANDLER LPDVMESSAGEHANDLER
;
60 typedef DWORD DVID
, *LPDVID
, *PDVID
;
62 #define DVMSGID_MINBASE DVMSGID_CREATEVOICEPLAYER
63 #define DVMSGID_CREATEVOICEPLAYER 0x0001
64 #define DVMSGID_DELETEVOICEPLAYER 0x0002
65 #define DVMSGID_SESSIONLOST 0x0003
66 #define DVMSGID_PLAYERVOICESTART 0x0004
67 #define DVMSGID_PLAYERVOICESTOP 0x0005
68 #define DVMSGID_RECORDSTART 0x0006
69 #define DVMSGID_RECORDSTOP 0x0007
70 #define DVMSGID_CONNECTRESULT 0x0008
71 #define DVMSGID_DISCONNECTRESULT 0x0009
72 #define DVMSGID_INPUTLEVEL 0x000A
73 #define DVMSGID_OUTPUTLEVEL 0x000B
74 #define DVMSGID_HOSTMIGRATED 0x000C
75 #define DVMSGID_SETTARGETS 0x000D
76 #define DVMSGID_PLAYEROUTPUTLEVEL 0x000E
77 #define DVMSGID_LOSTFOCUS 0x0010
78 #define DVMSGID_GAINFOCUS 0x0011
79 #define DVMSGID_LOCALHOSTSETUP 0x0012
80 #define DVMSGID_MAXBASE DVMSGID_LOCALHOSTSETUP
82 #define DVBUFFERAGGRESSIVENESS_MIN 0x00000001
83 #define DVBUFFERAGGRESSIVENESS_MAX 0x00000064
84 #define DVBUFFERAGGRESSIVENESS_DEFAULT 0x00000000
86 #define DVBUFFERQUALITY_MIN 0x00000001
87 #define DVBUFFERQUALITY_MAX 0x00000064
88 #define DVBUFFERQUALITY_DEFAULT 0x00000000
90 #define DVID_SERVERPLAYER 1
91 #define DVID_ALLPLAYERS 0
92 #define DVID_REMAINING 0xFFFFFFFF
94 #define DVINPUTLEVEL_MIN 0x00000000
95 #define DVINPUTLEVEL_MAX 0x00000063
97 #define DVNOTIFYPERIOD_MINPERIOD 20
99 #define DVPLAYBACKVOLUME_DEFAULT DSBVOLUME_MAX
101 #define DVRECORDVOLUME_LAST 0x00000001
104 #define DVTHRESHOLD_DEFAULT 0xFFFFFFFF
105 #define DVTHRESHOLD_MIN 0x00000000
106 #define DVTHRESHOLD_MAX 0x00000063
107 #define DVTHRESHOLD_UNUSED 0xFFFFFFFE
110 #define DVSESSIONTYPE_PEER 0x00000001
111 #define DVSESSIONTYPE_MIXING 0x00000002
112 #define DVSESSIONTYPE_FORWARDING 0x00000003
113 #define DVSESSIONTYPE_ECHO 0x00000004
115 #define DVCLIENTCONFIG_RECORDMUTE 0x00000001
116 #define DVCLIENTCONFIG_PLAYBACKMUTE 0x00000002
117 #define DVCLIENTCONFIG_MANUALVOICEACTIVATED 0x00000004
118 #define DVCLIENTCONFIG_AUTORECORDVOLUME 0x00000008
119 #define DVCLIENTCONFIG_MUTEGLOBAL 0x00000010
120 #define DVCLIENTCONFIG_AUTOVOICEACTIVATED 0x00000020
121 #define DVCLIENTCONFIG_ECHOSUPPRESSION 0x08000000
123 #define DVFLAGS_SYNC 0x00000001
124 #define DVFLAGS_QUERYONLY 0x00000002
125 #define DVFLAGS_NOHOSTMIGRATE 0x00000008
126 #define DVFLAGS_ALLOWBACK 0x00000010
128 #define DVSESSION_NOHOSTMIGRATION 0x00000001
129 #define DVSESSION_SERVERCONTROLTARGET 0x00000002
131 #define DVSOUNDCONFIG_NORMALMODE 0x00000001
132 #define DVSOUNDCONFIG_AUTOSELECT 0x00000002
133 #define DVSOUNDCONFIG_HALFDUPLEX 0x00000004
134 #define DVSOUNDCONFIG_NORECVOLAVAILABLE 0x00000010
135 #define DVSOUNDCONFIG_NOFOCUS 0x20000000
137 #define DVSOUNDCONFIG_SETCONVERSIONQUALITY 0x00000008
138 #define DVSOUNDCONFIG_STRICTFOCUS 0x40000000
139 #define DVPLAYERCAPS_HALFDUPLEX 0x00000001
140 #define DVPLAYERCAPS_LOCAL 0x00000002
146 } DVCAPS
, *LPDVCAPS
, *PDVCAPS
;
153 LONG lPlaybackVolume
;
155 DWORD dwBufferQuality
;
156 DWORD dwBufferAggressiveness
;
157 DWORD dwNotifyPeriod
;
158 } DVCLIENTCONFIG
, *LPDVCLIENTCONFIG
, *PDVCLIENTCONFIG
;
165 LPWSTR lpszDescription
;
167 DWORD dwMaxBitsPerSecond
;
168 } DVCOMPRESSIONINFO
, *LPDVCOMPRESSIONINFO
, *PDVCOMPRESSIONINFO
;
176 DWORD dwBufferQuality
;
177 DWORD dwBufferAggressiveness
;
178 } DVSESSIONDESC
, *LPDVSESSIONDESC
, *PDVSESSIONDESC
;
184 GUID guidPlaybackDevice
;
185 LPDIRECTSOUND lpdsPlaybackDevice
;
186 GUID guidCaptureDevice
;
187 LPDIRECTSOUNDCAPTURE lpdsCaptureDevice
;
189 LPDIRECTSOUNDBUFFER lpdsMainBuffer
;
190 DWORD dwMainBufferFlags
;
191 DWORD dwMainBufferPriority
;
192 } DVSOUNDDEVICECONFIG
, *LPDVSOUNDDEVICECONFIG
, *PDVSOUNDDEVICECONFIG
;
198 } DVMSG_CONNECTRESULT
, *LPDVMSG_CONNECTRESULT
, *PDVMSG_CONNECTRESULT
;
205 PVOID pvPlayerContext
;
206 } DVMSG_CREATEVOICEPLAYER
, *LPDVMSG_CREATEVOICEPLAYER
, *PDVMSG_CREATEVOICEPLAYER
;
212 PVOID pvPlayerContext
;
213 } DVMSG_DELETEVOICEPLAYER
, *LPDVMSG_DELETEVOICEPLAYER
, *PDVMSG_DELETEVOICEPLAYER
;
219 } DVMSG_DISCONNECTRESULT
, *LPDVMSG_DISCONNECTRESULT
, *PDVMSG_DISCONNECTRESULT
;
225 LPDIRECTPLAYVOICESERVER pdvServerInterface
;
226 } DVMSG_HOSTMIGRATED
, *LPDVMSG_HOSTMIGRATED
, *PDVMSG_HOSTMIGRATED
;
233 PVOID pvLocalPlayerContext
;
234 } DVMSG_INPUTLEVEL
, *LPDVMSG_INPUTLEVEL
, *PDVMSG_INPUTLEVEL
;
240 PDVMESSAGEHANDLER pMessageHandler
;
241 } DVMSG_LOCALHOSTSETUP
, *LPDVMSG_LOCALHOSTSETUP
, *PDVMSG_LOCALHOSTSETUP
;
248 PVOID pvLocalPlayerContext
;
249 } DVMSG_OUTPUTLEVEL
, *LPDVMSG_OUTPUTLEVEL
, *PDVMSG_OUTPUTLEVEL
;
254 DVID dvidSourcePlayerID
;
256 PVOID pvPlayerContext
;
257 } DVMSG_PLAYEROUTPUTLEVEL
, *LPDVMSG_PLAYEROUTPUTLEVEL
, *PDVMSG_PLAYEROUTPUTLEVEL
;
262 DVID dvidSourcePlayerID
;
263 PVOID pvPlayerContext
;
264 } DVMSG_PLAYERVOICESTART
, *LPDVMSG_PLAYERVOICESTART
, *PDVMSG_PLAYERVOICESTART
;
269 DVID dvidSourcePlayerID
;
270 PVOID pvPlayerContext
;
271 } DVMSG_PLAYERVOICESTOP
, *LPDVMSG_PLAYERVOICESTOP
, *PDVMSG_PLAYERVOICESTOP
;
277 PVOID pvLocalPlayerContext
;
278 } DVMSG_RECORDSTART
, *LPDVMSG_RECORDSTART
, *PDVMSG_RECORDSTART
;
284 PVOID pvLocalPlayerContext
;
285 } DVMSG_RECORDSTOP
, *LPDVMSG_RECORDSTOP
, *PDVMSG_RECORDSTOP
;
291 } DVMSG_SESSIONLOST
, *LPDVMSG_SESSIONLOST
, *PDVMSG_SESSIONLOST
;
298 } DVMSG_SETTARGETS
, *LPDVMSG_SETTARGETS
, *PDVMSG_SETTARGETS
;
302 #define MAKE_DVHRESULT( code ) MAKE_HRESULT( 1, _FACDPV, code )
305 #define DV_FULLDUPLEX MAKE_HRESULT(0, _FACDPV, 0x0005)
306 #define DV_HALFDUPLEX MAKE_HRESULT(0, _FACDPV, 0x000A)
307 #define DV_PENDING MAKE_HRESULT(0, _FACDPV, 0x0010)
309 #define DVERR_BUFFERTOOSMALL MAKE_DVHRESULT(0x001E)
310 #define DVERR_EXCEPTION MAKE_DVHRESULT(0x004A)
311 #define DVERR_GENERIC E_FAIL
312 #define DVERR_INVALIDFLAGS MAKE_DVHRESULT(0x0078)
313 #define DVERR_INVALIDOBJECT MAKE_DVHRESULT(0x0082)
314 #define DVERR_INVALIDPARAM E_INVALIDARG
315 #define DVERR_INVALIDPLAYER MAKE_DVHRESULT(0x0087)
316 #define DVERR_INVALIDGROUP MAKE_DVHRESULT(0x0091)
317 #define DVERR_INVALIDHANDLE MAKE_DVHRESULT(0x0096)
318 #define DVERR_OUTOFMEMORY E_OUTOFMEMORY
319 #define DVERR_PENDING DV_PENDING
320 #define DVERR_NOTSUPPORTED E_NOTIMPL
321 #define DVERR_NOINTERFACE E_NOINTERFACE
322 #define DVERR_SESSIONLOST MAKE_DVHRESULT(0x012C)
323 #define DVERR_NOVOICESESSION MAKE_DVHRESULT(0x012E)
324 #define DVERR_CONNECTIONLOST MAKE_DVHRESULT(0x0168)
325 #define DVERR_NOTINITIALIZED MAKE_DVHRESULT(0x0169)
326 #define DVERR_CONNECTED MAKE_DVHRESULT(0x016A)
327 #define DVERR_NOTCONNECTED MAKE_DVHRESULT(0x016B)
328 #define DVERR_CONNECTABORTING MAKE_DVHRESULT(0x016E)
329 #define DVERR_NOTALLOWED MAKE_DVHRESULT(0x016F)
330 #define DVERR_INVALIDTARGET MAKE_DVHRESULT(0x0170)
331 #define DVERR_TRANSPORTNOTHOST MAKE_DVHRESULT(0x0171)
332 #define DVERR_COMPRESSIONNOTSUPPORTED MAKE_DVHRESULT(0x0172)
333 #define DVERR_ALREADYPENDING MAKE_DVHRESULT(0x0173)
334 #define DVERR_SOUNDINITFAILURE MAKE_DVHRESULT(0x0174)
335 #define DVERR_TIMEOUT MAKE_DVHRESULT(0x0175)
336 #define DVERR_CONNECTABORTED MAKE_DVHRESULT(0x0176)
337 #define DVERR_NO3DSOUND MAKE_DVHRESULT(0x0177)
338 #define DVERR_ALREADYBUFFERED MAKE_DVHRESULT(0x0178)
339 #define DVERR_NOTBUFFERED MAKE_DVHRESULT(0x0179)
340 #define DVERR_HOSTING MAKE_DVHRESULT(0x017A)
341 #define DVERR_NOTHOSTING MAKE_DVHRESULT(0x017B)
342 #define DVERR_INVALIDDEVICE MAKE_DVHRESULT(0x017C)
343 #define DVERR_RECORDSYSTEMERROR MAKE_DVHRESULT(0x017D)
344 #define DVERR_PLAYBACKSYSTEMERROR MAKE_DVHRESULT(0x017E)
345 #define DVERR_SENDERROR MAKE_DVHRESULT(0x017F)
346 #define DVERR_USERCANCEL MAKE_DVHRESULT(0x0180)
347 #define DVERR_RUNSETUP MAKE_DVHRESULT(0x0183)
348 #define DVERR_INCOMPATIBLEVERSION MAKE_DVHRESULT(0x0184)
349 #define DVERR_INITIALIZED MAKE_DVHRESULT(0x0187)
350 #define DVERR_INVALIDPOINTER E_POINTER
351 #define DVERR_NOTRANSPORT MAKE_DVHRESULT(0x0188)
352 #define DVERR_NOCALLBACK MAKE_DVHRESULT(0x0189)
353 #define DVERR_TRANSPORTNOTINIT MAKE_DVHRESULT(0x018A)
354 #define DVERR_TRANSPORTNOSESSION MAKE_DVHRESULT(0x018B)
355 #define DVERR_TRANSPORTNOPLAYER MAKE_DVHRESULT(0x018C)
356 #define DVERR_USERBACK MAKE_DVHRESULT(0x018D)
357 #define DVERR_NORECVOLAVAILABLE MAKE_DVHRESULT(0x018E)
358 #define DVERR_INVALIDBUFFER MAKE_DVHRESULT(0x018F)
359 #define DVERR_LOCKEDBUFFER MAKE_DVHRESULT(0x0190)
362 #define INTERFACE IDirectPlayVoiceClient
363 DECLARE_INTERFACE_(IDirectPlayVoiceClient
, IUnknown
)
365 STDMETHOD(QueryInterface
) (THIS_ REFIID riid
, PVOID
*ppvObj
) PURE
;
366 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
367 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
368 STDMETHOD(Initialize
) (THIS_ LPUNKNOWN
, PDVMESSAGEHANDLER
, PVOID
, PDWORD
, DWORD
) PURE
;
369 STDMETHOD(Connect
) (THIS_ PDVSOUNDDEVICECONFIG
, PDVCLIENTCONFIG
, DWORD
) PURE
;
370 STDMETHOD(Disconnect
) (THIS_ DWORD
) PURE
;
371 STDMETHOD(GetSessionDesc
) (THIS_ PDVSESSIONDESC
) PURE
;
372 STDMETHOD(GetClientConfig
) (THIS_ PDVCLIENTCONFIG
) PURE
;
373 STDMETHOD(SetClientConfig
) (THIS_ PDVCLIENTCONFIG
) PURE
;
374 STDMETHOD(GetCaps
) (THIS_ PDVCAPS
) PURE
;
375 STDMETHOD(GetCompressionTypes
) (THIS_ PVOID
, PDWORD
, PDWORD
, DWORD
) PURE
;
376 STDMETHOD(SetTransmitTargets
) (THIS_ PDVID
, DWORD
, DWORD
) PURE
;
377 STDMETHOD(GetTransmitTargets
) (THIS_ PDVID
, PDWORD
, DWORD
) PURE
;
378 STDMETHOD(Create3DSoundBuffer
) (THIS_ DVID
, LPDIRECTSOUNDBUFFER
, DWORD
, DWORD
, LPDIRECTSOUND3DBUFFER
*) PURE
;
379 STDMETHOD(Delete3DSoundBuffer
) (THIS_ DVID
, LPDIRECTSOUND3DBUFFER
*) PURE
;
380 STDMETHOD(SetNotifyMask
) (THIS_ PDWORD
, DWORD
) PURE
;
381 STDMETHOD(GetSoundDeviceConfig
)(THIS_ PDVSOUNDDEVICECONFIG
, PDWORD
) PURE
;
385 #define INTERFACE IDirectPlayVoiceServer
386 DECLARE_INTERFACE_(IDirectPlayVoiceServer
, IUnknown
)
388 STDMETHOD(QueryInterface
) (THIS_ REFIID riid
, LPVOID
*ppvObj
) PURE
;
389 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
390 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
391 STDMETHOD(Initialize
) (THIS_ LPUNKNOWN
, PDVMESSAGEHANDLER
, PVOID
, LPDWORD
, DWORD
) PURE
;
392 STDMETHOD(StartSession
) (THIS_ PDVSESSIONDESC
, DWORD
) PURE
;
393 STDMETHOD(StopSession
) (THIS_ DWORD
) PURE
;
394 STDMETHOD(GetSessionDesc
) (THIS_ PDVSESSIONDESC
) PURE
;
395 STDMETHOD(SetSessionDesc
) (THIS_ PDVSESSIONDESC
) PURE
;
396 STDMETHOD(GetCaps
) (THIS_ PDVCAPS
) PURE
;
397 STDMETHOD(GetCompressionTypes
) (THIS_ PVOID
, PDWORD
, PDWORD
, DWORD
) PURE
;
398 STDMETHOD(SetTransmitTargets
) (THIS_ DVID
, PDVID
, DWORD
, DWORD
) PURE
;
399 STDMETHOD(GetTransmitTargets
) (THIS_ DVID
, PDVID
, PDWORD
, DWORD
) PURE
;
400 STDMETHOD(SetNotifyMask
) (THIS_ PDWORD
, DWORD
) PURE
;
404 #define INTERFACE IDirectPlayVoiceTest
405 DECLARE_INTERFACE_(IDirectPlayVoiceTest
, IUnknown
)
407 STDMETHOD(QueryInterface
) (THIS_ REFIID riid
, PVOID
*ppvObj
) PURE
;
408 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
409 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
410 STDMETHOD(CheckAudioSetup
) (THIS_
const GUID
*, const GUID
*, HWND
, DWORD
) PURE
;
414 #if !defined(__cplusplus) || defined(CINTERFACE)
416 #define IDirectPlayVoiceClient_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
417 #define IDirectPlayVoiceClient_AddRef(p) (p)->lpVtbl->AddRef(p)
418 #define IDirectPlayVoiceClient_Release(p) (p)->lpVtbl->Release(p)
420 #define IDirectPlayVoiceClient_Initialize(p,a,b,c,d,e) (p)->lpVtbl->Initialize(p,a,b,c,d,e)
421 #define IDirectPlayVoiceClient_Connect(p,a,b,c) (p)->lpVtbl->Connect(p,a,b,c)
422 #define IDirectPlayVoiceClient_Disconnect(p,a) (p)->lpVtbl->Disconnect(p,a)
423 #define IDirectPlayVoiceClient_GetSessionDesc(p,a) (p)->lpVtbl->GetSessionDesc(p,a)
424 #define IDirectPlayVoiceClient_GetClientConfig(p,a) (p)->lpVtbl->GetClientConfig(p,a)
425 #define IDirectPlayVoiceClient_SetClientConfig(p,a) (p)->lpVtbl->SetClientConfig(p,a)
426 #define IDirectPlayVoiceClient_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
427 #define IDirectPlayVoiceClient_GetCompressionTypes(p,a,b,c,d) (p)->lpVtbl->GetCompressionTypes(p,a,b,c,d)
428 #define IDirectPlayVoiceClient_SetTransmitTargets(p,a,b,c) (p)->lpVtbl->SetTransmitTargets(p,a,b,c)
429 #define IDirectPlayVoiceClient_GetTransmitTargets(p,a,b,c) (p)->lpVtbl->GetTransmitTargets(p,a,b,c)
430 #define IDirectPlayVoiceClient_Create3DSoundBuffer(p,a,b,c,d,e) (p)->lpVtbl->Create3DSoundBuffer(p,a,b,c,d,e)
431 #define IDirectPlayVoiceClient_Delete3DSoundBuffer(p,a,b) (p)->lpVtbl->Delete3DSoundBuffer(p,a,b)
432 #define IDirectPlayVoiceClient_SetNotifyMask(p,a,b) (p)->lpVtbl->SetNotifyMask(p,a,b)
433 #define IDirectPlayVoiceClient_GetSoundDeviceConfig(p,a,b) (p)->lpVtbl->GetSoundDeviceConfig(p,a,b)
435 #define IDirectPlayVoiceServer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
436 #define IDirectPlayVoiceServer_AddRef(p) (p)->lpVtbl->AddRef(p)
437 #define IDirectPlayVoiceServer_Release(p) (p)->lpVtbl->Release(p)
439 #define IDirectPlayVoiceServer_Initialize(p,a,b,c,d,e) (p)->lpVtbl->Initialize(p,a,b,c,d,e)
440 #define IDirectPlayVoiceServer_StartSession(p,a,b) (p)->lpVtbl->StartSession(p,a,b)
441 #define IDirectPlayVoiceServer_StopSession(p,a) (p)->lpVtbl->StopSession(p,a)
442 #define IDirectPlayVoiceServer_GetSessionDesc(p,a) (p)->lpVtbl->GetSessionDesc(p,a)
443 #define IDirectPlayVoiceServer_SetSessionDesc(p,a) (p)->lpVtbl->SetSessionDesc(p,a)
444 #define IDirectPlayVoiceServer_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
445 #define IDirectPlayVoiceServer_GetCompressionTypes(p,a,b,c,d) (p)->lpVtbl->GetCompressionTypes(p,a,b,c,d)
446 #define IDirectPlayVoiceServer_SetTransmitTargets(p,a,b,c,d) (p)->lpVtbl->SetTransmitTargets(p,a,b,c,d)
447 #define IDirectPlayVoiceServer_GetTransmitTargets(p,a,b,c,d) (p)->lpVtbl->GetTransmitTargets(p,a,b,c,d)
448 #define IDirectPlayVoiceServer_SetNotifyMask(p,a,b) (p)->lpVtbl->SetNotifyMask(p,a,b)
449 #define IDirectPlayVoiceTest_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
450 #define IDirectPlayVoiceTest_AddRef(p) (p)->lpVtbl->AddRef(p)
451 #define IDirectPlayVoiceTest_Release(p) (p)->lpVtbl->Release(p)
452 #define IDirectPlayVoiceTest_CheckAudioSetup(p,a,b,c,d) (p)->lpVtbl->CheckAudioSetup(p,a,b,c,d)
457 #define IDirectPlayVoiceClient_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
458 #define IDirectPlayVoiceClient_AddRef(p) (p)->AddRef()
459 #define IDirectPlayVoiceClient_Release(p) (p)->Release()
460 #define IDirectPlayVoiceClient_Initialize(p,a,b,c,d,e) (p)->Initialize(a,b,c,d,e)
461 #define IDirectPlayVoiceClient_Connect(p,a,b,c) (p)->Connect(a,b,c)
462 #define IDirectPlayVoiceClient_Disconnect(p,a) (p)->Disconnect(a)
463 #define IDirectPlayVoiceClient_GetSessionDesc(p,a) (p)->GetSessionDesc(a)
464 #define IDirectPlayVoiceClient_GetClientConfig(p,a) (p)->GetClientConfig(a)
465 #define IDirectPlayVoiceClient_SetClientConfig(p,a) (p)->SetClientConfig(a)
466 #define IDirectPlayVoiceClient_GetCaps(p,a) (p)->GetCaps(a)
467 #define IDirectPlayVoiceClient_GetCompressionTypes(p,a,b,c,d) (p)->GetCompressionTypes(a,b,c,d)
468 #define IDirectPlayVoiceClient_SetTransmitTargets(p,a,b,c) (p)->SetTransmitTargets(a,b,c)
469 #define IDirectPlayVoiceClient_GetTransmitTargets(p,a,b,c) (p)->GetTransmitTargets(a,b,c)
470 #define IDirectPlayVoiceClient_Create3DSoundBuffer(p,a,b,c,d,e) (p)->Create3DSoundBuffer(a,b,c,d,e)
471 #define IDirectPlayVoiceClient_Delete3DSoundBuffer(p,a,b) (p)->Delete3DSoundBuffer(a,b)
472 #define IDirectPlayVoiceClient_SetNotifyMask(p,a,b) (p)->SetNotifyMask(a,b)
473 #define IDirectPlayVoiceClient_GetSoundDeviceConfig(p,a,b) (p)->GetSoundDeviceConfig(a,b)
475 #define IDirectPlayVoiceServer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
476 #define IDirectPlayVoiceServer_AddRef(p) (p)->AddRef()
477 #define IDirectPlayVoiceServer_Release(p) (p)->Release()
478 #define IDirectPlayVoiceServer_Initialize(p,a,b,c,d,e) (p)->Initialize(a,b,c,d,e)
479 #define IDirectPlayVoiceServer_StartSession(p,a,b) (p)->StartSession(a,b)
480 #define IDirectPlayVoiceServer_StopSession(p,a) (p)->StopSession(a)
481 #define IDirectPlayVoiceServer_GetSessionDesc(p,a) (p)->GetSessionDesc(a)
482 #define IDirectPlayVoiceServer_SetSessionDesc(p,a) (p)->SetSessionDesc(a)
483 #define IDirectPlayVoiceServer_GetCaps(p,a) (p)->GetCaps(a)
484 #define IDirectPlayVoiceServer_GetCompressionTypes(p,a,b,c,d) (p)->GetCompressionTypes(a,b,c,d)
485 #define IDirectPlayVoiceServer_SetTransmitTargets(p,a,b,c,d) (p)->SetTransmitTargets(a,b,c,d)
486 #define IDirectPlayVoiceServer_GetTransmitTargets(p,a,b,c,d) (p)->GetTransmitTargets(a,b,c,d)
487 #define IDirectPlayVoiceServer_SetNotifyMask(p,a,b) (p)->SetNotifyMask(a,b)
489 #define IDirectPlayVoiceTest_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
490 #define IDirectPlayVoiceTest_AddRef(p) (p)->AddRef()
491 #define IDirectPlayVoiceTest_Release(p) (p)->Release()
492 #define IDirectPlayVoiceTest_CheckAudioSetup(p,a,b,c,d) (p)->CheckAudioSetup(a,b,c,d)
501 #endif /* __DVOICE_INCLUDED__ */