Alistair Leslie-Hughes : dpnet: Implement IDirectPlay8Client Initialize.
Alexandre Julliard
julliard at winehq.org
Thu May 8 13:35:20 CDT 2014
Module: wine
Branch: master
Commit: 0d8f86c66de4fc75793f777967c7df2d9202776b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=0d8f86c66de4fc75793f777967c7df2d9202776b
Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date: Sat May 3 15:45:06 2014 +1000
dpnet: Implement IDirectPlay8Client Initialize.
---
dlls/dpnet/client.c | 15 ++++++++++++---
dlls/dpnet/dpnet_private.h | 10 +++++++---
dlls/dpnet/tests/client.c | 2 +-
3 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/dlls/dpnet/client.c b/dlls/dpnet/client.c
index 9668a68..43ffb59 100644
--- a/dlls/dpnet/client.c
+++ b/dlls/dpnet/client.c
@@ -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,
diff --git a/dlls/dpnet/dpnet_private.h b/dlls/dpnet/dpnet_private.h
index 00ea94b..34d2aee 100644
--- a/dlls/dpnet/dpnet_private.h
+++ b/dlls/dpnet/dpnet_private.h
@@ -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;
};
/* ------------------- */
diff --git a/dlls/dpnet/tests/client.c b/dlls/dpnet/tests/client.c
index 890f218..0df99dd 100644
--- a/dlls/dpnet/tests/client.c
+++ b/dlls/dpnet/tests/client.c
@@ -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);
More information about the wine-cvs
mailing list