Process Hacker
filepool.c File Reference
#include <ph.h>
#include <filepool.h>
#include <filepoolp.h>

Go to the source code of this file.

Functions

NTSTATUS PhCreateFilePool (_Out_ PPH_FILE_POOL *Pool, _In_ HANDLE FileHandle, _In_ BOOLEAN ReadOnly, _In_opt_ PPH_FILE_POOL_PARAMETERS Parameters)
 Creates or opens a file pool.
 
NTSTATUS PhCreateFilePool2 (_Out_ PPH_FILE_POOL *Pool, _In_ PWSTR FileName, _In_ BOOLEAN ReadOnly, _In_ ULONG ShareAccess, _In_ ULONG CreateDisposition, _In_opt_ PPH_FILE_POOL_PARAMETERS Parameters)
 Creates or opens a file pool.
 
VOID PhDestroyFilePool (_In_ _Post_invalid_ PPH_FILE_POOL Pool)
 Frees resources used by a file pool instance.
 
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.
 
PVOID PhAllocateFilePool (_Inout_ PPH_FILE_POOL Pool, _In_ ULONG Size, _Out_opt_ PULONG Rva)
 Allocates a block from a file pool.
 
VOID PhpFreeFilePool (_Inout_ PPH_FILE_POOL Pool, _In_ ULONG SegmentIndex, _In_ PPH_FP_BLOCK_HEADER FirstBlock, _In_ PVOID Block)
 Frees a block.
 
VOID PhFreeFilePool (_Inout_ PPH_FILE_POOL Pool, _In_ PVOID Block)
 Frees a block allocated by PhAllocateFilePool().
 
BOOLEAN PhFreeFilePoolByRva (_Inout_ PPH_FILE_POOL Pool, _In_ ULONG Rva)
 Frees a block allocated by PhAllocateFilePool().
 
VOID PhReferenceFilePool (_Inout_ PPH_FILE_POOL Pool, _In_ PVOID Address)
 Increments the reference count for the specified address.
 
VOID PhDereferenceFilePool (_Inout_ PPH_FILE_POOL Pool, _In_ PVOID Address)
 Decrements the reference count for the specified address.
 
PVOID PhReferenceFilePoolByRva (_Inout_ PPH_FILE_POOL Pool, _In_ ULONG Rva)
 Obtains a pointer for a relative virtual address, incrementing the reference count of the address.
 
BOOLEAN PhDereferenceFilePoolByRva (_Inout_ PPH_FILE_POOL Pool, _In_ ULONG Rva)
 Decrements the reference count for the specified relative virtual address.
 
ULONG PhEncodeRvaFilePool (_In_ PPH_FILE_POOL Pool, _In_ PVOID Address)
 Obtains a relative virtual address for a pointer.
 
VOID PhGetUserContextFilePool (_In_ PPH_FILE_POOL Pool, _Out_ PULONGLONG Context)
 Retrieves user data.
 
VOID PhSetUserContextFilePool (_Inout_ PPH_FILE_POOL Pool, _In_ PULONGLONG Context)
 Stores user data.
 
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.
 

Function Documentation

PVOID PhAllocateFilePool ( _Inout_ PPH_FILE_POOL  Pool,
_In_ ULONG  Size,
_Out_opt_ PULONG  Rva 
)

Allocates a block from a file pool.

Parameters
PoolThe file pool.
SizeThe number of bytes to allocate.
RvaA variable which receives the relative virtual address of the allocated block.
Returns
A pointer to the allocated block. You must call PhDereferenceFilePool() or PhDereferenceFilePoolByRva() when you no longer need a reference to the block.
Remarks
The returned pointer is not valid beyond the lifetime of the file pool instance. Use the relative virtual address if you need a permanent reference to the allocated block.

Definition at line 419 of file filepool.c.

NTSTATUS PhCreateFilePool ( _Out_ PPH_FILE_POOL Pool,
_In_ HANDLE  FileHandle,
_In_ BOOLEAN  ReadOnly,
_In_opt_ PPH_FILE_POOL_PARAMETERS  Parameters 
)

Creates or opens a file pool.

Parameters
PoolA variable which receives the file pool instance.
FileHandleA handle to the file.
ReadOnlyTRUE to disallow writes to the file.
ParametersParameters for on-disk and runtime structures.

Definition at line 93 of file filepool.c.

NTSTATUS PhCreateFilePool2 ( _Out_ PPH_FILE_POOL Pool,
_In_ PWSTR  FileName,
_In_ BOOLEAN  ReadOnly,
_In_ ULONG  ShareAccess,
_In_ ULONG  CreateDisposition,
_In_opt_ PPH_FILE_POOL_PARAMETERS  Parameters 
)

Creates or opens a file pool.

Parameters
PoolA variable which receives the file pool instance.
FileNameThe file name of the file pool.
ReadOnlyTRUE to disallow writes to the file.
ShareAccessThe file access granted to other threads.
CreateDispositionThe action to perform if the file does or does not exist. See PhCreateFileWin32() for more information.
ParametersParameters for on-disk and runtime structures.

Definition at line 265 of file filepool.c.

VOID PhDereferenceFilePool ( _Inout_ PPH_FILE_POOL  Pool,
_In_ PVOID  Address 
)

Decrements the reference count for the specified address.

Parameters
PoolThe file pool.
AddressAn address.

Definition at line 618 of file filepool.c.

BOOLEAN PhDereferenceFilePoolByRva ( _Inout_ PPH_FILE_POOL  Pool,
_In_ ULONG  Rva 
)

Decrements the reference count for the specified relative virtual address.

Parameters
PoolThe file pool.
RvaA relative virtual address.

Definition at line 664 of file filepool.c.

VOID PhDestroyFilePool ( _In_ _Post_invalid_ PPH_FILE_POOL  Pool)

Frees resources used by a file pool instance.

Parameters
PoolThe file pool.

Definition at line 321 of file filepool.c.

ULONG PhEncodeRvaFilePool ( _In_ PPH_FILE_POOL  Pool,
_In_ PVOID  Address 
)

Obtains a relative virtual address for a pointer.

Parameters
PoolThe file pool.
AddressA pointer.
Returns
The relative virtual address.
Remarks
No reference counts are changed.

Definition at line 692 of file filepool.c.

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.

Parameters
PoolThe file pool.
FirstBlockThe first block of the segment.
SegmentHeaderThe header of the segment.
NumberOfBlocksThe number of blocks to allocate.
Returns
The header of the allocated span, or NULL if there is an insufficient number of contiguous free blocks for the allocation.

Definition at line 1262 of file filepool.c.

PPH_FP_BLOCK_HEADER PhFppAllocateSegment ( _Inout_ PPH_FILE_POOL  Pool,
_Out_ PULONG  NewSegmentIndex 
)

Allocates a segment.

Parameters
PoolThe file pool.
NewSegmentIndexA variable which receives the index of the new segment.
Returns
A pointer to the first block of the 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.

Parameters
PoolThe file pool.
NumberOfBlocksThe 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.

Parameters
PoolThe file pool.
RvaThe relative virtual address.
SegmentIndexA variable which receives the segment index.
Returns
An offset into the segment specified by SegmentIndex, or -1 if Rva is invalid.

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.

Parameters
PoolThe file pool.
SegmentIndexThe index of the segment containing Address.
FirstBlockThe first block of the segment containing Address.
AddressAn address.

Definition at line 1517 of file filepool.c.

NTSTATUS PhFppExtendRange ( _Inout_ PPH_FILE_POOL  Pool,
_In_ ULONG  NewSize 
)

Extends a file pool.

Parameters
PoolThe file pool.
NewSizeThe 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.

Parameters
PoolThe file pool.
BaseThe address.
Returns
The view containing the address, or NULL if no view is present for 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.

Parameters
PoolThe file pool.
SegmentIndexThe index of the segment.
Returns
The view for the segment, or NULL if no view is present for 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.

Parameters
PoolThe file pool.
FirstBlockThe first block of the segment.
SegmentHeaderThe header of the segment.
BlockHeaderThe 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.

Parameters
PoolThe file pool.
BlockA 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.

Parameters
PoolThe file pool.
FirstBlockThe 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.

Parameters
PoolThe file pool.
BlockOfSegmentHeaderThe block header of the span containing the segment header.
AdditionalBlocksUsedThe 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.

Parameters
PoolThe file pool.
FreeListIndexThe index of a free list.
SegmentIndexThe index of the segment.
SegmentHeaderThe 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.

Parameters
PoolThe file pool.
OffsetThe offset of the view, in bytes.
SizeThe size of the view, in bytes.
BaseA 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.

Parameters
PoolThe file pool.
FreeListIndexThe index of a free list.
SegmentIndexThe index of the segment.
SegmentHeaderThe 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.

Parameters
PoolThe file pool.
BaseThe base address of the view.

Definition at line 805 of file filepool.c.

VOID PhFreeFilePool ( _Inout_ PPH_FILE_POOL  Pool,
_In_ PVOID  Block 
)

Frees a block allocated by PhAllocateFilePool().

Parameters
PoolThe file pool.
BlockA pointer to the block. The pointer is no longer valid after you call this function. Do not use PhDereferenceFilePool() or PhDereferenceFilePoolByRva().

Definition at line 549 of file filepool.c.

BOOLEAN PhFreeFilePoolByRva ( _Inout_ PPH_FILE_POOL  Pool,
_In_ ULONG  Rva 
)

Frees a block allocated by PhAllocateFilePool().

Parameters
PoolThe file pool.
RvaThe relative virtual address of the block.

Definition at line 573 of file filepool.c.

VOID PhGetUserContextFilePool ( _In_ PPH_FILE_POOL  Pool,
_Out_ PULONGLONG  Context 
)

Retrieves user data.

Parameters
PoolThe file pool.
ContextA variable which receives the user data.

Definition at line 716 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 PhpFreeFilePool ( _Inout_ PPH_FILE_POOL  Pool,
_In_ ULONG  SegmentIndex,
_In_ PPH_FP_BLOCK_HEADER  FirstBlock,
_In_ PVOID  Block 
)

Frees a block.

Parameters
PoolThe file pool.
SegmentIndexThe index of the segment containing the block.
FirstBlockThe first block of the segment containing the block.
BlockA pointer to the block.

Definition at line 517 of file filepool.c.

VOID PhpSetDefaultFilePoolParameters ( _Out_ PPH_FILE_POOL_PARAMETERS  Parameters)

Creates default file pool parameters.

Parameters
ParametersThe 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
ParametersThe parameters structure which is validated and modified if necessary.

Definition at line 366 of file filepool.c.

VOID PhReferenceFilePool ( _Inout_ PPH_FILE_POOL  Pool,
_In_ PVOID  Address 
)

Increments the reference count for the specified address.

Parameters
PoolThe file pool.
AddressAn address.

Definition at line 604 of file filepool.c.

PVOID PhReferenceFilePoolByRva ( _Inout_ PPH_FILE_POOL  Pool,
_In_ ULONG  Rva 
)

Obtains a pointer for a relative virtual address, incrementing the reference count of the address.

Parameters
PoolThe file pool.
RvaA relative virtual address.

Definition at line 633 of file filepool.c.

VOID PhSetUserContextFilePool ( _Inout_ PPH_FILE_POOL  Pool,
_In_ PULONGLONG  Context 
)

Stores user data.

Parameters
PoolThe file pool.
ContextA variable which contains the user data.

Definition at line 730 of file filepool.c.