27 PCHAR DestinationBytes, SourceBytes;
32 while (
Length--) *DestinationBytes++ = *SourceBytes++;
41 PCHAR DestinationBytes;
45 while (
Length--) *DestinationBytes++ = 0;
59 ULONG RemainingLength, CopyChunk;
74 RemainingLength = TotalSize;
76 while (RemainingLength > 0)
83 while (((CopyChunk * 2) <= RemainingLength) &&
85 ((
Address & ((CopyChunk * 2) - 1)) == 0))
95 while (CopyChunk > RemainingLength)
112 RemainingLength = RemainingLength - CopyChunk;
122 if (ActualSize) *ActualSize = TotalSize - RemainingLength;
195 KdpDprintf(
"Memory Search support is unimplemented!\n");
217 KdpDprintf(
"Memory Fill support is unimplemented!\n");
307 KdpDprintf(
"Extended Breakpoint Write support is unimplemented!\n");
330 KdpDprintf(
"Extended Breakpoint Restore support is unimplemented!\n");
352 KdpDprintf(
"Custom Breakpoint Write is unimplemented\n");
385 ULONG InstructionCount;
389 WaitStateChange->NewState = NewState;
402 &WaitStateChange->ControlReport.InstructionStream[0],
407 WaitStateChange->ControlReport.InstructionCount = (
USHORT)InstructionCount;
413 WaitStateChange->ControlReport.InstructionCount - 1));
418 &WaitStateChange->ControlReport.InstructionStream[0],
738 ProcessorState.ContextFrame;
794 ProcessorState.ContextFrame;
830 ContextEx = &
State->u.ContextEx;
850 ProcessorState.ContextFrame;
892 ContextEx = &
State->u.ContextEx;
914 ProcessorState.ContextFrame;
1158 ReadWriteIoExtended;
1195 ReadWriteIoExtended;
1412 KdpDprintf(
"Special Call support is unimplemented!\n");
1420 KdpDprintf(
"Internal Breakpoint support is unimplemented!\n");
1469 KdpDprintf(
"Processor Switch support is unimplemented!\n");
1476 KdpDprintf(
"Page-In support is unimplemented!\n");
1537 KdpDprintf(
"Partition Switch support is unimplemented!\n");
1589 ULONG PathNameLength;
1678 Length =
min(128 - 1, NameString->Length);
1693 Length = CommandString->Length;
1744 #if !defined(_WIN64) 1790 LONG OldSlip, NewSlip, PendingSlip;
1797 OldSlip = PendingSlip;
1798 NewSlip = OldSlip > 1 ? 1 : 0;
1803 OldSlip) != OldSlip);
1827 DueTime.QuadPart = -1800000000;
1845 SecondChanceException);
1905 KdpDprintf(
"FreezeLock was jammed! Backup SpinLock was used!\n");
1912 KdpDprintf(
"Some processors not frozen in debugger!\n");
1963 #if defined(__GNUC__) 2040 #if defined(__GNUC__) 2187 #if defined(_M_IX86) && !defined(_WINKD_) // See ke/i386/traphdlr.c 2193 case ID_Win32PreServiceHook:
2197 case ID_Win32PostServiceHook:
2225 DbgPrint(
"KdSystemDebugControl is unimplemented!\n");
2252 if (OutBufferNeeded) *OutBufferNeeded = 0;
2257 if ((InBufferBytes !=
sizeof(
BOOLEAN)) ||
2258 (OutBufferBytes != 0) ||
2279 if (OutBufferNeeded) *OutBufferNeeded = 0;
2337 KdpDprintf(
"KDTARGET: Refreshing KD connection\n");
2344 return DebuggerNotPresent;
2374 #if (NTDDI_VERSION >= NTDDI_VISTA) 2436 #if (NTDDI_VERSION >= NTDDI_VISTA) NTSTATUS NTAPI KdpCopyMemoryChunks(_In_ ULONG64 Address, _In_ PVOID Buffer, _In_ ULONG TotalSize, _In_ ULONG ChunkSize, _In_ ULONG Flags, _Out_opt_ PULONG ActualSize)
VOID NTAPI KdExitDebugger(IN BOOLEAN Enable)
BOOLEAN NTAPI KdEnterDebugger(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame)
#define KeGetCurrentIrql()
BOOLEAN KdDebuggerEnabled
#define DbgKdSetBusDataApi
VOID NTAPI KdpNotSupported(IN PDBGKD_MANIPULATE_STATE64 State)
IN CINT OUT PVOID IN ULONG OUT PULONG ReturnLength
#define KeRosDumpStackFrames(Frames, Count)
VOID NTAPI KdpRestoreBreakpoint(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
#define DbgKdWriteVirtualMemoryApi
#define DbgKdWritePhysicalMemoryApi
#define DbgKdReadControlSpaceApi
VOID NTAPI ExReleaseTimeRefreshLock(VOID)
LARGE_INTEGER NTAPI KeQueryPerformanceCounter(IN PLARGE_INTEGER PerformanceFreq)
NTSTATUS NTAPI KdEnableDebuggerWithLock(IN BOOLEAN NeedLock)
DBGKD_GET_VERSION64 KdVersionBlock
VOID NTAPI ExQueueWorkItem(IN PWORK_QUEUE_ITEM WorkItem, IN WORK_QUEUE_TYPE QueueType)
BOOLEAN NTAPI KeSetTimer(IN OUT PKTIMER Timer, IN LARGE_INTEGER DueTime, IN PKDPC Dpc OPTIONAL)
_In_ ULONG _In_ ULONG _In_ ULONG Length
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
_In_ UCHAR _In_ ULONG _Out_ PUCHAR _Outptr_result_bytebuffer_ OutBufferLength PVOID * OutBuffer
#define DbgKdGetVersionApi
PKDEBUG_ROUTINE KiDebugRoutine
VOID NTAPI KdpGetBusData(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
VOID NTAPI KdpWritePhysicalMemory(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
#define DbgKdCauseBugCheckApi
const LUID SeDebugPrivilege
NTSTATUS NTAPI NtSetDebugFilterState(_In_ ULONG ComponentId, _In_ ULONG Level, _In_ BOOLEAN State)
VOID NTAPI Unload(PDRIVER_OBJECT DriverObject)
#define STATUS_INVALID_PARAMETER
VOID NTAPI MmDumpArmPfnDatabase(IN BOOLEAN StatusOnly)
#define DBGKD_QUERY_MEMORY_VIRTUAL
VOID NTAPI KdpReadIoSpace(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
#define DbgKdReadVirtualMemoryApi
VOID NTAPI KeThawExecution(IN BOOLEAN Enable)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG _In_opt_ PVOID Data
#define DbgKdSetContextExApi
BOOLEAN NTAPI KdpStub(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame, IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT ContextRecord, IN KPROCESSOR_MODE PreviousMode, IN BOOLEAN SecondChanceException)
BOOLEAN NTAPI KeInsertQueueDpc(IN PKDPC Dpc, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
BOOLEAN NTAPI MmIsSessionAddress(IN PVOID Address)
#define KeGetContextPc(Context)
FORCEINLINE struct _KPRCB * KeGetCurrentPrcb(VOID)
#define DbgKdFillMemoryApi
ULONG KdComponentTableSize
#define DbgKdClearSpecialCallsApi
BOOLEAN KdPreviouslyEnabled
KDP_STATUS NTAPI KdReceivePacket(IN ULONG PacketType, OUT PSTRING MessageHeader, OUT PSTRING MessageData, OUT PULONG DataLength, IN OUT PKD_CONTEXT KdContext)
VOID NTAPI KeAcquireSpinLock(PKSPIN_LOCK SpinLock, PKIRQL OldIrql)
KSPIN_LOCK KdpDebuggerLock
enum _KCONTINUE_STATUS KCONTINUE_STATUS
VOID NTAPI DumpTraceData(IN PSTRING TraceData)
#define InterlockedCompareExchange
NTSTATUS NTAPI KdpSysWriteBusData(IN ULONG BusDataType, IN ULONG BusNumber, IN ULONG SlotNumber, IN ULONG Offset, IN PVOID Buffer, IN ULONG Length, OUT PULONG ActualLength)
NTSTATUS NTAPI KdDisableDebugger(VOID)
union _DBGKD_ANY_WAIT_STATE_CHANGE::@3492 u
KPROCESSOR_MODE NTAPI ExGetPreviousMode(VOID)
NTSTATUS NTAPI KdpWriteBreakPointEx(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
#define DbgKdWriteCustomBreakpointApi
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 ACPI_STATUS const char UINT32 ACPI_STATUS const char UINT32 const char const char UINT32 ComponentId
#define DbgKdWriteControlSpaceApi
VOID NTAPI KdpSysGetVersion(IN PDBGKD_GET_VERSION64 Version)
VOID NTAPI KdpRestoreBreakPointEx(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
NTSTATUS NTAPI KdpAllowDisable(VOID)
#define DbgKdExceptionStateChange
_In_ WDFREQUEST _In_ size_t _In_ size_t InputBufferLength
VOID NTAPI KdpReadControlSpace(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
VOID NTAPI KdpTimeSlipDpcRoutine(IN PKDPC Dpc, IN PVOID DeferredContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
NTSTATUS NTAPI KdRestore(IN BOOLEAN SleepTransition)
LONG NTAPI KeSetEvent(IN PKEVENT Event, IN KPRIORITY Increment, IN BOOLEAN Wait)
#define DBGKD_CACHING_UNCACHED
KCONTINUE_STATUS NTAPI KdpSendWaitContinue(IN ULONG PacketType, IN PSTRING SendHeader, IN PSTRING SendData OPTIONAL, IN OUT PCONTEXT Context)
VOID NTAPI KdpSetContext(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
NTSTATUS NTAPI KdPowerTransition(IN DEVICE_POWER_STATE NewState)
#define DbgKdWriteMachineSpecificRegister
#define DbgKdRestoreBreakPointApi
LARGE_INTEGER KdTimerDifference
#define DbgKdWriteBreakPointExApi
VOID NTAPI PspDumpThreads(BOOLEAN SystemThreads)
NTSTATUS NTAPI KdpSysCheckLowMemory(IN ULONG Flags)
_In_ WDFREQUEST _In_ size_t OutputBufferLength
#define DBGKD_QUERY_MEMORY_KERNEL
BOOLEAN KdDebuggerNotPresent
LARGE_INTEGER KdTimerStart
VOID NTAPI KdpWriteBreakpoint(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
return STATUS_NOT_IMPLEMENTED
#define KdPacketNeedsResend
#define DbgKdSwitchProcessor
BOOLEAN NTAPI KdpReportExceptionStateChange(IN PEXCEPTION_RECORD ExceptionRecord, IN OUT PCONTEXT Context, IN BOOLEAN SecondChanceException)
NTSTATUS NTAPI NtQueryDebugFilterState(_In_ ULONG ComponentId, _In_ ULONG Level)
NTSTATUS NTAPI KdEnableDebugger(VOID)
LARGE_INTEGER NTAPI KdpQueryPerformanceCounter(IN PKTRAP_FRAME TrapFrame)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
#define DbgKdWriteIoSpaceApi
_Inout_ PUCHAR _In_ PUCHAR _Out_ PUCHAR _Out_ PULONG ChunkSize
VOID NTAPI KdpReportCommandStringStateChange(IN PSTRING NameString, IN PSTRING CommandString, IN OUT PCONTEXT Context)
#define DbgKdSwitchPartition
DECLSPEC_NORETURN VOID NTAPI KeBugCheck(ULONG BugCheckCode)
NTSTATUS NTAPI KdDisableDebuggerWithLock(IN BOOLEAN NeedLock)
NTSTATUS NTAPI KdpSysWriteIoSpace(IN ULONG InterfaceType, IN ULONG BusNumber, IN ULONG AddressSpace, IN ULONG64 IoAddress, IN PVOID DataValue, IN ULONG DataSize, OUT PULONG ActualDataSize)
static __inline VOID NTAPI ExceptionRecord32To64(IN PEXCEPTION_RECORD32 Ex32, OUT PEXCEPTION_RECORD64 Ex64)
NTSTATUS NTAPI KdpSysReadControlSpace(IN ULONG Processor, IN ULONG64 BaseAddress, IN PVOID Buffer, IN ULONG Length, OUT PULONG ActualLength)
BOOLEAN KdEnteredDebugger
BOOLEAN NTAPI KeFreezeExecution(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame)
BOOLEAN SendPacket(PSERIAL_PACKET p)
ULONG64 BreakPointAddress
VOID NTAPI KdpTimeSlipWork(IN PVOID Context)
DBGKD_LOAD_SYMBOLS64 LoadSymbols
VOID NTAPI KdpGetContextEx(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
enum _SYSDBG_COMMAND SYSDBG_COMMAND
BOOLEAN NTAPI KdpDeleteBreakpoint(IN ULONG BpEntry)
VOID NTAPI KdpWriteVirtualMemory(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
WORK_QUEUE_ITEM KdpTimeSlipWorkItem
VOID NTAPI KdpWriteCustomBreakpoint(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
VOID NTAPI KdpPortUnlock(VOID)
#define DbgKdClearAllInternalBreakpointsApi
VOID NTAPI KdpQueryMemory(IN PDBGKD_MANIPULATE_STATE64 State, IN PCONTEXT Context)
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG _In_ _Out_ WDFMEMORY * Memory
#define DBGKD_CACHING_CACHED
enum _DEVICE_POWER_STATE DEVICE_POWER_STATE
NTSTATUS NTAPI KdD0Transition(VOID)
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
#define DbgKdCommandStringStateChange
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
_In_ KPROCESSOR_MODE PreviousMode
#define DbgKdReadPhysicalMemoryApi
_Must_inspect_result_ _In_ ULONG Flags
#define DbgKdWriteIoSpaceExtendedApi
NTSTATUS NTAPI KdpSysWriteMsr(IN ULONG Msr, IN PLARGE_INTEGER MsrValue)
DBGKD_COMMAND_STRING CommandString
VOID NTAPI KdpSetCommonState(IN ULONG NewState, IN PCONTEXT Context, IN PDBGKD_ANY_WAIT_STATE_CHANGE WaitStateChange)
VOID NTAPI KdpReadMachineSpecificRegister(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
#define DbgKdLoadSymbolsStateChange
#define NT_SUCCESS(StatCode)
#define MMDBG_COPY_UNCACHED
union _DBGKD_MANIPULATE_STATE64::@3500 u
#define DbgKdQueryMemoryApi
#define DbgKdSearchMemoryApi
VOID NTAPI KdpWriteIoSpaceExtended(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
NTSTATUS NTAPI KdpSysReadBusData(IN ULONG BusDataType, IN ULONG BusNumber, IN ULONG SlotNumber, IN ULONG Offset, IN PVOID Buffer, IN ULONG Length, OUT PULONG ActualLength)
#define DbgKdGetContextApi
VOID NTAPI KdpMoveMemory(_In_ PVOID Destination, _In_ PVOID Source, _In_ SIZE_T Length)
struct _DBGKD_ANY_WAIT_STATE_CHANGE DBGKD_ANY_WAIT_STATE_CHANGE
PULONG KdComponentTable[MAX_KD_COMPONENT_TABLE_ENTRIES]
BOOLEAN NTAPI ExAcquireTimeRefreshLock(IN BOOLEAN Wait)
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
IN PVOID IN PVOID IN USHORT Version
#define STATUS_ACCESS_DENIED
VOID NTAPI HalReturnToFirmware(IN FIRMWARE_REENTRY Action)
VOID NTAPI KdpSuspendAllBreakPoints(VOID)
VOID NTAPI KdpReadIoSpaceExtended(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
NTSTATUS NTAPI KdpSysReadIoSpace(IN ULONG InterfaceType, IN ULONG BusNumber, IN ULONG AddressSpace, IN ULONG64 IoAddress, IN PVOID DataValue, IN ULONG DataSize, OUT PULONG ActualDataSize)
VOID NTAPI KdpCauseBugCheck(IN PDBGKD_MANIPULATE_STATE64 State)
VOID NTAPI KdpSetContextEx(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
#define DbgKdGetContextExApi
#define STATUS_UNSUCCESSFUL
#define PACKET_TYPE_KD_STATE_MANIPULATE
_IRQL_requires_same_ _In_ PVOID _Inout_ struct _CONTEXT * ContextRecord
EXCEPTION_RECORD64 ExceptionRecord
#define DbgKdGetBusDataApi
#define PACKET_TYPE_KD_STATE_CHANGE64
_Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY ReadMemory
#define STATUS_INVALID_INFO_CLASS
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
#define DbgKdReadMachineSpecificRegister
#define STATUS_INVALID_PARAMETER_1
VOID NTAPI KdpWriteMachineSpecificRegister(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
BOOLEAN NTAPI KdpSwitchProcessor(IN PEXCEPTION_RECORD ExceptionRecord, IN OUT PCONTEXT ContextRecord, IN BOOLEAN SecondChanceException)
#define DbgKdContinueApi2
#define STATUS_DEBUGGER_INACTIVE
#define DbgKdSetContextApi
#define DbgKdCheckLowMemoryApi
VOID NTAPI KdpReadVirtualMemory(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
NTSTATUS NTAPI KdpSysWriteControlSpace(IN ULONG Processor, IN ULONG64 BaseAddress, IN PVOID Buffer, IN ULONG Length, OUT PULONG ActualLength)
LARGE_INTEGER KdTimerStop
VOID NTAPI ExUpdateSystemTimeFromCmos(IN BOOLEAN UpdateInterruptTime, IN ULONG MaxSepInSeconds)
_In_opt_ PENTER_STATE_SYSTEM_HANDLER _In_opt_ PVOID _In_ LONG _In_opt_ LONG volatile * Number
ULONG NTAPI KdpAddBreakpoint(IN PVOID Address)
VOID NTAPI KdpSearchMemory(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
#define DBGKD_QUERY_MEMORY_EXECUTE
#define MMDBG_COPY_WRITE_COMBINED
_In_ PLIST_ENTRY _In_ PSTRING _In_ USHORT _In_opt_ PSTRING _In_opt_ PSTRING _In_ ULONG _In_ ULONG _In_opt_ PVOID TargetContext
VOID NTAPI KdpWriteIoSpace(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
#define DbgKdQuerySpecialCallsApi
#define DbgKdRestoreBreakPointExApi
NTSTATUS NTAPI MmDbgCopyMemory(IN ULONG64 Address, IN PVOID Buffer, IN ULONG Size, IN ULONG Flags)
#define DBGKD_QUERY_MEMORY_PROCESS
#define DbgKdSetSpecialCallApi
#define InterlockedIncrement
ULONG TraceDataBufferPosition
#define DbgKdWriteBreakPointApi
NTSTATUS NTAPI KdD3Transition(VOID)
#define DBGKD_QUERY_MEMORY_SESSION
#define DBGKD_CACHING_WRITE_COMBINED
#define KeGetTrapFrameInterruptState(TrapFrame)
#define STATUS_ACCESS_VIOLATION
VOID NTAPI KdpGetVersion(IN PDBGKD_MANIPULATE_STATE64 State)
#define MMDBG_COPY_PHYSICAL
VOID NTAPI KdpSetContextState(IN PDBGKD_ANY_WAIT_STATE_CHANGE WaitStateChange, IN PCONTEXT Context)
VOID NTAPI KdpFillMemory(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
PKPRCB KiProcessorBlock[]
#define MMDBG_COPY_UNSAFE
#define MMDBG_COPY_MAX_SIZE
#define DBGKD_QUERY_MEMORY_READ
BOOLEAN NTAPI KdInitSystem(_In_ ULONG BootPhase, _In_opt_ PLOADER_PARAMETER_BLOCK LoaderBlock)
PVOID MmHighestUserAddress
ULONG TraceDataBuffer[40]
#define KeReleaseSpinLock(sl, irql)
VOID NTAPI KeRaiseIrql(KIRQL NewIrql, PKIRQL OldIrql)
DBGKM_EXCEPTION64 Exception
NTSTATUS NTAPI KdChangeOption(IN KD_OPTION Option, IN ULONG InBufferBytes OPTIONAL, IN PVOID InBuffer, IN ULONG OutBufferBytes OPTIONAL, OUT PVOID OutBuffer, OUT PULONG OutBufferNeeded OPTIONAL)
_In_ WDFTIMER _In_ LONGLONG DueTime
CHAR KdpPathBuffer[KDP_MSG_BUFFER_SIZE]
#define DbgKdSetInternalBreakPointApi
BOOLEAN NTAPI SeSinglePrivilegeCheck(_In_ LUID PrivilegeValue, _In_ KPROCESSOR_MODE PreviousMode)
Checks if a single privilege is present in the context of the calling thread.
_Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY WriteMemory
struct tagContext Context
static BOOL SendData(PINFO pInfo)
VOID NTAPI KdpWriteControlSpace(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
#define DbgKdReadIoSpaceExtendedApi
#define MMDBG_COPY_CACHED
BOOLEAN NTAPI KdRefreshDebuggerNotPresent(VOID)
BOOLEAN NTAPI KdbRegisterCliCallback(PVOID Callback, BOOLEAN Deregister)
enum _KD_OPTION KD_OPTION
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
KSPIN_LOCK KdpTimeSlipEventLock
NTSTATUS NTAPI KdSystemDebugControl(_In_ SYSDBG_COMMAND Command, _In_ PVOID InputBuffer, _In_ ULONG InputBufferLength, _Out_ PVOID OutputBuffer, _In_ ULONG OutputBufferLength, _Inout_ PULONG ReturnLength, _In_ KPROCESSOR_MODE PreviousMode)
NTSTATUS NTAPI KdSave(IN BOOLEAN SleepTransition)
VOID NTAPI KdpPortLock(VOID)
VOID NTAPI KdpSetBusData(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
VOID NTAPI KdpZeroMemory(_In_ PVOID Destination, _In_ SIZE_T Length)
VOID NTAPI KdpReadPhysicalMemory(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
CHAR KdpMessageBuffer[KDP_MSG_BUFFER_SIZE]
#define KeGetCurrentThread
VOID NTAPI KeLowerIrql(KIRQL NewIrql)
VOID NTAPI KdpGetContext(IN PDBGKD_MANIPULATE_STATE64 State, IN PSTRING Data, IN PCONTEXT Context)
BOOLEAN FASTCALL KeTryToAcquireSpinLockAtDpcLevel(IN OUT PKSPIN_LOCK SpinLock)
BOOLEAN NTAPI KdpDeleteBreakpointRange(IN PVOID Base, IN PVOID Limit)
VOID NTAPI KdpGetStateChange(IN PDBGKD_MANIPULATE_STATE64 State, IN PCONTEXT Context)
#define DbgKdReadIoSpaceApi
VOID NTAPI KdSendPacket(IN ULONG PacketType, IN PSTRING MessageHeader, IN PSTRING MessageData, IN OUT PKD_CONTEXT KdContext)
#define DbgKdGetInternalBreakPointApi
VOID NTAPI KdpRestoreAllBreakpoints(VOID)
VOID NTAPI KdpCheckLowMemory(IN PDBGKD_MANIPULATE_STATE64 State)
struct _DBGKD_MANIPULATE_STATE64 DBGKD_MANIPULATE_STATE64
FORCEINLINE VOID KeSweepICache(IN PVOID BaseAddress, IN SIZE_T FlushSize)
ULONG KdpNumInternalBreakpoints
NTSTATUS NTAPI KdpSysReadMsr(IN ULONG Msr, OUT PLARGE_INTEGER MsrValue)
DBGKD_CONTINUE2 Continue2
#define DBGKD_QUERY_MEMORY_WRITE
VOID NTAPI KdpReportLoadSymbolsStateChange(IN PSTRING PathName, IN PKD_SYMBOLS_INFO SymbolInfo, IN BOOLEAN Unload, IN OUT PCONTEXT Context)
PULONG MinorVersion OPTIONAL
_In_opt_ PVOID DeferredContext