tst: passthrough: testing

This commit is contained in:
Bill Zissimopoulos 2017-01-23 14:33:07 -08:00
parent 5475c414b3
commit ebad86387c
2 changed files with 38 additions and 30 deletions

View File

@ -91,22 +91,26 @@ static NTSTATUS WinFspLoad(VOID)
LONG Result;
HMODULE Module;
Size = sizeof PathBuf;
Result = RegGetValueW(
HKEY_LOCAL_MACHINE, L"Software\\WinFsp", L"InstallDir",
RRF_RT_REG_SZ | 0x00020000/*RRF_SUBKEY_WOW6432KEY*/,
0, PathBuf, &Size);
if (ERROR_SUCCESS != Result)
return STATUS_OBJECT_NAME_NOT_FOUND;
RtlCopyMemory(PathBuf + (Size / sizeof(WCHAR) - 1), L"" FSP_DLLPATH, sizeof L"" FSP_DLLPATH);
Module = LoadLibraryW(PathBuf);
Module = LoadLibraryW(L"" FSP_DLLNAME);
if (0 == Module)
return STATUS_DLL_NOT_FOUND;
{
Size = sizeof PathBuf;
Result = RegGetValueW(
HKEY_LOCAL_MACHINE, L"Software\\WinFsp", L"InstallDir",
RRF_RT_REG_SZ | 0x00020000/*RRF_SUBKEY_WOW6432KEY*/,
0, PathBuf, &Size);
if (ERROR_SUCCESS != Result)
return STATUS_OBJECT_NAME_NOT_FOUND;
Result = __HrLoadAllImportsForDll(FSP_DLLNAME);
if (0 > Result)
return STATUS_DELAY_LOAD_FAILED;
RtlCopyMemory(PathBuf + (Size / sizeof(WCHAR) - 1), L"" FSP_DLLPATH, sizeof L"" FSP_DLLPATH);
Module = LoadLibraryW(PathBuf);
if (0 == Module)
return STATUS_DLL_NOT_FOUND;
Result = __HrLoadAllImportsForDll(FSP_DLLNAME);
if (0 > Result)
return STATUS_DELAY_LOAD_FAILED;
}
return STATUS_SUCCESS;
@ -1102,7 +1106,7 @@ static NTSTATUS Overwrite(FSP_FILE_SYSTEM *FileSystem,
if (ReplaceFileAttributes)
{
if (0 == FileAttributes)
FileAttributes = FILE_ATTRIBUTES_NORMAL;
FileAttributes = FILE_ATTRIBUTE_NORMAL;
BasicInfo.FileAttributes = FileAttributes; // <1>
if (!SetFileInformationByHandle(Handle,

View File

@ -255,7 +255,7 @@ static NTSTATUS Overwrite(FSP_FILE_SYSTEM *FileSystem,
if (ReplaceFileAttributes)
{
if (0 == FileAttributes)
FileAttributes = FILE_ATTRIBUTES_NORMAL;
FileAttributes = FILE_ATTRIBUTE_NORMAL;
BasicInfo.FileAttributes = FileAttributes;
if (!SetFileInformationByHandle(Handle,
@ -907,22 +907,26 @@ static NTSTATUS WinFspLoad(VOID)
LONG Result;
HMODULE Module;
Size = sizeof PathBuf;
Result = RegGetValueW(
HKEY_LOCAL_MACHINE, L"Software\\WinFsp", L"InstallDir",
RRF_RT_REG_SZ | 0x00020000/*RRF_SUBKEY_WOW6432KEY*/,
0, PathBuf, &Size);
if (ERROR_SUCCESS != Result)
return STATUS_OBJECT_NAME_NOT_FOUND;
RtlCopyMemory(PathBuf + (Size / sizeof(WCHAR) - 1), L"" FSP_DLLPATH, sizeof L"" FSP_DLLPATH);
Module = LoadLibraryW(PathBuf);
Module = LoadLibraryW(L"" FSP_DLLNAME);
if (0 == Module)
return STATUS_DLL_NOT_FOUND;
{
Size = sizeof PathBuf;
Result = RegGetValueW(
HKEY_LOCAL_MACHINE, L"Software\\WinFsp", L"InstallDir",
RRF_RT_REG_SZ | 0x00020000/*RRF_SUBKEY_WOW6432KEY*/,
0, PathBuf, &Size);
if (ERROR_SUCCESS != Result)
return STATUS_OBJECT_NAME_NOT_FOUND;
Result = __HrLoadAllImportsForDll(FSP_DLLNAME);
if (0 > Result)
return STATUS_DELAY_LOAD_FAILED;
RtlCopyMemory(PathBuf + (Size / sizeof(WCHAR) - 1), L"" FSP_DLLPATH, sizeof L"" FSP_DLLPATH);
Module = LoadLibraryW(PathBuf);
if (0 == Module)
return STATUS_DLL_NOT_FOUND;
Result = __HrLoadAllImportsForDll(FSP_DLLNAME);
if (0 > Result)
return STATUS_DELAY_LOAD_FAILED;
}
return STATUS_SUCCESS;