Leaked source code of windows server 2003
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

/*==========================================================================
*
* 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__