From e07ef0712ed50184a6188a11d228b0bc77147d5c Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Wed, 26 Oct 2016 12:08:29 -0700 Subject: [PATCH] tst: winfsp-tests: HookRemoveDirectoryW --- tst/winfsp-tests/hooks.c | 19 +++++++++++++++---- tst/winfsp-tests/winfsp-tests.c | 5 +---- tst/winfsp-tests/winfsp-tests.h | 5 +++++ 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/tst/winfsp-tests/hooks.c b/tst/winfsp-tests/hooks.c index 0e692509..eb09ccd6 100644 --- a/tst/winfsp-tests/hooks.c +++ b/tst/winfsp-tests/hooks.c @@ -15,12 +15,9 @@ * software. */ +#define WINFSP_TESTS_NO_HOOKS #include "winfsp-tests.h" -#undef CreateFileW -#undef CloseHandle -#undef DeleteFileW - #define FILENAMEBUF_SIZE 1024 static VOID PrepareFileName(PCWSTR FileName, PWSTR FileNameBuf) @@ -187,8 +184,22 @@ BOOL HookCloseHandle( BOOL HookDeleteFileW( LPCWSTR lpFileName) { + WCHAR FileNameBuf[FILENAMEBUF_SIZE]; + + PrepareFileName(lpFileName, FileNameBuf); + if (!OptResilient) return DeleteFileW(lpFileName); else return ResilientDeleteFileW(lpFileName); } + +BOOL HookRemoveDirectoryW( + LPCWSTR lpPathName) +{ + WCHAR FileNameBuf[FILENAMEBUF_SIZE]; + + PrepareFileName(lpPathName, FileNameBuf); + + return RemoveDirectoryW(lpPathName); +} diff --git a/tst/winfsp-tests/winfsp-tests.c b/tst/winfsp-tests/winfsp-tests.c index 68d44207..25852105 100644 --- a/tst/winfsp-tests/winfsp-tests.c +++ b/tst/winfsp-tests/winfsp-tests.c @@ -21,12 +21,9 @@ #include #include +#define WINFSP_TESTS_NO_HOOKS #include "winfsp-tests.h" -#undef CreateFileW -#undef CloseHandle -#undef DeleteFileW - int NtfsTests = 0; int WinFspDiskTests = 1; int WinFspNetTests = 1; diff --git a/tst/winfsp-tests/winfsp-tests.h b/tst/winfsp-tests/winfsp-tests.h index c215e6c9..514e4887 100644 --- a/tst/winfsp-tests/winfsp-tests.h +++ b/tst/winfsp-tests/winfsp-tests.h @@ -28,9 +28,12 @@ #define testalpha(c) ('a' <= ((c) | 0x20) && ((c) | 0x20) <= 'z') #define togglealpha(c) ((c) ^ 0x20) +#if !defined(WINFSP_TESTS_NO_HOOKS) #define CreateFileW HookCreateFileW #define CloseHandle HookCloseHandle #define DeleteFileW HookDeleteFileW +#define RemoveDirectoryW HookRemoveDirectoryW +#endif HANDLE HookCreateFileW( LPCWSTR lpFileName, DWORD dwDesiredAccess, @@ -43,6 +46,8 @@ BOOL HookCloseHandle( HANDLE hObject); BOOL HookDeleteFileW( LPCWSTR lpFileName); +BOOL HookRemoveDirectoryW( + LPCWSTR lpPathName); HANDLE ResilientCreateFileW( LPCWSTR lpFileName,