| 
    Process Hacker
    
   | 
 
Go to the source code of this file.
Data Structures | |
| struct | _PH_HANDLE_TABLE | 
Macros | |
| #define | PH_HANDLE_TABLE_ENTRY_TYPE 0x1 | 
| #define | PH_HANDLE_TABLE_ENTRY_IN_USE 0x0 | 
| #define | PH_HANDLE_TABLE_ENTRY_FREE 0x1 | 
| #define | PH_HANDLE_TABLE_ENTRY_LOCKED 0x2 | 
| #define | PH_HANDLE_TABLE_ENTRY_LOCKED_SHIFT 1 | 
| #define | PH_HANDLE_TABLE_LEVEL_ENTRIES 256 | 
| #define | PH_HANDLE_TABLE_LEVEL_MASK 0x3 | 
| #define | PH_HANDLE_TABLE_LOCKS 8 | 
| #define | PH_HANDLE_TABLE_LOCK_INDEX(HandleValue) ((HandleValue) % PH_HANDLE_TABLE_LOCKS) | 
| #define | PH_HANDLE_VALUE_INVALID ((ULONG)-1) | 
| #define | PH_HANDLE_VALUE_SHIFT 2 | 
| #define | PH_HANDLE_VALUE_BIAS 4 | 
| #define | PH_HANDLE_VALUE_LEVEL0(HandleValue) ((HandleValue) & 0xff) | 
| #define | PH_HANDLE_VALUE_LEVEL1_U(HandleValue) ((HandleValue) >> 8) | 
| #define | PH_HANDLE_VALUE_LEVEL1(HandleValue) (PH_HANDLE_VALUE_LEVEL1_U(HandleValue) & 0xff) | 
| #define | PH_HANDLE_VALUE_LEVEL2_U(HandleValue) ((HandleValue) >> 16) | 
| #define | PH_HANDLE_VALUE_LEVEL2(HandleValue) (PH_HANDLE_VALUE_LEVEL2_U(HandleValue) & 0xff) | 
| #define | PH_HANDLE_VALUE_IS_INVALID(HandleValue) (((HandleValue) >> 24) != 0) | 
Typedefs | |
| typedef struct _PH_HANDLE_TABLE | PH_HANDLE_TABLE | 
| typedef struct _PH_HANDLE_TABLE * | PPH_HANDLE_TABLE | 
| #define PH_HANDLE_TABLE_LOCK_INDEX | ( | HandleValue | ) | ((HandleValue) % PH_HANDLE_TABLE_LOCKS) | 
| #define PH_HANDLE_VALUE_IS_INVALID | ( | HandleValue | ) | (((HandleValue) >> 24) != 0) | 
| #define PH_HANDLE_VALUE_LEVEL0 | ( | HandleValue | ) | ((HandleValue) & 0xff) | 
| #define PH_HANDLE_VALUE_LEVEL1 | ( | HandleValue | ) | (PH_HANDLE_VALUE_LEVEL1_U(HandleValue) & 0xff) | 
| #define PH_HANDLE_VALUE_LEVEL1_U | ( | HandleValue | ) | ((HandleValue) >> 8) | 
| #define PH_HANDLE_VALUE_LEVEL2 | ( | HandleValue | ) | (PH_HANDLE_VALUE_LEVEL2_U(HandleValue) & 0xff) | 
| #define PH_HANDLE_VALUE_LEVEL2_U | ( | HandleValue | ) | ((HandleValue) >> 16) | 
| typedef struct _PH_HANDLE_TABLE PH_HANDLE_TABLE | 
| typedef struct _PH_HANDLE_TABLE * PPH_HANDLE_TABLE | 
| PPH_HANDLE_TABLE_ENTRY PhpAllocateHandleTableEntry | ( | _Inout_ PPH_HANDLE_TABLE | HandleTable, | 
| _Out_ PULONG | HandleValue | ||
| ) | 
| BOOLEAN PhpAllocateMoreHandleTableEntries | ( | _In_ PPH_HANDLE_TABLE | HandleTable, | 
| _In_ BOOLEAN | Initialize | ||
| ) | 
| VOID PhpBlockOnLockedHandleTableEntry | ( | _Inout_ PPH_HANDLE_TABLE | HandleTable, | 
| _In_ PPH_HANDLE_TABLE_ENTRY | HandleTableEntry | ||
| ) | 
| PPH_HANDLE_TABLE_ENTRY PhpCreateHandleTableLevel0 | ( | _In_ PPH_HANDLE_TABLE | HandleTable, | 
| _In_ BOOLEAN | Initialize | ||
| ) | 
| PPH_HANDLE_TABLE_ENTRY* PhpCreateHandleTableLevel1 | ( | _In_ PPH_HANDLE_TABLE | HandleTable | ) | 
| PPH_HANDLE_TABLE_ENTRY** PhpCreateHandleTableLevel2 | ( | _In_ PPH_HANDLE_TABLE | HandleTable | ) | 
| FORCEINLINE HANDLE PhpEncodeHandle | ( | _In_ ULONG | HandleValue | ) | 
| VOID PhpFreeHandleTableEntry | ( | _Inout_ PPH_HANDLE_TABLE | HandleTable, | 
| _In_ ULONG | HandleValue, | ||
| _Inout_ PPH_HANDLE_TABLE_ENTRY | HandleTableEntry | ||
| ) | 
| VOID PhpFreeHandleTableLevel0 | ( | _In_ PPH_HANDLE_TABLE_ENTRY | Table | ) | 
| VOID PhpFreeHandleTableLevel1 | ( | _In_ PPH_HANDLE_TABLE_ENTRY * | Table | ) | 
| VOID PhpFreeHandleTableLevel2 | ( | _In_ PPH_HANDLE_TABLE_ENTRY ** | Table | ) | 
| FORCEINLINE VOID PhpLockHandleTableShared | ( | _Inout_ PPH_HANDLE_TABLE | HandleTable, | 
| _In_ ULONG | Index | ||
| ) | 
| PPH_HANDLE_TABLE_ENTRY PhpLookupHandleTableEntry | ( | _In_ PPH_HANDLE_TABLE | HandleTable, | 
| _In_ ULONG | HandleValue | ||
| ) | 
| ULONG PhpMoveFreeHandleTableEntries | ( | _Inout_ PPH_HANDLE_TABLE | HandleTable | ) | 
| FORCEINLINE VOID PhpUnlockHandleTableShared | ( | _Inout_ PPH_HANDLE_TABLE | HandleTable, | 
| _In_ ULONG | Index | ||
| ) |