#pragma once #ifdef BS1FLT_EXPORTS #define BS1FLT_API extern "C" _declspec(dllexport) #else #define BS1FLT_API extern "C" _declspec(dllimport) #endif // // Export Function // typedef DWORD(CALLBACK* fpCallBack)(PVOID context); BS1FLT_API DWORD WINAPI Bs1fltCleanup(); BS1FLT_API DWORD WINAPI Bs1fltInit(LPCWSTR lpcPath, fpCallBack logcb, fpCallBack opencb); BS1FLT_API DWORD WINAPI Bs1fltSetPath(DWORD dwType, LPCWSTR lpcwPath); BS1FLT_API DWORD WINAPI Bs1fltDelPath(DWORD dwType, LPCWSTR lpcwPath); BS1FLT_API DWORD WINAPI Bs1fltBegin(DWORD bIsBegin); BS1FLT_API DWORD WINAPI Bs1fltSetPid(DWORD dwType, DWORD dwPid); BS1FLT_API DWORD WINAPI Bs1fltDebug(ULONG flag); BS1FLT_API DWORD WINAPI Bs1fltDelPid(DWORD dwPid); BS1FLT_API DWORD WINAPI Bs1fltSetProcessPath(DWORD dwType, LPCWSTR lpcwProcessPath); BS1FLT_API DWORD WINAPI Bs1fltDelProcessPath(DWORD dwType, LPCWSTR lpcwPath); BS1FLT_API DWORD WINAPI Bs1fltFolderProtectControl(DWORD bIsProtect); BS1FLT_API DWORD WINAPI Bs1fltStartShareWatch(DWORD bIsWatched); BS1FLT_API DWORD WINAPI Bs1fltSetFileName(DWORD dwType, LPCWSTR lpcwPath); BS1FLT_API DWORD WINAPI Bs1fltDeleteFile(LPWSTR path); BS1FLT_API DWORD WINAPI Bs1fltTerminateProcess(DWORD pid); BS1FLT_API DWORD WINAPI Bs1fltSetHook(DWORD type, DWORD set); BS1FLT_API DWORD WINAPI Bs1fltSetDeviceProtect(DWORD enable); BS1FLT_API DWORD WINAPI Bs1fltSetUsbException(LPCWSTR vid, LPCWSTR pid, LPCWSTR productrevisionlevel, LPCWSTR vendorspecific); BS1FLT_API DWORD WINAPI Bs1fltSetPolicy(DWORD devcie_type, DWORD state, DWORD islog); BS1FLT_API DWORD WINAPI Bs1fltProcessProtect(DWORD enable); BS1FLT_API DWORD WINAPI Bs1fltSetProcessProtectName(LPCWSTR name); BS1FLT_API DWORD WINAPI Bs1fltDelProcessProtectName(LPCWSTR name); BS1FLT_API DWORD WINAPI Bs1fltSetProcessProtectId(DWORD pid); BS1FLT_API DWORD WINAPI Bs1fltDelProcessProtectId(DWORD pid); BS1FLT_API DWORD WINAPI Bs1fltSetRegProtect(DWORD enable); BS1FLT_API DWORD WINAPI Bs1fltSetRegProtectName(LPCWSTR regkey); BS1FLT_API DWORD WINAPI Bs1fltDelRegProtectName(LPCWSTR regkey); BS1FLT_API DWORD WINAPI Bs1fltSetUsbPortException(DWORD vid, DWORD pid, DWORD bcddevice, LPCWSTR serial); BS1FLT_API DWORD WINAPI Bs1fltDelUsbPortException(DWORD vid, DWORD pid, DWORD bcddevice, LPCWSTR serial); BS1FLT_API DWORD WINAPI Bs1fltDelUsbException(LPCWSTR vid, LPCWSTR pid, LPCWSTR productrevisionlevel, LPCWSTR vendorspecific); BS1FLT_API DWORD WINAPI Bs1fltClearUsbException(); BS1FLT_API DWORD WINAPI Bs1fltSetLogType(DWORD type); BS1FLT_API DWORD WINAPI Bs1fltProcessCreate(DWORD enable); BS1FLT_API DWORD WINAPI Bs1fltSetProcessCreateBlockRule(LPCWSTR name, LPCWSTR cmd, LPCWSTR parentName); BS1FLT_API DWORD WINAPI Bs1fltClearProcessCreateBlockRule();