mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-24 01:13:04 -05:00
tst: winfsp-tests: HookCreateDirectoryW, HookMoveFileExW, HookFindFirstFileW
This commit is contained in:
parent
e07ef0712e
commit
b19621233a
@ -177,9 +177,12 @@ void create_dotest(ULONG Flags, PWSTR Prefix)
|
||||
StringCbPrintfW(FilePath, sizeof FilePath, L"%s%s\\dir1\\\\",
|
||||
Prefix ? L"" : L"\\\\?\\GLOBALROOT", Prefix ? Prefix : memfs_volumename(memfs));
|
||||
|
||||
Success = CreateDirectory(FilePath, 0);
|
||||
ASSERT(!Success);
|
||||
ASSERT(ERROR_INVALID_NAME == GetLastError());
|
||||
if (0 == OptMountPoint && 0 == OptShareName)
|
||||
{
|
||||
Success = CreateDirectory(FilePath, 0);
|
||||
ASSERT(!Success);
|
||||
ASSERT(ERROR_INVALID_NAME == GetLastError());
|
||||
}
|
||||
|
||||
StringCbPrintfW(FilePath, sizeof FilePath, L"%s%s\\dir1\\",
|
||||
Prefix ? L"" : L"\\\\?\\GLOBALROOT", Prefix ? Prefix : memfs_volumename(memfs));
|
||||
|
@ -181,6 +181,17 @@ BOOL HookCloseHandle(
|
||||
return ResilientCloseHandle(hObject);
|
||||
}
|
||||
|
||||
BOOL HookCreateDirectoryW(
|
||||
LPCWSTR lpPathName,
|
||||
LPSECURITY_ATTRIBUTES lpSecurityAttributes)
|
||||
{
|
||||
WCHAR FileNameBuf[FILENAMEBUF_SIZE];
|
||||
|
||||
PrepareFileName(lpPathName, FileNameBuf);
|
||||
|
||||
return CreateDirectoryW(FileNameBuf, lpSecurityAttributes);
|
||||
}
|
||||
|
||||
BOOL HookDeleteFileW(
|
||||
LPCWSTR lpFileName)
|
||||
{
|
||||
@ -189,9 +200,9 @@ BOOL HookDeleteFileW(
|
||||
PrepareFileName(lpFileName, FileNameBuf);
|
||||
|
||||
if (!OptResilient)
|
||||
return DeleteFileW(lpFileName);
|
||||
return DeleteFileW(FileNameBuf);
|
||||
else
|
||||
return ResilientDeleteFileW(lpFileName);
|
||||
return ResilientDeleteFileW(FileNameBuf);
|
||||
}
|
||||
|
||||
BOOL HookRemoveDirectoryW(
|
||||
@ -201,5 +212,30 @@ BOOL HookRemoveDirectoryW(
|
||||
|
||||
PrepareFileName(lpPathName, FileNameBuf);
|
||||
|
||||
return RemoveDirectoryW(lpPathName);
|
||||
return RemoveDirectoryW(FileNameBuf);
|
||||
}
|
||||
|
||||
BOOL HookMoveFileExW(
|
||||
LPCWSTR lpExistingFileName,
|
||||
LPCWSTR lpNewFileName,
|
||||
DWORD dwFlags)
|
||||
{
|
||||
WCHAR OldFileNameBuf[FILENAMEBUF_SIZE];
|
||||
WCHAR NewFileNameBuf[FILENAMEBUF_SIZE];
|
||||
|
||||
PrepareFileName(lpExistingFileName, OldFileNameBuf);
|
||||
PrepareFileName(lpNewFileName, NewFileNameBuf);
|
||||
|
||||
return MoveFileExW(OldFileNameBuf, NewFileNameBuf, dwFlags);
|
||||
}
|
||||
|
||||
HANDLE HookFindFirstFileW(
|
||||
LPCWSTR lpFileName,
|
||||
LPWIN32_FIND_DATAW lpFindFileData)
|
||||
{
|
||||
WCHAR FileNameBuf[FILENAMEBUF_SIZE];
|
||||
|
||||
PrepareFileName(lpFileName, FileNameBuf);
|
||||
|
||||
return FindFirstFileW(FileNameBuf, lpFindFileData);
|
||||
}
|
||||
|
@ -31,8 +31,11 @@
|
||||
#if !defined(WINFSP_TESTS_NO_HOOKS)
|
||||
#define CreateFileW HookCreateFileW
|
||||
#define CloseHandle HookCloseHandle
|
||||
#define CreateDirectoryW HookCreateDirectoryW
|
||||
#define DeleteFileW HookDeleteFileW
|
||||
#define RemoveDirectoryW HookRemoveDirectoryW
|
||||
#define MoveFileExW HookMoveFileExW
|
||||
#define FindFirstFileW HookFindFirstFileW
|
||||
#endif
|
||||
HANDLE HookCreateFileW(
|
||||
LPCWSTR lpFileName,
|
||||
@ -44,10 +47,20 @@ HANDLE HookCreateFileW(
|
||||
HANDLE hTemplateFile);
|
||||
BOOL HookCloseHandle(
|
||||
HANDLE hObject);
|
||||
BOOL HookCreateDirectoryW(
|
||||
LPCWSTR lpPathName,
|
||||
LPSECURITY_ATTRIBUTES lpSecurityAttributes);
|
||||
BOOL HookDeleteFileW(
|
||||
LPCWSTR lpFileName);
|
||||
BOOL HookRemoveDirectoryW(
|
||||
LPCWSTR lpPathName);
|
||||
BOOL HookMoveFileExW(
|
||||
LPCWSTR lpExistingFileName,
|
||||
LPCWSTR lpNewFileName,
|
||||
DWORD dwFlags);
|
||||
HANDLE HookFindFirstFileW(
|
||||
LPCWSTR lpFileName,
|
||||
LPWIN32_FIND_DATAW lpFindFileData);
|
||||
|
||||
HANDLE ResilientCreateFileW(
|
||||
LPCWSTR lpFileName,
|
||||
|
Loading…
x
Reference in New Issue
Block a user