dplayx: Tests for InitializeConnection.

This commit is contained in:
Ismael Barros 2008-07-31 20:17:32 +03:00 committed by Alexandre Julliard
parent 4ab75e1214
commit d142447c26
2 changed files with 57 additions and 0 deletions

View File

@ -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 );

View File

@ -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();
}