Process Hacker
anawait.c File Reference
#include <phapp.h>
#include <symprv.h>

Go to the source code of this file.

Macros

#define FUNC_MATCH(Name)   PhStartsWithString2(name, L##Name, TRUE)
 
#define NT_FUNC_MATCH(Name)
 

Typedefs

typedef HWND(WINAPI * _GetSendMessageReceiver )(_In_ HANDLE ThreadId)
 
typedef NTSTATUS(NTAPI * _NtAlpcQueryInformation )(_In_ HANDLE PortHandle, _In_ ALPC_PORT_INFORMATION_CLASS PortInformationClass, _Out_writes_bytes_(Length) PVOID PortInformation, _In_ ULONG Length, _Out_opt_ PULONG ReturnLength)
 
typedef struct
_ANALYZE_WAIT_CONTEXT 
ANALYZE_WAIT_CONTEXT
 
typedef struct
_ANALYZE_WAIT_CONTEXT * 
PANALYZE_WAIT_CONTEXT
 

Functions

VOID PhpAnalyzeWaitPassive (_In_ HWND hWnd, _In_ HANDLE ProcessId, _In_ HANDLE ThreadId)
 
BOOLEAN NTAPI PhpWalkThreadStackAnalyzeCallback (_In_ PPH_THREAD_STACK_FRAME StackFrame, _In_opt_ PVOID Context)
 
VOID PhpAnalyzeWaitFallbacks (_In_ PANALYZE_WAIT_CONTEXT Context)
 
VOID PhpInitializeServiceNumbers (VOID)
 
PPH_STRING PhpaGetHandleString (_In_ HANDLE ProcessHandle, _In_ HANDLE Handle)
 
VOID PhpGetWfmoInformation (_In_ HANDLE ProcessHandle, _In_ BOOLEAN IsWow64, _In_ ULONG NumberOfHandles, _In_ PHANDLE AddressOfHandles, _In_ WAIT_TYPE WaitType, _In_ BOOLEAN Alertable, _Inout_ PPH_STRING_BUILDER StringBuilder)
 
PPH_STRING PhpaGetSendMessageReceiver (_In_ HANDLE ThreadId)
 
PPH_STRING PhpaGetAlpcInformation (_In_ HANDLE ThreadId)
 
VOID PhUiAnalyzeWaitThread (_In_ HWND hWnd, _In_ HANDLE ProcessId, _In_ HANDLE ThreadId, _In_ PPH_SYMBOL_PROVIDER SymbolProvider)
 

Macro Definition Documentation

#define FUNC_MATCH (   Name)    PhStartsWithString2(name, L##Name, TRUE)
#define NT_FUNC_MATCH (   Name)
Value:
( \
PhStartsWithString2(name, L"ntdll.dll!Nt" L##Name, TRUE) || \
PhStartsWithString2(name, L"ntdll.dll!Zw" L##Name, TRUE) \
)

Typedef Documentation

typedef HWND(WINAPI * _GetSendMessageReceiver)(_In_ HANDLE ThreadId)

Definition at line 39 of file anawait.c.

typedef NTSTATUS(NTAPI * _NtAlpcQueryInformation)(_In_ HANDLE PortHandle, _In_ ALPC_PORT_INFORMATION_CLASS PortInformationClass, _Out_writes_bytes_(Length) PVOID PortInformation, _In_ ULONG Length, _Out_opt_ PULONG ReturnLength)

Definition at line 43 of file anawait.c.

typedef struct _ANALYZE_WAIT_CONTEXT ANALYZE_WAIT_CONTEXT
typedef struct _ANALYZE_WAIT_CONTEXT * PANALYZE_WAIT_CONTEXT

Function Documentation

static PPH_STRING PhpaGetAlpcInformation ( _In_ HANDLE  ThreadId)

Definition at line 1023 of file anawait.c.

static PPH_STRING PhpaGetHandleString ( _In_ HANDLE  ProcessHandle,
_In_ HANDLE  Handle 
)

Definition at line 855 of file anawait.c.

static PPH_STRING PhpaGetSendMessageReceiver ( _In_ HANDLE  ThreadId)

Definition at line 980 of file anawait.c.

static VOID PhpAnalyzeWaitFallbacks ( _In_ PANALYZE_WAIT_CONTEXT  Context)

Definition at line 618 of file anawait.c.

VOID PhpAnalyzeWaitPassive ( _In_ HWND  hWnd,
_In_ HANDLE  ProcessId,
_In_ HANDLE  ThreadId 
)

Definition at line 191 of file anawait.c.

static VOID PhpGetWfmoInformation ( _In_ HANDLE  ProcessHandle,
_In_ BOOLEAN  IsWow64,
_In_ ULONG  NumberOfHandles,
_In_ PHANDLE  AddressOfHandles,
_In_ WAIT_TYPE  WaitType,
_In_ BOOLEAN  Alertable,
_Inout_ PPH_STRING_BUILDER  StringBuilder 
)

Definition at line 899 of file anawait.c.

static VOID PhpInitializeServiceNumbers ( VOID  )

Definition at line 771 of file anawait.c.

static BOOLEAN NTAPI PhpWalkThreadStackAnalyzeCallback ( _In_ PPH_THREAD_STACK_FRAME  StackFrame,
_In_opt_ PVOID  Context 
)

Definition at line 283 of file anawait.c.

VOID PhUiAnalyzeWaitThread ( _In_ HWND  hWnd,
_In_ HANDLE  ProcessId,
_In_ HANDLE  ThreadId,
_In_ PPH_SYMBOL_PROVIDER  SymbolProvider 
)

Definition at line 112 of file anawait.c.