mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-22 08:23:05 -05:00
sys: FSP_ENTER, FSP_LEAVE now do FsRtlEnterFileSystem, FsRtlExitFileSystem
This commit is contained in:
parent
280c41eef4
commit
9fe93bfb5d
@ -21,21 +21,27 @@
|
||||
|
||||
/* enter/leave*/
|
||||
#if DBG
|
||||
#define FSP_DEBUGLOG(rfmt, r, fmt, ...) \
|
||||
BOOLEAN HasDbgBreakPoint(const char *Function);
|
||||
const char *NtStatusSym(NTSTATUS Status);
|
||||
#define FSP_DEBUGLOG_(rfmt, r, fmt, ...)\
|
||||
DbgPrint(AbnormalTermination() ? \
|
||||
DRIVER_NAME "!" __FUNCTION__ "(" fmt ") = !AbnormalTermination\n" :\
|
||||
DRIVER_NAME "!" __FUNCTION__ "(" fmt ")" rfmt "\n",\
|
||||
__VA_ARGS__, r)
|
||||
#define FSP_DEBUGBRK_() \
|
||||
do \
|
||||
{ \
|
||||
if (HasDbgBreakPoint(__FUNCTION__))\
|
||||
try { DbgBreakPoint(); } except(EXCEPTION_EXECUTE_HANDLER) {}\
|
||||
} while (0,0)
|
||||
#else
|
||||
#define FSP_DEBUGLOG(rfmt, r, fmt, ...) ((void)0)
|
||||
#define FSP_DEBUGLOG_(rfmt, r, fmt, ...)((void)0)
|
||||
#define FSP_DEBUGBRK_() ((void)0)
|
||||
#endif
|
||||
#if DBG
|
||||
BOOLEAN HasDbgBreakPoint(const char *Function);
|
||||
const char *NtStatusSym(NTSTATUS Status);
|
||||
#define FSP_ENTER_(...) \
|
||||
if (HasDbgBreakPoint(__FUNCTION__)) \
|
||||
try { DbgBreakPoint(); } except(EXCEPTION_EXECUTE_HANDLER) {}\
|
||||
FSP_DEBUGBRK_(); \
|
||||
__VA_ARGS__; \
|
||||
FsRtlEnterFileSystem(); \
|
||||
try \
|
||||
{
|
||||
#define FSP_LEAVE_(rfmt, r, fmt, ...) \
|
||||
@ -44,17 +50,9 @@ const char *NtStatusSym(NTSTATUS Status);
|
||||
} \
|
||||
finally \
|
||||
{ \
|
||||
FSP_DEBUGLOG(rfmt, r, fmt, __VA_ARGS__);\
|
||||
FsRtlExitFileSystem(); \
|
||||
FSP_DEBUGLOG_(rfmt, r, fmt, __VA_ARGS__);\
|
||||
}
|
||||
#else
|
||||
#define FSP_ENTER_(...) \
|
||||
__VA_ARGS__; \
|
||||
{
|
||||
#define FSP_LEAVE_(rfmt, r, fmt, ...) \
|
||||
goto fsp_leave_label; \
|
||||
fsp_leave_label:; \
|
||||
}
|
||||
#endif
|
||||
#define FSP_ENTER(...) \
|
||||
NTSTATUS Result = STATUS_SUCCESS; FSP_ENTER_(__VA_ARGS__)
|
||||
#define FSP_LEAVE(fmt, ...) \
|
||||
|
@ -1,5 +1,6 @@
|
||||
@echo off
|
||||
|
||||
set CONFIG=Debug
|
||||
set DRIVER=winfsp-x64.sys
|
||||
set TARGET_MACHINE=WIN8DBG
|
||||
set TARGET_ACCOUNT=\Users\%USERNAME%\Downloads\winfsp\
|
||||
@ -8,6 +9,6 @@ set TARGET=\\%TARGET_MACHINE%%TARGET_ACCOUNT%
|
||||
echo on
|
||||
cd %~dp0..
|
||||
mkdir %TARGET% 2>nul
|
||||
copy build\VStudio\build\Debug\%DRIVER% %TARGET%
|
||||
copy build\VStudio\build\%CONFIG%\%DRIVER% %TARGET%
|
||||
echo sc create winfsp type=filesys binPath=%%~dp0%DRIVER% >%TARGET%sc-create.bat
|
||||
echo sc delete winfsp >%TARGET%sc-delete.bat
|
||||
|
Loading…
x
Reference in New Issue
Block a user