1 /*------------------------------Patrick 18/3/97------------------------ 2 Header for setting up and handling direct play objects 3 (This is mostly nicked from DHM's headhunter stuff) 4 -----------------------------------------------------------------------*/ 5 #ifndef dpfunc_h_included 6 #define dpfunc_h_included 7 #ifdef __cplusplus 8 extern "C" { 9 #endif 10 11 /* globals */ 12 extern LPDIRECTPLAY4 glpDP; 13 extern LPGUID glpGuid; 14 15 extern DPNAME AVPDPplayerName; 16 extern DPID AVPDPNetID; 17 18 19 /* Constants */ 20 #define MAX_SIZE_FORMAL_NAME 128+1 21 #define MAX_SIZE_FRIENDLY_NAME 128+1 22 23 24 HRESULT DPlayClose(void); 25 HRESULT DPlayCreate(LPVOID lpCon); 26 HRESULT DPlayCreatePlayer(LPDPID lppidID, LPTSTR lptszPlayerName, HANDLE hEvent, 27 LPVOID lpData, DWORD dwDataSize); 28 HRESULT DPlayCreateSession(LPTSTR lptszSessionName,int maxPlayers,int dwUser1,int dwUser2); 29 HRESULT DPlayDestroyPlayer(DPID pid); 30 HRESULT DPlayEnumPlayers(LPGUID lpSessionGuid, LPDPENUMPLAYERSCALLBACK2 lpEnumCallback, 31 LPVOID lpContext, DWORD dwFlags); 32 HRESULT DPlayEnumSessions(DWORD dwTimeout, LPDPENUMSESSIONSCALLBACK2 lpEnumCallback, 33 LPVOID lpContext, DWORD dwFlags); 34 HRESULT DPlayGetPlayerData(DPID pid, LPVOID lpData, LPDWORD lpdwDataSize, DWORD dwFlags); 35 HRESULT DPlayClose(void); 36 HRESULT DPlayCreate(LPVOID lpCon); 37 HRESULT DPlayCreatePlayer(LPDPID lppidID, LPTSTR lptszPlayerName, HANDLE hEvent, 38 LPVOID lpData, DWORD dwDataSize); 39 HRESULT DPlayDestroyPlayer(DPID pid); 40 HRESULT DPlayEnumSessions(DWORD dwTimeout, LPDPENUMSESSIONSCALLBACK2 lpEnumCallback, 41 LPVOID lpContext, DWORD dwFlags); 42 HRESULT DPlayGetPlayerData(DPID pid, LPVOID lpData, LPDWORD lpdwDataSize, DWORD dwFlags); 43 HRESULT DPlayGetSessionDesc(void); 44 BOOL IsDPlay(void); 45 HRESULT DPlayOpenSession(LPGUID lpSessionGuid); 46 HRESULT DPlayReceive(LPDPID lpidFrom, LPDPID lpidTo, DWORD dwFlags, LPVOID lpData, LPDWORD lpdwDataSize); 47 HRESULT DPlayRelease(void); 48 HRESULT DPlaySend(DPID idFrom, DPID idTo, DWORD dwFlags, LPVOID lpData, DWORD dwDataSize); 49 HRESULT DPlaySetPlayerData(DPID pid, LPVOID lpData, DWORD dwSize, DWORD dwFlags); 50 51 52 #ifdef __cplusplus 53 } 54 #endif 55 #endif 56