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:

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 ()
bool IsVBoxDetected ()

Protected Member Functions

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

Private Attributes

bool m_bVBoxDetected


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.

Definition at line 350 of file vmwrpc.h.


Constructor & Destructor Documentation

VMWareRPCChannel::VMWareRPCChannel (  )  [inline]

Definition at line 399 of file vmwrpc.h.

Here is the call graph for this function:

VMWareRPCChannel::~VMWareRPCChannel (  )  [inline]

Definition at line 416 of file vmwrpc.h.

Here is the call graph for this function:


Member Function Documentation

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

Reimplemented in BufferedRPCChannel< t_pBuffer, t_BufferSize >.

Definition at line 381 of file vmwrpc.h.

Here is the call graph for this function:

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

Executes a single GuestRPC request.

Definition at line 422 of file vmwrpc.h.

Here is the call graph for this function:

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

Reimplemented in BufferedRPCChannel< t_pBuffer, t_BufferSize >.

Definition at line 389 of file vmwrpc.h.

bool VMWareRPCChannel::IsVBoxDetected (  )  [inline]

Definition at line 443 of file vmwrpc.h.

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

Reimplemented in BufferedRPCChannel< t_pBuffer, t_BufferSize >.

Definition at line 364 of file vmwrpc.h.

Here is the call graph for this function:

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

Definition at line 356 of file vmwrpc.h.

Here is the call graph for this function:

bool VMWareRPCChannel::Valid (  )  [inline]

Reimplemented in BufferedRPCChannel< t_pBuffer, t_BufferSize >.

Definition at line 438 of file vmwrpc.h.


Member Data Documentation

Definition at line 353 of file vmwrpc.h.


The documentation for this class was generated from the following file:
  • E:/PROJECTS/cvsed/mixed/VIRTUA~1/kdvm/vmwrpc.h