Process Hacker
extmgri.h File Reference
#include <extmgr.h>

Go to the source code of this file.

Data Structures

struct  _PH_EM_OBJECT_TYPE_STATE
 
struct  _PH_EM_OBJECT_EXTENSION
 

Typedefs

typedef struct
_PH_EM_OBJECT_TYPE_STATE 
PH_EM_OBJECT_TYPE_STATE
 
typedef struct
_PH_EM_OBJECT_TYPE_STATE
PPH_EM_OBJECT_TYPE_STATE
 
typedef struct
_PH_EM_OBJECT_EXTENSION 
PH_EM_OBJECT_EXTENSION
 
typedef struct
_PH_EM_OBJECT_EXTENSION
PPH_EM_OBJECT_EXTENSION
 

Functions

VOID PhEmInitialization (VOID)
 Initializes the extension manager module.
 
VOID PhEmInitializeAppContext (_Out_ PPH_EM_APP_CONTEXT AppContext, _In_ PPH_STRINGREF AppName)
 Initializes an extension application context.
 
VOID PhEmSetObjectExtension (_Inout_ PPH_EM_APP_CONTEXT AppContext, _In_ PH_EM_OBJECT_TYPE ObjectType, _In_ SIZE_T ExtensionSize, _In_opt_ PPH_EM_OBJECT_CALLBACK CreateCallback, _In_opt_ PPH_EM_OBJECT_CALLBACK DeleteCallback)
 Sets the object extension size and callbacks for an object type.
 
PVOID PhEmGetObjectExtension (_In_ PPH_EM_APP_CONTEXT AppContext, _In_ PH_EM_OBJECT_TYPE ObjectType, _In_ PVOID Object)
 Gets the object extension for an object.
 
SIZE_T PhEmGetObjectSize (_In_ PH_EM_OBJECT_TYPE ObjectType, _In_ SIZE_T InitialSize)
 Determines the size of an object, including extensions.
 
VOID PhEmCallObjectOperation (_In_ PH_EM_OBJECT_TYPE ObjectType, _In_ PVOID Object, _In_ PH_EM_OBJECT_OPERATION Operation)
 Invokes callbacks for an object operation.
 
BOOLEAN PhEmParseCompoundId (_In_ PPH_STRINGREF CompoundId, _Out_ PPH_STRINGREF AppName, _Out_ PULONG SubId)
 Parses an application name and sub-ID pair.
 

Typedef Documentation

Function Documentation

VOID PhEmCallObjectOperation ( _In_ PH_EM_OBJECT_TYPE  ObjectType,
_In_ PVOID  Object,
_In_ PH_EM_OBJECT_OPERATION  Operation 
)

Invokes callbacks for an object operation.

Parameters
ObjectTypeThe object type.
ObjectThe object.
OperationThe operation being performed.

Definition at line 155 of file extmgr.c.

PVOID PhEmGetObjectExtension ( _In_ PPH_EM_APP_CONTEXT  AppContext,
_In_ PH_EM_OBJECT_TYPE  ObjectType,
_In_ PVOID  Object 
)

Gets the object extension for an object.

Parameters
AppContextThe application context.
ObjectTypeThe type of object for which an extension has been registered.
ObjectThe object.

Definition at line 116 of file extmgr.c.

SIZE_T PhEmGetObjectSize ( _In_ PH_EM_OBJECT_TYPE  ObjectType,
_In_ SIZE_T  InitialSize 
)

Determines the size of an object, including extensions.

Parameters
ObjectTypeThe object type.
InitialSizeThe initial size of the object.

Definition at line 138 of file extmgr.c.

VOID PhEmInitialization ( VOID  )

Initializes the extension manager module.

Definition at line 39 of file extmgr.c.

VOID PhEmInitializeAppContext ( _Out_ PPH_EM_APP_CONTEXT  AppContext,
_In_ PPH_STRINGREF  AppName 
)

Initializes an extension application context.

Parameters
AppContextThe application context.
AppNameThe application name.

Definition at line 57 of file extmgr.c.

BOOLEAN PhEmParseCompoundId ( _In_ PPH_STRINGREF  CompoundId,
_Out_ PPH_STRINGREF  AppName,
_Out_ PULONG  SubId 
)

Parses an application name and sub-ID pair.

Parameters
CompoundIdThe compound identifier.
AppNameA variable which receives the application name.
SubIdA variable which receives the sub-ID.

Definition at line 196 of file extmgr.c.

VOID PhEmSetObjectExtension ( _Inout_ PPH_EM_APP_CONTEXT  AppContext,
_In_ PH_EM_OBJECT_TYPE  ObjectType,
_In_ SIZE_T  ExtensionSize,
_In_opt_ PPH_EM_OBJECT_CALLBACK  CreateCallback,
_In_opt_ PPH_EM_OBJECT_CALLBACK  DeleteCallback 
)

Sets the object extension size and callbacks for an object type.

Parameters
AppContextThe application context.
ObjectTypeThe type of object for which the extension is being registered.
ExtensionSizeThe size of the extension, in bytes.
CreateCallbackThe object creation callback.
DeleteCallbackThe object deletion callback.

Definition at line 78 of file extmgr.c.