#include <rpcdisp.h>
Public Member Functions | |
KdRpcDispatcher (IKdComDispatcher *pDispatcher) | |
~KdRpcDispatcher () | |
unsigned | OnRequest (const char *pRequest, unsigned RequestSize, char **ppReply) |
This method is called when a data packet is received from KDVMWARE.DLL via GuestRPC mechanism. | |
Public Attributes | |
char | szTestReply [KDRPC_TEST_BUFFER_SIZE+sizeof(g_szRPCReplySignature)] |
Private Types | |
enum | { REPLY_BUFFER_BASE = 262144 } |
enum | { MAX_BUFFER_SIZE = 65536 } |
enum | { REPLY_BUFFER_SIZE = REPLY_BUFFER_BASE + MAX_BUFFER_SIZE } |
Static Private Member Functions | |
static void | Serialize (char *pBase, unsigned &offset, const void *pBuffer, unsigned Size) |
Private Attributes | |
char * | m_pReplyBuffer |
IKdComDispatcher * | m_pDispatcher |
bool | m_bProtocolVersionMatch |
This class parses the data blocks containing function parameters and calls the corresponding methods from IKdComDispatcher class. The OnRequest() method is called by either GuestRPC mechanism handler, or the RpcProxy class. The method internally processes the VersionReport and TestConnection requests, and calls the corresponding method from IKdComDispatcher for ReceivePacket and SendPacket requests. For more details see the KDRPC protocol version A protocol description.
Definition at line 46 of file rpcdisp.h.
KdRpcDispatcher::KdRpcDispatcher | ( | IKdComDispatcher * | pDispatcher | ) | [inline] |
unsigned KdRpcDispatcher::OnRequest | ( | const char * | pRequest, | |
unsigned | RequestSize, | |||
char ** | ppReply | |||
) | [inline] |
This method is called when a data packet is received from KDVMWARE.DLL via GuestRPC mechanism.
Definition at line 81 of file rpcdisp.h.
static void KdRpcDispatcher::Serialize | ( | char * | pBase, | |
unsigned & | offset, | |||
const void * | pBuffer, | |||
unsigned | Size | |||
) | [inline, static, private] |
bool KdRpcDispatcher::m_bProtocolVersionMatch [private] |
IKdComDispatcher* KdRpcDispatcher::m_pDispatcher [private] |
char* KdRpcDispatcher::m_pReplyBuffer [private] |
char KdRpcDispatcher::szTestReply[KDRPC_TEST_BUFFER_SIZE+sizeof(g_szRPCReplySignature)] |