Apply the action of the user debugger to a specific thread or all threads.
402{
405
407 {
408
409
410
411
414
415
416
417
419 {
421 {
422
423
424
429
430
431
432
434
435
436
437
439 }
440 }
441 }
442 else
443 {
444
445
446
447 PLIST_ENTRY TempList = 0;
448
450
452 {
453 TempList = TempList->Flink;
456
458 {
461 {
463 {
465 {
466
467
468
473
474
475
476
478
479 CommandApplied =
TRUE;
480 break;
481 }
482 }
483 }
484 }
485 }
486 }
487
488
489
490
491 return CommandApplied;
492}
#define MAX_THREADS_IN_A_PROCESS_HOLDER
Maximum threads that a process thread holder might have.
Definition Attaching.h:28
#define MAX_USER_ACTIONS_FOR_THREADS
Maximum actions in paused threads storage.
Definition Attaching.h:22
PUSERMODE_DEBUGGING_THREAD_DETAILS ThreadHolderGetProcessThreadDetailsByProcessIdAndThreadId(UINT32 ProcessId, UINT32 ThreadId)
Find the active threads of the process from process id.
Definition ThreadHolder.c:145
struct _USERMODE_DEBUGGING_THREAD_HOLDER * PUSERMODE_DEBUGGING_THREAD_HOLDER
struct _USERMODE_DEBUGGING_THREAD_DETAILS * PUSERMODE_DEBUGGING_THREAD_DETAILS
#define CONTAINING_RECORD(address, type, field)
Definition nt-list.h:36
DEBUGGER_UD_COMMAND_ACTION_TYPE ActionType
Definition RequestStructures.h:934
UINT64 OptionalParam1
Definition RequestStructures.h:935
UINT64 OptionalParam3
Definition RequestStructures.h:937
UINT64 OptionalParam4
Definition RequestStructures.h:938
UINT64 OptionalParam2
Definition RequestStructures.h:936
DEBUGGER_UD_COMMAND_ACTION UdAction
Definition RequestStructures.h:948
UINT32 TargetThreadId
Definition RequestStructures.h:950
BOOLEAN ApplyToAllPausedThreads
Definition RequestStructures.h:951
LIST_ENTRY ThreadsListHead
Definition Ud.h:40
UINT32 ProcessId
Definition Ud.h:35
UINT32 ThreadId
Definition ThreadHolder.h:34
DEBUGGER_UD_COMMAND_ACTION UdAction[MAX_USER_ACTIONS_FOR_THREADS]
Definition ThreadHolder.h:40
BOOLEAN IsPaused
Definition ThreadHolder.h:36
USERMODE_DEBUGGING_THREAD_DETAILS Threads[MAX_THREADS_IN_A_PROCESS_HOLDER]
Definition ThreadHolder.h:51