Commit d142447c authored by Ismael Barros's avatar Ismael Barros Committed by Alexandre Julliard

dplayx: Tests for InitializeConnection.

parent 4ab75e12
......@@ -4227,11 +4227,21 @@ static HRESULT WINAPI DP_IF_InitializeConnection
TRACE("(%p)->(%p,0x%08x,%u)\n", This, lpConnection, dwFlags, bAnsi );
if ( lpConnection == NULL )
{
return DPERR_INVALIDPARAMS;
}
if( dwFlags != 0 )
{
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 */
hr = DPL_EnumAddress( DP_GetSpLpGuidFromCompoundAddress, lpConnection,
dwAddrSize, &guidSP );
......
......@@ -707,6 +707,52 @@ static void test_EnumConnections(void)
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)
{
......@@ -714,6 +760,7 @@ START_TEST(dplayx)
test_DirectPlayCreate();
test_EnumConnections();
test_InitializeConnection();
CoUninitialize();
}
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