-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 2014-05-14 06:46, schrieb Alistair Leslie-Hughes:
+#define COBJMACROS +#include "windef.h" +#include "winbase.h" +#include "wingdi.h" +#include "winuser.h" +#include "objbase.h" +#include "wine/debug.h"
Another thing I did not notice before: Do you need them all? At least wingdi.h seems suspicious, I guess winuser.h shouldn't be needed either - unless dpnet pops up dialogs.
+static HRESULT WINAPI lobbyclient_QueryInterface(IDirectPlay8LobbyClient *iface, REFIID riid, void **ppobj) ...
IUnknown_AddRef(iface);
*ppobj = This;
IMO this should be *ppobj = &This->IDirectPlay8LobbyClient_iface. That way it doesn't break if someone uses
+static HRESULT WINAPI lobbyclient_EnumLocalPrograms(IDirectPlay8LobbyClient *iface, GUID* pGuidApplication, BYTE* pEnumData, DWORD* pdwEnumData, DWORD* pdwItems, DWORD flags)
You de-hungarified flags, but not the others (pSomePointer, pdwSomePointerToADWord). There are many more cases in the other functions.
+static HRESULT WINAPI lobbyclient_ConnectApplication(IDirectPlay8LobbyClient *iface, DPL_CONNECT_INFO* pdplConnectionInfo, PVOID pvConnectionContext, DPNHANDLE* hApplication, DWORD dwTimeOut, DWORD flags) +{
- IDirectPlay8LobbyClientImpl *This = impl_from_IDirectPlay8LobbyClient(iface);
- FIXME("(%p)->(%p %p %p %d %x)\n", This, pdplConnectionInfo, pvConnectionContext, hApplication, dwTimeOut, flags);
a DWORD is an unsigned value, it should use %u. This applies to dwTimeOut here, but there are other cases in other functions.
+static HRESULT WINAPI lobbyclient_SetConnectionSettings(IDirectPlay8LobbyClient *iface, DPNHANDLE hConnection, const DPL_CONNECTION_SETTINGS* pdplSessionInfo, DWORD flags) +{
- IDirectPlay8LobbyClientImpl *This = impl_from_IDirectPlay8LobbyClient(iface);
- FIXME("(%p)->(%d %p %x)\n", This, hConnection, pdplSessionInfo, flags);
- return E_NOTIMPL;
+}
You might want a helper function that prints DPL_CONNECTION_SETTINGS at some point. I'm ok with adding this in a later patch. Don't forget to check for NULL before you print though.
+static const IDirectPlay8LobbyClientVtbl DirectPlay8LobbiedClient_Vtbl = +{
Really minor nitpick: There's an extra newline.
+HRESULT DPNET_CreateDirectPlay8LobbyClient(IClassFactory *iface, IUnknown *outer, REFIID riid, void **obj) +{
- IDirectPlay8LobbyClientImpl *app;
Why is it called "app"?
- HRESULT ret;
- TRACE("(%p, %s, %p)\n", outer, debugstr_guid(riid), obj);
You forgot to print iface here. Is that intentional?
diff --git a/dlls/dpnet/tests/Makefile.in b/dlls/dpnet/tests/Makefile.in index f6e45ea..5b97aa1 100644
+#define WIN32_LEAN_AND_MEAN +#include <stdio.h>
Is this needed? I don't see a function call, but maybe I'm missing something
+static HRESULT WINAPI DirectPlayLobbyMessageHandler(PVOID context, DWORD message_id, PVOID buffer) PJUNK
There are more PJUNKs in this file.