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

Go to the source code of this file.

Typedefs

typedef struct
_PHP_CREATE_HANDLE_ITEM_CONTEXT 
PHP_CREATE_HANDLE_ITEM_CONTEXT
 
typedef struct
_PHP_CREATE_HANDLE_ITEM_CONTEXT * 
PPHP_CREATE_HANDLE_ITEM_CONTEXT
 

Functions

VOID NTAPI PhpHandleProviderDeleteProcedure (_In_ PVOID Object, _In_ ULONG Flags)
 
VOID NTAPI PhpHandleItemDeleteProcedure (_In_ PVOID Object, _In_ ULONG Flags)
 
BOOLEAN PhHandleProviderInitialization (VOID)
 
PPH_HANDLE_PROVIDER PhCreateHandleProvider (_In_ HANDLE ProcessId)
 
PPH_HANDLE_ITEM PhCreateHandleItem (_In_opt_ PSYSTEM_HANDLE_TABLE_ENTRY_INFO_EX Handle)
 
FORCEINLINE BOOLEAN PhCompareHandleItem (_In_ PPH_HANDLE_ITEM Value1, _In_ PPH_HANDLE_ITEM Value2)
 
FORCEINLINE ULONG PhHashHandleItem (_In_ PPH_HANDLE_ITEM Value)
 
PPH_HANDLE_ITEM PhpLookupHandleItem (_In_ PPH_HANDLE_PROVIDER HandleProvider, _In_ HANDLE Handle)
 
PPH_HANDLE_ITEM PhReferenceHandleItem (_In_ PPH_HANDLE_PROVIDER HandleProvider, _In_ HANDLE Handle)
 
VOID PhDereferenceAllHandleItems (_In_ PPH_HANDLE_PROVIDER HandleProvider)
 
VOID PhpAddHandleItem (_In_ PPH_HANDLE_PROVIDER HandleProvider, _In_ _Assume_refs_(1) PPH_HANDLE_ITEM HandleItem)
 
VOID PhpRemoveHandleItem (_In_ PPH_HANDLE_PROVIDER HandleProvider, _In_ PPH_HANDLE_ITEM HandleItem)
 
NTSTATUS PhEnumHandlesGeneric (_In_ HANDLE ProcessId, _In_ HANDLE ProcessHandle, _Out_ PSYSTEM_HANDLE_INFORMATION_EX *Handles, _Out_ PBOOLEAN FilterNeeded)
 Enumerates all handles in a process.
 
NTSTATUS PhpCreateHandleItemFunction (_In_ PVOID Parameter)
 
VOID PhHandleProviderUpdate (_In_ PVOID Object)
 

Variables

PPH_OBJECT_TYPE PhHandleProviderType
 
PPH_OBJECT_TYPE PhHandleItemType
 

Typedef Documentation

typedef struct _PHP_CREATE_HANDLE_ITEM_CONTEXT PHP_CREATE_HANDLE_ITEM_CONTEXT
typedef struct _PHP_CREATE_HANDLE_ITEM_CONTEXT * PPHP_CREATE_HANDLE_ITEM_CONTEXT

Function Documentation

FORCEINLINE BOOLEAN PhCompareHandleItem ( _In_ PPH_HANDLE_ITEM  Value1,
_In_ PPH_HANDLE_ITEM  Value2 
)

Definition at line 158 of file hndlprv.c.

PPH_HANDLE_ITEM PhCreateHandleItem ( _In_opt_ PSYSTEM_HANDLE_TABLE_ENTRY_INFO_EX  Handle)

Definition at line 116 of file hndlprv.c.

PPH_HANDLE_PROVIDER PhCreateHandleProvider ( _In_ HANDLE  ProcessId)

Definition at line 56 of file hndlprv.c.

VOID PhDereferenceAllHandleItems ( _In_ PPH_HANDLE_PROVIDER  HandleProvider)

Definition at line 219 of file hndlprv.c.

NTSTATUS PhEnumHandlesGeneric ( _In_ HANDLE  ProcessId,
_In_ HANDLE  ProcessHandle,
_Out_ PSYSTEM_HANDLE_INFORMATION_EX Handles,
_Out_ PBOOLEAN  FilterNeeded 
)

Enumerates all handles in a process.

Parameters
ProcessIdThe ID of the process.
ProcessHandleA handle to the process.
HandlesA variable which receives a pointer to a buffer containing information about the handles.
FilterNeededA variable which receives a boolean indicating whether the handle information needs to be filtered by process ID.

Definition at line 287 of file hndlprv.c.

BOOLEAN PhHandleProviderInitialization ( VOID  )

Definition at line 46 of file hndlprv.c.

VOID PhHandleProviderUpdate ( _In_ PVOID  Object)

Definition at line 456 of file hndlprv.c.

FORCEINLINE ULONG PhHashHandleItem ( _In_ PPH_HANDLE_ITEM  Value)

Definition at line 166 of file hndlprv.c.

VOID PhpAddHandleItem ( _In_ PPH_HANDLE_PROVIDER  HandleProvider,
_In_ _Assume_refs_(1) PPH_HANDLE_ITEM  HandleItem 
)

Definition at line 244 of file hndlprv.c.

NTSTATUS PhpCreateHandleItemFunction ( _In_ PVOID  Parameter)

Definition at line 414 of file hndlprv.c.

VOID PhpHandleItemDeleteProcedure ( _In_ PVOID  Object,
_In_ ULONG  Flags 
)

Definition at line 144 of file hndlprv.c.

VOID PhpHandleProviderDeleteProcedure ( _In_ PVOID  Object,
_In_ ULONG  Flags 
)

Definition at line 93 of file hndlprv.c.

PPH_HANDLE_ITEM PhpLookupHandleItem ( _In_ PPH_HANDLE_PROVIDER  HandleProvider,
_In_ HANDLE  Handle 
)

Definition at line 173 of file hndlprv.c.

VOID PhpRemoveHandleItem ( _In_ PPH_HANDLE_PROVIDER  HandleProvider,
_In_ PPH_HANDLE_ITEM  HandleItem 
)

Definition at line 267 of file hndlprv.c.

PPH_HANDLE_ITEM PhReferenceHandleItem ( _In_ PPH_HANDLE_PROVIDER  HandleProvider,
_In_ HANDLE  Handle 
)

Definition at line 200 of file hndlprv.c.

Variable Documentation

PPH_OBJECT_TYPE PhHandleItemType

Definition at line 44 of file hndlprv.c.

PPH_OBJECT_TYPE PhHandleProviderType

Definition at line 43 of file hndlprv.c.