[DPLAY03] more dpnet
Raphael
fenix at club-internet.fr
Wed Apr 7 19:17:39 CDT 2004
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
Changelog:
- add traces to client.c and address.c stub functions
- implement some debugging functions (debugstr_SP)
- implement IDirectPlay8Address::GetSP/IDirectPlay8Address::SetSP
Now we don't crash on the Hidden and Dangereous 2 MP Demo.
HD2MP Todo:
- - get the network connection/detection working (begining by
IDirectPlay8Client::EnumHosts)
- - fix the cursor and font problem on menu (seems a strange d3d8 problem)
Regards,
Raphael
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
iD8DBQFAdJojp7NA3AmQTU4RAh3UAJ4gR7rVN2Gn7c2c1FxoVGgdxiCCPACfeJ/1
X7C2cyH+W/KQPkapHBWJisU=
=seRO
-----END PGP SIGNATURE-----
-------------- next part --------------
? save
Index: address.c
===================================================================
RCS file: /home/wine/wine/dlls/dpnet/address.c,v
retrieving revision 1.1
diff -u -r1.1 address.c
--- address.c 7 Apr 2004 20:39:00 -0000 1.1
+++ address.c 8 Apr 2004 00:11:40 -0000
@@ -70,25 +70,142 @@
/* 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,25 @@
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)
+ };
+
+ if (!id) return "(null)";
+
+ unsigned int i;
+ 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);
+}
+
Index: client.c
===================================================================
RCS file: /home/wine/wine/dlls/dpnet/client.c,v
retrieving revision 1.1
diff -u -r1.1 client.c
--- client.c 7 Apr 2004 20:39:00 -0000 1.1
+++ client.c 8 Apr 2004 00:11:40 -0000
@@ -70,26 +70,155 @@
/* 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 =
{
@@ -132,3 +261,4 @@
client->ref = 0; /* will be inited with QueryInterface */
return IDirectPlay8ClientImpl_QueryInterface ((PDIRECTPLAY8CLIENT)client, riid, ppobj);
}
+
Index: dpnet_private.h
===================================================================
RCS file: /home/wine/wine/dlls/dpnet/dpnet_private.h,v
retrieving revision 1.1
diff -u -r1.1 dpnet_private.h
--- dpnet_private.h 7 Apr 2004 20:39:00 -0000 1.1
+++ dpnet_private.h 8 Apr 2004 00:11:40 -0000
@@ -26,10 +26,8 @@
#endif
#include "dplay8.h"
-/*
- *#include "dplobby8.h"
- *#include "dplay8sp.h"
- */
+//#include "dplobby8.h"
+//#include "dplay8sp.h"
/* DirectPlay8 Interfaces: */
typedef struct IDirectPlay8ClientImpl IDirectPlay8ClientImpl;
@@ -99,6 +97,8 @@
ICOM_VFIELD(IDirectPlay8Address);
DWORD ref;
/* IDirectPlay8Address fields */
+ GUID SP_guid;
+ WCHAR* url;
};
/* IUnknown: */
@@ -117,5 +117,26 @@
extern HRESULT DPNET_CreateDirectPlay8Server(LPCLASSFACTORY iface, LPUNKNOWN punkOuter, REFIID riid, LPVOID *ppobj);
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
More information about the wine-patches
mailing list