- Timestamp:
- Sep 15, 1999, 7:27:23 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/DPlayX/dplayx.cpp
r940 r943 1 /* $Id: dplayx.cpp,v 1. 1 1999-09-15 16:07:26phaller Exp $ */1 /* $Id: dplayx.cpp,v 1.2 1999-09-15 17:27:23 phaller Exp $ */ 2 2 3 3 /* Direct Play 3 and Direct Play Lobby 2 Implementation … … 402 402 } 403 403 404 static ULONG WINAPI IDirectPlayLobbyAImpl_AddRef 405 ( LPDIRECTPLAYLOBBYA iface ) 406 { 407 return IDirectPlayLobby2AImpl_AddRef( (LPDIRECTPLAYLOBBY2A)iface ); 408 } 409 404 410 405 411 /* … … 437 443 } 438 444 445 static ULONG WINAPI IDirectPlayLobbyAImpl_Release 446 ( LPDIRECTPLAYLOBBYA iface ) 447 { 448 return IDirectPlayLobby2AImpl_Release( (LPDIRECTPLAYLOBBY2A)iface ); 449 } 450 439 451 440 452 /******************************************************************** … … 456 468 } 457 469 470 458 471 static HRESULT WINAPI IDirectPlayLobby2WImpl_Connect 459 472 ( LPDIRECTPLAYLOBBY2 iface, … … 522 535 523 536 } 537 538 static HRESULT WINAPI IDirectPlayLobbyAImpl_Connect 539 ( LPDIRECTPLAYLOBBYA iface, 540 DWORD dwFlags, 541 LPDIRECTPLAY2* lplpDP, 542 IUnknown *pUnk) 543 { 544 return IDirectPlayLobby2AImpl_Connect( (LPDIRECTPLAYLOBBY2A)iface, 545 dwFlags, 546 (LPDIRECTPLAY2*)lplpDP, 547 pUnk); 548 } 549 524 550 525 551 /******************************************************************** … … 558 584 } 559 585 586 static HRESULT WINAPI IDirectPlayLobbyAImpl_CreateAddress 587 ( LPDIRECTPLAYLOBBYA iface, 588 REFGUID guidSP, 589 REFGUID guidDataType, 590 LPCVOID lpData, 591 DWORD dwDataSize, 592 LPVOID lpAddress, 593 LPDWORD lpdwAddressSize ) 594 { 595 return IDirectPlayLobby2AImpl_CreateAddress( (LPDIRECTPLAYLOBBY2A)iface, 596 guidSP, 597 guidDataType, 598 lpData, 599 dwDataSize, 600 lpAddress, 601 lpdwAddressSize); 602 } 603 560 604 561 605 /******************************************************************** … … 586 630 return DPERR_OUTOFMEMORY; 587 631 } 632 633 static HRESULT WINAPI IDirectPlayLobbyAImpl_EnumAddress 634 ( LPDIRECTPLAYLOBBYA iface, 635 LPDPENUMADDRESSCALLBACK lpEnumAddressCallback, 636 LPCVOID lpAddress, 637 DWORD dwAddressSize, 638 LPVOID lpContext) 639 { 640 return IDirectPlayLobby2AImpl_EnumAddress( (LPDIRECTPLAYLOBBY2A)iface, 641 lpEnumAddressCallback, 642 lpAddress, 643 dwAddressSize, 644 lpContext); 645 } 646 588 647 589 648 /******************************************************************** … … 1198 1257 1199 1258 1200 /* Note: Hack so we can reuse the old functions without compiler warnings */1201 #if !defined(__STRICT_ANSI__) && defined(__GNUC__)1202 # define XCAST(fun) (typeof(directPlayLobbyAVT.fn##fun))1203 #else1204 # define XCAST(fun) (void*)1205 #endif1206 1207 1259 /* Direct Play Lobby 1 (ascii) Virtual Table for methods */ 1208 1260 /* All lobby 1 methods are exactly the same except QueryInterface */ 1261 1262 1209 1263 struct ICOM_VTABLE(IDirectPlayLobby) directPlayLobbyAVT = 1210 1264 { 1211 1265 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 1212 1266 IDirectPlayLobbyAImpl_QueryInterface, 1213 XCAST(AddRef)IDirectPlayLobby2AImpl_AddRef,1214 XCAST(Release)IDirectPlayLobby2AImpl_Release,1215 XCAST(Connect)IDirectPlayLobby2AImpl_Connect,1216 XCAST(CreateAddress)IDirectPlayLobby2AImpl_CreateAddress,1217 XCAST(EnumAddress)IDirectPlayLobby2AImpl_EnumAddress,1218 XCAST(EnumAddressTypes)IDirectPlayLobby2AImpl_EnumAddressTypes,1219 XCAST(EnumLocalApplications)IDirectPlayLobby2AImpl_EnumLocalApplications,1220 XCAST(GetConnectionSettings)IDirectPlayLobby2AImpl_GetConnectionSettings,1221 XCAST(ReceiveLobbyMessage)IDirectPlayLobby2AImpl_ReceiveLobbyMessage,1222 XCAST(RunApplication)IDirectPlayLobby2AImpl_RunApplication,1223 XCAST(SendLobbyMessage)IDirectPlayLobby2AImpl_SendLobbyMessage,1224 XCAST(SetConnectionSettings)IDirectPlayLobby2AImpl_SetConnectionSettings,1225 XCAST(SetLobbyMessageEvent)IDirectPlayLobby2AImpl_SetLobbyMessageEvent1267 IDirectPlayLobbyAImpl_AddRef, 1268 IDirectPlayLobbyAImpl_Release, 1269 IDirectPlayLobbyAImpl_Connect, 1270 IDirectPlayLobbyAImpl_CreateAddress, 1271 IDirectPlayLobbyAImpl_EnumAddress, 1272 IDirectPlayLobbyAImpl_EnumAddressTypes, 1273 IDirectPlayLobbyAImpl_EnumLocalApplications, 1274 IDirectPlayLobbyAImpl_GetConnectionSettings, 1275 IDirectPlayLobbyAImpl_ReceiveLobbyMessage, 1276 IDirectPlayLobbyAImpl_RunApplication, 1277 IDirectPlayLobbyAImpl_SendLobbyMessage, 1278 IDirectPlayLobbyAImpl_SetConnectionSettings, 1279 IDirectPlayLobbyAImpl_SetLobbyMessageEvent 1226 1280 }; 1227 #undef XCAST 1228 1229 1230 /* Note: Hack so we can reuse the old functions without compiler warnings */ 1231 #if !defined(__STRICT_ANSI__) && defined(__GNUC__) 1232 # define XCAST(fun) (typeof(directPlayLobbyWVT.fn##fun)) 1233 #else 1234 # define XCAST(fun) (void*) 1235 #endif 1281 1236 1282 1237 1283 /* Direct Play Lobby 1 (unicode) Virtual Table for methods */ … … 1240 1286 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 1241 1287 IDirectPlayLobbyW_QueryInterface, 1242 XCAST(AddRef)IDirectPlayLobby2WImpl_AddRef,1243 XCAST(Release)IDirectPlayLobby2WImpl_Release,1244 XCAST(Connect)IDirectPlayLobby2WImpl_Connect,1245 XCAST(CreateAddress)IDirectPlayLobby2WImpl_CreateAddress,1246 XCAST(EnumAddress)IDirectPlayLobby2WImpl_EnumAddress,1247 XCAST(EnumAddressTypes)IDirectPlayLobby2WImpl_EnumAddressTypes,1248 XCAST(EnumLocalApplications)IDirectPlayLobby2WImpl_EnumLocalApplications,1249 XCAST(GetConnectionSettings)IDirectPlayLobby2WImpl_GetConnectionSettings,1250 XCAST(ReceiveLobbyMessage)IDirectPlayLobby2WImpl_ReceiveLobbyMessage,1251 XCAST(RunApplication)IDirectPlayLobby2WImpl_RunApplication,1252 XCAST(SendLobbyMessage)IDirectPlayLobby2WImpl_SendLobbyMessage,1253 XCAST(SetConnectionSettings)IDirectPlayLobby2WImpl_SetConnectionSettings,1254 XCAST(SetLobbyMessageEvent)IDirectPlayLobby2WImpl_SetLobbyMessageEvent1288 IDirectPlayLobbyAImpl_AddRef, 1289 IDirectPlayLobbyAImpl_Release, 1290 IDirectPlayLobbyAImpl_Connect, 1291 IDirectPlayLobbyAImpl_CreateAddress, 1292 IDirectPlayLobbyAImpl_EnumAddress, 1293 IDirectPlayLobbyAImpl_EnumAddressTypes, 1294 IDirectPlayLobbyAImpl_EnumLocalApplications, 1295 IDirectPlayLobbyWImpl_GetConnectionSettings, 1296 IDirectPlayLobbyAImpl_ReceiveLobbyMessage, 1297 IDirectPlayLobbyAImpl_RunApplication, 1298 IDirectPlayLobbyAImpl_SendLobbyMessage, 1299 IDirectPlayLobbyAImpl_SetConnectionSettings, 1300 IDirectPlayLobbyAImpl_SetLobbyMessageEvent 1255 1301 }; 1256 #undef XCAST1257 1302 1258 1303 … … 1730 1775 } 1731 1776 1777 static ULONG WINAPI DirectPlay2WImpl_AddRef (LPDIRECTPLAY2 iface) 1778 { 1779 return DirectPlay3WImpl_AddRef( (LPDIRECTPLAY3) iface ); 1780 } 1781 1732 1782 static ULONG WINAPI DirectPlay3WImpl_Release 1733 1783 ( LPDIRECTPLAY3 iface ) … … 1752 1802 } 1753 1803 1804 static ULONG WINAPI DirectPlay2WImpl_Release (LPDIRECTPLAY2 iface) 1805 { 1806 return DirectPlay3WImpl_Release( (LPDIRECTPLAY3) iface ); 1807 } 1808 1754 1809 static ULONG WINAPI DirectPlay3A_Release 1755 1810 ( LPDIRECTPLAY3A iface ) … … 1772 1827 1773 1828 return This->ref; 1829 } 1830 1831 static ULONG WINAPI DirectPlay2AImpl_AddRef (LPDIRECTPLAY2A iface) 1832 { 1833 return DirectPlay3AImpl_AddRef( (LPDIRECTPLAY3A) iface ); 1774 1834 } 1775 1835 … … 2485 2545 2486 2546 2487 /* Note: Hack so we can reuse the old functions without compiler warnings */2488 #if !defined(__STRICT_ANSI__) && defined(__GNUC__)2489 # define XCAST(fun) (typeof(directPlay2WVT.fn##fun))2490 #else2491 # define XCAST(fun) (void*)2492 #endif2493 2494 2547 ICOM_VTABLE(IDirectPlay2) directPlay2WVT = 2495 2548 { 2496 2549 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 2497 2550 DirectPlay2W_QueryInterface, 2498 XCAST(AddRef)DirectPlay3WImpl_AddRef,2499 XCAST(Release)DirectPlay3WImpl_Release,2500 XCAST(AddPlayerToGroup)DirectPlay3WImpl_AddPlayerToGroup,2501 XCAST(Close)DirectPlay3WImpl_Close,2502 XCAST(CreateGroup)DirectPlay3WImpl_CreateGroup,2503 XCAST(CreatePlayer)DirectPlay3WImpl_CreatePlayer,2504 XCAST(DeletePlayerFromGroup)DirectPlay3WImpl_DeletePlayerFromGroup,2505 XCAST(DestroyGroup)DirectPlay3WImpl_DestroyGroup,2506 XCAST(DestroyPlayer)DirectPlay3WImpl_DestroyPlayer,2507 XCAST(EnumGroupPlayers)DirectPlay3WImpl_EnumGroupPlayers,2508 XCAST(EnumGroups)DirectPlay3WImpl_EnumGroups,2509 XCAST(EnumPlayers)DirectPlay3WImpl_EnumPlayers,2510 XCAST(EnumSessions)DirectPlay3WImpl_EnumSessions,2511 XCAST(GetCaps)DirectPlay3WImpl_GetCaps,2512 XCAST(GetGroupData)DirectPlay3WImpl_GetGroupData,2513 XCAST(GetGroupName)DirectPlay3WImpl_GetGroupName,2514 XCAST(GetMessageCount)DirectPlay3WImpl_GetMessageCount,2515 XCAST(GetPlayerAddress)DirectPlay3WImpl_GetPlayerAddress,2516 XCAST(GetPlayerCaps)DirectPlay3WImpl_GetPlayerCaps,2517 XCAST(GetPlayerData)DirectPlay3WImpl_GetPlayerData,2518 XCAST(GetPlayerName)DirectPlay3WImpl_GetPlayerName,2519 XCAST(GetSessionDesc)DirectPlay3WImpl_GetSessionDesc,2520 XCAST(Initialize)DirectPlay3WImpl_Initialize,2521 XCAST(Open)DirectPlay3WImpl_Open,2522 XCAST(Receive)DirectPlay3WImpl_Receive,2523 XCAST(Send)DirectPlay3WImpl_Send,2524 XCAST(SetGroupData)DirectPlay3WImpl_SetGroupData,2525 XCAST(SetGroupName)DirectPlay3WImpl_SetGroupName,2526 XCAST(SetPlayerData)DirectPlay3WImpl_SetPlayerData,2527 XCAST(SetPlayerName)DirectPlay3WImpl_SetPlayerName,2528 XCAST(SetSessionDesc)DirectPlay3WImpl_SetSessionDesc2551 DirectPlay2WImpl_AddRef, 2552 DirectPlay2WImpl_Release, 2553 DirectPlay2WImpl_AddPlayerToGroup, 2554 DirectPlay2WImpl_Close, 2555 DirectPlay2WImpl_CreateGroup, 2556 DirectPlay2WImpl_CreatePlayer, 2557 DirectPlay2WImpl_DeletePlayerFromGroup, 2558 DirectPlay2WImpl_DestroyGroup, 2559 DirectPlay2WImpl_DestroyPlayer, 2560 DirectPlay2WImpl_EnumGroupPlayers, 2561 DirectPlay2WImpl_EnumGroups, 2562 DirectPlay2WImpl_EnumPlayers, 2563 DirectPlay2WImpl_EnumSessions, 2564 DirectPlay2WImpl_GetCaps, 2565 DirectPlay2WImpl_GetGroupData, 2566 DirectPlay2WImpl_GetGroupName, 2567 DirectPlay2WImpl_GetMessageCount, 2568 DirectPlay2WImpl_GetPlayerAddress, 2569 DirectPlay2WImpl_GetPlayerCaps, 2570 DirectPlay2WImpl_GetPlayerData, 2571 DirectPlay2WImpl_GetPlayerName, 2572 DirectPlay2WImpl_GetSessionDesc, 2573 DirectPlay2WImpl_Initialize, 2574 DirectPlay2WImpl_Open, 2575 DirectPlay2WImpl_Receive, 2576 DirectPlay2WImpl_Send, 2577 DirectPlay2WImpl_SetGroupData, 2578 DirectPlay2WImpl_SetGroupName, 2579 DirectPlay2WImpl_SetPlayerData, 2580 DirectPlay2WImpl_SetPlayerName, 2581 DirectPlay2WImpl_SetSessionDesc 2529 2582 }; 2530 #undef XCAST 2531 2532 2533 /* Note: Hack so we can reuse the old functions without compiler warnings */ 2534 #if !defined(__STRICT_ANSI__) && defined(__GNUC__) 2535 # define XCAST(fun) (typeof(directPlay2AVT.fn##fun)) 2536 #else 2537 # define XCAST(fun) (void*) 2538 #endif 2583 2539 2584 2540 2585 ICOM_VTABLE(IDirectPlay2) directPlay2AVT = … … 2542 2587 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 2543 2588 DirectPlay2A_QueryInterface, 2544 XCAST(AddRef)DirectPlay3WImpl_AddRef,2545 XCAST(Release)DirectPlay3A_Release,2546 XCAST(AddPlayerToGroup)DirectPlay3A_AddPlayerToGroup,2547 XCAST(Close)DirectPlay3A_Close,2548 XCAST(CreateGroup)DirectPlay3A_CreateGroup,2549 XCAST(CreatePlayer)DirectPlay3A_CreatePlayer,2550 XCAST(DeletePlayerFromGroup)DirectPlay3A_DeletePlayerFromGroup,2551 XCAST(DestroyGroup)DirectPlay3A_DestroyGroup,2552 XCAST(DestroyPlayer)DirectPlay3A_DestroyPlayer,2553 XCAST(EnumGroupPlayers)DirectPlay3A_EnumGroupPlayers,2554 XCAST(EnumGroups)DirectPlay3A_EnumGroups,2555 XCAST(EnumPlayers)DirectPlay3A_EnumPlayers,2556 XCAST(EnumSessions)DirectPlay3A_EnumSessions,2557 XCAST(GetCaps)DirectPlay3A_GetCaps,2558 XCAST(GetGroupData)DirectPlay3A_GetGroupData,2559 XCAST(GetGroupName)DirectPlay3A_GetGroupName,2560 XCAST(GetMessageCount)DirectPlay3A_GetMessageCount,2561 XCAST(GetPlayerAddress)DirectPlay3A_GetPlayerAddress,2562 XCAST(GetPlayerCaps)DirectPlay3A_GetPlayerCaps,2563 XCAST(GetPlayerData)DirectPlay3A_GetPlayerData,2564 XCAST(GetPlayerName)DirectPlay3A_GetPlayerName,2565 XCAST(GetSessionDesc)DirectPlay3A_GetSessionDesc,2566 XCAST(Initialize)DirectPlay3A_Initialize,2567 XCAST(Open)DirectPlay3A_Open,2568 XCAST(Receive)DirectPlay3A_Receive,2569 XCAST(Send)DirectPlay3A_Send,2570 XCAST(SetGroupData)DirectPlay3A_SetGroupData,2571 XCAST(SetGroupName)DirectPlay3A_SetGroupName,2572 XCAST(SetPlayerData)DirectPlay3A_SetPlayerData,2573 XCAST(SetPlayerName)DirectPlay3A_SetPlayerName,2574 XCAST(SetSessionDesc)DirectPlay3A_SetSessionDesc2589 DirectPlay2WImpl_AddRef, //??? 2590 DirectPlay2A_Release, 2591 DirectPlay2A_AddPlayerToGroup, 2592 DirectPlay2A_Close, 2593 DirectPlay2A_CreateGroup, 2594 DirectPlay2A_CreatePlayer, 2595 DirectPlay2A_DeletePlayerFromGroup, 2596 DirectPlay2A_DestroyGroup, 2597 DirectPlay2A_DestroyPlayer, 2598 DirectPlay2A_EnumGroupPlayers, 2599 DirectPlay2A_EnumGroups, 2600 DirectPlay2A_EnumPlayers, 2601 DirectPlay2A_EnumSessions, 2602 DirectPlay2A_GetCaps, 2603 DirectPlay2A_GetGroupData, 2604 DirectPlay2A_GetGroupName, 2605 DirectPlay2A_GetMessageCount, 2606 DirectPlay2A_GetPlayerAddress, 2607 DirectPlay2A_GetPlayerCaps, 2608 DirectPlay2A_GetPlayerData, 2609 DirectPlay2A_GetPlayerName, 2610 DirectPlay2A_GetSessionDesc, 2611 DirectPlay2A_Initialize, 2612 DirectPlay2A_Open, 2613 DirectPlay2A_Receive, 2614 DirectPlay2A_Send, 2615 DirectPlay2A_SetGroupData, 2616 DirectPlay2A_SetGroupName, 2617 DirectPlay2A_SetPlayerData, 2618 DirectPlay2A_SetPlayerName, 2619 DirectPlay2A_SetSessionDesc 2575 2620 }; 2576 #undef XCAST2577 2621 2578 2622
Note:
See TracChangeset
for help on using the changeset viewer.