Process Hacker
thrdprv.c File Reference
#include <phapp.h>
#include <kphuser.h>
#include <symprv.h>
#include <extmgri.h>

Go to the source code of this file.

Macros

#define PH_THRDPRV_PRIVATE
 

Typedefs

typedef struct
_PH_THREAD_QUERY_DATA 
PH_THREAD_QUERY_DATA
 
typedef struct
_PH_THREAD_QUERY_DATA * 
PPH_THREAD_QUERY_DATA
 
typedef struct
_PH_THREAD_SYMBOL_LOAD_CONTEXT 
PH_THREAD_SYMBOL_LOAD_CONTEXT
 
typedef struct
_PH_THREAD_SYMBOL_LOAD_CONTEXT * 
PPH_THREAD_SYMBOL_LOAD_CONTEXT
 

Functions

VOID NTAPI PhpThreadProviderDeleteProcedure (_In_ PVOID Object, _In_ ULONG Flags)
 
VOID NTAPI PhpThreadItemDeleteProcedure (_In_ PVOID Object, _In_ ULONG Flags)
 
BOOLEAN NTAPI PhpThreadHashtableCompareFunction (_In_ PVOID Entry1, _In_ PVOID Entry2)
 
ULONG NTAPI PhpThreadHashtableHashFunction (_In_ PVOID Entry)
 
VOID PhpThreadProviderCallbackHandler (_In_opt_ PVOID Parameter, _In_opt_ PVOID Context)
 
VOID PhpThreadProviderUpdate (_In_ PPH_THREAD_PROVIDER ThreadProvider, _In_ PVOID ProcessInformation)
 
BOOLEAN PhThreadProviderInitialization (VOID)
 
VOID PhpQueueThreadWorkQueueItem (_In_ PTHREAD_START_ROUTINE Function, _In_opt_ PVOID Context)
 
PPH_THREAD_PROVIDER PhCreateThreadProvider (_In_ HANDLE ProcessId)
 
VOID PhRegisterThreadProvider (_In_ PPH_THREAD_PROVIDER ThreadProvider, _Out_ PPH_CALLBACK_REGISTRATION CallbackRegistration)
 
VOID PhUnregisterThreadProvider (_In_ PPH_THREAD_PROVIDER ThreadProvider, _In_ PPH_CALLBACK_REGISTRATION CallbackRegistration)
 
VOID PhSetTerminatingThreadProvider (_Inout_ PPH_THREAD_PROVIDER ThreadProvider)
 
VOID PhLoadSymbolsThreadProvider (_In_ PPH_THREAD_PROVIDER ThreadProvider)
 
PPH_THREAD_ITEM PhCreateThreadItem (_In_ HANDLE ThreadId)
 
PPH_THREAD_ITEM PhReferenceThreadItem (_In_ PPH_THREAD_PROVIDER ThreadProvider, _In_ HANDLE ThreadId)
 
VOID PhDereferenceAllThreadItems (_In_ PPH_THREAD_PROVIDER ThreadProvider)
 
VOID PhpRemoveThreadItem (_In_ PPH_THREAD_PROVIDER ThreadProvider, _In_ PPH_THREAD_ITEM ThreadItem)
 
NTSTATUS PhpThreadQueryWorker (_In_ PVOID Parameter)
 
VOID PhpQueueThreadQuery (_In_ PPH_THREAD_PROVIDER ThreadProvider, _In_ PPH_THREAD_ITEM ThreadItem)
 
PPH_STRING PhpGetThreadBasicStartAddress (_In_ PPH_THREAD_PROVIDER ThreadProvider, _In_ ULONG64 Address, _Out_ PPH_SYMBOL_RESOLVE_LEVEL ResolveLevel)
 
PPH_STRING PhGetThreadPriorityWin32String (_In_ LONG PriorityWin32)
 
VOID PhThreadProviderInitialUpdate (_In_ PPH_THREAD_PROVIDER ThreadProvider)
 

Variables

PPH_OBJECT_TYPE PhThreadProviderType
 
PPH_OBJECT_TYPE PhThreadItemType
 
PH_WORK_QUEUE PhThreadProviderWorkQueue
 
PH_INITONCE PhThreadProviderWorkQueueInitOnce = PH_INITONCE_INIT
 

Macro Definition Documentation

#define PH_THRDPRV_PRIVATE

Definition at line 30 of file thrdprv.c.

Typedef Documentation

typedef struct _PH_THREAD_QUERY_DATA PH_THREAD_QUERY_DATA
typedef struct _PH_THREAD_SYMBOL_LOAD_CONTEXT PH_THREAD_SYMBOL_LOAD_CONTEXT
typedef struct _PH_THREAD_QUERY_DATA * PPH_THREAD_QUERY_DATA
typedef struct _PH_THREAD_SYMBOL_LOAD_CONTEXT * PPH_THREAD_SYMBOL_LOAD_CONTEXT

Function Documentation

PPH_THREAD_ITEM PhCreateThreadItem ( _In_ HANDLE  ThreadId)

Definition at line 378 of file thrdprv.c.

PPH_THREAD_PROVIDER PhCreateThreadProvider ( _In_ HANDLE  ProcessId)

Definition at line 115 of file thrdprv.c.

VOID PhDereferenceAllThreadItems ( _In_ PPH_THREAD_PROVIDER  ThreadProvider)

Definition at line 463 of file thrdprv.c.

PPH_STRING PhGetThreadPriorityWin32String ( _In_ LONG  PriorityWin32)

Definition at line 666 of file thrdprv.c.

VOID PhLoadSymbolsThreadProvider ( _In_ PPH_THREAD_PROVIDER  ThreadProvider)

Definition at line 287 of file thrdprv.c.

PPH_STRING PhpGetThreadBasicStartAddress ( _In_ PPH_THREAD_PROVIDER  ThreadProvider,
_In_ ULONG64  Address,
_Out_ PPH_SYMBOL_RESOLVE_LEVEL  ResolveLevel 
)

Definition at line 597 of file thrdprv.c.

VOID PhpQueueThreadQuery ( _In_ PPH_THREAD_PROVIDER  ThreadProvider,
_In_ PPH_THREAD_ITEM  ThreadItem 
)

Definition at line 581 of file thrdprv.c.

VOID PhpQueueThreadWorkQueueItem ( _In_ PTHREAD_START_ROUTINE  Function,
_In_opt_ PVOID  Context 
)

Definition at line 101 of file thrdprv.c.

VOID PhpRemoveThreadItem ( _In_ PPH_THREAD_PROVIDER  ThreadProvider,
_In_ PPH_THREAD_ITEM  ThreadItem 
)

Definition at line 480 of file thrdprv.c.

BOOLEAN PhpThreadHashtableCompareFunction ( _In_ PVOID  Entry1,
_In_ PVOID  Entry2 
)

Definition at line 412 of file thrdprv.c.

ULONG PhpThreadHashtableHashFunction ( _In_ PVOID  Entry)

Definition at line 422 of file thrdprv.c.

VOID PhpThreadItemDeleteProcedure ( _In_ PVOID  Object,
_In_ ULONG  Flags 
)

Definition at line 397 of file thrdprv.c.

VOID PhpThreadProviderCallbackHandler ( _In_opt_ PVOID  Parameter,
_In_opt_ PVOID  Context 
)

Definition at line 706 of file thrdprv.c.

VOID PhpThreadProviderDeleteProcedure ( _In_ PVOID  Object,
_In_ ULONG  Flags 
)

Definition at line 161 of file thrdprv.c.

VOID PhpThreadProviderUpdate ( _In_ PPH_THREAD_PROVIDER  ThreadProvider,
_In_ PVOID  ProcessInformation 
)

Definition at line 717 of file thrdprv.c.

NTSTATUS PhpThreadQueryWorker ( _In_ PVOID  Parameter)

Definition at line 489 of file thrdprv.c.

PPH_THREAD_ITEM PhReferenceThreadItem ( _In_ PPH_THREAD_PROVIDER  ThreadProvider,
_In_ HANDLE  ThreadId 
)

Definition at line 429 of file thrdprv.c.

VOID PhRegisterThreadProvider ( _In_ PPH_THREAD_PROVIDER  ThreadProvider,
_Out_ PPH_CALLBACK_REGISTRATION  CallbackRegistration 
)

Definition at line 206 of file thrdprv.c.

VOID PhSetTerminatingThreadProvider ( _Inout_ PPH_THREAD_PROVIDER  ThreadProvider)

Definition at line 224 of file thrdprv.c.

BOOLEAN PhThreadProviderInitialization ( VOID  )

Definition at line 91 of file thrdprv.c.

VOID PhThreadProviderInitialUpdate ( _In_ PPH_THREAD_PROVIDER  ThreadProvider)

Definition at line 693 of file thrdprv.c.

VOID PhUnregisterThreadProvider ( _In_ PPH_THREAD_PROVIDER  ThreadProvider,
_In_ PPH_CALLBACK_REGISTRATION  CallbackRegistration 
)

Definition at line 215 of file thrdprv.c.

Variable Documentation

PPH_OBJECT_TYPE PhThreadItemType

Definition at line 86 of file thrdprv.c.

PPH_OBJECT_TYPE PhThreadProviderType

Definition at line 85 of file thrdprv.c.

PH_WORK_QUEUE PhThreadProviderWorkQueue

Definition at line 88 of file thrdprv.c.

PH_INITONCE PhThreadProviderWorkQueueInitOnce = PH_INITONCE_INIT

Definition at line 89 of file thrdprv.c.