Files
mirror-processhacker/2.x/trunk/ProcessHacker/include/procdb.h
T
wj32 6a39b8679a future proofed proc DB enable flag
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@3360 21ef857c-d57f-4fe0-8362-d861dc6d29cd
2010-07-13 11:46:57 +00:00

64 lines
1.2 KiB
C

#ifndef PROCDB_H
#define PROCDB_H
#ifndef PROCDB_PRIVATE
extern BOOLEAN PhProcDbInitialized;
#endif
#define PH_PROCDB_HASH_SIZE 16
#define PH_PROCDB_ENTRY_MATCH_HASH 0x1
#define PH_PROCDB_ENTRY_HASH_VALID 0x2
#define PH_PROCDB_ENTRY_SAFE 0x2000
#define PH_PROCDB_ENTRY_ENFORCE_PRIORITY 0x4000
typedef struct _PH_PROCDB_ENTRY
{
LIST_ENTRY ListEntry;
PH_AVL_LINKS Links;
PPH_STRING FileName;
UCHAR Hash[PH_PROCDB_HASH_SIZE];
LONG RefCount;
ULONG Flags;
ULONG DesiredPriorityWin32;
} PH_PROCDB_ENTRY, *PPH_PROCDB_ENTRY;
VOID PhProcDbInitialization();
VOID PhReferenceProcDbEntry(
__inout PPH_PROCDB_ENTRY Entry
);
VOID PhDereferenceProcDbEntry(
__inout PPH_PROCDB_ENTRY Entry
);
PPH_PROCDB_ENTRY PhAddProcDbEntry(
__in PPH_STRING FileName,
__in BOOLEAN SaveHash,
__in BOOLEAN LookupByHash
);
VOID PhRemoveProcDbEntry(
__in PPH_PROCDB_ENTRY Entry
);
PPH_PROCDB_ENTRY PhLookupProcDbEntry(
__in PPH_STRING FileName
);
NTSTATUS PhLoadProcDb(
__in PWSTR FileName
);
NTSTATUS PhSaveProcDb(
__in PWSTR FileName
);
VOID PhToggleSafeProcess(
__in PPH_PROCESS_ITEM ProcessItem
);
#endif