Process Hacker
|
Go to the source code of this file.
Data Structures | |
struct | _PH_FILE_POOL_VIEW |
Typedefs | |
typedef struct _PH_FILE_POOL_VIEW | PH_FILE_POOL_VIEW |
typedef struct _PH_FILE_POOL_VIEW * | PPH_FILE_POOL_VIEW |
Functions | |
NTSTATUS | PhpValidateFilePoolParameters (_Inout_ PPH_FILE_POOL_PARAMETERS Parameters) |
Validates and corrects file pool parameters. | |
VOID | PhpSetDefaultFilePoolParameters (_Out_ PPH_FILE_POOL_PARAMETERS Parameters) |
Creates default file pool parameters. | |
NTSTATUS | PhFppExtendRange (_Inout_ PPH_FILE_POOL Pool, _In_ ULONG NewSize) |
Extends a file pool. | |
NTSTATUS | PhFppMapRange (_Inout_ PPH_FILE_POOL Pool, _In_ ULONG Offset, _In_ ULONG Size, _Out_ PVOID *Base) |
Maps in a view of a file pool. | |
NTSTATUS | PhFppUnmapRange (_Inout_ PPH_FILE_POOL Pool, _In_ PVOID Base) |
Unmaps a view of a file pool. | |
VOID | PhFppInitializeSegment (_Inout_ PPH_FILE_POOL Pool, _Out_ PPH_FP_BLOCK_HEADER BlockOfSegmentHeader, _In_ ULONG AdditionalBlocksUsed) |
Initializes a segment. | |
PPH_FP_BLOCK_HEADER | PhFppAllocateSegment (_Inout_ PPH_FILE_POOL Pool, _Out_ PULONG NewSegmentIndex) |
Allocates a segment. | |
PPH_FP_SEGMENT_HEADER | PhFppGetHeaderSegment (_Inout_ PPH_FILE_POOL Pool, _In_ PPH_FP_BLOCK_HEADER FirstBlock) |
Retrieves the header of a segment. | |
VOID | PhFppAddViewByIndex (_Inout_ PPH_FILE_POOL Pool, _Inout_ PPH_FILE_POOL_VIEW View) |
VOID | PhFppRemoveViewByIndex (_Inout_ PPH_FILE_POOL Pool, _Inout_ PPH_FILE_POOL_VIEW View) |
PPH_FILE_POOL_VIEW | PhFppFindViewByIndex (_Inout_ PPH_FILE_POOL Pool, _In_ ULONG SegmentIndex) |
Finds a view for the specified segment. | |
LONG NTAPI | PhpFilePoolViewByBaseCompareFunction (_In_ PPH_AVL_LINKS Links1, _In_ PPH_AVL_LINKS Links2) |
VOID | PhFppAddViewByBase (_Inout_ PPH_FILE_POOL Pool, _Inout_ PPH_FILE_POOL_VIEW View) |
VOID | PhFppRemoveViewByBase (_Inout_ PPH_FILE_POOL Pool, _Inout_ PPH_FILE_POOL_VIEW View) |
PPH_FILE_POOL_VIEW | PhFppFindViewByBase (_Inout_ PPH_FILE_POOL Pool, _In_ PVOID Base) |
Finds a view containing the specified address. | |
PPH_FILE_POOL_VIEW | PhFppCreateView (_Inout_ PPH_FILE_POOL Pool, _In_ ULONG SegmentIndex) |
VOID | PhFppDestroyView (_Inout_ PPH_FILE_POOL Pool, _Inout_ PPH_FILE_POOL_VIEW View) |
VOID | PhFppActivateView (_Inout_ PPH_FILE_POOL Pool, _Inout_ PPH_FILE_POOL_VIEW View) |
VOID | PhFppDeactivateView (_Inout_ PPH_FILE_POOL Pool, _Inout_ PPH_FILE_POOL_VIEW View) |
VOID | PhFppReferenceView (_Inout_ PPH_FILE_POOL Pool, _Inout_ PPH_FILE_POOL_VIEW View) |
VOID | PhFppDereferenceView (_Inout_ PPH_FILE_POOL Pool, _Inout_ PPH_FILE_POOL_VIEW View) |
PPH_FP_BLOCK_HEADER | PhFppReferenceSegment (_Inout_ PPH_FILE_POOL Pool, _In_ ULONG SegmentIndex) |
VOID | PhFppDereferenceSegment (_Inout_ PPH_FILE_POOL Pool, _In_ ULONG SegmentIndex) |
VOID | PhFppReferenceSegmentByBase (_Inout_ PPH_FILE_POOL Pool, _In_ PVOID Base) |
VOID | PhFppDereferenceSegmentByBase (_Inout_ PPH_FILE_POOL Pool, _In_ PVOID Base) |
PPH_FP_BLOCK_HEADER | PhFppAllocateBlocks (_Inout_ PPH_FILE_POOL Pool, _In_ PPH_FP_BLOCK_HEADER FirstBlock, _Inout_ PPH_FP_SEGMENT_HEADER SegmentHeader, _In_ ULONG NumberOfBlocks) |
Allocates blocks from a segment. | |
VOID | PhFppFreeBlocks (_Inout_ PPH_FILE_POOL Pool, _In_ PPH_FP_BLOCK_HEADER FirstBlock, _Inout_ PPH_FP_SEGMENT_HEADER SegmentHeader, _In_ PPH_FP_BLOCK_HEADER BlockHeader) |
Frees blocks in a segment. | |
ULONG | PhFppComputeFreeListIndex (_In_ PPH_FILE_POOL Pool, _In_ ULONG NumberOfBlocks) |
Computes the free list index (category) for a specified number of blocks. | |
BOOLEAN | PhFppInsertFreeList (_Inout_ PPH_FILE_POOL Pool, _In_ ULONG FreeListIndex, _In_ ULONG SegmentIndex, _In_ PPH_FP_SEGMENT_HEADER SegmentHeader) |
Inserts a segment into a free list. | |
BOOLEAN | PhFppRemoveFreeList (_Inout_ PPH_FILE_POOL Pool, _In_ ULONG FreeListIndex, _In_ ULONG SegmentIndex, _In_ PPH_FP_SEGMENT_HEADER SegmentHeader) |
Removes a segment from a free list. | |
PPH_FP_BLOCK_HEADER | PhFppGetHeaderBlock (_In_ PPH_FILE_POOL Pool, _In_ PVOID Block) |
Retrieves the header of a block. | |
ULONG | PhFppEncodeRva (_In_ PPH_FILE_POOL Pool, _In_ ULONG SegmentIndex, _In_ PPH_FP_BLOCK_HEADER FirstBlock, _In_ PVOID Address) |
Creates a relative virtual address. | |
ULONG | PhFppDecodeRva (_In_ PPH_FILE_POOL Pool, _In_ ULONG Rva, _Out_ PULONG SegmentIndex) |
Decodes a relative virtual address. | |
typedef struct _PH_FILE_POOL_VIEW PH_FILE_POOL_VIEW |
typedef struct _PH_FILE_POOL_VIEW * PPH_FILE_POOL_VIEW |
VOID PhFppActivateView | ( | _Inout_ PPH_FILE_POOL | Pool, |
_Inout_ PPH_FILE_POOL_VIEW | View | ||
) |
Definition at line 1114 of file filepool.c.
VOID PhFppAddViewByBase | ( | _Inout_ PPH_FILE_POOL | Pool, |
_Inout_ PPH_FILE_POOL_VIEW | View | ||
) |
Definition at line 1002 of file filepool.c.
VOID PhFppAddViewByIndex | ( | _Inout_ PPH_FILE_POOL | Pool, |
_Inout_ PPH_FILE_POOL_VIEW | View | ||
) |
Definition at line 899 of file filepool.c.
PPH_FP_BLOCK_HEADER PhFppAllocateBlocks | ( | _Inout_ PPH_FILE_POOL | Pool, |
_In_ PPH_FP_BLOCK_HEADER | FirstBlock, | ||
_Inout_ PPH_FP_SEGMENT_HEADER | SegmentHeader, | ||
_In_ ULONG | NumberOfBlocks | ||
) |
Allocates blocks from a segment.
Pool | The file pool. |
FirstBlock | The first block of the segment. |
SegmentHeader | The header of the segment. |
NumberOfBlocks | The number of blocks to allocate. |
Definition at line 1262 of file filepool.c.
PPH_FP_BLOCK_HEADER PhFppAllocateSegment | ( | _Inout_ PPH_FILE_POOL | Pool, |
_Out_ PULONG | NewSegmentIndex | ||
) |
Allocates a segment.
Pool | The file pool. |
NewSegmentIndex | A variable which receives the index of the new segment. |
Definition at line 850 of file filepool.c.
ULONG PhFppComputeFreeListIndex | ( | _In_ PPH_FILE_POOL | Pool, |
_In_ ULONG | NumberOfBlocks | ||
) |
Computes the free list index (category) for a specified number of blocks.
Pool | The file pool. |
NumberOfBlocks | The number of free or required blocks. |
Definition at line 1333 of file filepool.c.
PPH_FILE_POOL_VIEW PhFppCreateView | ( | _Inout_ PPH_FILE_POOL | Pool, |
_In_ ULONG | SegmentIndex | ||
) |
Definition at line 1075 of file filepool.c.
VOID PhFppDeactivateView | ( | _Inout_ PPH_FILE_POOL | Pool, |
_Inout_ PPH_FILE_POOL_VIEW | View | ||
) |
Definition at line 1123 of file filepool.c.
ULONG PhFppDecodeRva | ( | _In_ PPH_FILE_POOL | Pool, |
_In_ ULONG | Rva, | ||
_Out_ PULONG | SegmentIndex | ||
) |
Decodes a relative virtual address.
Pool | The file pool. |
Rva | The relative virtual address. |
SegmentIndex | A variable which receives the segment index. |
Definition at line 1537 of file filepool.c.
VOID PhFppDereferenceSegment | ( | _Inout_ PPH_FILE_POOL | Pool, |
_In_ ULONG | SegmentIndex | ||
) |
Definition at line 1206 of file filepool.c.
VOID PhFppDereferenceSegmentByBase | ( | _Inout_ PPH_FILE_POOL | Pool, |
_In_ PVOID | Base | ||
) |
Definition at line 1236 of file filepool.c.
VOID PhFppDereferenceView | ( | _Inout_ PPH_FILE_POOL | Pool, |
_Inout_ PPH_FILE_POOL_VIEW | View | ||
) |
Definition at line 1160 of file filepool.c.
VOID PhFppDestroyView | ( | _Inout_ PPH_FILE_POOL | Pool, |
_Inout_ PPH_FILE_POOL_VIEW | View | ||
) |
Definition at line 1102 of file filepool.c.
ULONG PhFppEncodeRva | ( | _In_ PPH_FILE_POOL | Pool, |
_In_ ULONG | SegmentIndex, | ||
_In_ PPH_FP_BLOCK_HEADER | FirstBlock, | ||
_In_ PVOID | Address | ||
) |
Creates a relative virtual address.
Pool | The file pool. |
SegmentIndex | The index of the segment containing Address. |
FirstBlock | The first block of the segment containing Address. |
Address | An address. |
Definition at line 1517 of file filepool.c.
NTSTATUS PhFppExtendRange | ( | _Inout_ PPH_FILE_POOL | Pool, |
_In_ ULONG | NewSize | ||
) |
Extends a file pool.
Pool | The file pool. |
NewSize | The new size of the file, in bytes. |
Definition at line 744 of file filepool.c.
PPH_FILE_POOL_VIEW PhFppFindViewByBase | ( | _Inout_ PPH_FILE_POOL | Pool, |
_In_ PVOID | Base | ||
) |
Finds a view containing the specified address.
Pool | The file pool. |
Base | The address. |
Definition at line 1027 of file filepool.c.
PPH_FILE_POOL_VIEW PhFppFindViewByIndex | ( | _Inout_ PPH_FILE_POOL | Pool, |
_In_ ULONG | SegmentIndex | ||
) |
Finds a view for the specified segment.
Pool | The file pool. |
SegmentIndex | The index of the segment. |
Definition at line 960 of file filepool.c.
VOID PhFppFreeBlocks | ( | _Inout_ PPH_FILE_POOL | Pool, |
_In_ PPH_FP_BLOCK_HEADER | FirstBlock, | ||
_Inout_ PPH_FP_SEGMENT_HEADER | SegmentHeader, | ||
_In_ PPH_FP_BLOCK_HEADER | BlockHeader | ||
) |
Frees blocks in a segment.
Pool | The file pool. |
FirstBlock | The first block of the segment. |
SegmentHeader | The header of the segment. |
BlockHeader | The header of the allocated span. |
Definition at line 1307 of file filepool.c.
PPH_FP_BLOCK_HEADER PhFppGetHeaderBlock | ( | _In_ PPH_FILE_POOL | Pool, |
_In_ PVOID | Block | ||
) |
Retrieves the header of a block.
Pool | The file pool. |
Block | A pointer to the body of the block. |
Definition at line 1501 of file filepool.c.
PPH_FP_SEGMENT_HEADER PhFppGetHeaderSegment | ( | _Inout_ PPH_FILE_POOL | Pool, |
_In_ PPH_FP_BLOCK_HEADER | FirstBlock | ||
) |
Retrieves the header of a segment.
Pool | The file pool. |
FirstBlock | The first block of the segment. |
Definition at line 883 of file filepool.c.
VOID PhFppInitializeSegment | ( | _Inout_ PPH_FILE_POOL | Pool, |
_Out_ PPH_FP_BLOCK_HEADER | BlockOfSegmentHeader, | ||
_In_ ULONG | AdditionalBlocksUsed | ||
) |
Initializes a segment.
Pool | The file pool. |
BlockOfSegmentHeader | The block header of the span containing the segment header. |
AdditionalBlocksUsed | The number of blocks already allocated from the segment, excluding the blocks comprising the segment header. |
Definition at line 822 of file filepool.c.
BOOLEAN PhFppInsertFreeList | ( | _Inout_ PPH_FILE_POOL | Pool, |
_In_ ULONG | FreeListIndex, | ||
_In_ ULONG | SegmentIndex, | ||
_In_ PPH_FP_SEGMENT_HEADER | SegmentHeader | ||
) |
Inserts a segment into a free list.
Pool | The file pool. |
FreeListIndex | The index of a free list. |
SegmentIndex | The index of the segment. |
SegmentHeader | The header of the segment. |
Definition at line 1384 of file filepool.c.
NTSTATUS PhFppMapRange | ( | _Inout_ PPH_FILE_POOL | Pool, |
_In_ ULONG | Offset, | ||
_In_ ULONG | Size, | ||
_Out_ PVOID * | Base | ||
) |
Maps in a view of a file pool.
Pool | The file pool. |
Offset | The offset of the view, in bytes. |
Size | The size of the view, in bytes. |
Base | A variable which receives the base address of the view. |
Definition at line 764 of file filepool.c.
PPH_FP_BLOCK_HEADER PhFppReferenceSegment | ( | _Inout_ PPH_FILE_POOL | Pool, |
_In_ ULONG | SegmentIndex | ||
) |
Definition at line 1174 of file filepool.c.
VOID PhFppReferenceSegmentByBase | ( | _Inout_ PPH_FILE_POOL | Pool, |
_In_ PVOID | Base | ||
) |
Definition at line 1221 of file filepool.c.
VOID PhFppReferenceView | ( | _Inout_ PPH_FILE_POOL | Pool, |
_Inout_ PPH_FILE_POOL_VIEW | View | ||
) |
Definition at line 1146 of file filepool.c.
BOOLEAN PhFppRemoveFreeList | ( | _Inout_ PPH_FILE_POOL | Pool, |
_In_ ULONG | FreeListIndex, | ||
_In_ ULONG | SegmentIndex, | ||
_In_ PPH_FP_SEGMENT_HEADER | SegmentHeader | ||
) |
Removes a segment from a free list.
Pool | The file pool. |
FreeListIndex | The index of a free list. |
SegmentIndex | The index of the segment. |
SegmentHeader | The header of the segment. |
Definition at line 1431 of file filepool.c.
VOID PhFppRemoveViewByBase | ( | _Inout_ PPH_FILE_POOL | Pool, |
_Inout_ PPH_FILE_POOL_VIEW | View | ||
) |
Definition at line 1010 of file filepool.c.
VOID PhFppRemoveViewByIndex | ( | _Inout_ PPH_FILE_POOL | Pool, |
_Inout_ PPH_FILE_POOL_VIEW | View | ||
) |
Definition at line 921 of file filepool.c.
NTSTATUS PhFppUnmapRange | ( | _Inout_ PPH_FILE_POOL | Pool, |
_In_ PVOID | Base | ||
) |
Unmaps a view of a file pool.
Pool | The file pool. |
Base | The base address of the view. |
Definition at line 805 of file filepool.c.
LONG NTAPI PhpFilePoolViewByBaseCompareFunction | ( | _In_ PPH_AVL_LINKS | Links1, |
_In_ PPH_AVL_LINKS | Links2 | ||
) |
Definition at line 991 of file filepool.c.
VOID PhpSetDefaultFilePoolParameters | ( | _Out_ PPH_FILE_POOL_PARAMETERS | Parameters | ) |
Creates default file pool parameters.
Parameters | The parameters structure which receives the default parameter values. |
Definition at line 395 of file filepool.c.
NTSTATUS PhpValidateFilePoolParameters | ( | _Inout_ PPH_FILE_POOL_PARAMETERS | Parameters | ) |
Validates and corrects file pool parameters.
Parameters | The parameters structure which is validated and modified if necessary. |
Definition at line 366 of file filepool.c.