dplayx: Tests for InitializeConnection.
This commit is contained in:
parent
4ab75e1214
commit
d142447c26
|
@ -4227,11 +4227,21 @@ static HRESULT WINAPI DP_IF_InitializeConnection
|
||||||
|
|
||||||
TRACE("(%p)->(%p,0x%08x,%u)\n", This, lpConnection, dwFlags, bAnsi );
|
TRACE("(%p)->(%p,0x%08x,%u)\n", This, lpConnection, dwFlags, bAnsi );
|
||||||
|
|
||||||
|
if ( lpConnection == NULL )
|
||||||
|
{
|
||||||
|
return DPERR_INVALIDPARAMS;
|
||||||
|
}
|
||||||
|
|
||||||
if( dwFlags != 0 )
|
if( dwFlags != 0 )
|
||||||
{
|
{
|
||||||
return DPERR_INVALIDFLAGS;
|
return DPERR_INVALIDFLAGS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( This->dp2->connectionInitialized != NO_PROVIDER )
|
||||||
|
{
|
||||||
|
return DPERR_ALREADYINITIALIZED;
|
||||||
|
}
|
||||||
|
|
||||||
/* Find out what the requested SP is and how large this buffer is */
|
/* Find out what the requested SP is and how large this buffer is */
|
||||||
hr = DPL_EnumAddress( DP_GetSpLpGuidFromCompoundAddress, lpConnection,
|
hr = DPL_EnumAddress( DP_GetSpLpGuidFromCompoundAddress, lpConnection,
|
||||||
dwAddrSize, &guidSP );
|
dwAddrSize, &guidSP );
|
||||||
|
|
|
@ -707,6 +707,52 @@ static void test_EnumConnections(void)
|
||||||
IDirectPlayX_Release( pDP );
|
IDirectPlayX_Release( pDP );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* InitializeConnection */
|
||||||
|
|
||||||
|
static BOOL CALLBACK EnumConnections_cb2( LPCGUID lpguidSP,
|
||||||
|
LPVOID lpConnection,
|
||||||
|
DWORD dwConnectionSize,
|
||||||
|
LPCDPNAME lpName,
|
||||||
|
DWORD dwFlags,
|
||||||
|
LPVOID lpContext )
|
||||||
|
{
|
||||||
|
LPDIRECTPLAY4 pDP = (LPDIRECTPLAY4) lpContext;
|
||||||
|
HRESULT hr;
|
||||||
|
|
||||||
|
/* Incorrect parameters */
|
||||||
|
hr = IDirectPlayX_InitializeConnection( pDP, NULL, 1 );
|
||||||
|
checkHR( DPERR_INVALIDPARAMS, hr );
|
||||||
|
hr = IDirectPlayX_InitializeConnection( pDP, lpConnection, 1 );
|
||||||
|
checkHR( DPERR_INVALIDFLAGS, hr );
|
||||||
|
|
||||||
|
/* Normal operation.
|
||||||
|
We're only interested in ensuring that the TCP/IP provider works */
|
||||||
|
|
||||||
|
if( IsEqualGUID(lpguidSP, &DPSPGUID_TCPIP) )
|
||||||
|
{
|
||||||
|
hr = IDirectPlayX_InitializeConnection( pDP, lpConnection, 0 );
|
||||||
|
todo_wine checkHR( DP_OK, hr );
|
||||||
|
hr = IDirectPlayX_InitializeConnection( pDP, lpConnection, 0 );
|
||||||
|
todo_wine checkHR( DPERR_ALREADYINITIALIZED, hr );
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test_InitializeConnection(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
LPDIRECTPLAY4 pDP;
|
||||||
|
|
||||||
|
CoCreateInstance( &CLSID_DirectPlay, NULL, CLSCTX_ALL,
|
||||||
|
&IID_IDirectPlay4A, (LPVOID*) &pDP );
|
||||||
|
|
||||||
|
IDirectPlayX_EnumConnections( pDP, &appGuid, EnumConnections_cb2,
|
||||||
|
(LPVOID) pDP, 0 );
|
||||||
|
|
||||||
|
IDirectPlayX_Release( pDP );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
START_TEST(dplayx)
|
START_TEST(dplayx)
|
||||||
{
|
{
|
||||||
|
@ -714,6 +760,7 @@ START_TEST(dplayx)
|
||||||
|
|
||||||
test_DirectPlayCreate();
|
test_DirectPlayCreate();
|
||||||
test_EnumConnections();
|
test_EnumConnections();
|
||||||
|
test_InitializeConnection();
|
||||||
|
|
||||||
CoUninitialize();
|
CoUninitialize();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue