#include <kdcomdisp.h>
Inherits IKdComDispatcher.

Public Member Functions | |
| KdComDispatcher (const TCHAR *pszPipeName) | |
| void | KdResetPacketNumbering (bool InitialSetting) |
| Called internally to reset the packet numbering scheme. | |
| void | SetKdDebuggerNotPresent (bool Value) |
| bool | GetKdDebuggerNotPresent () |
| void | KdpSendControlPacket (ULONG PacketType, ULONG NextPacketId) |
| Called internally to call a bodyless control packet (such as ACK or RETRY). | |
| KD_RECV_CODE | KdCompReceivePacketLeader (ULONG, ULONG *pSignature, PKD_CONTEXT pContext) |
| unsigned | KdpComputeChecksum (const void *pBuffer, unsigned Size) |
| Called to compute checksum of a data block. | |
| KD_RECV_CODE __stdcall | KdReceivePacket (ULONG PacketType, PKD_BUFFER FirstBuffer, PKD_BUFFER SecondBuffer, PULONG PayloadBytes, PKD_CONTEXT KdContext) |
| Called inside VMWARE-VMX.EXE process space with parameters unmarshalled from KdReceivePacket() call in KDVMWARE.DLL. | |
| bool __stdcall | KdSendPacket (ULONG PacketType, PKD_BUFFER FirstBuffer, PKD_BUFFER SecondBuffer, PKD_CONTEXT KdContext) |
| Called inside VMWARE-VMX.EXE process space with parameters unmarshalled from KdSendPacket() call in KDVMWARE.DLL. | |
| virtual void | ReportProtocolVersionError (int GuestVersion, int HostVersion) |
| Called by KdRpcDispatcher to report protocol version mismatch. | |
Private Types | |
| enum | { KdMaxBufferSize = 0xFA0 } |
| enum | { KdMinPacketCountForSuccessfulLink = 5 } |
Private Attributes | |
| PipeServer< false, true, true > | m_Pipe |
| unsigned | KdCompNumberRetries |
| unsigned | KdCompRetryCount |
| unsigned | KdCompNextPacketIdToSend |
| unsigned | KdCompPacketIdExpected |
| bool | KD_DEBUGGER_NOT_PRESENT |
| unsigned | m_PacketsSentFromLastReset |
| unsigned | m_PacketsGotFromLastReset |
| unsigned | m_SequentialResetCount |
| TraceAssistant | m_TraceAssistant |
This class contains host-side implementations of KdSendPacket() and KdReceivePacket() functions. These methods are called by KdRpcDispatcher class via IKdComDispatcher interface.
| KdComDispatcher::KdComDispatcher | ( | const TCHAR * | pszPipeName | ) | [inline] |

| bool KdComDispatcher::GetKdDebuggerNotPresent | ( | ) | [inline, virtual] |
Implements IKdComDispatcher.
| KD_RECV_CODE KdComDispatcher::KdCompReceivePacketLeader | ( | ULONG | , | |
| ULONG * | pSignature, | |||
| PKD_CONTEXT | pContext | |||
| ) |

| unsigned KdComDispatcher::KdpComputeChecksum | ( | const void * | pBuffer, | |
| unsigned | Size | |||
| ) | [inline] |
Called to compute checksum of a data block.
| void KdComDispatcher::KdpSendControlPacket | ( | ULONG | PacketType, | |
| ULONG | NextPacketId | |||
| ) |
Called internally to call a bodyless control packet (such as ACK or RETRY).

| KD_RECV_CODE __stdcall KdComDispatcher::KdReceivePacket | ( | ULONG | PacketType, | |
| PKD_BUFFER | FirstBuffer, | |||
| PKD_BUFFER | SecondBuffer, | |||
| PULONG | PayloadBytes, | |||
| PKD_CONTEXT | KdContext | |||
| ) |
Called inside VMWARE-VMX.EXE process space with parameters unmarshalled from KdReceivePacket() call in KDVMWARE.DLL.

| void KdComDispatcher::KdResetPacketNumbering | ( | bool | InitialSetting | ) | [inline] |
Called internally to reset the packet numbering scheme.
| bool __stdcall KdComDispatcher::KdSendPacket | ( | ULONG | PacketType, | |
| PKD_BUFFER | FirstBuffer, | |||
| PKD_BUFFER | SecondBuffer, | |||
| PKD_CONTEXT | KdContext | |||
| ) |
Called inside VMWARE-VMX.EXE process space with parameters unmarshalled from KdSendPacket() call in KDVMWARE.DLL.

| void KdComDispatcher::ReportProtocolVersionError | ( | int | GuestVersion, | |
| int | HostVersion | |||
| ) | [virtual] |
Called by KdRpcDispatcher to report protocol version mismatch.
Implements IKdComDispatcher.

| void KdComDispatcher::SetKdDebuggerNotPresent | ( | bool | Value | ) | [inline, virtual] |
Implements IKdComDispatcher.
bool KdComDispatcher::KD_DEBUGGER_NOT_PRESENT [private] |
unsigned KdComDispatcher::KdCompNextPacketIdToSend [private] |
unsigned KdComDispatcher::KdCompNumberRetries [private] |
unsigned KdComDispatcher::KdCompPacketIdExpected [private] |
unsigned KdComDispatcher::KdCompRetryCount [private] |
unsigned KdComDispatcher::m_PacketsGotFromLastReset [private] |
unsigned KdComDispatcher::m_PacketsSentFromLastReset [private] |
PipeServer<false, true, true> KdComDispatcher::m_Pipe [private] |
unsigned KdComDispatcher::m_SequentialResetCount [private] |