16 #define KD_PRINT_MAX_BYTES 512 75 PromptString->Length);
78 Length = PromptString->Length;
123 ResponseString->MaximumLength);
226 STRING PromptBuffer, ResponseBuffer;
228 PCHAR SafeResponseString;
233 PromptLength =
min(PromptLength,
234 sizeof(CapturedPrompt));
236 sizeof(SafeResponseBuffer));
247 PromptString = CapturedPrompt;
251 SafeResponseString = SafeResponseBuffer;
262 SafeResponseString = ResponseString;
266 PromptBuffer.Buffer = PromptString;
267 PromptBuffer.Length = PromptBuffer.MaximumLength = PromptLength;
268 ResponseBuffer.Buffer = SafeResponseString;
269 ResponseBuffer.Length = 0;
297 ResponseBuffer.Buffer,
298 ResponseBuffer.Length);
309 return ResponseBuffer.Length;
404 OutputString.Buffer =
String;
405 OutputString.Length = OutputString.MaximumLength =
Length;
NTSTATUS NTAPI KdpPrint(_In_ ULONG ComponentId, _In_ ULONG Level, _In_reads_bytes_(Length) PCHAR String, _In_ USHORT Length, _In_ KPROCESSOR_MODE PreviousMode, _In_ PKTRAP_FRAME TrapFrame, _In_ PKEXCEPTION_FRAME ExceptionFrame, _Out_ PBOOLEAN Handled)
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define _In_reads_bytes_(s)
IN BOOLEAN OUT PSTR Buffer
VOID NTAPI Unload(PDRIVER_OBJECT DriverObject)
VOID NTAPI KdpMoveMemory(_In_ PVOID Destination, _In_ PVOID Source, _In_ SIZE_T Length)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG _In_opt_ PVOID Data
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
FORCEINLINE struct _KPRCB * KeGetCurrentPrcb(VOID)
KDP_STATUS NTAPI KdReceivePacket(IN ULONG PacketType, OUT PSTRING MessageHeader, OUT PSTRING MessageData, OUT PULONG DataLength, IN OUT PKD_CONTEXT KdContext)
VOID NTAPI KdpSymbol(IN PSTRING DllPath, IN PKD_SYMBOLS_INFO SymbolInfo, IN BOOLEAN Unload, IN KPROCESSOR_MODE PreviousMode, IN PCONTEXT ContextRecord, IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame)
BOOLEAN NTAPI KdpPromptString(_In_ PSTRING PromptString, _In_ PSTRING ResponseString)
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
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
VOID NTAPI KdExitDebugger(IN BOOLEAN Enable)
CHAR KdpMessageBuffer[0x1000]
VOID NTAPI ProbeForWrite(IN PVOID Address, IN SIZE_T Length, IN ULONG Alignment)
#define _Out_writes_bytes_(s)
#define DbgKdGetStringApi
BOOLEAN NTAPI KdpPrintString(_In_ PSTRING Output)
BOOLEAN KdDebuggerNotPresent
#define KdPacketNeedsResend
NTSTATUS NTAPI NtQueryDebugFilterState(_In_ ULONG ComponentId, _In_ ULONG Level)
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
#define DbgKdPrintStringApi
ULONG LengthOfPromptString
#define EXCEPTION_EXECUTE_HANDLER
#define STATUS_BREAKPOINT
VOID NTAPI KiRestoreProcessorControlState(IN PKPROCESSOR_STATE ProcessorState)
struct _DBGKD_DEBUG_IO DBGKD_DEBUG_IO
BOOLEAN NTAPI KdpPollBreakInWithPortLock(VOID)
#define STATUS_DEVICE_NOT_CONNECTED
_In_ ULONG MaximumResponseLength
_In_ KPROCESSOR_MODE PreviousMode
#define _SEH2_YIELD(STMT_)
union _DBGKD_DEBUG_IO::@3511 u
#define KD_PRINT_MAX_BYTES
VOID NTAPI KdpReportLoadSymbolsStateChange(IN PSTRING PathName, IN PKD_SYMBOLS_INFO SymbolInfo, IN BOOLEAN Unload, IN OUT PCONTEXT Context)
KPROCESSOR_STATE ProcessorState
_IRQL_requires_same_ _In_ PVOID _Inout_ struct _CONTEXT * ContextRecord
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
VOID NTAPI KiSaveProcessorControlState(OUT PKPROCESSOR_STATE ProcessorState)
DBGKD_PRINT_STRING PrintString
DBGKD_GET_STRING GetString
USHORT NTAPI KdpPrompt(_In_reads_bytes_(PromptLength) PCHAR PromptString, _In_ USHORT PromptLength, _Out_writes_bytes_(MaximumResponseLength) PCHAR ResponseString, _In_ USHORT MaximumResponseLength, _In_ KPROCESSOR_MODE PreviousMode, _In_ PKTRAP_FRAME TrapFrame, _In_ PKEXCEPTION_FRAME ExceptionFrame)
VOID __cdecl KdpDprintf(_In_ PCHAR Format,...)
#define STATUS_ACCESS_VIOLATION
static const char const char * DllPath
#define PACKET_TYPE_KD_DEBUG_IO
VOID NTAPI KdpCommandString(IN PSTRING NameString, IN PSTRING CommandString, IN KPROCESSOR_MODE PreviousMode, IN PCONTEXT ContextRecord, IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame)
void int int ULONGLONG int va_list * ap
static NTSTATUS NTAPI KdpPrintFromUser(_In_ ULONG ComponentId, _In_ ULONG Level, _In_reads_bytes_(Length) PCHAR String, _In_ USHORT Length, _In_ KPROCESSOR_MODE PreviousMode, _In_ PKTRAP_FRAME TrapFrame, _In_ PKEXCEPTION_FRAME ExceptionFrame, _Out_ PBOOLEAN Handled)
BOOLEAN NTAPI KdEnterDebugger(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame)
#define _SEH2_EXCEPT(...)
VOID NTAPI KdSendPacket(IN ULONG PacketType, IN PSTRING MessageHeader, IN PSTRING MessageData, IN OUT PKD_CONTEXT KdContext)
VOID NTAPI KdpReportCommandStringStateChange(IN PSTRING NameString, IN PSTRING CommandString, IN OUT PCONTEXT Context)
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 * Format