Process Hacker
|
Go to the source code of this file.
Typedefs | |
typedef struct _EXIT_THREAD_CONTEXT | EXIT_THREAD_CONTEXT |
typedef struct _EXIT_THREAD_CONTEXT * | PEXIT_THREAD_CONTEXT |
typedef struct _CAPTURE_BACKTRACE_THREAD_CONTEXT | CAPTURE_BACKTRACE_THREAD_CONTEXT |
typedef struct _CAPTURE_BACKTRACE_THREAD_CONTEXT * | PCAPTURE_BACKTRACE_THREAD_CONTEXT |
Functions | |
VOID | KphpCaptureStackBackTraceThreadSpecialApc (__in PRKAPC Apc, __inout PKNORMAL_ROUTINE *NormalRoutine, __inout PVOID *NormalContext, __inout PVOID *SystemArgument1, __inout PVOID *SystemArgument2) |
VOID | KphpExitThreadSpecialApc (__in PRKAPC Apc, __inout PKNORMAL_ROUTINE *NormalRoutine, __inout PVOID *NormalContext, __inout PVOID *SystemArgument1, __inout PVOID *SystemArgument2) |
NTSTATUS | KpiOpenThread (__out PHANDLE ThreadHandle, __in ACCESS_MASK DesiredAccess, __in PCLIENT_ID ClientId, __in KPROCESSOR_MODE AccessMode) |
Opens a thread. | |
NTSTATUS | KpiOpenThreadProcess (__in HANDLE ThreadHandle, __in ACCESS_MASK DesiredAccess, __out PHANDLE ProcessHandle, __in KPROCESSOR_MODE AccessMode) |
Opens the process of a thread. | |
NTSTATUS | KphTerminateThreadByPointerInternal (__in PETHREAD Thread, __in NTSTATUS ExitStatus) |
Terminates a thread using PspTerminateThreadByPointer. | |
NTSTATUS | KpiTerminateThread (__in HANDLE ThreadHandle, __in NTSTATUS ExitStatus, __in KPROCESSOR_MODE AccessMode) |
Terminates a thread. | |
NTSTATUS | KpiTerminateThreadUnsafe (__in HANDLE ThreadHandle, __in NTSTATUS ExitStatus, __in KPROCESSOR_MODE AccessMode) |
Terminates a thread using an unsafe method. | |
NTSTATUS | KpiGetContextThread (__in HANDLE ThreadHandle, __inout PCONTEXT ThreadContext, __in KPROCESSOR_MODE AccessMode) |
Gets the context of a thread. | |
NTSTATUS | KpiSetContextThread (__in HANDLE ThreadHandle, __in PCONTEXT ThreadContext, __in KPROCESSOR_MODE AccessMode) |
Sets the context of a thread. | |
ULONG | KphCaptureStackBackTrace (__in ULONG FramesToSkip, __in ULONG FramesToCapture, __in_opt ULONG Flags, __out_ecount(FramesToCapture) PVOID *BackTrace, __out_opt PULONG BackTraceHash) |
Captures a stack trace of the current thread. | |
NTSTATUS | KphCaptureStackBackTraceThread (__in PETHREAD Thread, __in ULONG FramesToSkip, __in ULONG FramesToCapture, __out_ecount(FramesToCapture) PVOID *BackTrace, __out_opt PULONG CapturedFrames, __out_opt PULONG BackTraceHash, __in KPROCESSOR_MODE AccessMode) |
Captures the stack trace of a thread. | |
NTSTATUS | KpiCaptureStackBackTraceThread (__in HANDLE ThreadHandle, __in ULONG FramesToSkip, __in ULONG FramesToCapture, __out_ecount(FramesToCapture) PVOID *BackTrace, __out_opt PULONG CapturedFrames, __out_opt PULONG BackTraceHash, __in KPROCESSOR_MODE AccessMode) |
Captures the stack trace of a thread. | |
NTSTATUS | KpiQueryInformationThread (__in HANDLE ThreadHandle, __in KPH_THREAD_INFORMATION_CLASS ThreadInformationClass, __out_bcount(ProcessInformationLength) PVOID ThreadInformation, __in ULONG ThreadInformationLength, __out_opt PULONG ReturnLength, __in KPROCESSOR_MODE AccessMode) |
Queries thread information. | |
NTSTATUS | KpiSetInformationThread (__in HANDLE ThreadHandle, __in KPH_THREAD_INFORMATION_CLASS ThreadInformationClass, __in_bcount(ThreadInformationLength) PVOID ThreadInformation, __in ULONG ThreadInformationLength, __in KPROCESSOR_MODE AccessMode) |
Sets thread information. | |
Variables | |
KKERNEL_ROUTINE | KphpCaptureStackBackTraceThreadSpecialApc |
KKERNEL_ROUTINE | KphpExitThreadSpecialApc |
typedef struct _CAPTURE_BACKTRACE_THREAD_CONTEXT CAPTURE_BACKTRACE_THREAD_CONTEXT |
typedef struct _EXIT_THREAD_CONTEXT EXIT_THREAD_CONTEXT |
typedef struct _CAPTURE_BACKTRACE_THREAD_CONTEXT * PCAPTURE_BACKTRACE_THREAD_CONTEXT |
typedef struct _EXIT_THREAD_CONTEXT * PEXIT_THREAD_CONTEXT |
ULONG KphCaptureStackBackTrace | ( | __in ULONG | FramesToSkip, |
__in ULONG | FramesToCapture, | ||
__in_opt ULONG | Flags, | ||
__out_ecount(FramesToCapture) PVOID * | BackTrace, | ||
__out_opt PULONG | BackTraceHash | ||
) |
Captures a stack trace of the current thread.
FramesToSkip | The number of frames to skip from the bottom of the stack. |
FramesToCapture | The number of frames to capture. |
Flags | A combination of the following:
|
BackTrace | An array in which the stack trace will be stored. |
BackTraceHash | A variable which receives a hash of the stack trace. |
NTSTATUS KphCaptureStackBackTraceThread | ( | __in PETHREAD | Thread, |
__in ULONG | FramesToSkip, | ||
__in ULONG | FramesToCapture, | ||
__out_ecount(FramesToCapture) PVOID * | BackTrace, | ||
__out_opt PULONG | CapturedFrames, | ||
__out_opt PULONG | BackTraceHash, | ||
__in KPROCESSOR_MODE | AccessMode | ||
) |
Captures the stack trace of a thread.
Thread | The thread to capture the stack trace of. |
FramesToSkip | The number of frames to skip from the bottom of the stack. |
FramesToCapture | The number of frames to capture. |
BackTrace | An array in which the stack trace will be stored. |
CapturedFrames | A variable which receives the number of frames captured. |
BackTraceHash | A variable which receives a hash of the stack trace. |
AccessMode | The mode in which to perform access checks. |
VOID KphpCaptureStackBackTraceThreadSpecialApc | ( | __in PRKAPC | Apc, |
__inout PKNORMAL_ROUTINE * | NormalRoutine, | ||
__inout PVOID * | NormalContext, | ||
__inout PVOID * | SystemArgument1, | ||
__inout PVOID * | SystemArgument2 | ||
) |
VOID KphpExitThreadSpecialApc | ( | __in PRKAPC | Apc, |
__inout PKNORMAL_ROUTINE * | NormalRoutine, | ||
__inout PVOID * | NormalContext, | ||
__inout PVOID * | SystemArgument1, | ||
__inout PVOID * | SystemArgument2 | ||
) |
NTSTATUS KphTerminateThreadByPointerInternal | ( | __in PETHREAD | Thread, |
__in NTSTATUS | ExitStatus | ||
) |
NTSTATUS KpiCaptureStackBackTraceThread | ( | __in HANDLE | ThreadHandle, |
__in ULONG | FramesToSkip, | ||
__in ULONG | FramesToCapture, | ||
__out_ecount(FramesToCapture) PVOID * | BackTrace, | ||
__out_opt PULONG | CapturedFrames, | ||
__out_opt PULONG | BackTraceHash, | ||
__in KPROCESSOR_MODE | AccessMode | ||
) |
Captures the stack trace of a thread.
ThreadHandle | A handle to the thread to capture the stack trace of. |
FramesToSkip | The number of frames to skip from the bottom of the stack. |
FramesToCapture | The number of frames to capture. |
BackTrace | An array in which the stack trace will be stored. |
CapturedFrames | A variable which receives the number of frames captured. |
BackTraceHash | A variable which receives a hash of the stack trace. |
AccessMode | The mode in which to perform access checks. |
NTSTATUS KpiGetContextThread | ( | __in HANDLE | ThreadHandle, |
__inout PCONTEXT | ThreadContext, | ||
__in KPROCESSOR_MODE | AccessMode | ||
) |
NTSTATUS KpiOpenThread | ( | __out PHANDLE | ThreadHandle, |
__in ACCESS_MASK | DesiredAccess, | ||
__in PCLIENT_ID | ClientId, | ||
__in KPROCESSOR_MODE | AccessMode | ||
) |
Opens a thread.
ThreadHandle | A variable which receives the thread handle. |
DesiredAccess | The desired access to the thread. |
ClientId | The identifier of a thread. UniqueThread must be present. If UniqueProcess is present, the process of the referenced thread will be checked against this identifier. |
AccessMode | The mode in which to perform access checks. |
NTSTATUS KpiOpenThreadProcess | ( | __in HANDLE | ThreadHandle, |
__in ACCESS_MASK | DesiredAccess, | ||
__out PHANDLE | ProcessHandle, | ||
__in KPROCESSOR_MODE | AccessMode | ||
) |
NTSTATUS KpiQueryInformationThread | ( | __in HANDLE | ThreadHandle, |
__in KPH_THREAD_INFORMATION_CLASS | ThreadInformationClass, | ||
__out_bcount(ProcessInformationLength) PVOID | ThreadInformation, | ||
__in ULONG | ThreadInformationLength, | ||
__out_opt PULONG | ReturnLength, | ||
__in KPROCESSOR_MODE | AccessMode | ||
) |
Queries thread information.
ThreadHandle | A handle to a thread. |
ThreadInformationClass | The type of information to query. |
ThreadInformation | The buffer in which the information will be stored. |
ThreadInformationLength | The number of bytes available in ThreadInformation. |
ReturnLength | A variable which receives the number of bytes required to be available in ThreadInformation. |
AccessMode | The mode in which to perform access checks. |
NTSTATUS KpiSetContextThread | ( | __in HANDLE | ThreadHandle, |
__in PCONTEXT | ThreadContext, | ||
__in KPROCESSOR_MODE | AccessMode | ||
) |
NTSTATUS KpiSetInformationThread | ( | __in HANDLE | ThreadHandle, |
__in KPH_THREAD_INFORMATION_CLASS | ThreadInformationClass, | ||
__in_bcount(ThreadInformationLength) PVOID | ThreadInformation, | ||
__in ULONG | ThreadInformationLength, | ||
__in KPROCESSOR_MODE | AccessMode | ||
) |
Sets thread information.
ThreadHandle | A handle to a thread. |
ThreadInformationClass | The type of information to set. |
ThreadInformation | A buffer which contains the information to set. |
ThreadInformationLength | The number of bytes present in ThreadInformation. |
AccessMode | The mode in which to perform access checks. |
NTSTATUS KpiTerminateThread | ( | __in HANDLE | ThreadHandle, |
__in NTSTATUS | ExitStatus, | ||
__in KPROCESSOR_MODE | AccessMode | ||
) |
NTSTATUS KpiTerminateThreadUnsafe | ( | __in HANDLE | ThreadHandle, |
__in NTSTATUS | ExitStatus, | ||
__in KPROCESSOR_MODE | AccessMode | ||
) |
Terminates a thread using an unsafe method.
ThreadHandle | A handle to a thread. |
ExitStatus | A status value which indicates why the thread is being terminated. |
AccessMode | The mode in which to perform access checks. |