Commit 9266004f authored by Peter Hunnisett's avatar Peter Hunnisett Committed by Alexandre Julliard

- Small bug fix.

- Added direct play ascii interfaces. - Fixed up the QueryInterface for dplay and dplaylobby to handle all cases.
parent 12e2d838
/* Direct Play 3 and Direct Play Lobby 2 Implementation
*
* Copyright 1998 - Peter Hunnisett
* Copyright 1998,1999 - Peter Hunnisett
*
* <presently under construction - contact hunnise@nortelnetworks.com>
*
......@@ -48,8 +48,10 @@ static DIRECTPLAYLOBBY2_VTABLE directPlayLobby2AVT;
static DIRECTPLAYLOBBY2_VTABLE directPlayLobby2WVT;
static DIRECTPLAY2_VTABLE directPlay2WVT;
static DIRECTPLAY2_VTABLE directPlay2AVT;
static DIRECTPLAY3_VTABLE directPlay3VT;
static DIRECTPLAY3_VTABLE directPlay3WVT;
static DIRECTPLAY3_VTABLE directPlay3AVT;
......@@ -169,13 +171,103 @@ DWORD DPLobby_Spawn_Server( LPVOID startData )
* As you can see, this interface doesn't qualify but will most likely
* be good enough for the time being.
*/
/* Helper function for DirectPlayLobby QueryInterface */
static HRESULT directPlayLobby_QueryInterface
( REFIID riid, LPVOID* ppvObj )
{
if( IsEqualGUID( &IID_IDirectPlayLobby, riid ) )
{
LPDIRECTPLAYLOBBY lpDpL = (LPDIRECTPLAYLOBBY)(*ppvObj);
lpDpL = (LPDIRECTPLAYLOBBY)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
sizeof( *lpDpL ) );
if( !lpDpL )
{
return E_NOINTERFACE;
}
lpDpL->lpVtbl = &directPlayLobbyWVT;
lpDpL->ref = 1;
return S_OK;
}
else if( IsEqualGUID( &IID_IDirectPlayLobbyA, riid ) )
{
LPDIRECTPLAYLOBBYA lpDpL = (LPDIRECTPLAYLOBBYA)(*ppvObj);
lpDpL = (LPDIRECTPLAYLOBBYA)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
sizeof( *lpDpL ) );
if( !lpDpL )
{
return E_NOINTERFACE;
}
lpDpL->lpVtbl = &directPlayLobbyAVT;
lpDpL->ref = 1;
return S_OK;
}
else if( IsEqualGUID( &IID_IDirectPlayLobby2, riid ) )
{
LPDIRECTPLAYLOBBY2 lpDpL = (LPDIRECTPLAYLOBBY2)(*ppvObj);
lpDpL = (LPDIRECTPLAYLOBBY2)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
sizeof( *lpDpL ) );
if( !lpDpL )
{
return E_NOINTERFACE;
}
lpDpL->lpVtbl = &directPlayLobby2WVT;
lpDpL->ref = 1;
return S_OK;
}
else if( IsEqualGUID( &IID_IDirectPlayLobby2A, riid ) )
{
LPDIRECTPLAYLOBBY2A lpDpL = (LPDIRECTPLAYLOBBY2A)(*ppvObj);
lpDpL = (LPDIRECTPLAYLOBBY2)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
sizeof( *lpDpL ) );
if( !lpDpL )
{
return E_NOINTERFACE;
}
lpDpL->lpVtbl = &directPlayLobby2AVT;
lpDpL->ref = 1;
return S_OK;
}
/* Unknown interface */
*ppvObj = NULL;
return E_NOINTERFACE;
}
static HRESULT WINAPI IDirectPlayLobbyA_QueryInterface
( LPDIRECTPLAYLOBBYA this,
REFIID riid,
LPVOID* ppvObj )
{
FIXME( dplay, "(%p)->(%p,%p): stub\n", this, riid, ppvObj );
return E_NOINTERFACE;
TRACE( dplay, "(%p)->(%p,%p)\n", this, riid, ppvObj );
if( IsEqualGUID( &IID_IUnknown, riid ) ||
IsEqualGUID( &IID_IDirectPlayLobbyA, riid )
)
{
this->lpVtbl->fnAddRef( this );
*ppvObj = this;
return S_OK;
}
return directPlayLobby_QueryInterface( riid, ppvObj );
}
static HRESULT WINAPI IDirectPlayLobbyW_QueryInterface
......@@ -183,8 +275,18 @@ static HRESULT WINAPI IDirectPlayLobbyW_QueryInterface
REFIID riid,
LPVOID* ppvObj )
{
FIXME( dplay, "(%p)->(%p,%p): stub\n", this, riid, ppvObj );
return E_NOINTERFACE;
TRACE( dplay, "(%p)->(%p,%p)\n", this, riid, ppvObj );
if( IsEqualGUID( &IID_IUnknown, riid ) ||
IsEqualGUID( &IID_IDirectPlayLobby, riid )
)
{
this->lpVtbl->fnAddRef( this );
*ppvObj = this;
return S_OK;
}
return directPlayLobby_QueryInterface( riid, ppvObj );
}
......@@ -206,28 +308,7 @@ static HRESULT WINAPI IDirectPlayLobby2A_QueryInterface
*ppvObj = this;
return S_OK;
}
/* They're requesting a unicode version of the interface */
else if( IsEqualGUID( &IID_IDirectPlayLobby2, riid ) )
{
LPDIRECTPLAYLOBBY2 lpDpL = (LPDIRECTPLAYLOBBY2)(*ppvObj);
lpDpL = (LPDIRECTPLAYLOBBY2)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
sizeof( IDirectPlayLobby2 ) );
if( !lpDpL )
{
return E_NOINTERFACE;
}
lpDpL->lpVtbl = &directPlayLobby2WVT;
lpDpL->ref = 1;
return S_OK;
}
/* Unexpected interface request! */
*ppvObj = NULL;
return E_NOINTERFACE;
return directPlayLobby_QueryInterface( riid, ppvObj );
};
static HRESULT WINAPI IDirectPlayLobby2W_QueryInterface
......@@ -247,27 +328,8 @@ static HRESULT WINAPI IDirectPlayLobby2W_QueryInterface
*ppvObj = this;
return S_OK;
}
else if( IsEqualGUID( &IID_IDirectPlayLobby2A, riid ) )
{
LPDIRECTPLAYLOBBY2A lpDpL = (LPDIRECTPLAYLOBBY2A)(*ppvObj);
lpDpL = (LPDIRECTPLAYLOBBY2A)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
sizeof( IDirectPlayLobby2A ) );
if( !lpDpL )
{
return E_NOINTERFACE;
}
lpDpL->lpVtbl = &directPlayLobby2AVT;
lpDpL->ref = 1;
return S_OK;
}
/* Unexpected interface request! */
*ppvObj = NULL;
return E_NOINTERFACE;
return directPlayLobby_QueryInterface( riid, ppvObj );
};
......@@ -350,7 +412,7 @@ static HRESULT WINAPI IDirectPlayLobby2W_Connect
LPDIRECTPLAY2* directPlay2W;
HRESULT createRC;
FIXME( dplay, ": dwFlags=%08lx %p %p stub\n", dwFlags, lplpDP, pUnk );
FIXME( dplay, "(%p)->(%08lx,%p,%p): stub\n", this, dwFlags, lplpDP, pUnk );
if( dwFlags )
{
......@@ -359,13 +421,14 @@ static HRESULT WINAPI IDirectPlayLobby2W_Connect
if( ( createRC = DirectPlayCreate( &IID_IDirectPlayLobby2, lplpDP, pUnk ) ) != DP_OK )
{
ERR( dplay, "error creating Direct Play 2 (W) interface. Return Code = %ld.\n", createRC );
ERR( dplay, "error creating Direct Play 2W interface. Return Code = %ld.\n", createRC );
return createRC;
}
/* This should invoke IDirectPlay3::InitializeConnection IDirectPlay3::Open */
directPlay2W = lplpDP;
#if 0
......@@ -607,7 +670,7 @@ static HRESULT WINAPI IDirectPlayLobbyA_GetConnectionSettings
/* Copy LPDPSESSIONDESC2 struct */
lpDplConnection->lpSessionDesc = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof( this->sessionDesc ) );
memcpy( lpDplConnection, &(this->sessionDesc), sizeof( this->sessionDesc ) );
memcpy( lpDplConnection->lpSessionDesc, &(this->sessionDesc), sizeof( this->sessionDesc ) );
if( this->sessionDesc.sess.lpszSessionName )
{
......@@ -1353,7 +1416,7 @@ HRESULT WINAPI DirectPlayCreate
( LPGUID lpGUID, LPDIRECTPLAY2 *lplpDP, IUnknown *pUnk)
{
TRACE(dplay,"\n" );
TRACE(dplay,"lpGUID=%p lplpDP=%p pUnk=%p\n", lpGUID,lplpDP,pUnk);
if( pUnk != NULL )
{
......@@ -1362,52 +1425,194 @@ HRESULT WINAPI DirectPlayCreate
return DPERR_OUTOFMEMORY;
}
*lplpDP = (LPDIRECTPLAY2)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
sizeof( **lplpDP ) );
if( !*lplpDP )
if( IsEqualGUID( &IID_IDirectPlay2A, lpGUID ) )
{
return DPERR_OUTOFMEMORY;
*lplpDP = (LPDIRECTPLAY2A)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
sizeof( **lplpDP ) );
if( !*lplpDP )
{
return DPERR_OUTOFMEMORY;
}
(*lplpDP)->lpVtbl = &directPlay2AVT;
(*lplpDP)->ref = 1;
return DP_OK;
}
else if( IsEqualGUID( &IID_IDirectPlay2, lpGUID ) )
{
*lplpDP = (LPDIRECTPLAY2)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
sizeof( **lplpDP ) );
(*lplpDP)->lpVtbl = &directPlay2AVT;
(*lplpDP)->ref = 1;
if( !*lplpDP )
{
return DPERR_OUTOFMEMORY;
}
return DP_OK;
(*lplpDP)->lpVtbl = &directPlay2WVT;
(*lplpDP)->ref = 1;
return DP_OK;
}
/* Unknown interface type */
return DPERR_NOINTERFACE;
};
/* Direct Play helper methods */
/* Get a new interface. To be used by QueryInterface. */
static HRESULT directPlay_QueryInterface
( REFIID riid, LPVOID* ppvObj )
{
if( IsEqualGUID( &IID_IDirectPlay2, riid ) )
{
LPDIRECTPLAY2 lpDP = (LPDIRECTPLAY2)*ppvObj;
lpDP = (LPDIRECTPLAY2)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
sizeof( *lpDP ) );
if( !lpDP )
{
return DPERR_OUTOFMEMORY;
}
lpDP->lpVtbl = &directPlay2WVT;
lpDP->ref = 1;
return S_OK;
}
else if( IsEqualGUID( &IID_IDirectPlay2A, riid ) )
{
LPDIRECTPLAY2A lpDP = (LPDIRECTPLAY2A)*ppvObj;
lpDP = (LPDIRECTPLAY2A)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
sizeof( *lpDP ) );
if( !lpDP )
{
return DPERR_OUTOFMEMORY;
}
lpDP->lpVtbl = &directPlay2AVT;
lpDP->ref = 1;
return S_OK;
}
else if( IsEqualGUID( &IID_IDirectPlay3, riid ) )
{
LPDIRECTPLAY3 lpDP = (LPDIRECTPLAY3)*ppvObj;
lpDP = (LPDIRECTPLAY3)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
sizeof( *lpDP ) );
if( !lpDP )
{
return DPERR_OUTOFMEMORY;
}
lpDP->lpVtbl = &directPlay3WVT;
lpDP->ref = 1;
return S_OK;
}
else if( IsEqualGUID( &IID_IDirectPlay3A, riid ) )
{
LPDIRECTPLAY3A lpDP = (LPDIRECTPLAY3A)*ppvObj;
lpDP = (LPDIRECTPLAY3A)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
sizeof( *lpDP ) );
if( !lpDP )
{
return DPERR_OUTOFMEMORY;
}
lpDP->lpVtbl = &directPlay3AVT;
lpDP->ref = 1;
return S_OK;
}
*ppvObj = NULL;
return E_NOINTERFACE;
}
/* Direct Play methods */
static HRESULT WINAPI DirectPlay2W_QueryInterface
( LPDIRECTPLAY2 this, REFIID riid, LPVOID* ppvObj )
{
FIXME( dplay, "(%p)->(%p,%p): stub\n", this, riid, ppvObj );
return E_NOINTERFACE;
TRACE( dplay, "(%p)->(%p,%p)\n", this, riid, ppvObj );
if( IsEqualGUID( &IID_IUnknown, riid ) ||
IsEqualGUID( &IID_IDirectPlay2, riid )
)
{
this->lpVtbl->fnAddRef( this );
*ppvObj = this;
return S_OK;
}
return directPlay_QueryInterface( riid, ppvObj );
}
static HRESULT WINAPI DirectPlay2A_QueryInterface
( LPDIRECTPLAY2A this, REFIID riid, LPVOID* ppvObj )
{
FIXME( dplay, "(%p)->(%p,%p): stub\n", this, riid, ppvObj );
return E_NOINTERFACE;
TRACE( dplay, "(%p)->(%p,%p)\n", this, riid, ppvObj );
if( IsEqualGUID( &IID_IUnknown, riid ) ||
IsEqualGUID( &IID_IDirectPlay2A, riid )
)
{
this->lpVtbl->fnAddRef( this );
*ppvObj = this;
return S_OK;
}
return directPlay_QueryInterface( riid, ppvObj );
}
static HRESULT WINAPI DirectPlay3W_QueryInterface
( LPDIRECTPLAY3 this, REFIID riid, LPVOID* ppvObj )
{
FIXME( dplay, "(%p)->(%p,%p): stub\n", this, riid, ppvObj );
return E_NOINTERFACE;
TRACE( dplay, "(%p)->(%p,%p)\n", this, riid, ppvObj );
if( IsEqualGUID( &IID_IUnknown, riid ) ||
IsEqualGUID( &IID_IDirectPlay3, riid )
)
{
this->lpVtbl->fnAddRef( this );
*ppvObj = this;
return S_OK;
}
return directPlay_QueryInterface( riid, ppvObj );
}
static HRESULT WINAPI DirectPlay3A_QueryInterface
( LPDIRECTPLAY3A this, REFIID riid, LPVOID* ppvObj )
{
FIXME( dplay, "(%p)->(%p,%p): stub\n", this, riid, ppvObj );
return E_NOINTERFACE;
TRACE( dplay, "(%p)->(%p,%p)\n", this, riid, ppvObj );
if( IsEqualGUID( &IID_IUnknown, riid ) ||
IsEqualGUID( &IID_IDirectPlay3A, riid )
)
{
this->lpVtbl->fnAddRef( this );
*ppvObj = this;
return S_OK;
}
return directPlay_QueryInterface( riid, ppvObj );
}
/* Shared between all dplay types */
static ULONG WINAPI DirectPlay3W_AddRef
( LPDIRECTPLAY3 this )
{
......@@ -1437,8 +1642,33 @@ static ULONG WINAPI DirectPlay3W_Release
return this->ref;
};
static ULONG WINAPI DirectPlay3A_Release
( LPDIRECTPLAY3A this )
{
TRACE( dplay, "ref count decremeneted from %lu\n", this->ref );
this->ref--;
/* Deallocate if this is the last reference to the object */
if( !(this->ref) )
{
FIXME( dplay, "memory leak\n" );
/* Implement memory deallocation */
HeapFree( GetProcessHeap(), 0, this );
return 0;
}
return this->ref;
};
HRESULT WINAPI DirectPlay3A_AddPlayerToGroup
( LPDIRECTPLAY3A this, DPID a, DPID b )
{
FIXME( dplay,"(%p)->(0x%08lx,0x%08lx): stub", this, a, b );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_AddPlayerToGroup
( LPDIRECTPLAY3 this, DPID a, DPID b )
......@@ -1447,6 +1677,14 @@ HRESULT WINAPI DirectPlay3W_AddPlayerToGroup
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_Close
( LPDIRECTPLAY3A this )
{
FIXME( dplay,"(%p)->(): stub", this );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_Close
( LPDIRECTPLAY3 this )
{
......@@ -1454,13 +1692,27 @@ HRESULT WINAPI DirectPlay3W_Close
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_CreateGroup
( LPDIRECTPLAY3 this, LPDPID a, LPDPNAME b, LPVOID c, DWORD d, DWORD e )
HRESULT WINAPI DirectPlay3A_CreateGroup
( LPDIRECTPLAY3A this, LPDPID a, LPDPNAME b, LPVOID c, DWORD d, DWORD e )
{
FIXME( dplay,"(%p)->(%p,%p,%p,0x%08lx,0x%08lx): stub", this, a, b, c, d, e );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_CreateGroup
( LPDIRECTPLAY3 this, LPDPID a, LPDPNAME b, LPVOID c, DWORD d, DWORD e )
{
FIXME( dplay,"(%p)->(%p,%p,%p,0x%08lx,0x%08lx): stub", this, a, b, c, d, e );
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_CreatePlayer
( LPDIRECTPLAY3A this, LPDPID a, LPDPNAME b, HANDLE32 c, LPVOID d, DWORD e, DWORD f )
{
FIXME( dplay,"(%p)->(%p,%p,%d,%p,0x%08lx,0x%08lx): stub", this, a, b, c, d, e, f );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_CreatePlayer
( LPDIRECTPLAY3 this, LPDPID a, LPDPNAME b, HANDLE32 c, LPVOID d, DWORD e, DWORD f )
{
......@@ -1468,6 +1720,13 @@ HRESULT WINAPI DirectPlay3W_CreatePlayer
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_DeletePlayerFromGroup
( LPDIRECTPLAY3A this, DPID a, DPID b )
{
FIXME( dplay,"(%p)->(0x%08lx,0x%08lx): stub", this, a, b );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_DeletePlayerFromGroup
( LPDIRECTPLAY3 this, DPID a, DPID b )
{
......@@ -1475,6 +1734,13 @@ HRESULT WINAPI DirectPlay3W_DeletePlayerFromGroup
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_DestroyGroup
( LPDIRECTPLAY3A this, DPID a )
{
FIXME( dplay,"(%p)->(0x%08lx): stub", this, a );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_DestroyGroup
( LPDIRECTPLAY3 this, DPID a )
{
......@@ -1482,6 +1748,13 @@ HRESULT WINAPI DirectPlay3W_DestroyGroup
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_DestroyPlayer
( LPDIRECTPLAY3A this, DPID a )
{
FIXME( dplay,"(%p)->(0x%08lx): stub", this, a );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_DestroyPlayer
( LPDIRECTPLAY3 this, DPID a )
{
......@@ -1489,6 +1762,14 @@ HRESULT WINAPI DirectPlay3W_DestroyPlayer
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_EnumGroupPlayers
( LPDIRECTPLAY3A this, DPID a, LPGUID b, LPDPENUMPLAYERSCALLBACK2 c,
LPVOID d, DWORD e )
{
FIXME( dplay,"(%p)->(0x%08lx,%p,%p,%p,0x%08lx): stub", this, a, b, c, d, e );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_EnumGroupPlayers
( LPDIRECTPLAY3 this, DPID a, LPGUID b, LPDPENUMPLAYERSCALLBACK2 c,
LPVOID d, DWORD e )
......@@ -1497,6 +1778,13 @@ HRESULT WINAPI DirectPlay3W_EnumGroupPlayers
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_EnumGroups
( LPDIRECTPLAY3A this, LPGUID a, LPDPENUMPLAYERSCALLBACK2 b, LPVOID c, DWORD d )
{
FIXME( dplay,"(%p)->(%p,%p,%p,0x%08lx): stub", this, a, b, c, d );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_EnumGroups
( LPDIRECTPLAY3 this, LPGUID a, LPDPENUMPLAYERSCALLBACK2 b, LPVOID c, DWORD d )
{
......@@ -1504,6 +1792,13 @@ HRESULT WINAPI DirectPlay3W_EnumGroups
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_EnumPlayers
( LPDIRECTPLAY3A this, LPGUID a, LPDPENUMPLAYERSCALLBACK2 b, LPVOID c, DWORD d )
{
FIXME( dplay,"(%p)->(%p,%p,%p,0x%08lx): stub", this, a, b, c, d );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_EnumPlayers
( LPDIRECTPLAY3 this, LPGUID a, LPDPENUMPLAYERSCALLBACK2 b, LPVOID c, DWORD d )
{
......@@ -1511,6 +1806,14 @@ HRESULT WINAPI DirectPlay3W_EnumPlayers
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_EnumSessions
( LPDIRECTPLAY3A this, LPDPSESSIONDESC2 a, DWORD b, LPDPENUMSESSIONSCALLBACK2 c,
LPVOID d, DWORD e )
{
FIXME( dplay,"(%p)->(%p,0x%08lx,%p,%p,0x%08lx): stub", this, a, b, c, d, e );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_EnumSessions
( LPDIRECTPLAY3 this, LPDPSESSIONDESC2 a, DWORD b, LPDPENUMSESSIONSCALLBACK2 c,
LPVOID d, DWORD e )
......@@ -1519,6 +1822,13 @@ HRESULT WINAPI DirectPlay3W_EnumSessions
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_GetCaps
( LPDIRECTPLAY3A this, LPDPCAPS a, DWORD b )
{
FIXME( dplay,"(%p)->(%p,0x%08lx): stub", this, a, b );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_GetCaps
( LPDIRECTPLAY3 this, LPDPCAPS a, DWORD b )
{
......@@ -1526,6 +1836,13 @@ HRESULT WINAPI DirectPlay3W_GetCaps
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_GetGroupData
( LPDIRECTPLAY3 this, DPID a, LPVOID b, LPDWORD c, DWORD d )
{
FIXME( dplay,"(%p)->(0x%08lx,%p,%p,0x%08lx): stub", this, a, b, c, d );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_GetGroupData
( LPDIRECTPLAY3 this, DPID a, LPVOID b, LPDWORD c, DWORD d )
{
......@@ -1533,6 +1850,13 @@ HRESULT WINAPI DirectPlay3W_GetGroupData
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_GetGroupName
( LPDIRECTPLAY3A this, DPID a, LPVOID b, LPDWORD c )
{
FIXME( dplay,"(%p)->(0x%08lx,%p,%p): stub", this, a, b, c );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_GetGroupName
( LPDIRECTPLAY3 this, DPID a, LPVOID b, LPDWORD c )
{
......@@ -1540,6 +1864,13 @@ HRESULT WINAPI DirectPlay3W_GetGroupName
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_GetMessageCount
( LPDIRECTPLAY3A this, DPID a, LPDWORD b )
{
FIXME( dplay,"(%p)->(0x%08lx,%p): stub", this, a, b );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_GetMessageCount
( LPDIRECTPLAY3 this, DPID a, LPDWORD b )
{
......@@ -1547,6 +1878,13 @@ HRESULT WINAPI DirectPlay3W_GetMessageCount
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_GetPlayerAddress
( LPDIRECTPLAY3A this, DPID a, LPVOID b, LPDWORD c )
{
FIXME( dplay,"(%p)->(0x%08lx,%p,%p): stub", this, a, b, c );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_GetPlayerAddress
( LPDIRECTPLAY3 this, DPID a, LPVOID b, LPDWORD c )
{
......@@ -1554,6 +1892,13 @@ HRESULT WINAPI DirectPlay3W_GetPlayerAddress
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_GetPlayerCaps
( LPDIRECTPLAY3A this, DPID a, LPDPCAPS b, DWORD c )
{
FIXME( dplay,"(%p)->(0x%08lx,%p,0x%08lx): stub", this, a, b, c );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_GetPlayerCaps
( LPDIRECTPLAY3 this, DPID a, LPDPCAPS b, DWORD c )
{
......@@ -1561,6 +1906,13 @@ HRESULT WINAPI DirectPlay3W_GetPlayerCaps
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_GetPlayerData
( LPDIRECTPLAY3A this, DPID a, LPVOID b, LPDWORD c, DWORD d )
{
FIXME( dplay,"(%p)->(0x%08lx,%p,%p,0x%08lx): stub", this, a, b, c, d );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_GetPlayerData
( LPDIRECTPLAY3 this, DPID a, LPVOID b, LPDWORD c, DWORD d )
{
......@@ -1568,6 +1920,13 @@ HRESULT WINAPI DirectPlay3W_GetPlayerData
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_GetPlayerName
( LPDIRECTPLAY3 this, DPID a, LPVOID b, LPDWORD c )
{
FIXME( dplay,"(%p)->(0x%08lx,%p,%p): stub", this, a, b, c );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_GetPlayerName
( LPDIRECTPLAY3 this, DPID a, LPVOID b, LPDWORD c )
{
......@@ -1575,6 +1934,13 @@ HRESULT WINAPI DirectPlay3W_GetPlayerName
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_GetSessionDesc
( LPDIRECTPLAY3A this, LPVOID a, LPDWORD b )
{
FIXME( dplay,"(%p)->(%p,%p): stub", this, a, b );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_GetSessionDesc
( LPDIRECTPLAY3 this, LPVOID a, LPDWORD b )
{
......@@ -1582,6 +1948,13 @@ HRESULT WINAPI DirectPlay3W_GetSessionDesc
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_Initialize
( LPDIRECTPLAY3A this, LPGUID a )
{
FIXME( dplay,"(%p)->(%p): stub", this, a );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_Initialize
( LPDIRECTPLAY3 this, LPGUID a )
{
......@@ -1589,6 +1962,14 @@ HRESULT WINAPI DirectPlay3W_Initialize
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_Open
( LPDIRECTPLAY3A this, LPDPSESSIONDESC2 a, DWORD b )
{
FIXME( dplay,"(%p)->(%p,0x%08lx): stub", this, a, b );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_Open
( LPDIRECTPLAY3 this, LPDPSESSIONDESC2 a, DWORD b )
{
......@@ -1596,6 +1977,13 @@ HRESULT WINAPI DirectPlay3W_Open
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_Receive
( LPDIRECTPLAY3A this, LPDPID a, LPDPID b, DWORD c, LPVOID d, LPDWORD e )
{
FIXME( dplay,"(%p)->(%p,%p,0x%08lx,%p,%p): stub", this, a, b, c, d, e );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_Receive
( LPDIRECTPLAY3 this, LPDPID a, LPDPID b, DWORD c, LPVOID d, LPDWORD e )
{
......@@ -1603,6 +1991,13 @@ HRESULT WINAPI DirectPlay3W_Receive
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_Send
( LPDIRECTPLAY3A this, DPID a, DPID b, DWORD c, LPVOID d, DWORD e )
{
FIXME( dplay,"(%p)->(0x%08lx,0x%08lx,0x%08lx,%p,0x%08lx): stub", this, a, b, c, d, e );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_Send
( LPDIRECTPLAY3 this, DPID a, DPID b, DWORD c, LPVOID d, DWORD e )
{
......@@ -1610,6 +2005,13 @@ HRESULT WINAPI DirectPlay3W_Send
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_SetGroupData
( LPDIRECTPLAY3A this, DPID a, LPVOID b, DWORD c, DWORD d )
{
FIXME( dplay,"(%p)->(0x%08lx,%p,0x%08lx,0x%08lx): stub", this, a, b, c, d );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_SetGroupData
( LPDIRECTPLAY3 this, DPID a, LPVOID b, DWORD c, DWORD d )
{
......@@ -1617,6 +2019,13 @@ HRESULT WINAPI DirectPlay3W_SetGroupData
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_SetGroupName
( LPDIRECTPLAY3A this, DPID a, LPDPNAME b, DWORD c )
{
FIXME( dplay,"(%p)->(0x%08lx,%p,0x%08lx): stub", this, a, b, c );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_SetGroupName
( LPDIRECTPLAY3 this, DPID a, LPDPNAME b, DWORD c )
{
......@@ -1624,6 +2033,13 @@ HRESULT WINAPI DirectPlay3W_SetGroupName
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_SetPlayerData
( LPDIRECTPLAY3A this, DPID a, LPVOID b, DWORD c, DWORD d )
{
FIXME( dplay,"(%p)->(0x%08lx,%p,0x%08lx,0x%08lx): stub", this, a, b, c, d );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_SetPlayerData
( LPDIRECTPLAY3 this, DPID a, LPVOID b, DWORD c, DWORD d )
{
......@@ -1631,6 +2047,13 @@ HRESULT WINAPI DirectPlay3W_SetPlayerData
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_SetPlayerName
( LPDIRECTPLAY3A this, DPID a, LPDPNAME b, DWORD c )
{
FIXME( dplay,"(%p)->(0x%08lx,%p,0x%08lx): stub", this, a, b, c );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_SetPlayerName
( LPDIRECTPLAY3 this, DPID a, LPDPNAME b, DWORD c )
{
......@@ -1638,6 +2061,13 @@ HRESULT WINAPI DirectPlay3W_SetPlayerName
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_SetSessionDesc
( LPDIRECTPLAY3A this, LPDPSESSIONDESC2 a, DWORD b )
{
FIXME( dplay,"(%p)->(%p,0x%08lx): stub", this, a, b );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_SetSessionDesc
( LPDIRECTPLAY3 this, LPDPSESSIONDESC2 a, DWORD b )
{
......@@ -1645,6 +2075,13 @@ HRESULT WINAPI DirectPlay3W_SetSessionDesc
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_AddGroupToGroup
( LPDIRECTPLAY3A this, DPID a, DPID b )
{
FIXME( dplay,"(%p)->(0x%08lx,0x%08lx): stub", this, a, b );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_AddGroupToGroup
( LPDIRECTPLAY3 this, DPID a, DPID b )
{
......@@ -1652,6 +2089,13 @@ HRESULT WINAPI DirectPlay3W_AddGroupToGroup
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_CreateGroupInGroup
( LPDIRECTPLAY3A this, DPID a, LPDPID b, LPDPNAME c, LPVOID d, DWORD e, DWORD f )
{
FIXME( dplay,"(%p)->(0x%08lx,%p,%p,%p,0x%08lx,0x%08lx): stub", this, a, b, c, d, e, f );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_CreateGroupInGroup
( LPDIRECTPLAY3 this, DPID a, LPDPID b, LPDPNAME c, LPVOID d, DWORD e, DWORD f )
{
......@@ -1659,6 +2103,13 @@ HRESULT WINAPI DirectPlay3W_CreateGroupInGroup
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_DeleteGroupFromGroup
( LPDIRECTPLAY3A this, DPID a, DPID b )
{
FIXME( dplay,"(%p)->(0x%08lx,0x%08lx): stub", this, a, b );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_DeleteGroupFromGroup
( LPDIRECTPLAY3 this, DPID a, DPID b )
{
......@@ -1666,6 +2117,13 @@ HRESULT WINAPI DirectPlay3W_DeleteGroupFromGroup
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_EnumConnections
( LPDIRECTPLAY3A this, LPCGUID a, LPDPENUMCONNECTIONSCALLBACK b, LPVOID c, DWORD d )
{
FIXME( dplay,"(%p)->(%p,%p,%p,0x%08lx): stub", this, a, b, c, d );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_EnumConnections
( LPDIRECTPLAY3 this, LPCGUID a, LPDPENUMCONNECTIONSCALLBACK b, LPVOID c, DWORD d )
{
......@@ -1673,6 +2131,13 @@ HRESULT WINAPI DirectPlay3W_EnumConnections
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_EnumGroupsInGroup
( LPDIRECTPLAY3A this, DPID a, LPGUID b, LPDPENUMPLAYERSCALLBACK2 c, LPVOID d, DWORD e )
{
FIXME( dplay,"(%p)->(0x%08lx,%p,%p,%p,0x%08lx): stub", this, a, b, c, d, e );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_EnumGroupsInGroup
( LPDIRECTPLAY3 this, DPID a, LPGUID b, LPDPENUMPLAYERSCALLBACK2 c, LPVOID d, DWORD e )
{
......@@ -1680,6 +2145,13 @@ HRESULT WINAPI DirectPlay3W_EnumGroupsInGroup
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_GetGroupConnectionSettings
( LPDIRECTPLAY3A this, DWORD a, DPID b, LPVOID c, LPDWORD d )
{
FIXME( dplay,"(%p)->(0x%08lx,0x%08lx,%p,%p): stub", this, a, b, c, d );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_GetGroupConnectionSettings
( LPDIRECTPLAY3 this, DWORD a, DPID b, LPVOID c, LPDWORD d )
{
......@@ -1687,6 +2159,13 @@ HRESULT WINAPI DirectPlay3W_GetGroupConnectionSettings
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_InitializeConnection
( LPDIRECTPLAY3A this, LPVOID a, DWORD b )
{
FIXME( dplay,"(%p)->(%p,0x%08lx): stub", this, a, b );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_InitializeConnection
( LPDIRECTPLAY3 this, LPVOID a, DWORD b )
{
......@@ -1694,6 +2173,13 @@ HRESULT WINAPI DirectPlay3W_InitializeConnection
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_SecureOpen
( LPDIRECTPLAY3A this, LPCDPSESSIONDESC2 a, DWORD b, LPCDPSECURITYDESC c, LPCDPCREDENTIALS d )
{
FIXME( dplay,"(%p)->(%p,0x%08lx,%p,%p): stub", this, a, b, c, d );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_SecureOpen
( LPDIRECTPLAY3 this, LPCDPSESSIONDESC2 a, DWORD b, LPCDPSECURITYDESC c, LPCDPCREDENTIALS d )
{
......@@ -1701,6 +2187,13 @@ HRESULT WINAPI DirectPlay3W_SecureOpen
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_SendChatMessage
( LPDIRECTPLAY3A this, DPID a, DPID b, DWORD c, LPDPCHAT d )
{
FIXME( dplay,"(%p)->(0x%08lx,0x%08lx,0x%08lx,%p): stub", this, a, b, c, d );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_SendChatMessage
( LPDIRECTPLAY3 this, DPID a, DPID b, DWORD c, LPDPCHAT d )
{
......@@ -1708,6 +2201,13 @@ HRESULT WINAPI DirectPlay3W_SendChatMessage
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_SetGroupConnectionSettings
( LPDIRECTPLAY3A this, DWORD a, DPID b, LPDPLCONNECTION c )
{
FIXME( dplay,"(%p)->(0x%08lx,0x%08lx,%p): stub", this, a, b, c );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_SetGroupConnectionSettings
( LPDIRECTPLAY3 this, DWORD a, DPID b, LPDPLCONNECTION c )
{
......@@ -1715,6 +2215,13 @@ HRESULT WINAPI DirectPlay3W_SetGroupConnectionSettings
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_StartSession
( LPDIRECTPLAY3A this, DWORD a, DPID b )
{
FIXME( dplay,"(%p)->(0x%08lx,0x%08lx): stub", this, a, b );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_StartSession
( LPDIRECTPLAY3 this, DWORD a, DPID b )
{
......@@ -1722,6 +2229,13 @@ HRESULT WINAPI DirectPlay3W_StartSession
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_GetGroupFlags
( LPDIRECTPLAY3A this, DPID a, LPDWORD b )
{
FIXME( dplay,"(%p)->(0x%08lx,%p): stub", this, a, b );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_GetGroupFlags
( LPDIRECTPLAY3 this, DPID a, LPDWORD b )
{
......@@ -1729,6 +2243,13 @@ HRESULT WINAPI DirectPlay3W_GetGroupFlags
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_GetGroupParent
( LPDIRECTPLAY3A this, DPID a, LPDPID b )
{
FIXME( dplay,"(%p)->(0x%08lx,%p): stub", this, a, b );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_GetGroupParent
( LPDIRECTPLAY3 this, DPID a, LPDPID b )
{
......@@ -1736,6 +2257,13 @@ HRESULT WINAPI DirectPlay3W_GetGroupParent
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_GetPlayerAccount
( LPDIRECTPLAY3A this, DPID a, DWORD b, LPVOID c, LPDWORD d )
{
FIXME( dplay,"(%p)->(0x%08lx,0x%08lx,%p,%p): stub", this, a, b, c, d );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_GetPlayerAccount
( LPDIRECTPLAY3 this, DPID a, DWORD b, LPVOID c, LPDWORD d )
{
......@@ -1743,6 +2271,13 @@ HRESULT WINAPI DirectPlay3W_GetPlayerAccount
return DP_OK;
}
HRESULT WINAPI DirectPlay3A_GetPlayerFlags
( LPDIRECTPLAY3A this, DPID a, LPDWORD b )
{
FIXME( dplay,"(%p)->(0x%08lx,%p): stub", this, a, b );
return DP_OK;
}
HRESULT WINAPI DirectPlay3W_GetPlayerFlags
( LPDIRECTPLAY3 this, DPID a, LPDWORD b )
{
......@@ -1788,87 +2323,87 @@ static struct tagLPDIRECTPLAY2_VTABLE directPlay2WVT = {
static struct tagLPDIRECTPLAY2_VTABLE directPlay2AVT = {
DirectPlay2A_QueryInterface,
(void*)DirectPlay3W_AddRef,
(void*)DirectPlay3W_Release,
(void*)DirectPlay3W_AddPlayerToGroup,
(void*)DirectPlay3W_Close,
(void*)DirectPlay3W_CreateGroup,
(void*)DirectPlay3W_CreatePlayer,
(void*)DirectPlay3W_DeletePlayerFromGroup,
(void*)DirectPlay3W_DestroyGroup,
(void*)DirectPlay3W_DestroyPlayer,
(void*)DirectPlay3W_EnumGroupPlayers,
(void*)DirectPlay3W_EnumGroups,
(void*)DirectPlay3W_EnumPlayers,
(void*)DirectPlay3W_EnumSessions,
(void*)DirectPlay3W_GetCaps,
(void*)DirectPlay3W_GetGroupData,
(void*)DirectPlay3W_GetGroupName,
(void*)DirectPlay3W_GetMessageCount,
(void*)DirectPlay3W_GetPlayerAddress,
(void*)DirectPlay3W_GetPlayerCaps,
(void*)DirectPlay3W_GetPlayerData,
(void*)DirectPlay3W_GetPlayerName,
(void*)DirectPlay3W_GetSessionDesc,
(void*)DirectPlay3W_Initialize,
(void*)DirectPlay3W_Open,
(void*)DirectPlay3W_Receive,
(void*)DirectPlay3W_Send,
(void*)DirectPlay3W_SetGroupData,
(void*)DirectPlay3W_SetGroupName,
(void*)DirectPlay3W_SetPlayerData,
(void*)DirectPlay3W_SetPlayerName,
(void*)DirectPlay3W_SetSessionDesc
(void*)DirectPlay3A_Release,
(void*)DirectPlay3A_AddPlayerToGroup,
(void*)DirectPlay3A_Close,
(void*)DirectPlay3A_CreateGroup,
(void*)DirectPlay3A_CreatePlayer,
(void*)DirectPlay3A_DeletePlayerFromGroup,
(void*)DirectPlay3A_DestroyGroup,
(void*)DirectPlay3A_DestroyPlayer,
(void*)DirectPlay3A_EnumGroupPlayers,
(void*)DirectPlay3A_EnumGroups,
(void*)DirectPlay3A_EnumPlayers,
(void*)DirectPlay3A_EnumSessions,
(void*)DirectPlay3A_GetCaps,
(void*)DirectPlay3A_GetGroupData,
(void*)DirectPlay3A_GetGroupName,
(void*)DirectPlay3A_GetMessageCount,
(void*)DirectPlay3A_GetPlayerAddress,
(void*)DirectPlay3A_GetPlayerCaps,
(void*)DirectPlay3A_GetPlayerData,
(void*)DirectPlay3A_GetPlayerName,
(void*)DirectPlay3A_GetSessionDesc,
(void*)DirectPlay3A_Initialize,
(void*)DirectPlay3A_Open,
(void*)DirectPlay3A_Receive,
(void*)DirectPlay3A_Send,
(void*)DirectPlay3A_SetGroupData,
(void*)DirectPlay3A_SetGroupName,
(void*)DirectPlay3A_SetPlayerData,
(void*)DirectPlay3A_SetPlayerName,
(void*)DirectPlay3A_SetSessionDesc
};
static struct tagLPDIRECTPLAY3_VTABLE directPlay3AVT = {
DirectPlay3A_QueryInterface,
(void*)DirectPlay3W_AddRef,
(void*)DirectPlay3W_Release,
(void*)DirectPlay3W_AddPlayerToGroup,
(void*)DirectPlay3W_Close,
(void*)DirectPlay3W_CreateGroup,
(void*)DirectPlay3W_CreatePlayer,
(void*)DirectPlay3W_DeletePlayerFromGroup,
(void*)DirectPlay3W_DestroyGroup,
(void*)DirectPlay3W_DestroyPlayer,
(void*)DirectPlay3W_EnumGroupPlayers,
(void*)DirectPlay3W_EnumGroups,
(void*)DirectPlay3W_EnumPlayers,
(void*)DirectPlay3W_EnumSessions,
(void*)DirectPlay3W_GetCaps,
(void*)DirectPlay3W_GetGroupData,
(void*)DirectPlay3W_GetGroupName,
(void*)DirectPlay3W_GetMessageCount,
(void*)DirectPlay3W_GetPlayerAddress,
(void*)DirectPlay3W_GetPlayerCaps,
(void*)DirectPlay3W_GetPlayerData,
(void*)DirectPlay3W_GetPlayerName,
(void*)DirectPlay3W_GetSessionDesc,
(void*)DirectPlay3W_Initialize,
(void*)DirectPlay3W_Open,
(void*)DirectPlay3W_Receive,
(void*)DirectPlay3W_Send,
(void*)DirectPlay3W_SetGroupData,
(void*)DirectPlay3W_SetGroupName,
(void*)DirectPlay3W_SetPlayerData,
(void*)DirectPlay3W_SetPlayerName,
(void*)DirectPlay3W_SetSessionDesc,
(void*)DirectPlay3W_AddGroupToGroup,
(void*)DirectPlay3W_CreateGroupInGroup,
(void*)DirectPlay3W_DeleteGroupFromGroup,
(void*)DirectPlay3W_EnumConnections,
(void*)DirectPlay3W_EnumGroupsInGroup,
(void*)DirectPlay3W_GetGroupConnectionSettings,
(void*)DirectPlay3W_InitializeConnection,
(void*)DirectPlay3W_SecureOpen,
(void*)DirectPlay3W_SendChatMessage,
(void*)DirectPlay3W_SetGroupConnectionSettings,
(void*)DirectPlay3W_StartSession,
(void*)DirectPlay3W_GetGroupFlags,
(void*)DirectPlay3W_GetGroupParent,
(void*)DirectPlay3W_GetPlayerAccount,
(void*)DirectPlay3W_GetPlayerFlags
DirectPlay3A_Release,
DirectPlay3A_AddPlayerToGroup,
DirectPlay3A_Close,
DirectPlay3A_CreateGroup,
DirectPlay3A_CreatePlayer,
DirectPlay3A_DeletePlayerFromGroup,
DirectPlay3A_DestroyGroup,
DirectPlay3A_DestroyPlayer,
DirectPlay3A_EnumGroupPlayers,
DirectPlay3A_EnumGroups,
DirectPlay3A_EnumPlayers,
DirectPlay3A_EnumSessions,
DirectPlay3A_GetCaps,
DirectPlay3A_GetGroupData,
DirectPlay3A_GetGroupName,
DirectPlay3A_GetMessageCount,
DirectPlay3A_GetPlayerAddress,
DirectPlay3A_GetPlayerCaps,
DirectPlay3A_GetPlayerData,
DirectPlay3A_GetPlayerName,
DirectPlay3A_GetSessionDesc,
DirectPlay3A_Initialize,
DirectPlay3A_Open,
DirectPlay3A_Receive,
DirectPlay3A_Send,
DirectPlay3A_SetGroupData,
DirectPlay3A_SetGroupName,
DirectPlay3A_SetPlayerData,
DirectPlay3A_SetPlayerName,
DirectPlay3A_SetSessionDesc,
DirectPlay3A_AddGroupToGroup,
DirectPlay3A_CreateGroupInGroup,
DirectPlay3A_DeleteGroupFromGroup,
DirectPlay3A_EnumConnections,
DirectPlay3A_EnumGroupsInGroup,
DirectPlay3A_GetGroupConnectionSettings,
DirectPlay3A_InitializeConnection,
DirectPlay3A_SecureOpen,
DirectPlay3A_SendChatMessage,
DirectPlay3A_SetGroupConnectionSettings,
DirectPlay3A_StartSession,
DirectPlay3A_GetGroupFlags,
DirectPlay3A_GetGroupParent,
DirectPlay3A_GetPlayerAccount,
DirectPlay3A_GetPlayerFlags
};
static struct tagLPDIRECTPLAY3_VTABLE directPlay3WVT = {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment