mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-24 09:23:37 -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\\\\",
|
StringCbPrintfW(FilePath, sizeof FilePath, L"%s%s\\dir1\\\\",
|
||||||
Prefix ? L"" : L"\\\\?\\GLOBALROOT", Prefix ? Prefix : memfs_volumename(memfs));
|
Prefix ? L"" : L"\\\\?\\GLOBALROOT", Prefix ? Prefix : memfs_volumename(memfs));
|
||||||
|
|
||||||
|
if (0 == OptMountPoint && 0 == OptShareName)
|
||||||
|
{
|
||||||
Success = CreateDirectory(FilePath, 0);
|
Success = CreateDirectory(FilePath, 0);
|
||||||
ASSERT(!Success);
|
ASSERT(!Success);
|
||||||
ASSERT(ERROR_INVALID_NAME == GetLastError());
|
ASSERT(ERROR_INVALID_NAME == GetLastError());
|
||||||
|
}
|
||||||
|
|
||||||
StringCbPrintfW(FilePath, sizeof FilePath, L"%s%s\\dir1\\",
|
StringCbPrintfW(FilePath, sizeof FilePath, L"%s%s\\dir1\\",
|
||||||
Prefix ? L"" : L"\\\\?\\GLOBALROOT", Prefix ? Prefix : memfs_volumename(memfs));
|
Prefix ? L"" : L"\\\\?\\GLOBALROOT", Prefix ? Prefix : memfs_volumename(memfs));
|
||||||
|
@ -181,6 +181,17 @@ BOOL HookCloseHandle(
|
|||||||
return ResilientCloseHandle(hObject);
|
return ResilientCloseHandle(hObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOL HookCreateDirectoryW(
|
||||||
|
LPCWSTR lpPathName,
|
||||||
|
LPSECURITY_ATTRIBUTES lpSecurityAttributes)
|
||||||
|
{
|
||||||
|
WCHAR FileNameBuf[FILENAMEBUF_SIZE];
|
||||||
|
|
||||||
|
PrepareFileName(lpPathName, FileNameBuf);
|
||||||
|
|
||||||
|
return CreateDirectoryW(FileNameBuf, lpSecurityAttributes);
|
||||||
|
}
|
||||||
|
|
||||||
BOOL HookDeleteFileW(
|
BOOL HookDeleteFileW(
|
||||||
LPCWSTR lpFileName)
|
LPCWSTR lpFileName)
|
||||||
{
|
{
|
||||||
@ -189,9 +200,9 @@ BOOL HookDeleteFileW(
|
|||||||
PrepareFileName(lpFileName, FileNameBuf);
|
PrepareFileName(lpFileName, FileNameBuf);
|
||||||
|
|
||||||
if (!OptResilient)
|
if (!OptResilient)
|
||||||
return DeleteFileW(lpFileName);
|
return DeleteFileW(FileNameBuf);
|
||||||
else
|
else
|
||||||
return ResilientDeleteFileW(lpFileName);
|
return ResilientDeleteFileW(FileNameBuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL HookRemoveDirectoryW(
|
BOOL HookRemoveDirectoryW(
|
||||||
@ -201,5 +212,30 @@ BOOL HookRemoveDirectoryW(
|
|||||||
|
|
||||||
PrepareFileName(lpPathName, FileNameBuf);
|
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)
|
#if !defined(WINFSP_TESTS_NO_HOOKS)
|
||||||
#define CreateFileW HookCreateFileW
|
#define CreateFileW HookCreateFileW
|
||||||
#define CloseHandle HookCloseHandle
|
#define CloseHandle HookCloseHandle
|
||||||
|
#define CreateDirectoryW HookCreateDirectoryW
|
||||||
#define DeleteFileW HookDeleteFileW
|
#define DeleteFileW HookDeleteFileW
|
||||||
#define RemoveDirectoryW HookRemoveDirectoryW
|
#define RemoveDirectoryW HookRemoveDirectoryW
|
||||||
|
#define MoveFileExW HookMoveFileExW
|
||||||
|
#define FindFirstFileW HookFindFirstFileW
|
||||||
#endif
|
#endif
|
||||||
HANDLE HookCreateFileW(
|
HANDLE HookCreateFileW(
|
||||||
LPCWSTR lpFileName,
|
LPCWSTR lpFileName,
|
||||||
@ -44,10 +47,20 @@ HANDLE HookCreateFileW(
|
|||||||
HANDLE hTemplateFile);
|
HANDLE hTemplateFile);
|
||||||
BOOL HookCloseHandle(
|
BOOL HookCloseHandle(
|
||||||
HANDLE hObject);
|
HANDLE hObject);
|
||||||
|
BOOL HookCreateDirectoryW(
|
||||||
|
LPCWSTR lpPathName,
|
||||||
|
LPSECURITY_ATTRIBUTES lpSecurityAttributes);
|
||||||
BOOL HookDeleteFileW(
|
BOOL HookDeleteFileW(
|
||||||
LPCWSTR lpFileName);
|
LPCWSTR lpFileName);
|
||||||
BOOL HookRemoveDirectoryW(
|
BOOL HookRemoveDirectoryW(
|
||||||
LPCWSTR lpPathName);
|
LPCWSTR lpPathName);
|
||||||
|
BOOL HookMoveFileExW(
|
||||||
|
LPCWSTR lpExistingFileName,
|
||||||
|
LPCWSTR lpNewFileName,
|
||||||
|
DWORD dwFlags);
|
||||||
|
HANDLE HookFindFirstFileW(
|
||||||
|
LPCWSTR lpFileName,
|
||||||
|
LPWIN32_FIND_DATAW lpFindFileData);
|
||||||
|
|
||||||
HANDLE ResilientCreateFileW(
|
HANDLE ResilientCreateFileW(
|
||||||
LPCWSTR lpFileName,
|
LPCWSTR lpFileName,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user