diff --git a/dlls/dpnet/address.c b/dlls/dpnet/address.c index a84deacac02..3e8ebc6b2ff 100644 --- a/dlls/dpnet/address.c +++ b/dlls/dpnet/address.c @@ -70,25 +70,142 @@ ULONG WINAPI IDirectPlay8AddressImpl_Release(PDIRECTPLAY8ADDRESS iface) { /* IDirectPlay8Address Interface follow: */ -HRESULT WINAPI IDirectPlay8AddressImpl_BuildFromURLW(PDIRECTPLAY8ADDRESS iface, WCHAR* pwszSourceURL) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8AddressImpl_BuildFromURLA(PDIRECTPLAY8ADDRESS iface, CHAR* pszSourceURL) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8AddressImpl_Duplicate(PDIRECTPLAY8ADDRESS iface, PDIRECTPLAY8ADDRESS* ppdpaNewAddress) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8AddressImpl_SetEqual(PDIRECTPLAY8ADDRESS iface, PDIRECTPLAY8ADDRESS pdpaAddress) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8AddressImpl_IsEqual(PDIRECTPLAY8ADDRESS iface, PDIRECTPLAY8ADDRESS pdpaAddress) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8AddressImpl_Clear(PDIRECTPLAY8ADDRESS iface) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8AddressImpl_GetURLW(PDIRECTPLAY8ADDRESS iface, WCHAR* pwszURL, PDWORD pdwNumChars) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8AddressImpl_GetURLA(PDIRECTPLAY8ADDRESS iface, CHAR* pszURL, PDWORD pdwNumChars) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8AddressImpl_GetSP(PDIRECTPLAY8ADDRESS iface, GUID* pguidSP) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8AddressImpl_GetUserData(PDIRECTPLAY8ADDRESS iface, LPVOID pvUserData, PDWORD pdwBufferSize) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8AddressImpl_SetSP(PDIRECTPLAY8ADDRESS iface, CONST GUID* CONST pguidSP) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8AddressImpl_SetUserData(PDIRECTPLAY8ADDRESS iface, CONST void* CONST pvUserData, CONST DWORD dwDataSize) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8AddressImpl_GetNumComponents(PDIRECTPLAY8ADDRESS iface, PDWORD pdwNumComponents) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8AddressImpl_GetComponentByName(PDIRECTPLAY8ADDRESS iface, CONST WCHAR* CONST pwszName, LPVOID pvBuffer, PDWORD pdwBufferSize, PDWORD pdwDataType) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8AddressImpl_GetComponentByIndex(PDIRECTPLAY8ADDRESS iface, CONST DWORD dwComponentID, WCHAR* pwszName, PDWORD pdwNameLen, void* pvBuffer, PDWORD pdwBufferSize, PDWORD pdwDataType) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8AddressImpl_AddComponent(PDIRECTPLAY8ADDRESS iface, CONST WCHAR* CONST pwszName, CONST void* CONST lpvData, CONST DWORD dwDataSize, CONST DWORD dwDataType) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8AddressImpl_GetDevice(PDIRECTPLAY8ADDRESS iface, GUID* pDevGuid) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8AddressImpl_SetDevice(PDIRECTPLAY8ADDRESS iface, CONST GUID* CONST devGuid) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8AddressImpl_BuildFromDirectPlay4Address(PDIRECTPLAY8ADDRESS iface, LPVOID pvAddress, DWORD dwDataSize) { return DPN_OK; } +HRESULT WINAPI IDirectPlay8AddressImpl_BuildFromURLW(PDIRECTPLAY8ADDRESS iface, WCHAR* pwszSourceURL) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p, %s): stub\n", This, debugstr_w(pwszSourceURL)); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8AddressImpl_BuildFromURLA(PDIRECTPLAY8ADDRESS iface, CHAR* pszSourceURL) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p, %s): stub\n", This, pszSourceURL); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8AddressImpl_Duplicate(PDIRECTPLAY8ADDRESS iface, PDIRECTPLAY8ADDRESS* ppdpaNewAddress) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p, %p): stub\n", This, ppdpaNewAddress); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8AddressImpl_SetEqual(PDIRECTPLAY8ADDRESS iface, PDIRECTPLAY8ADDRESS pdpaAddress) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p, %p): stub\n", This, pdpaAddress); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8AddressImpl_IsEqual(PDIRECTPLAY8ADDRESS iface, PDIRECTPLAY8ADDRESS pdpaAddress) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p, %p): stub\n", This, pdpaAddress); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8AddressImpl_Clear(PDIRECTPLAY8ADDRESS iface) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p): stub\n", This); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8AddressImpl_GetURLW(PDIRECTPLAY8ADDRESS iface, WCHAR* pwszURL, PDWORD pdwNumChars) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p): stub\n", This); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8AddressImpl_GetURLA(PDIRECTPLAY8ADDRESS iface, CHAR* pszURL, PDWORD pdwNumChars) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p): stub\n", This); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8AddressImpl_GetSP(PDIRECTPLAY8ADDRESS iface, GUID* pguidSP) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p, %p)\n", iface, pguidSP); + memcpy(pguidSP, &This->SP_guid, sizeof(GUID)); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8AddressImpl_GetUserData(PDIRECTPLAY8ADDRESS iface, LPVOID pvUserData, PDWORD pdwBufferSize) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p): stub\n", This); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8AddressImpl_SetSP(PDIRECTPLAY8ADDRESS iface, CONST GUID* CONST pguidSP) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p, %s)\n", iface, debugstr_SP(pguidSP)); + memcpy(&This->SP_guid, pguidSP, sizeof(GUID)); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8AddressImpl_SetUserData(PDIRECTPLAY8ADDRESS iface, CONST void* CONST pvUserData, CONST DWORD dwDataSize) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p): stub\n", This); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8AddressImpl_GetNumComponents(PDIRECTPLAY8ADDRESS iface, PDWORD pdwNumComponents) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p): stub\n", This); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8AddressImpl_GetComponentByName(PDIRECTPLAY8ADDRESS iface, CONST WCHAR* CONST pwszName, LPVOID pvBuffer, PDWORD pdwBufferSize, PDWORD pdwDataType) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p): stub\n", This); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8AddressImpl_GetComponentByIndex(PDIRECTPLAY8ADDRESS iface, CONST DWORD dwComponentID, WCHAR* pwszName, + PDWORD pdwNameLen, void* pvBuffer, PDWORD pdwBufferSize, PDWORD pdwDataType) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p): stub\n", This); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8AddressImpl_AddComponent(PDIRECTPLAY8ADDRESS iface, CONST WCHAR* CONST pwszName, + CONST void* CONST lpvData, CONST DWORD dwDataSize, CONST DWORD dwDataType) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p, %s, %p, %lu, %lx): stub\n", This, debugstr_w(pwszName), lpvData, dwDataSize, dwDataType); + + if (NULL == lpvData) return DPNERR_INVALIDPOINTER; + switch (dwDataType) { + case DPNA_DATATYPE_DWORD: + if (sizeof(DWORD) != dwDataSize) return DPNERR_INVALIDPARAM; + TRACE("(%p, %lu): DWORD Type -> %lu \n", lpvData, dwDataSize, *(DWORD*) lpvData); + break; + case DPNA_DATATYPE_GUID: + if (sizeof(GUID) != dwDataSize) return DPNERR_INVALIDPARAM; + TRACE("(%p, %lu): GUID Type -> %s \n", lpvData, dwDataSize, debugstr_guid((GUID*) lpvData)); + break; + case DPNA_DATATYPE_STRING: + TRACE("(%p, %lu): STRING Type -> %s \n", lpvData, dwDataSize, (CHAR*) lpvData); + break; + case DPNA_DATATYPE_BINARY: + TRACE("(%p, %lu): BINARY Type\n", lpvData, dwDataSize); + break; + } + + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8AddressImpl_GetDevice(PDIRECTPLAY8ADDRESS iface, GUID* pDevGuid) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p): stub\n", This); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8AddressImpl_SetDevice(PDIRECTPLAY8ADDRESS iface, CONST GUID* CONST devGuid) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p, %s): stub\n", This, debugstr_guid(devGuid)); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8AddressImpl_BuildFromDirectPlay4Address(PDIRECTPLAY8ADDRESS iface, LPVOID pvAddress, DWORD dwDataSize) { + ICOM_THIS(IDirectPlay8AddressImpl,iface); + TRACE("(%p): stub\n", This); + return DPN_OK; +} ICOM_VTABLE(IDirectPlay8Address) DirectPlay8Address_Vtbl = { @@ -131,3 +248,24 @@ HRESULT DPNET_CreateDirectPlay8Address(LPCLASSFACTORY iface, LPUNKNOWN punkOuter client->ref = 0; /* will be inited with QueryInterface */ return IDirectPlay8AddressImpl_QueryInterface ((PDIRECTPLAY8ADDRESS)client, riid, ppobj); } + +/* returns name of given GUID */ +const char *debugstr_SP(const GUID *id) { + static const guid_info guids[] = { + /* CLSIDs */ + GE(CLSID_DP8SP_IPX), + GE(CLSID_DP8SP_TCPIP), + GE(CLSID_DP8SP_SERIAL), + GE(CLSID_DP8SP_MODEM) + }; + unsigned int i; + + if (!id) return "(null)"; + + for (i = 0; i < sizeof(guids)/sizeof(guids[0]); i++) { + if (IsEqualGUID(id, &guids[i].guid)) + return guids[i].name; + } + /* if we didn't find it, act like standard debugstr_guid */ + return debugstr_guid(id); +} diff --git a/dlls/dpnet/client.c b/dlls/dpnet/client.c index 415ab0a92f3..52ddf36c1f0 100644 --- a/dlls/dpnet/client.c +++ b/dlls/dpnet/client.c @@ -70,26 +70,155 @@ ULONG WINAPI IDirectPlay8ClientImpl_Release(PDIRECTPLAY8CLIENT iface) { /* IDirectPlay8Client Interface follow: */ -HRESULT WINAPI IDirectPlay8ClientImpl_Initialize(PDIRECTPLAY8CLIENT iface, PVOID CONST pvUserContext, CONST PFNDPNMESSAGEHANDLER pfn, CONST DWORD dwFlags) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8ClientImpl_EnumServiceProviders(PDIRECTPLAY8CLIENT iface, CONST GUID * CONST pguidServiceProvider, CONST GUID * CONST pguidApplication, DPN_SERVICE_PROVIDER_INFO * CONST pSPInfoBuffer, PDWORD CONST pcbEnumData, PDWORD CONST pcReturned, CONST DWORD dwFlags) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8ClientImpl_EnumHosts(PDIRECTPLAY8CLIENT iface, PDPN_APPLICATION_DESC CONST pApplicationDesc,IDirectPlay8Address * CONST pAddrHost,IDirectPlay8Address * CONST pDeviceInfo, PVOID CONST pUserEnumData, CONST DWORD dwUserEnumDataSize, CONST DWORD dwEnumCount, CONST DWORD dwRetryInterval, CONST DWORD dwTimeOut, PVOID CONST pvUserContext, DPNHANDLE * CONST pAsyncHandle, CONST DWORD dwFlags) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8ClientImpl_CancelAsyncOperation(PDIRECTPLAY8CLIENT iface, CONST DPNHANDLE hAsyncHandle, CONST DWORD dwFlags) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8ClientImpl_Connect(PDIRECTPLAY8CLIENT iface, CONST DPN_APPLICATION_DESC * CONST pdnAppDesc,IDirectPlay8Address * CONST pHostAddr,IDirectPlay8Address * CONST pDeviceInfo, CONST DPN_SECURITY_DESC * CONST pdnSecurity, CONST DPN_SECURITY_CREDENTIALS * CONST pdnCredentials, CONST void * CONST pvUserConnectData, CONST DWORD dwUserConnectDataSize,void * CONST pvAsyncContext, DPNHANDLE * CONST phAsyncHandle, CONST DWORD dwFlags) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8ClientImpl_Send(PDIRECTPLAY8CLIENT iface, CONST DPN_BUFFER_DESC * CONST prgBufferDesc, CONST DWORD cBufferDesc, CONST DWORD dwTimeOut, void * CONST pvAsyncContext, DPNHANDLE * CONST phAsyncHandle, CONST DWORD dwFlags) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8ClientImpl_GetSendQueueInfo(PDIRECTPLAY8CLIENT iface, DWORD * CONST pdwNumMsgs, DWORD * CONST pdwNumBytes, CONST DWORD dwFlags) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8ClientImpl_GetApplicationDesc(PDIRECTPLAY8CLIENT iface, DPN_APPLICATION_DESC * CONST pAppDescBuffer, DWORD * CONST pcbDataSize, CONST DWORD dwFlags) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8ClientImpl_SetClientInfo(PDIRECTPLAY8CLIENT iface, CONST DPN_PLAYER_INFO * CONST pdpnPlayerInfo, PVOID CONST pvAsyncContext, DPNHANDLE * CONST phAsyncHandle, CONST DWORD dwFlags) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8ClientImpl_GetServerInfo(PDIRECTPLAY8CLIENT iface, DPN_PLAYER_INFO * CONST pdpnPlayerInfo, DWORD * CONST pdwSize, CONST DWORD dwFlags) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8ClientImpl_GetServerAddress(PDIRECTPLAY8CLIENT iface, IDirectPlay8Address ** CONST pAddress, CONST DWORD dwFlags) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8ClientImpl_Close(PDIRECTPLAY8CLIENT iface, CONST DWORD dwFlags) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8ClientImpl_ReturnBuffer(PDIRECTPLAY8CLIENT iface, CONST DPNHANDLE hBufferHandle, CONST DWORD dwFlags) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8ClientImpl_GetCaps(PDIRECTPLAY8CLIENT iface, DPN_CAPS * CONST pdpCaps, CONST DWORD dwFlags) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8ClientImpl_SetCaps(PDIRECTPLAY8CLIENT iface, CONST DPN_CAPS * CONST pdpCaps, CONST DWORD dwFlags) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8ClientImpl_SetSPCaps(PDIRECTPLAY8CLIENT iface, CONST GUID * CONST pguidSP, CONST DPN_SP_CAPS * CONST pdpspCaps, CONST DWORD dwFlags ) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8ClientImpl_GetSPCaps(PDIRECTPLAY8CLIENT iface, CONST GUID * CONST pguidSP, DPN_SP_CAPS * CONST pdpspCaps, CONST DWORD dwFlags) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8ClientImpl_GetConnectionInfo(PDIRECTPLAY8CLIENT iface, DPN_CONNECTION_INFO * CONST pdpConnectionInfo, CONST DWORD dwFlags) { return DPN_OK; } -HRESULT WINAPI IDirectPlay8ClientImpl_RegisterLobby(PDIRECTPLAY8CLIENT iface, CONST DPNHANDLE dpnHandle, struct IDirectPlay8LobbiedApplication * CONST pIDP8LobbiedApplication, CONST DWORD dwFlags) { return DPN_OK; } +HRESULT WINAPI IDirectPlay8ClientImpl_Initialize(PDIRECTPLAY8CLIENT iface, PVOID CONST pvUserContext, CONST PFNDPNMESSAGEHANDLER pfn, CONST DWORD dwFlags) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + FIXME("(%p):(%p,%p,%lx): Stub\n", This, pvUserContext, pfn, dwFlags); + return DPN_OK; +} +HRESULT WINAPI IDirectPlay8ClientImpl_EnumServiceProviders(PDIRECTPLAY8CLIENT iface, + CONST GUID * CONST pguidServiceProvider, + CONST GUID * CONST pguidApplication, + DPN_SERVICE_PROVIDER_INFO * CONST pSPInfoBuffer, + PDWORD CONST pcbEnumData, + PDWORD CONST pcReturned, + CONST DWORD dwFlags) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + FIXME("(%p):(%lx): Stub\n", This, dwFlags); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8ClientImpl_EnumHosts(PDIRECTPLAY8CLIENT iface, + PDPN_APPLICATION_DESC CONST pApplicationDesc, + IDirectPlay8Address * CONST pAddrHost, + IDirectPlay8Address * CONST pDeviceInfo, + PVOID CONST pUserEnumData, CONST DWORD dwUserEnumDataSize, CONST DWORD dwEnumCount, + CONST DWORD dwRetryInterval, + CONST DWORD dwTimeOut, + PVOID CONST pvUserContext, + DPNHANDLE * CONST pAsyncHandle, + CONST DWORD dwFlags) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + /*FIXME("(%p):(%p,%p,%p,%p,%lu,%lu,%lu,%lu): Stub\n", This, pApplicationDesc, pAddrHost, pDeviceInfo, pUserEnumData, dwUserEnumDataSize, dwEnumCount, dwRetryInterval, dwTimeOut);*/ + FIXME("(%p):(%p,%p,%lx): Stub\n", This, pvUserContext, pAsyncHandle, dwFlags); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8ClientImpl_CancelAsyncOperation(PDIRECTPLAY8CLIENT iface, CONST DPNHANDLE hAsyncHandle, CONST DWORD dwFlags) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + FIXME("(%p):(%lu,%lx): Stub\n", This, hAsyncHandle, dwFlags); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8ClientImpl_Connect(PDIRECTPLAY8CLIENT iface, + CONST DPN_APPLICATION_DESC * CONST pdnAppDesc, + IDirectPlay8Address * CONST pHostAddr, + IDirectPlay8Address * CONST pDeviceInfo, + CONST DPN_SECURITY_DESC * CONST pdnSecurity, + CONST DPN_SECURITY_CREDENTIALS * CONST pdnCredentials, + CONST void * CONST pvUserConnectData, + CONST DWORD dwUserConnectDataSize, + void * CONST pvAsyncContext, + DPNHANDLE * CONST phAsyncHandle, + CONST DWORD dwFlags) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + FIXME("(%p):(%p,%p,%lx): Stub\n", This, pvAsyncContext, phAsyncHandle, dwFlags); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8ClientImpl_Send(PDIRECTPLAY8CLIENT iface, + CONST DPN_BUFFER_DESC * CONST prgBufferDesc, + CONST DWORD cBufferDesc, + CONST DWORD dwTimeOut, + void * CONST pvAsyncContext, + DPNHANDLE * CONST phAsyncHandle, + CONST DWORD dwFlags) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + FIXME("(%p):(%p,%p,%lx): Stub\n", This, pvAsyncContext, phAsyncHandle, dwFlags); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8ClientImpl_GetSendQueueInfo(PDIRECTPLAY8CLIENT iface, DWORD * CONST pdwNumMsgs, DWORD * CONST pdwNumBytes, CONST DWORD dwFlags) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + FIXME("(%p):(%lx): Stub\n", This, dwFlags); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8ClientImpl_GetApplicationDesc(PDIRECTPLAY8CLIENT iface, DPN_APPLICATION_DESC * CONST pAppDescBuffer, DWORD * CONST pcbDataSize, CONST DWORD dwFlags) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + FIXME("(%p):(%lx): Stub\n", This, dwFlags); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8ClientImpl_SetClientInfo(PDIRECTPLAY8CLIENT iface, + CONST DPN_PLAYER_INFO * CONST pdpnPlayerInfo, + PVOID CONST pvAsyncContext, + DPNHANDLE * CONST phAsyncHandle, + CONST DWORD dwFlags) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + FIXME("(%p):(%p,%p,%lx): Stub\n", This, pvAsyncContext, phAsyncHandle, dwFlags); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8ClientImpl_GetServerInfo(PDIRECTPLAY8CLIENT iface, DPN_PLAYER_INFO * CONST pdpnPlayerInfo, DWORD * CONST pdwSize, CONST DWORD dwFlags) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + FIXME("(%p):(%lx): Stub\n", This, dwFlags); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8ClientImpl_GetServerAddress(PDIRECTPLAY8CLIENT iface, IDirectPlay8Address ** CONST pAddress, CONST DWORD dwFlags) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + FIXME("(%p):(%lx): Stub\n", This, dwFlags); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8ClientImpl_Close(PDIRECTPLAY8CLIENT iface, CONST DWORD dwFlags) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + FIXME("(%p):(%lx): Stub\n", This, dwFlags); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8ClientImpl_ReturnBuffer(PDIRECTPLAY8CLIENT iface, CONST DPNHANDLE hBufferHandle, CONST DWORD dwFlags) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + FIXME("(%p):(%lx): Stub\n", This, dwFlags); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8ClientImpl_GetCaps(PDIRECTPLAY8CLIENT iface, DPN_CAPS * CONST pdpCaps, CONST DWORD dwFlags) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + FIXME("(%p):(%lx): Stub\n", This, dwFlags); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8ClientImpl_SetCaps(PDIRECTPLAY8CLIENT iface, CONST DPN_CAPS * CONST pdpCaps, CONST DWORD dwFlags) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + FIXME("(%p):(%lx): Stub\n", This, dwFlags); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8ClientImpl_SetSPCaps(PDIRECTPLAY8CLIENT iface, CONST GUID * CONST pguidSP, CONST DPN_SP_CAPS * CONST pdpspCaps, CONST DWORD dwFlags ) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + FIXME("(%p):(%lx): Stub\n", This, dwFlags); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8ClientImpl_GetSPCaps(PDIRECTPLAY8CLIENT iface, CONST GUID * CONST pguidSP, DPN_SP_CAPS * CONST pdpspCaps, CONST DWORD dwFlags) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + FIXME("(%p):(%lx): Stub\n", This, dwFlags); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8ClientImpl_GetConnectionInfo(PDIRECTPLAY8CLIENT iface, DPN_CONNECTION_INFO * CONST pdpConnectionInfo, CONST DWORD dwFlags) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + FIXME("(%p):(%lx): Stub\n", This, dwFlags); + return DPN_OK; +} + +HRESULT WINAPI IDirectPlay8ClientImpl_RegisterLobby(PDIRECTPLAY8CLIENT iface, CONST DPNHANDLE dpnHandle, struct IDirectPlay8LobbiedApplication * CONST pIDP8LobbiedApplication, CONST DWORD dwFlags) { + ICOM_THIS(IDirectPlay8ClientImpl,iface); + FIXME("(%p):(%lx): Stub\n", This, dwFlags); + return DPN_OK; +} ICOM_VTABLE(IDirectPlay8Client) DirectPlay8Client_Vtbl = { diff --git a/dlls/dpnet/dpnet_private.h b/dlls/dpnet/dpnet_private.h index fa0dfb9d188..e7f97156342 100644 --- a/dlls/dpnet/dpnet_private.h +++ b/dlls/dpnet/dpnet_private.h @@ -99,6 +99,8 @@ struct IDirectPlay8AddressImpl ICOM_VFIELD(IDirectPlay8Address); DWORD ref; /* IDirectPlay8Address fields */ + GUID SP_guid; + WCHAR* url; }; /* IUnknown: */ @@ -118,4 +120,25 @@ extern HRESULT DPNET_CreateDirectPlay8Server(LPCLASSFACTORY iface, LPUNKNOWN pun extern HRESULT DPNET_CreateDirectPlay8Peer(LPCLASSFACTORY iface, LPUNKNOWN punkOuter, REFIID riid, LPVOID *ppobj); extern HRESULT DPNET_CreateDirectPlay8Address(LPCLASSFACTORY iface, LPUNKNOWN punkOuter, REFIID riid, LPVOID *ppobj); +/** + * debug + */ +extern const char *debugstr_SP(const GUID *id); + +/* used for generic dumping (copied from ddraw) */ +typedef struct { + DWORD val; + const char* name; +} flag_info; + +typedef struct { + const GUID *guid; + const char* name; +} guid_info; + +#define FE(x) { x, #x } +#define GE(x) { &x, #x } + + + #endif