|
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 | ||
| ) |