VMWareRPCChannel Class Reference

Specifies a simple object-oriented wrapper for GuestRPC commands. More...

#include <vmwrpc.h>

Inherits VMWareRpcData.

Inherited by BufferedRPCChannel< t_pBuffer, t_BufferSize > [private].

Collaboration diagram for VMWareRPCChannel:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 VMWareRPCChannel ()
 ~VMWareRPCChannel ()
unsigned ExecuteCommand (const char *pszRequest, char *pszBuffer, unsigned MaxBufferSize)
 Executes a single GuestRPC request.
bool Valid ()

Protected Member Functions

bool Send (const char *pData, unsigned Size=0)
bool Receive (void *pData, unsigned Size)
bool EndReceive ()
unsigned GetReplySize ()


Detailed Description

Specifies a simple object-oriented wrapper for GuestRPC commands.

This class provides a convenient way of executing GuestRPC commands. It automatically manages the internal state variables of a GuestRPC channel, opening it from a constructor and closing from a destructor. All channel interaction is performed using VMWareRPCChannel::ExecuteCommand() method. A channel is reusable, i.e. multiple commands can be executed sequentially without reopening a channel.

Remarks:
The "one call per request" model is not very convenient to use, so this class is not used directly. Instead, the AdvancedRPCChannel was used in KDVMWARE version 1.0. However, as the GuestRPC call processing time is almost fixed for a single backdoor operation, and is mostly not dependant on data size, the BufferedRPCChannel class reducing the number of backdoor requests should be used now to improve performance.

Constructor & Destructor Documentation

VMWareRPCChannel::VMWareRPCChannel (  )  [inline]

Here is the call graph for this function:

VMWareRPCChannel::~VMWareRPCChannel (  )  [inline]

Here is the call graph for this function:


Member Function Documentation

bool VMWareRPCChannel::EndReceive (  )  [inline, protected]

Reimplemented in BufferedRPCChannel< t_pBuffer, t_BufferSize >.

Here is the call graph for this function:

unsigned VMWareRPCChannel::ExecuteCommand ( const char *  pszRequest,
char *  pszBuffer,
unsigned  MaxBufferSize 
) [inline]

Executes a single GuestRPC request.

Here is the call graph for this function:

unsigned VMWareRPCChannel::GetReplySize (  )  [inline, protected]

bool VMWareRPCChannel::Receive ( void *  pData,
unsigned  Size 
) [inline, protected]

Reimplemented in BufferedRPCChannel< t_pBuffer, t_BufferSize >.

Here is the call graph for this function:

bool VMWareRPCChannel::Send ( const char *  pData,
unsigned  Size = 0 
) [inline, protected]

Here is the call graph for this function:

bool VMWareRPCChannel::Valid (  )  [inline]


The documentation for this class was generated from the following file:
SourceForge.net Logo