ReactOS 0.4.17-dev-934-g091855f
dvoice.h
Go to the documentation of this file.
1 /*
2 * DirectPlay Voice Interfaces
3 *
4 * Copyright (C) 2014 Alistair Leslie-Hughes
5 *
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.
10 *
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.
15 *
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
19 */
20#ifndef __DVOICE_INCLUDED__
21#define __DVOICE_INCLUDED__
22
23#include <ole2.h>
24#include <mmsystem.h>
25#include <mmreg.h>
26#include <msacm.h>
27#include <dsound.h>
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33
34DEFINE_GUID(CLSID_DirectPlayVoiceClient, 0xb9f3eb85, 0xb781, 0x4ac1, 0x8d, 0x90, 0x93, 0xa0, 0x5e, 0xe3, 0x7d, 0x7d);
35DEFINE_GUID(CLSID_DirectPlayVoiceServer, 0xd3f5b8e6, 0x9b78, 0x4a4c, 0x94, 0xea, 0xca, 0x23, 0x97, 0xb6, 0x63, 0xd3);
36DEFINE_GUID(CLSID_DirectPlayVoiceTest, 0x0f0f094b, 0xb01c, 0x4091, 0xa1, 0x4d, 0xdd, 0x0c, 0xd8, 0x07, 0x71, 0x1a);
37
38DEFINE_GUID(IID_IDirectPlayVoiceClient, 0x1dfdc8ea, 0xbcf7, 0x41d6, 0xb2, 0x95, 0xab, 0x64, 0xb3, 0xb2, 0x33, 0x06);
39DEFINE_GUID(IID_IDirectPlayVoiceServer, 0xfaa1c173, 0x0468, 0x43b6, 0x8a, 0x2a, 0xea, 0x8a, 0x4f, 0x20, 0x76, 0xc9);
40DEFINE_GUID(IID_IDirectPlayVoiceTest, 0xd26af734, 0x208b, 0x41da, 0x82, 0x24, 0xe0, 0xce, 0x79, 0x81, 0x0b, 0xe1);
41
42DEFINE_GUID(DPVCTGUID_ADPCM, 0x699b52c1, 0xa885, 0x46a8, 0xa3, 0x08, 0x97, 0x17, 0x24, 0x19, 0xad, 0xc7);
43DEFINE_GUID(DPVCTGUID_GSM, 0x24768c60, 0x5a0d, 0x11d3, 0x9b, 0xe4, 0x52, 0x54, 0x00, 0xd9, 0x85, 0xe7);
44DEFINE_GUID(DPVCTGUID_NONE, 0x8de12fd4, 0x7cb3, 0x48ce, 0xa7, 0xe8, 0x9c, 0x47, 0xa2, 0x2e, 0x8a, 0xc5);
45DEFINE_GUID(DPVCTGUID_SC03, 0x7d82a29b, 0x2242, 0x4f82, 0x8f, 0x39, 0x5d, 0x11, 0x53, 0xdf, 0x3e, 0x41);
46DEFINE_GUID(DPVCTGUID_SC06, 0x53def900, 0x7168, 0x4633, 0xb4, 0x7f, 0xd1, 0x43, 0x91, 0x6a, 0x13, 0xc7);
47DEFINE_GUID(DPVCTGUID_TRUESPEECH, 0xd7954361, 0x5a0b, 0x11d3, 0x9b, 0xe4, 0x52, 0x54, 0x00, 0xd9, 0x85, 0xe7);
48DEFINE_GUID(DPVCTGUID_VR12, 0xfe44a9fe, 0x8ed4, 0x48bf, 0x9d, 0x66, 0x1b, 0x1a, 0xdf, 0xf9, 0xff, 0x6d);
49
50#define DPVCTGUID_DEFAULT DPVCTGUID_SC03
51
52typedef struct IDirectPlayVoiceClient *LPDIRECTPLAYVOICECLIENT, *PDIRECTPLAYVOICECLIENT;
53typedef struct IDirectPlayVoiceServer *LPDIRECTPLAYVOICESERVER, *PDIRECTPLAYVOICESERVER;
54typedef struct IDirectPlayVoiceTest *LPDIRECTPLAYVOICETEST, *PDIRECTPLAYVOICETEST;
55
56
57typedef HRESULT (PASCAL *PDVMESSAGEHANDLER)(PVOID pvUserContext, DWORD dwMessageType, LPVOID lpMessage);
59
60typedef DWORD DVID, *LPDVID, *PDVID;
61
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
81
82#define DVBUFFERAGGRESSIVENESS_MIN 0x00000001
83#define DVBUFFERAGGRESSIVENESS_MAX 0x00000064
84#define DVBUFFERAGGRESSIVENESS_DEFAULT 0x00000000
85
86#define DVBUFFERQUALITY_MIN 0x00000001
87#define DVBUFFERQUALITY_MAX 0x00000064
88#define DVBUFFERQUALITY_DEFAULT 0x00000000
89
90#define DVID_SERVERPLAYER 1
91#define DVID_ALLPLAYERS 0
92#define DVID_REMAINING 0xFFFFFFFF
93
94#define DVINPUTLEVEL_MIN 0x00000000
95#define DVINPUTLEVEL_MAX 0x00000063
96
97#define DVNOTIFYPERIOD_MINPERIOD 20
98
99#define DVPLAYBACKVOLUME_DEFAULT DSBVOLUME_MAX
100
101#define DVRECORDVOLUME_LAST 0x00000001
102
103
104#define DVTHRESHOLD_DEFAULT 0xFFFFFFFF
105#define DVTHRESHOLD_MIN 0x00000000
106#define DVTHRESHOLD_MAX 0x00000063
107#define DVTHRESHOLD_UNUSED 0xFFFFFFFE
108
109
110#define DVSESSIONTYPE_PEER 0x00000001
111#define DVSESSIONTYPE_MIXING 0x00000002
112#define DVSESSIONTYPE_FORWARDING 0x00000003
113#define DVSESSIONTYPE_ECHO 0x00000004
114
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
122
123#define DVFLAGS_SYNC 0x00000001
124#define DVFLAGS_QUERYONLY 0x00000002
125#define DVFLAGS_NOHOSTMIGRATE 0x00000008
126#define DVFLAGS_ALLOWBACK 0x00000010
127
128#define DVSESSION_NOHOSTMIGRATION 0x00000001
129#define DVSESSION_SERVERCONTROLTARGET 0x00000002
130
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
136
137#define DVSOUNDCONFIG_SETCONVERSIONQUALITY 0x00000008
138#define DVSOUNDCONFIG_STRICTFOCUS 0x40000000
139#define DVPLAYERCAPS_HALFDUPLEX 0x00000001
140#define DVPLAYERCAPS_LOCAL 0x00000002
141
142typedef struct
143{
147
148typedef struct
149{
159
160typedef struct
161{
169
170typedef struct
171{
179
180typedef struct
181{
193
194typedef struct
195{
199
200typedef struct
201{
207
208typedef struct
209{
214
215typedef struct
216{
220
221typedef struct
222{
227
228typedef struct
229{
235
236typedef struct
237{
242
243typedef struct
244{
250
251typedef struct
252{
258
259typedef struct
260{
265
266typedef struct
267{
272
273typedef struct
274{
279
280typedef struct
281{
286
287typedef struct
288{
292
293typedef struct
294{
299
300
301#define _FACDPV 0x15
302#define MAKE_DVHRESULT( code ) MAKE_HRESULT( 1, _FACDPV, code )
303
304#define DV_OK S_OK
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)
308
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)
360
361#undef INTERFACE
362#define INTERFACE IDirectPlayVoiceClient
363DECLARE_INTERFACE_(IDirectPlayVoiceClient, IUnknown)
364{
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;
379 STDMETHOD(Delete3DSoundBuffer) (THIS_ DVID, LPDIRECTSOUND3DBUFFER *) PURE;
380 STDMETHOD(SetNotifyMask) (THIS_ PDWORD, DWORD) PURE;
381 STDMETHOD(GetSoundDeviceConfig)(THIS_ PDVSOUNDDEVICECONFIG, PDWORD) PURE;
382};
383#undef INTERFACE
384
385#define INTERFACE IDirectPlayVoiceServer
386DECLARE_INTERFACE_(IDirectPlayVoiceServer, IUnknown)
387{
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;
401};
402#undef INTERFACE
403
404#define INTERFACE IDirectPlayVoiceTest
405DECLARE_INTERFACE_(IDirectPlayVoiceTest, IUnknown)
406{
410 STDMETHOD(CheckAudioSetup) (THIS_ const GUID *, const GUID *, HWND, DWORD) PURE;
411};
412#undef INTERFACE
413
414#if !defined(__cplusplus) || defined(CINTERFACE)
415
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)
419
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)
434
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)
438
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)
453
454
455#else /* C++ */
456
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)
474
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)
488
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)
493
494#endif
495
496
497#ifdef __cplusplus
498}
499#endif
500
501#endif /* __DVOICE_INCLUDED__ */
#define DECLARE_INTERFACE_(i, b)
Definition: basetyps.h:78
#define PURE
Definition: basetyps.h:64
#define THIS_
Definition: basetyps.h:65
#define THIS
Definition: basetyps.h:66
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
#define STDMETHOD(m)
Definition: basetyps.h:62
_In_ BOOLEAN Release
Definition: cdrom.h:920
static LPVOID LPUNKNOWN
Definition: dinput.c:53
_Check_return_ _In_ PQUERY_INTERFACE QueryInterface
Definition: dispmprt.h:1318
HANDLE HWND
Definition: compat.h:19
struct IDirectSoundCapture * LPDIRECTSOUNDCAPTURE
Definition: dsound.h:92
struct IDirectSoundBuffer * LPDIRECTSOUNDBUFFER
Definition: dsound.h:76
struct IDirectSound3DBuffer * LPDIRECTSOUND3DBUFFER
Definition: dsound.h:89
struct IDirectSound * LPDIRECTSOUND
Definition: dsound.h:70
HRESULT(PASCAL * PDVMESSAGEHANDLER)(PVOID pvUserContext, DWORD dwMessageType, LPVOID lpMessage)
Definition: dvoice.h:57
struct DVMSG_CREATEVOICEPLAYER * LPDVMSG_CREATEVOICEPLAYER
struct DVMSG_DISCONNECTRESULT * LPDVMSG_DISCONNECTRESULT
struct DVCLIENTCONFIG * PDVCLIENTCONFIG
struct DVMSG_PLAYERVOICESTOP * PDVMSG_PLAYERVOICESTOP
DWORD * LPDVID
Definition: dvoice.h:60
struct DVMSG_RECORDSTART * LPDVMSG_RECORDSTART
struct DVMSG_PLAYEROUTPUTLEVEL * PDVMSG_PLAYEROUTPUTLEVEL
struct DVSOUNDDEVICECONFIG * LPDVSOUNDDEVICECONFIG
struct DVMSG_HOSTMIGRATED * LPDVMSG_HOSTMIGRATED
struct DVMSG_PLAYERVOICESTART * LPDVMSG_PLAYERVOICESTART
struct IDirectPlayVoiceServer * PDIRECTPLAYVOICESERVER
Definition: dvoice.h:53
struct IDirectPlayVoiceClient * PDIRECTPLAYVOICECLIENT
Definition: dvoice.h:52
struct DVMSG_CONNECTRESULT * PDVMSG_CONNECTRESULT
struct DVMSG_INPUTLEVEL * PDVMSG_INPUTLEVEL
struct DVMSG_OUTPUTLEVEL * LPDVMSG_OUTPUTLEVEL
struct DVSESSIONDESC * PDVSESSIONDESC
struct DVMSG_OUTPUTLEVEL * PDVMSG_OUTPUTLEVEL
struct DVMSG_SETTARGETS * LPDVMSG_SETTARGETS
struct DVMSG_PLAYEROUTPUTLEVEL * LPDVMSG_PLAYEROUTPUTLEVEL
struct DVMSG_DELETEVOICEPLAYER * PDVMSG_DELETEVOICEPLAYER
DWORD DVID
Definition: dvoice.h:60
struct DVMSG_LOCALHOSTSETUP * PDVMSG_LOCALHOSTSETUP
struct DVCAPS * PDVCAPS
struct DVSOUNDDEVICECONFIG * PDVSOUNDDEVICECONFIG
struct DVSESSIONDESC * LPDVSESSIONDESC
struct DVMSG_DELETEVOICEPLAYER * LPDVMSG_DELETEVOICEPLAYER
struct DVMSG_PLAYERVOICESTOP * LPDVMSG_PLAYERVOICESTOP
struct DVMSG_RECORDSTOP * PDVMSG_RECORDSTOP
struct DVMSG_INPUTLEVEL * LPDVMSG_INPUTLEVEL
struct DVMSG_RECORDSTART * PDVMSG_RECORDSTART
struct DVMSG_DISCONNECTRESULT * PDVMSG_DISCONNECTRESULT
struct DVMSG_CREATEVOICEPLAYER * PDVMSG_CREATEVOICEPLAYER
PDVMESSAGEHANDLER LPDVMESSAGEHANDLER
Definition: dvoice.h:58
struct DVCLIENTCONFIG * LPDVCLIENTCONFIG
struct DVMSG_HOSTMIGRATED * PDVMSG_HOSTMIGRATED
struct IDirectPlayVoiceServer * LPDIRECTPLAYVOICESERVER
Definition: dvoice.h:53
struct DVMSG_SETTARGETS * PDVMSG_SETTARGETS
struct DVMSG_RECORDSTOP * LPDVMSG_RECORDSTOP
DWORD * PDVID
Definition: dvoice.h:60
struct DVMSG_CONNECTRESULT * LPDVMSG_CONNECTRESULT
struct DVCAPS * LPDVCAPS
struct DVCOMPRESSIONINFO * PDVCOMPRESSIONINFO
struct DVMSG_SESSIONLOST * PDVMSG_SESSIONLOST
struct DVMSG_LOCALHOSTSETUP * LPDVMSG_LOCALHOSTSETUP
struct DVMSG_SESSIONLOST * LPDVMSG_SESSIONLOST
struct IDirectPlayVoiceClient * LPDIRECTPLAYVOICECLIENT
Definition: dvoice.h:52
struct IDirectPlayVoiceTest * PDIRECTPLAYVOICETEST
Definition: dvoice.h:54
struct DVMSG_PLAYERVOICESTART * PDVMSG_PLAYERVOICESTART
struct DVCOMPRESSIONINFO * LPDVCOMPRESSIONINFO
struct IDirectPlayVoiceTest * LPDIRECTPLAYVOICETEST
Definition: dvoice.h:54
unsigned long DWORD
Definition: ntddk_ex.h:95
REFIID riid
Definition: atlbase.h:39
_In_ PKSPIN_CONNECT Connect
Definition: ks.h:4536
#define PASCAL
Definition: minwindef.h:117
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:83
#define LPDWORD
Definition: nt_native.h:46
#define DWORD
Definition: nt_native.h:44
DWORD * PDWORD
Definition: pedump.c:68
long LONG
Definition: pedump.c:60
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Definition: guiddef.h:68
#define REFIID
Definition: guiddef.h:118
Definition: dvoice.h:143
DWORD dwSize
Definition: dvoice.h:144
DWORD dwFlags
Definition: dvoice.h:145
DWORD dwThreshold
Definition: dvoice.h:154
LONG lPlaybackVolume
Definition: dvoice.h:153
DWORD dwSize
Definition: dvoice.h:150
DWORD dwFlags
Definition: dvoice.h:151
LONG lRecordVolume
Definition: dvoice.h:152
DWORD dwBufferQuality
Definition: dvoice.h:155
DWORD dwNotifyPeriod
Definition: dvoice.h:157
DWORD dwBufferAggressiveness
Definition: dvoice.h:156
LPWSTR lpszName
Definition: dvoice.h:164
DWORD dwMaxBitsPerSecond
Definition: dvoice.h:167
LPWSTR lpszDescription
Definition: dvoice.h:165
HRESULT hrResult
Definition: dvoice.h:197
DVID dvidNewHostID
Definition: dvoice.h:224
LPDIRECTPLAYVOICESERVER pdvServerInterface
Definition: dvoice.h:225
LONG lRecordVolume
Definition: dvoice.h:232
PVOID pvLocalPlayerContext
Definition: dvoice.h:233
DWORD dwSize
Definition: dvoice.h:230
DWORD dwPeakLevel
Definition: dvoice.h:231
PDVMESSAGEHANDLER pMessageHandler
Definition: dvoice.h:240
DWORD dwPeakLevel
Definition: dvoice.h:246
LONG lOutputVolume
Definition: dvoice.h:247
PVOID pvLocalPlayerContext
Definition: dvoice.h:248
DWORD dwPeakLevel
Definition: dvoice.h:276
PVOID pvLocalPlayerContext
Definition: dvoice.h:277
DWORD dwPeakLevel
Definition: dvoice.h:283
PVOID pvLocalPlayerContext
Definition: dvoice.h:284
DWORD dwSize
Definition: dvoice.h:282
HRESULT hrResult
Definition: dvoice.h:290
DWORD dwNumTargets
Definition: dvoice.h:296
DWORD dwSize
Definition: dvoice.h:295
PDVID pdvidTargets
Definition: dvoice.h:297
DWORD dwBufferAggressiveness
Definition: dvoice.h:177
DWORD dwSessionType
Definition: dvoice.h:174
DWORD dwSize
Definition: dvoice.h:172
DWORD dwFlags
Definition: dvoice.h:173
DWORD dwBufferQuality
Definition: dvoice.h:176
GUID guidCT
Definition: dvoice.h:175
DWORD dwMainBufferPriority
Definition: dvoice.h:191
LPDIRECTSOUNDCAPTURE lpdsCaptureDevice
Definition: dvoice.h:187
GUID guidCaptureDevice
Definition: dvoice.h:186
DWORD dwMainBufferFlags
Definition: dvoice.h:190
LPDIRECTSOUND lpdsPlaybackDevice
Definition: dvoice.h:185
GUID guidPlaybackDevice
Definition: dvoice.h:184
LPDIRECTSOUNDBUFFER lpdsMainBuffer
Definition: dvoice.h:189
uint16_t * LPWSTR
Definition: typedefs.h:56
void * PVOID
Definition: typedefs.h:50
uint32_t ULONG
Definition: typedefs.h:59
#define HRESULT
Definition: msvc.h:7
static void Initialize()
Definition: xlate.c:212