#include <umtypes.h>
#include <kdtypes.h>
Go to the source code of this file.
|
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) |
|
BOOLEAN NTAPI | KdPollBreakIn (VOID) |
|
NTSYSCALLAPI NTSTATUS NTAPI | NtQueryDebugFilterState (_In_ ULONG ComponentId, _In_ ULONG Level) |
|
NTSYSCALLAPI NTSTATUS NTAPI | NtSetDebugFilterState (_In_ ULONG ComponentId, _In_ ULONG Level, _In_ BOOLEAN State) |
|
NTSYSCALLAPI NTSTATUS NTAPI | NtSystemDebugControl (SYSDBG_COMMAND ControlCode, PVOID InputBuffer, ULONG InputBufferLength, PVOID OutputBuffer, ULONG OutputBufferLength, PULONG ReturnLength) |
|
NTSYSAPI NTSTATUS NTAPI | ZwQueryDebugFilterState (ULONG ComponentId, ULONG Level) |
|
NTSYSAPI NTSTATUS NTAPI | ZwSetDebugFilterState (ULONG ComponentId, ULONG Level, BOOLEAN State) |
|
NTSYSAPI NTSTATUS NTAPI | ZwSystemDebugControl (SYSDBG_COMMAND ControlCode, PVOID InputBuffer, ULONG InputBufferLength, PVOID OutputBuffer, ULONG OutputBufferLength, PULONG ReturnLength) |
|
◆ KdPollBreakIn()
Definition at line 75 of file kdlock.c.
76{
78
79
81 {
82
84
85
87 {
88
92 }
93 else
94 {
96
99 {
100
106 {
107
110 }
111
112
114 }
116 }
117
118
120 }
121
122
123 return DoBreak;
124}
#define KeRaiseIrql(irql, oldIrql)
#define KeLowerIrql(oldIrql)
KSPIN_LOCK KdpDebuggerLock
BOOLEAN KdpControlCPressed
BOOLEAN KdDebuggerEnabled
KDP_STATUS NTAPI KdReceivePacket(IN ULONG PacketType, OUT PSTRING MessageHeader, OUT PSTRING MessageData, OUT PULONG DataLength, IN OUT PKD_CONTEXT KdContext)
VOID NTAPI KdpPortUnlock(VOID)
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
FORCEINLINE BOOLEAN KeDisableInterrupts(VOID)
FORCEINLINE VOID KeRestoreInterrupts(BOOLEAN WereEnabled)
BOOLEAN FASTCALL KeTryToAcquireSpinLockAtDpcLevel(IN OUT PKSPIN_LOCK SpinLock)
BOOLEAN KdpControlCPending
#define PACKET_TYPE_KD_POLL_BREAKIN
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Referenced by KdInitSystem(), KeUpdateSystemTime(), KiInitializeSystem(), and KiSystemStartup().
◆ KdSystemDebugControl()
Definition at line 2183 of file kdapi.c.
2191{
2192
2194 {
2195#if DBG
2196 case ' soR':
2197 {
2199 {
2200 case 0x21:
2202 break;
2203
2204 case 0x22:
2206 break;
2207
2208 case 0x24:
2210 break;
2211
2212 default:
2213 break;
2214 }
2216 }
2217
2218#if defined(_M_IX86) && !defined(_WINKD_)
2219
2220 case 'CsoR':
2221 {
2223 {
2224 case ID_Win32PreServiceHook:
2226 break;
2227
2228 case ID_Win32PostServiceHook:
2230 break;
2231
2232 }
2233 break;
2234 }
2235#endif
2236
2237
2238 case 'DsoR':
2239 {
2241 break;
2242 }
2243#ifdef KDBG
2244
2245 case 'RbdK':
2246 {
2248 }
2249#endif
2250#endif
2251 default:
2252 break;
2253 }
2254
2255
2256 DbgPrint(
"KdSystemDebugControl is unimplemented!\n");
2258}
#define STATUS_NOT_IMPLEMENTED
#define KeRosDumpStackFrames(Frames, Count)
VOID NTAPI PspDumpThreads(BOOLEAN SystemThreads)
BOOLEAN NTAPI KdbRegisterCliCallback(PVOID Callback, BOOLEAN Deregister)
VOID NTAPI MmDumpArmPfnDatabase(IN BOOLEAN StatusOnly)
_In_ WDFREQUEST _In_ size_t _In_ size_t InputBufferLength
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
Referenced by DriverEntry(), i8042KbdInterruptService(), KdRosDumpStackFrames(), KdRosSetDebugCallback(), and NtSystemDebugControl().
◆ NtQueryDebugFilterState()
Definition at line 2383 of file kdapi.c.
2386{
2388
2389
2391 {
2392
2394 }
2396 {
2397
2398
2399
2400
2402 }
2403 else
2404 {
2405#if (NTDDI_VERSION >= NTDDI_VISTA)
2406
2408
2409#else
2410
2412#endif
2413 }
2414
2415
2417 Level &= ~DPFLTR_MASK;
2418
2419
2421 {
2422
2424 }
2425 else
2426 {
2427
2429 }
2430}
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
ULONG KdComponentTableSize
PULONG KdComponentTable[MAX_KD_COMPONENT_TABLE_ENTRIES]
#define STATUS_INVALID_PARAMETER_1
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
Referenced by DbgQueryDebugFilterState(), KdpPrint(), and vDbgPrintExWithPrefixInternal().
◆ NtSetDebugFilterState()
Definition at line 2437 of file kdapi.c.
2441{
2443
2444
2446 {
2447
2449 }
2450
2451
2453 {
2454
2456 }
2458 {
2459
2460
2461
2462
2464 }
2465 else
2466 {
2467#if (NTDDI_VERSION >= NTDDI_VISTA)
2468
2470#else
2471
2473#endif
2474 }
2475
2476
2478 Level &= ~DPFLTR_MASK;
2479
2480
2483 else
2485
2487}
#define ExGetPreviousMode
const LUID SeDebugPrivilege
BOOLEAN NTAPI SeSinglePrivilegeCheck(_In_ LUID PrivilegeValue, _In_ KPROCESSOR_MODE PreviousMode)
Checks if a single privilege is present in the context of the calling thread.
#define STATUS_ACCESS_DENIED
Referenced by DbgSetDebugFilterState(), and KdbpCmdFilter().
◆ NtSystemDebugControl()
Definition at line 182 of file dbgctrl.c.
188{
190 {
229 default:
231 }
232}
IN CINT OUT PVOID IN ULONG OUT PULONG ReturnLength
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)
#define KeGetPreviousMode()
@ SysDbgQuerySpecialCalls
@ SysDbgGetPrintBufferSize
@ SysDbgQueryTraceInformation
@ SysDbgClearSpecialCalls
@ SysDbgWriteControlSpace
@ SysDbgEnableKernelDebugger
@ SysDbgGetKdUmExceptionEnable
@ SysDbgSetKdUmExceptionEnable
@ SysDbgSetPrintBufferSize
@ SysDbgQueryModuleInformation
@ SysDbgDisableKernelDebugger
#define STATUS_INVALID_INFO_CLASS
_In_ WDFREQUEST _In_ size_t OutputBufferLength
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
_IRQL_requires_same_ typedef _In_ ULONG ControlCode
◆ ZwQueryDebugFilterState()
◆ ZwSetDebugFilterState()
◆ ZwSystemDebugControl()