You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
187 lines
7.1 KiB
187 lines
7.1 KiB
/*==========================================================================
|
|
*
|
|
* Copyright (C) 2000-2001 Microsoft Corporation. All Rights Reserved.
|
|
*
|
|
* File: User.h
|
|
* Content: DirectNet User Call Back Routines
|
|
*@@BEGIN_MSINTERNAL
|
|
* History:
|
|
* Date By Reason
|
|
* ==== == ======
|
|
* 01/16/00 mjn Created
|
|
* 01/17/00 mjn Added DN_UserHostMigrate
|
|
* 01/17/00 mjn Implemented send time
|
|
* 01/22/00 mjn Added DN_UserHostDestroyPlayer
|
|
* 01/27/00 mjn Added support for retention of receive buffers
|
|
* 01/28/00 mjn Added DN_UserConnectionTerminated
|
|
* 03/24/00 mjn Set player context through INDICATE_CONNECT notification
|
|
* 04/04/00 mjn Added DN_UserTerminateSession()
|
|
* 04/05/00 mjn Updated DN_UserHostDestroyPlayer()
|
|
* 04/18/00 mjn Added DN_UserReturnBuffer
|
|
* mjn Added ppvReplyContext to DN_UserIndicateConnect
|
|
* 07/29/00 mjn Added DNUserIndicatedConnectAborted()
|
|
* mjn DNUserConnectionTerminated() supercedes DN_TerminateSession()
|
|
* mjn Added HRESULT to DNUserReturnBuffer()
|
|
* 07/30/00 mjn Added pAddressDevice to DNUserIndicateConnect()
|
|
* mjn Replaced DNUserConnectionTerminated() with DNUserTerminateSession()
|
|
* 07/31/00 mjn Revised DNUserDestroyGroup()
|
|
* mjn Removed DN_UserHostDestroyPlayer()
|
|
* 08/01/00 mjn DN_UserReceive() -> DNUserReceive()
|
|
* 08/02/00 mjn DN_UserAddPlayer() -> DNUserCreatePlayer()
|
|
* 08/08/00 mjn DN_UserCreateGroup() -> DNUserCreateGroup()
|
|
* 08/20/00 mjn Added DNUserEnumQuery() and DNUserEnumResponse()
|
|
* 09/17/00 mjn Changed parameters list of DNUserCreateGroup(),DNUserCreatePlayer(),
|
|
* DNUserAddPlayerToGroup(),DNRemovePlayerFromGroup()
|
|
* 07/24/01 mjn Added DPNBUILD_NOSERVER compile flag
|
|
* 10/16/01 vanceo Added some multicast callbacks
|
|
*@@END_MSINTERNAL
|
|
*
|
|
***************************************************************************/
|
|
|
|
#ifndef __USER_H__
|
|
#define __USER_H__
|
|
|
|
//**********************************************************************
|
|
// Constant definitions
|
|
//**********************************************************************
|
|
|
|
//**********************************************************************
|
|
// Macro definitions
|
|
//**********************************************************************
|
|
|
|
//**********************************************************************
|
|
// Structure definitions
|
|
//**********************************************************************
|
|
|
|
//**********************************************************************
|
|
// Variable definitions
|
|
//**********************************************************************
|
|
|
|
//**********************************************************************
|
|
// Function prototypes
|
|
//**********************************************************************
|
|
|
|
HRESULT DNUserConnectComplete(DIRECTNETOBJECT *const pdnObject,
|
|
const DPNHANDLE hAsyncOp,
|
|
PVOID const pvContext,
|
|
const HRESULT hr,
|
|
CRefCountBuffer *const pRefCountBuffer);
|
|
|
|
HRESULT DNUserIndicateConnect(DIRECTNETOBJECT *const pdnObject,
|
|
PVOID const pvConnectData,
|
|
const DWORD dwConnectDataSize,
|
|
void **const ppvReplyData,
|
|
DWORD *const pdwReplyDataSize,
|
|
void **const ppvReplyContext,
|
|
IDirectPlay8Address *const pAddressPlayer,
|
|
IDirectPlay8Address *const pAddressDevice,
|
|
void **const ppvPlayerContext);
|
|
|
|
HRESULT DNUserIndicatedConnectAborted(DIRECTNETOBJECT *const pdnObject,
|
|
void *const pvPlayerContext);
|
|
|
|
HRESULT DNUserCreatePlayer(DIRECTNETOBJECT *const pdnObject,
|
|
CNameTableEntry *const pNTEntry);
|
|
|
|
HRESULT DNUserDestroyPlayer(DIRECTNETOBJECT *const pdnObject,
|
|
CNameTableEntry *const pNTEntry);
|
|
|
|
HRESULT DNUserCreateGroup(DIRECTNETOBJECT *const pdnObject,
|
|
CNameTableEntry *const pNTEntry);
|
|
|
|
HRESULT DNUserDestroyGroup(DIRECTNETOBJECT *const pdnObject,
|
|
CNameTableEntry *const pNTEntry);
|
|
|
|
HRESULT DNUserAddPlayerToGroup(DIRECTNETOBJECT *const pdnObject,
|
|
CNameTableEntry *const pGroup,
|
|
CNameTableEntry *const pPlayer);
|
|
|
|
HRESULT DNUserRemovePlayerFromGroup(DIRECTNETOBJECT *const pdnObject,
|
|
CNameTableEntry *const pGroup,
|
|
CNameTableEntry *const pPlayer);
|
|
|
|
HRESULT DNUserUpdateGroupInfo(DIRECTNETOBJECT *const pdnObject,
|
|
const DPNID dpnid,
|
|
const PVOID pvContext);
|
|
|
|
HRESULT DNUserUpdatePeerInfo(DIRECTNETOBJECT *const pdnObject,
|
|
const DPNID dpnid,
|
|
const PVOID pvContext);
|
|
|
|
#ifndef DPNBUILD_NOSERVER
|
|
HRESULT DNUserUpdateClientInfo(DIRECTNETOBJECT *const pdnObject,
|
|
const DPNID dpnid,
|
|
const PVOID pvContext);
|
|
#endif // DPNBUILD_NOSERVER
|
|
|
|
HRESULT DNUserUpdateServerInfo(DIRECTNETOBJECT *const pdnObject,
|
|
const DPNID dpnid,
|
|
const PVOID pvContext);
|
|
|
|
HRESULT DNUserAsyncComplete(DIRECTNETOBJECT *const pdnObject,
|
|
const DPNHANDLE hAsyncOp,
|
|
PVOID const pvContext,
|
|
const HRESULT hr);
|
|
|
|
HRESULT DNUserSendComplete(DIRECTNETOBJECT *const pdnObject,
|
|
const DPNHANDLE hAsyncOp,
|
|
PVOID const pvContext,
|
|
const DWORD dwStartTime,
|
|
const HRESULT hr,
|
|
const DWORD dwFirstFrameRTT,
|
|
const DWORD dwFirstFrameRetryCount);
|
|
|
|
HRESULT DNUserUpdateAppDesc(DIRECTNETOBJECT *const pdnObject);
|
|
|
|
HRESULT DNUserReceive(DIRECTNETOBJECT *const pdnObject,
|
|
CNameTableEntry *const pNTEntry,
|
|
BYTE *const pBufferData,
|
|
const DWORD dwBufferSize,
|
|
const DPNHANDLE hBufferHandle);
|
|
|
|
HRESULT DN_UserHostMigrate(DIRECTNETOBJECT *const pdnObject,
|
|
const DPNID dpnidNewHost,
|
|
const PVOID pvPlayerContext);
|
|
|
|
HRESULT DNUserTerminateSession(DIRECTNETOBJECT *const pdnObject,
|
|
const HRESULT hr,
|
|
void *const pvTerminateData,
|
|
const DWORD dwTerminateDataSize);
|
|
|
|
HRESULT DNUserReturnBuffer(DIRECTNETOBJECT *const pdnObject,
|
|
const HRESULT hr,
|
|
void *const pvBuffer,
|
|
void *const pvUserContext);
|
|
|
|
HRESULT DNUserEnumQuery(DIRECTNETOBJECT *const pdnObject,
|
|
DPNMSG_ENUM_HOSTS_QUERY *const pMsg);
|
|
|
|
HRESULT DNUserEnumResponse(DIRECTNETOBJECT *const pdnObject,
|
|
DPNMSG_ENUM_HOSTS_RESPONSE *const pMsg);
|
|
|
|
#ifndef DPNBUILD_NOMULTICAST
|
|
HRESULT DNUserJoinComplete(DIRECTNETOBJECT *const pdnObject,
|
|
const DPNHANDLE hAsyncOp,
|
|
PVOID const pvContext,
|
|
const HRESULT hr);
|
|
|
|
HRESULT DNUserReceiveMulticast(DIRECTNETOBJECT *const pdnObject,
|
|
void * const pvSenderContext,
|
|
IDirectPlay8Address *const pSenderAddress,
|
|
IDirectPlay8Address *const pDeviceAddress,
|
|
BYTE *const pBufferData,
|
|
const DWORD dwBufferSize,
|
|
const DPNHANDLE hBufferHandle);
|
|
|
|
HRESULT DNUserCreateSenderContext(DIRECTNETOBJECT *const pdnObject,
|
|
void *const pvContext);
|
|
|
|
HRESULT DNUserDestroySenderContext(DIRECTNETOBJECT *const pdnObject,
|
|
void *const pvContext);
|
|
#endif // ! DPNBUILD_NOMULTICAST
|
|
|
|
//**********************************************************************
|
|
// Class prototypes
|
|
//**********************************************************************
|
|
|
|
#endif // __USER_H__
|