Files
wj32 36a4284b8d converted all annotations to SAL 2.0
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@5548 21ef857c-d57f-4fe0-8362-d861dc6d29cd
2013-11-10 06:25:03 +00:00

62 lines
1.4 KiB
C

#ifndef PH_EXTMGRI_H
#define PH_EXTMGRI_H
#include <extmgr.h>
typedef struct _PH_EM_OBJECT_TYPE_STATE
{
SIZE_T InitialSize;
SIZE_T ExtensionOffset;
LIST_ENTRY ExtensionListHead;
} PH_EM_OBJECT_TYPE_STATE, *PPH_EM_OBJECT_TYPE_STATE;
typedef struct _PH_EM_OBJECT_EXTENSION
{
LIST_ENTRY ListEntry;
SIZE_T ExtensionSize;
SIZE_T ExtensionOffset;
PPH_EM_OBJECT_CALLBACK Callbacks[EmMaximumObjectOperation];
} PH_EM_OBJECT_EXTENSION, *PPH_EM_OBJECT_EXTENSION;
VOID PhEmInitialization(
VOID
);
VOID PhEmInitializeAppContext(
_Out_ PPH_EM_APP_CONTEXT AppContext,
_In_ PPH_STRINGREF AppName
);
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
);
PVOID PhEmGetObjectExtension(
_In_ PPH_EM_APP_CONTEXT AppContext,
_In_ PH_EM_OBJECT_TYPE ObjectType,
_In_ PVOID Object
);
SIZE_T PhEmGetObjectSize(
_In_ PH_EM_OBJECT_TYPE ObjectType,
_In_ SIZE_T InitialSize
);
VOID PhEmCallObjectOperation(
_In_ PH_EM_OBJECT_TYPE ObjectType,
_In_ PVOID Object,
_In_ PH_EM_OBJECT_OPERATION Operation
);
BOOLEAN PhEmParseCompoundId(
_In_ PPH_STRINGREF CompoundId,
_Out_ PPH_STRINGREF AppName,
_Out_ PULONG SubId
);
#endif