dpnet: Implement IDirectPlay8LobbyClient Initialize.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alistair Leslie-Hughes 2016-10-28 07:07:32 +00:00 committed by Alexandre Julliard
parent 5f797e6c34
commit 5183ebd8ab
2 changed files with 17 additions and 3 deletions

View File

@ -40,6 +40,10 @@ typedef struct IDirectPlay8LobbyClientImpl
{
IDirectPlay8LobbyClient IDirectPlay8LobbyClient_iface;
LONG ref;
PFNDPNMESSAGEHANDLER msghandler;
DWORD flags;
void *usercontext;
} IDirectPlay8LobbyClientImpl;
static inline IDirectPlay8LobbyClientImpl *impl_from_IDirectPlay8LobbyClient(IDirectPlay8LobbyClient *iface)
@ -427,9 +431,16 @@ static HRESULT WINAPI lobbyclient_Initialize(IDirectPlay8LobbyClient *iface, voi
{
IDirectPlay8LobbyClientImpl *This = impl_from_IDirectPlay8LobbyClient(iface);
FIXME("(%p)->(%p %p 0x%08x)\n", This, context, msghandler, flags);
TRACE("(%p):(%p,%p,%x)\n", This, context, msghandler, flags);
return E_NOTIMPL;
if(!msghandler)
return E_POINTER;
This->usercontext = context;
This->msghandler = msghandler;
This->flags = flags;
return DPN_OK;
}
static HRESULT WINAPI lobbyclient_EnumLocalPrograms(IDirectPlay8LobbyClient *iface, GUID* guidapplication,

View File

@ -220,8 +220,11 @@ static void test_lobbyclient(void)
ok(hr == S_OK, "Failed to create object\n");
if(SUCCEEDED(hr))
{
hr = IDirectPlay8LobbyClient_Initialize(client, NULL, NULL, 0);
ok(hr == E_POINTER, "got 0x%08x\n", hr);
hr = IDirectPlay8LobbyClient_Initialize(client, NULL, DirectPlayLobbyClientMessageHandler, 0);
todo_wine ok(hr == S_OK, "got 0x%08x\n", hr);
ok(hr == S_OK, "got 0x%08x\n", hr);
hr = IDirectPlay8LobbyClient_Close(client, 0);
todo_wine ok(hr == S_OK, "got 0x%08x\n", hr);