mirror of
https://github.com/JKornev/hidden
synced 2024-06-28 09:52:05 +00:00
40 lines
1.6 KiB
C
40 lines
1.6 KiB
C
#pragma once
|
|
|
|
//#include <ntifs.h>
|
|
#include <Ntddk.h>
|
|
|
|
enum ExcludeObjectType {
|
|
ExcludeFile,
|
|
ExcludeDirectory,
|
|
ExcludeRegKey,
|
|
ExcludeRegValue ,
|
|
ExcludeMaxType,
|
|
};
|
|
|
|
typedef PVOID ExcludeContext;
|
|
typedef ExcludeContext* PExcludeContext;
|
|
|
|
typedef ULONGLONG ExcludeEntryId;
|
|
typedef ExcludeEntryId* PExcludeEntryId;
|
|
|
|
typedef ULONGLONG ExcludeEnumId;
|
|
typedef ExcludeEnumId* PExcludeEnumId;
|
|
|
|
NTSTATUS InitializeExcludeListContext(PExcludeContext Context, UINT32 Type);
|
|
VOID DestroyExcludeListContext(ExcludeContext Context);
|
|
|
|
NTSTATUS AddExcludeListFile(ExcludeContext Context, PUNICODE_STRING FilePath, PExcludeEntryId EntryId, ExcludeEntryId ParentId);
|
|
NTSTATUS AddExcludeListDirectory(ExcludeContext Context, PUNICODE_STRING DirPath, PExcludeEntryId EntryId, ExcludeEntryId ParentId);
|
|
NTSTATUS AddExcludeListRegistryKey(ExcludeContext Context, PUNICODE_STRING KeyPath, PExcludeEntryId EntryId, ExcludeEntryId ParentId);
|
|
NTSTATUS AddExcludeListRegistryValue(ExcludeContext Context, PUNICODE_STRING ValuePath, PExcludeEntryId EntryId, ExcludeEntryId ParentId);
|
|
|
|
NTSTATUS RemoveExcludeListEntry(ExcludeContext Context, ExcludeEntryId EntryId);
|
|
NTSTATUS RemoveAllExcludeListEntries(ExcludeContext Context);
|
|
|
|
BOOLEAN CheckExcludeListFile(ExcludeContext Context, PCUNICODE_STRING Path);
|
|
BOOLEAN CheckExcludeListDirectory(ExcludeContext Context, PCUNICODE_STRING Path);
|
|
BOOLEAN CheckExcludeListDirFile(ExcludeContext Context, PCUNICODE_STRING Dir, PCUNICODE_STRING File);
|
|
|
|
BOOLEAN CheckExcludeListRegKey(ExcludeContext Context, PUNICODE_STRING Key);
|
|
BOOLEAN CheckExcludeListRegKeyValueName(ExcludeContext Context, PUNICODE_STRING Key, PUNICODE_STRING Name, PUINT32 Increament);
|