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

88 lines
3.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);
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;
HMODULE h_;
};