ReactOS 0.4.17-dev-934-g091855f
server.c File Reference
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
#include "objbase.h"
#include "wine/debug.h"
#include "dvoice.h"
Include dependency graph for server.c:

Go to the source code of this file.

Classes

struct  IDirectPlayVoiceServerImpl
 

Macros

#define COBJMACROS
 

Typedefs

typedef struct IDirectPlayVoiceServerImpl IDirectPlayVoiceServerImpl
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (dpvoice)
 
HRESULT DPVOICE_GetCompressionTypes (DVCOMPRESSIONINFO *pData, DWORD *pdwDataSize, DWORD *pdwNumElements, DWORD dwFlags)
 
static IDirectPlayVoiceServerImpl * impl_from_IDirectPlayVoiceServer (IDirectPlayVoiceServer *iface)
 
static HRESULT WINAPI dpvserver_QueryInterface (IDirectPlayVoiceServer *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI dpvserver_AddRef (IDirectPlayVoiceServer *iface)
 
static ULONG WINAPI dpvserver_Release (IDirectPlayVoiceServer *iface)
 
static HRESULT WINAPI dpvserver_Initialize (IDirectPlayVoiceServer *iface, IUnknown *lpVoid, PDVMESSAGEHANDLER pMessageHandler, void *pUserContext, DWORD *lpdwMessageMask, DWORD dwMessageMaskElements)
 
static HRESULT WINAPI dpvserver_StartSession (IDirectPlayVoiceServer *iface, PDVSESSIONDESC pSessionDesc, DWORD dwFlags)
 
static HRESULT WINAPI dpvserver_StopSession (IDirectPlayVoiceServer *iface, DWORD dwFlags)
 
static HRESULT WINAPI dpvserver_GetSessionDesc (IDirectPlayVoiceServer *iface, PDVSESSIONDESC pvSessionDesc)
 
static HRESULT WINAPI dpvserver_SetSessionDesc (IDirectPlayVoiceServer *iface, PDVSESSIONDESC pSessionDesc)
 
static HRESULT WINAPI dpvserver_GetCaps (IDirectPlayVoiceServer *iface, PDVCAPS pDVCaps)
 
static HRESULT WINAPI dpvserver_GetCompressionTypes (IDirectPlayVoiceServer *iface, void *pData, DWORD *pdwDataSize, DWORD *pdwNumElements, DWORD dwFlags)
 
static HRESULT WINAPI dpvserver_SetTransmitTargets (IDirectPlayVoiceServer *iface, DVID dvSource, PDVID pdvIDTargets, DWORD dwNumTargets, DWORD dwFlags)
 
static HRESULT WINAPI dpvserver_GetTransmitTargets (IDirectPlayVoiceServer *iface, DVID dvSource, PDVID pdvIDTargets, DWORD *pdwNumTargets, DWORD dwFlags)
 
static HRESULT WINAPI dpvserver_SetNotifyMask (IDirectPlayVoiceServer *iface, DWORD *pdwMessageMask, DWORD dwMessageMaskElements)
 
HRESULT DPVOICE_CreateDirectPlayVoiceServer (IClassFactory *iface, IUnknown *pUnkOuter, REFIID riid, void **ppobj)
 

Variables

static const IDirectPlayVoiceServerVtbl DirectPlayVoiceServer_Vtbl
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 23 of file server.c.

Typedef Documentation

◆ IDirectPlayVoiceServerImpl

Function Documentation

◆ DPVOICE_CreateDirectPlayVoiceServer()

HRESULT DPVOICE_CreateDirectPlayVoiceServer ( IClassFactory *  iface,
IUnknown *  pUnkOuter,
REFIID  riid,
void **  ppobj 
)

Definition at line 213 of file server.c.

214{
216 HRESULT ret;
217
218 TRACE("(%p, %s, %p)\n", pUnkOuter, debugstr_guid(riid), ppobj);
219
220 *ppobj = NULL;
221
223 if (!server)
224 return E_OUTOFMEMORY;
225
226 server->IDirectPlayVoiceServer_iface.lpVtbl = &DirectPlayVoiceServer_Vtbl;
227 server->ref = 1;
228
229 ret = IDirectPlayVoiceServer_QueryInterface(&server->IDirectPlayVoiceServer_iface, riid, ppobj);
230 IDirectPlayVoiceServer_Release(&server->IDirectPlayVoiceServer_iface);
231
232 return ret;
233}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define NULL
Definition: types.h:112
static const IDirectPlayVoiceServerVtbl DirectPlayVoiceServer_Vtbl
Definition: server.c:196
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
return ret
Definition: mutex.c:147
#define IDirectPlayVoiceServer_QueryInterface(p, a, b)
Definition: dvoice.h:435
#define IDirectPlayVoiceServer_Release(p)
Definition: dvoice.h:437
REFIID riid
Definition: atlbase.h:39
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
static rfbScreenInfoPtr server
Definition: vnc.c:74

◆ DPVOICE_GetCompressionTypes()

HRESULT DPVOICE_GetCompressionTypes ( DVCOMPRESSIONINFO *  pData,
DWORD *  pdwDataSize,
DWORD *  pdwNumElements,
DWORD  dwFlags 
)

Definition at line 42 of file server.c.

43{
44 static const DVCOMPRESSIONINFO pcm_type =
45 {80, {0x8de12fd4,0x7cb3,0x48ce,{0xa7,0xe8,0x9c,0x47,0xa2,0x2e,0x8a,0xc5}}, NULL, NULL, 0, 64000};
46 static const WCHAR pcm_name[] = L"MS-PCM 64 kbit/s";
47
49 LPWSTR string_loc;
50
51 if (!pdwDataSize || !pdwNumElements)
53
54 if (dwFlags)
55 return DVERR_INVALIDFLAGS;
56
57 *pdwNumElements = 1;
58
59 if (*pdwDataSize < sizeof(pcm_type) + sizeof(pcm_name))
60 {
62 }
63 else if (!pData)
64 {
66 }
67 else
68 {
69 string_loc = (LPWSTR)((char*)pData + sizeof(pcm_type));
70 memcpy(pData, &pcm_type, sizeof(pcm_type));
71 memcpy(string_loc, pcm_name, sizeof(pcm_name));
72 pData->lpszName = string_loc;
73 ret = DV_OK;
74 }
75
76 *pdwDataSize = sizeof(pcm_type) + sizeof(pcm_name);
77 return ret;
78}
#define L(x)
Definition: resources.c:13
#define DVERR_INVALIDFLAGS
Definition: dvoice.h:312
#define DVERR_BUFFERTOOSMALL
Definition: dvoice.h:309
#define DVERR_INVALIDPOINTER
Definition: dvoice.h:350
#define DV_OK
Definition: dvoice.h:304
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141
short WCHAR
Definition: pedump.c:58
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1830
uint16_t * LPWSTR
Definition: typedefs.h:56

Referenced by dpvclient_GetCompressionTypes(), and dpvserver_GetCompressionTypes().

◆ dpvserver_AddRef()

static ULONG WINAPI dpvserver_AddRef ( IDirectPlayVoiceServer *  iface)
static

Definition at line 98 of file server.c.

99{
102
103 TRACE("(%p) ref=%lu\n", This, ref);
104
105 return ref;
106}
#define InterlockedIncrement
Definition: armddk.h:53
static IDirectPlayVoiceServerImpl * impl_from_IDirectPlayVoiceServer(IDirectPlayVoiceServer *iface)
Definition: server.c:80
Definition: send.c:48
uint32_t ULONG
Definition: typedefs.h:59

◆ dpvserver_GetCaps()

static HRESULT WINAPI dpvserver_GetCaps ( IDirectPlayVoiceServer *  iface,
PDVCAPS  pDVCaps 
)
static

Definition at line 158 of file server.c.

159{
161 FIXME("%p %p\n", This, pDVCaps);
162 return E_NOTIMPL;
163}
#define FIXME(fmt,...)
Definition: precomp.h:53
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ dpvserver_GetCompressionTypes()

static HRESULT WINAPI dpvserver_GetCompressionTypes ( IDirectPlayVoiceServer *  iface,
void *  pData,
DWORD *  pdwDataSize,
DWORD *  pdwNumElements,
DWORD  dwFlags 
)
static

Definition at line 165 of file server.c.

167{
169 FIXME("%p %p %p %p %ld semi-stub\n", This, pData, pdwDataSize, pdwNumElements, dwFlags);
170 return DPVOICE_GetCompressionTypes(pData, pdwDataSize, pdwNumElements, dwFlags);
171}
HRESULT DPVOICE_GetCompressionTypes(DVCOMPRESSIONINFO *pData, DWORD *pdwDataSize, DWORD *pdwNumElements, DWORD dwFlags)
Definition: server.c:42

◆ dpvserver_GetSessionDesc()

static HRESULT WINAPI dpvserver_GetSessionDesc ( IDirectPlayVoiceServer *  iface,
PDVSESSIONDESC  pvSessionDesc 
)
static

Definition at line 144 of file server.c.

145{
147 FIXME("%p %p\n", This, pvSessionDesc);
148 return E_NOTIMPL;
149}

◆ dpvserver_GetTransmitTargets()

static HRESULT WINAPI dpvserver_GetTransmitTargets ( IDirectPlayVoiceServer *  iface,
DVID  dvSource,
PDVID  pdvIDTargets,
DWORD *  pdwNumTargets,
DWORD  dwFlags 
)
static

Definition at line 181 of file server.c.

183{
185 FIXME("%p %ld %p %p %ld\n", This, dvSource, pdvIDTargets, pdwNumTargets, dwFlags);
186 return E_NOTIMPL;
187}

◆ dpvserver_Initialize()

static HRESULT WINAPI dpvserver_Initialize ( IDirectPlayVoiceServer *  iface,
IUnknown *  lpVoid,
PDVMESSAGEHANDLER  pMessageHandler,
void *  pUserContext,
DWORD *  lpdwMessageMask,
DWORD  dwMessageMaskElements 
)
static

Definition at line 122 of file server.c.

124{
126 FIXME("%p %p %p %p %p %ld\n", This, lpVoid, pMessageHandler, pUserContext,lpdwMessageMask, dwMessageMaskElements);
127 return E_NOTIMPL;
128}

◆ dpvserver_QueryInterface()

static HRESULT WINAPI dpvserver_QueryInterface ( IDirectPlayVoiceServer *  iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 85 of file server.c.

86{
87 if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectPlayVoiceServer))
88 {
89 IUnknown_AddRef(iface);
90 *ppv = iface;
91 return S_OK;
92 }
93
94 WARN("(%p)->(%s,%p),not found\n", iface, debugstr_guid(riid), ppv);
95 return E_NOINTERFACE;
96}
#define WARN(fmt,...)
Definition: precomp.h:61
const GUID IID_IUnknown
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define S_OK
Definition: intsafe.h:52
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define E_NOINTERFACE
Definition: winerror.h:3479

◆ dpvserver_Release()

static ULONG WINAPI dpvserver_Release ( IDirectPlayVoiceServer *  iface)
static

Definition at line 108 of file server.c.

109{
112
113 TRACE("(%p) ref=%lu\n", This, ref);
114
115 if (!ref)
116 {
118 }
119 return ref;
120}
#define InterlockedDecrement
Definition: armddk.h:52
#define HeapFree(x, y, z)
Definition: compat.h:735

◆ dpvserver_SetNotifyMask()

static HRESULT WINAPI dpvserver_SetNotifyMask ( IDirectPlayVoiceServer *  iface,
DWORD *  pdwMessageMask,
DWORD  dwMessageMaskElements 
)
static

Definition at line 189 of file server.c.

190{
192 FIXME("%p %p %ld\n", This, pdwMessageMask, dwMessageMaskElements);
193 return E_NOTIMPL;
194}

◆ dpvserver_SetSessionDesc()

static HRESULT WINAPI dpvserver_SetSessionDesc ( IDirectPlayVoiceServer *  iface,
PDVSESSIONDESC  pSessionDesc 
)
static

Definition at line 151 of file server.c.

152{
154 FIXME("%p %p\n", This, pSessionDesc);
155 return E_NOTIMPL;
156}

◆ dpvserver_SetTransmitTargets()

static HRESULT WINAPI dpvserver_SetTransmitTargets ( IDirectPlayVoiceServer *  iface,
DVID  dvSource,
PDVID  pdvIDTargets,
DWORD  dwNumTargets,
DWORD  dwFlags 
)
static

Definition at line 173 of file server.c.

175{
177 FIXME("%p %ld %p %ld %ld\n", This, dvSource, pdvIDTargets, dwNumTargets, dwFlags);
178 return E_NOTIMPL;
179}

◆ dpvserver_StartSession()

static HRESULT WINAPI dpvserver_StartSession ( IDirectPlayVoiceServer *  iface,
PDVSESSIONDESC  pSessionDesc,
DWORD  dwFlags 
)
static

Definition at line 130 of file server.c.

131{
133 FIXME("%p %p %ld\n", This, pSessionDesc, dwFlags);
134 return E_NOTIMPL;
135}

◆ dpvserver_StopSession()

static HRESULT WINAPI dpvserver_StopSession ( IDirectPlayVoiceServer *  iface,
DWORD  dwFlags 
)
static

Definition at line 137 of file server.c.

138{
140 FIXME("%p %ld\n", This, dwFlags);
141 return E_NOTIMPL;
142}

◆ impl_from_IDirectPlayVoiceServer()

static IDirectPlayVoiceServerImpl * impl_from_IDirectPlayVoiceServer ( IDirectPlayVoiceServer *  iface)
inlinestatic

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( dpvoice  )

Variable Documentation

◆ DirectPlayVoiceServer_Vtbl

const IDirectPlayVoiceServerVtbl DirectPlayVoiceServer_Vtbl
static
Initial value:
=
{
}
static ULONG WINAPI dpvserver_Release(IDirectPlayVoiceServer *iface)
Definition: server.c:108
static HRESULT WINAPI dpvserver_Initialize(IDirectPlayVoiceServer *iface, IUnknown *lpVoid, PDVMESSAGEHANDLER pMessageHandler, void *pUserContext, DWORD *lpdwMessageMask, DWORD dwMessageMaskElements)
Definition: server.c:122
static HRESULT WINAPI dpvserver_SetNotifyMask(IDirectPlayVoiceServer *iface, DWORD *pdwMessageMask, DWORD dwMessageMaskElements)
Definition: server.c:189
static HRESULT WINAPI dpvserver_StopSession(IDirectPlayVoiceServer *iface, DWORD dwFlags)
Definition: server.c:137
static HRESULT WINAPI dpvserver_GetCompressionTypes(IDirectPlayVoiceServer *iface, void *pData, DWORD *pdwDataSize, DWORD *pdwNumElements, DWORD dwFlags)
Definition: server.c:165
static HRESULT WINAPI dpvserver_GetCaps(IDirectPlayVoiceServer *iface, PDVCAPS pDVCaps)
Definition: server.c:158
static HRESULT WINAPI dpvserver_StartSession(IDirectPlayVoiceServer *iface, PDVSESSIONDESC pSessionDesc, DWORD dwFlags)
Definition: server.c:130
static HRESULT WINAPI dpvserver_GetTransmitTargets(IDirectPlayVoiceServer *iface, DVID dvSource, PDVID pdvIDTargets, DWORD *pdwNumTargets, DWORD dwFlags)
Definition: server.c:181
static HRESULT WINAPI dpvserver_GetSessionDesc(IDirectPlayVoiceServer *iface, PDVSESSIONDESC pvSessionDesc)
Definition: server.c:144
static HRESULT WINAPI dpvserver_QueryInterface(IDirectPlayVoiceServer *iface, REFIID riid, void **ppv)
Definition: server.c:85
static HRESULT WINAPI dpvserver_SetSessionDesc(IDirectPlayVoiceServer *iface, PDVSESSIONDESC pSessionDesc)
Definition: server.c:151
static HRESULT WINAPI dpvserver_SetTransmitTargets(IDirectPlayVoiceServer *iface, DVID dvSource, PDVID pdvIDTargets, DWORD dwNumTargets, DWORD dwFlags)
Definition: server.c:173
static ULONG WINAPI dpvserver_AddRef(IDirectPlayVoiceServer *iface)
Definition: server.c:98

Definition at line 196 of file server.c.

Referenced by DPVOICE_CreateDirectPlayVoiceServer().