/*========================================================================== * * Copyright (C) 2000 Microsoft Corporation. All Rights Reserved. * * File: Connect.h * Content: DirectNet connect and disconnect routines *@@BEGIN_MSINTERNAL * History: * Date By Reason * ==== == ====== * 01/11/00 mjn Created * 01/11/00 mjn Use CPackedBuffers instead of DN_ENUM_BUFFER_INFOs * 01/17/00 mjn Fixed ConnectToPeer function names * 01/18/00 mjn Moved Pack/UnpackNameTableInfo to NameTable.cpp * 01/18/00 mjn Added DNAutoDestructGroups * 01/22/00 mjn Added DNProcessHostDestroyPlayer * 03/24/00 mjn Set player context through INDICATE_CONNECT notification * 04/03/00 mjn Verify DNET version on connect * 04/12/00 mjn Removed DNAutoDestructGroups - covered in NameTable.DeletePlayer() * 04/20/00 mjn Added DNGetClearAddress * 05/23/00 mjn Added DNConnectToPeerFailed() * 06/14/00 mjn Added DNGetLocalAddress() * 06/24/00 mjn Added DNHostDropPlayer() * 07/20/00 mjn Structure changes and new function parameters * mjn Moved DN_INTERNAL_MESSAGE_PLAYER_CONNECT_INFO and DN_INTERNAL_MESSAGE_INSTRUCTED_CONNECT_FAILED to message.h * 07/30/00 mjn Renamed DNGetLocalAddress() to DNGetLocalDeviceAddress() * 07/31/00 mjn Added dwDestroyReason to DNHostDisconnect() * 10/11/00 mjn DNAbortConnect() takes HRESULT parameters instead of PVOID * 06/07/01 mjn Added connection parameter to DNConnectToHostFailed() *@@END_MSINTERNAL * ***************************************************************************/ #ifndef __CONNECT_H__ #define __CONNECT_H__ //********************************************************************** // Constant definitions //********************************************************************** //********************************************************************** // Macro definitions //********************************************************************** //********************************************************************** // Structure definitions //********************************************************************** typedef struct { HRESULT hResultCode; } DN_RESULT_CONNECT; //********************************************************************** // Variable definitions //********************************************************************** //********************************************************************** // Function prototypes //********************************************************************** // DirectNet - Connect routines HRESULT DNHostConnect1(DIRECTNETOBJECT *const pdnObject, const PVOID pvBuffer, const DWORD dwBufferSize, CConnection *const pConnection); HRESULT DNHostConnect2(DIRECTNETOBJECT *const pdnObject, CConnection *const pConnection); HRESULT DNHostVerifyConnect(DIRECTNETOBJECT *const pdnObject, CConnection *const pConnection, const DWORD dwFlags, const DWORD dwDNETVersion, UNALIGNED WCHAR *const pwszPassword, GUID *const pguidApplication, GUID *const pguidInstance, PVOID const pvConnectData, const DWORD dwConnectDataSize, IDirectPlay8Address *const pAddress, void **const ppvPlayerContext, void **const ppvReplyBuffer, DWORD *const pdwReplyBufferSize, void **const ppvReplyBufferContext); HRESULT DNHostDropPlayer(DIRECTNETOBJECT *const pdnObject, const DPNID dpnid, void *const pvBuffer); HRESULT DNPrepareConnectInfo(DIRECTNETOBJECT *const pdnObject, CConnection *const pConnection, CRefCountBuffer **const ppRefCountBuffer); HRESULT DNConnectToHost1(DIRECTNETOBJECT *const pdnObject, CConnection *const pConnection); HRESULT DNConnectToHost2(DIRECTNETOBJECT *const pdnObject, const PVOID pvData, CConnection *const pConnection); HRESULT DNConnectToHostFailed(DIRECTNETOBJECT *const pdnObject, PVOID const pvBuffer, const DWORD dwBufferSize, CConnection *const pConnection); HRESULT DNAbortConnect(DIRECTNETOBJECT *const pdnObject, const HRESULT hrConnect); HRESULT DNPlayerConnect1(DIRECTNETOBJECT *const pdnObject, const PVOID pv, CConnection *const pConnection); HRESULT DNConnectToPeer1(DIRECTNETOBJECT *const pdnObject,PVOID const pv); HRESULT DNConnectToPeer2(DIRECTNETOBJECT *const pdnObject,PVOID const pv); HRESULT DNConnectToPeer3(DIRECTNETOBJECT *const pdnObject, const DPNID dpnid, CConnection *const pConnection); HRESULT DNConnectToPeerFailed(DIRECTNETOBJECT *const pdnObject, const DPNID dpnid); HRESULT DNSendConnectInfo(DIRECTNETOBJECT *const pdnObject, CNameTableEntry *const pNTEntry, CConnection *const pConnection, void *const pvReplyBuffer, const DWORD dwReplyBufferSize); HRESULT DNReceiveConnectInfo(DIRECTNETOBJECT *const pdnObject, void *const pvBuffer, CConnection *const pHostConnection, DPNID *const pdpnid); HRESULT DNAbortLocalConnect(DIRECTNETOBJECT *const pdnObject); // DirectNet - Disconnection routines HRESULT DNLocalDisconnectNew(DIRECTNETOBJECT *const pdnObject); HRESULT DNPlayerDisconnectNew(DIRECTNETOBJECT *const pdnObject, const DPNID dpnidDisconnecting); HRESULT DNHostDisconnect(DIRECTNETOBJECT *const pdnObject, const DPNID dpnidDisconnecting, const DWORD dwDestroyReason); HRESULT DNInstructedDisconnect(DIRECTNETOBJECT *const pdnObject, PVOID pv); HRESULT DNProcessHostDestroyPlayer(DIRECTNETOBJECT *const pdnObject,void *const pv); HRESULT DNGetClearAddress(DIRECTNETOBJECT *const pdnObject, const HANDLE hEndPt, IDirectPlay8Address **const ppAddress, const BOOL fPartner); HRESULT DNGetLocalDeviceAddress(DIRECTNETOBJECT *const pdnObject, const HANDLE hEndPt, IDirectPlay8Address **const ppAddress); #endif // __CONNECT_H__