104 lines
4.2 KiB
C++
104 lines
4.2 KiB
C++
#pragma once
|
|
|
|
|
|
#include <string>
|
|
using namespace std;
|
|
|
|
typedef DWORD(WINAPI* fpCallBack)(PVOID context);
|
|
typedef DWORD(WINAPI* fpCleanup)();
|
|
typedef DWORD(WINAPI* fpInit)(LPCWSTR lpcPath, fpCallBack logcb, fpCallBack opencb);
|
|
typedef DWORD(WINAPI* fpSetPath)(DWORD ulType, LPCWSTR lpcwPath);
|
|
typedef DWORD(WINAPI* fpDelPath)(DWORD ulType, LPCWSTR lpcwPath);
|
|
typedef DWORD(WINAPI* fpSetProcessPath)(DWORD dwType, LPCWSTR lpcwPath);
|
|
typedef DWORD(WINAPI* fpSetFileName)(DWORD dwType, LPCWSTR lpcwPath);
|
|
typedef DWORD(WINAPI* fpBegin)(DWORD bIsBegin);
|
|
typedef DWORD(WINAPI* fpSetPid)(DWORD dwType, DWORD dwPid);
|
|
|
|
typedef DWORD(WINAPI* fpDelPid)(DWORD dwPid);
|
|
typedef DWORD(WINAPI* fpFolderProtectControl)(DWORD bIsProtect);
|
|
typedef DWORD(WINAPI* fpStartShareWatch)(DWORD bIsWatch);
|
|
typedef DWORD(WINAPI* fpDebug)(ULONG flag);
|
|
|
|
typedef DWORD(WINAPI* fpDeleteFile)(LPWSTR path);
|
|
typedef DWORD(WINAPI* fpTerminateProcess)(DWORD pid);
|
|
typedef DWORD(WINAPI* fpDelProcessPath)(DWORD dwType, LPCWSTR lpcwPath);
|
|
|
|
typedef DWORD(WINAPI* fpSetHook)(DWORD type, DWORD set);
|
|
typedef DWORD(WINAPI* fpSetPolicy)(DWORD devcie_type, DWORD state, DWORD islog);
|
|
|
|
|
|
typedef DWORD(WINAPI* fpProcessProtect)(DWORD enable);
|
|
typedef DWORD(WINAPI* fpSetProcessProtectName)(LPCWSTR name);
|
|
typedef DWORD(WINAPI* fpDelProcessProtectName)(LPCWSTR name);
|
|
typedef DWORD(WINAPI* fpSetProcessProtectId)(DWORD pid);
|
|
typedef DWORD(WINAPI* fpDelProcessProtectId)(DWORD pid);
|
|
|
|
typedef DWORD(WINAPI* fpSetRegProtect)(DWORD enable);
|
|
typedef DWORD(WINAPI* fpSetRegProtectName)(LPCWSTR regkey);
|
|
typedef DWORD(WINAPI* fpDelRegProtectName)(LPCWSTR regkey);
|
|
|
|
typedef DWORD(WINAPI* fpBs1fltSetDeviceProtect)(DWORD enable);
|
|
typedef DWORD(WINAPI* fpBs1fltSetUsbException)(PWCHAR vid, PWCHAR pid, PWCHAR productrevisionlevel, PWCHAR vendorspecific);
|
|
typedef DWORD(WINAPI* fpBs1fltSetUsbPortException)(DWORD vid, DWORD pid, DWORD bcddevice, LPCWSTR serial);
|
|
typedef DWORD(WINAPI* fpBs1fltDelUsbPortException)(DWORD vid, DWORD pid, DWORD bcddevice, LPCWSTR serial);
|
|
|
|
typedef DWORD(WINAPI* fpBs1fltDelUsbException)(LPCWSTR vid, LPCWSTR pid, LPCWSTR productrevisionlevel, LPCWSTR vendorspecific);
|
|
typedef DWORD(WINAPI* fpBs1fltClearUsbException)();
|
|
typedef DWORD(WINAPI* fpBs1fltSetLogType)(DWORD type);
|
|
typedef DWORD(WINAPI* fpBs1fltProcessCreate)(DWORD enable);
|
|
typedef DWORD(WINAPI* fpBs1fltSetProcessCreateBlockRule)(LPCWSTR name, LPCWSTR cmd);
|
|
typedef DWORD(WINAPI* fpBs1fltClearProcessCreateBlockRule)();
|
|
|
|
class Bs1fltControl {
|
|
|
|
public:
|
|
Bs1fltControl();
|
|
~Bs1fltControl();
|
|
|
|
wstring current_path_;
|
|
DWORD Init(LPCTSTR path, fpCallBack createcb);
|
|
|
|
fpCleanup Bs1FltCleanup;
|
|
fpInit Bs1FltInit;
|
|
fpSetPath Bs1FltSetPath;
|
|
fpDelPath Bs1FltDelPath;
|
|
fpSetProcessPath Bs1FltSetProcessPath;
|
|
fpSetFileName Bs1FltSetFileName;
|
|
fpBegin Bs1FltBegin;
|
|
fpSetPid Bs1FltSetPid;
|
|
fpDelPid Bs1FltDelPid;
|
|
fpFolderProtectControl Bs1FltFolderProtectControl;
|
|
fpStartShareWatch Bs1FltStartShareWatch;
|
|
fpDebug Bs1FltDebug;
|
|
fpDeleteFile Bs1FltDeleteFile;
|
|
fpTerminateProcess Bs1FltTerminateProcess;
|
|
fpDelProcessPath Bs1FltDelProcessPath;
|
|
fpSetHook Bs1FltSetHook;
|
|
fpSetPolicy Bs1FltSetPolicy;
|
|
|
|
fpProcessProtect Bs1FltProcessProtect;
|
|
fpSetProcessProtectName Bs1FltSetProcessProtectName;
|
|
fpDelProcessProtectName Bs1FltDelProcessProtectName;
|
|
fpSetProcessProtectId Bs1FltSetProcessProtectId;
|
|
fpDelProcessProtectId Bs1FltDelProcessProtectId;
|
|
|
|
fpSetRegProtect Bs1FltSetRegProtect;
|
|
fpSetRegProtectName Bs1FltSetRegProtectName;
|
|
fpDelRegProtectName Bs1FltDelRegProtectName;
|
|
|
|
fpBs1fltSetDeviceProtect Bs1fltSetDeviceProtect;
|
|
fpBs1fltSetUsbException Bs1fltSetUsbException;
|
|
fpBs1fltSetUsbPortException Bs1fltSetUsbPortException;
|
|
fpBs1fltDelUsbPortException Bs1fltDelUsbPortException;
|
|
|
|
fpBs1fltDelUsbException Bs1fltDelUsbException;
|
|
fpBs1fltClearUsbException Bs1fltClearUsbException;
|
|
fpBs1fltSetLogType Bs1fltSetLogType;
|
|
|
|
fpBs1fltProcessCreate Bs1fltProcessCreate;
|
|
fpBs1fltSetProcessCreateBlockRule Bs1fltSetProcessCreateBlockRule;
|
|
fpBs1fltClearProcessCreateBlockRule Bs1fltClearProcessCreateBlockRule;
|
|
|
|
HMODULE h_;
|
|
};
|