18#define RtlEqualMemory(dst, src, len) (RtlCompareMemory((dst), (src), (len)) == (len))
26#define KDDBGPRINT(...)
28#define KDDBGPRINT KdpDbgPrint
31#define KDRPC_PROTOCOL_VERSION 0x101
32#define CONNECTION_TEST_ROUNDS 2
33#define KDVM_BUFFER_SIZE (131072 + 1024)
34#define KDRPC_TEST_BUFFER_SIZE 512
VOID NTAPI KdVmDbgDumpBuffer(_In_ PVOID Buffer, _In_ ULONG Size)
VOID FASTCALL KdVmExchange(_In_ ULONG_PTR PhysicalAddress, _In_ SIZE_T BufferSize)
struct _KDVM_MARSHAL_STRING KDVM_MARSHAL_STRING
struct _KDVM_SEND_PKT_REQUEST KDVM_SEND_PKT_REQUEST
struct _KDVM_CONTEXT KDVM_CONTEXT
VOID NTAPI KdVmKdVmExchangeData(_Out_ PVOID *ReceiveData, _Out_ PULONG ReceiveDataSize)
VOID NTAPI KdVmPrepareBuffer(VOID)
UCHAR KdVmDataBuffer[KDVM_BUFFER_SIZE]
PHYSICAL_ADDRESS KdVmBufferPhysicalAddress
struct _KDVM_CONTEXT * PKDVM_CONTEXT
struct KDVM_RECEIVE_HEADER * PKDVM_RECEIVE_HEADER
struct _KDVM_SEND_PKT_RESULT * PKDVM_SEND_PKT_RESULT
struct KDVM_RECV_PKT_RESULT * PKDVM_RECV_PKT_RESULT
ULONG(* PFNDBGPRNT)(const char *Format,...)
struct _KDVM_SEND_PKT_REQUEST * PKDVM_SEND_PKT_REQUEST
struct _KDVM_SEND_PKT_RESULT KDVM_SEND_PKT_RESULT
static ULONG ReceiveData(PINFO pInfo)
KDVM_SENDPACKET_INFO Info
KDVM_MARSHAL_STRING MessageHeader
KDVM_MARSHAL_STRING MessageData
KDVM_MARSHAL_STRING MessageData
KDVM_MARSHAL_STRING MessageHeader
KDVM_SENDPACKET_INFO Info
UCHAR KdDebuggerEnabledAvailable
BOOLEAN KdDebuggerEnabled
UCHAR KdDebuggerNotPresent
KDVM_MARSHAL_STRING MessageData
KDVM_SENDPACKET_INFO Info
KDVM_MARSHAL_STRING MessageHeader
KDVM_SENDPACKET_INFO Info
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS PhysicalAddress