Commit 0d8f86c6 authored by Alistair Leslie-Hughes's avatar Alistair Leslie-Hughes Committed by Alexandre Julliard

dpnet: Implement IDirectPlay8Client Initialize.

parent 594c4ea3
......@@ -86,9 +86,18 @@ static ULONG WINAPI IDirectPlay8ClientImpl_Release(IDirectPlay8Client *iface)
static HRESULT WINAPI IDirectPlay8ClientImpl_Initialize(IDirectPlay8Client *iface,
void * const pvUserContext, const PFNDPNMESSAGEHANDLER pfn, const DWORD dwFlags)
{
IDirectPlay8ClientImpl *This = impl_from_IDirectPlay8Client(iface);
FIXME("(%p):(%p,%p,%x): Stub\n", This, pvUserContext, pfn, dwFlags);
return DPN_OK;
IDirectPlay8ClientImpl *This = impl_from_IDirectPlay8Client(iface);
TRACE("(%p):(%p,%p,%x)\n", This, pvUserContext, pfn, dwFlags);
if(!pfn)
return DPNERR_INVALIDPARAM;
This->usercontext = pvUserContext;
This->msghandler = pfn;
This->flags = dwFlags;
return DPN_OK;
}
static HRESULT WINAPI IDirectPlay8ClientImpl_EnumServiceProviders(IDirectPlay8Client *iface,
......
......@@ -46,9 +46,13 @@ typedef struct IDirectPlay8ThreadPoolImpl IDirectPlay8ThreadPoolImpl;
*/
struct IDirectPlay8ClientImpl
{
IDirectPlay8Client IDirectPlay8Client_iface;
LONG ref;
/* IDirectPlay8Client fields */
IDirectPlay8Client IDirectPlay8Client_iface;
LONG ref;
/* IDirectPlay8Client fields */
PFNDPNMESSAGEHANDLER msghandler;
DWORD flags;
void *usercontext;
};
/* ------------------- */
......
......@@ -44,7 +44,7 @@ static BOOL test_init_dp(void)
ok(hr == S_OK, "CoCreateInstance failed with 0x%x\n", hr);
hr = IDirectPlay8Client_Initialize(client, NULL, NULL, 0);
todo_wine ok(hr == DPNERR_INVALIDPARAM, "got %x\n", hr);
ok(hr == DPNERR_INVALIDPARAM, "got %x\n", hr);
hr = IDirectPlay8Client_Initialize(client, NULL, DirectPlayMessageHandler, 0);
ok(hr == S_OK, "IDirectPlay8Client_Initialize failed with %x\n", hr);
......
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