BSOne.SFC/Tocsg.Module/Bs1Flt/tool/bs1fltctrl_helper.h

107 lines
4.4 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)();
typedef DWORD(WINAPI* fpBs1fltClearUsbPortException)();
typedef DWORD(WINAPI* fpBs1fltOpen)();
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;
fpBs1fltClearUsbPortException Bs1fltClearUsbPortException;
fpBs1fltOpen Bs1fltOpen;
HMODULE h_;
};