]> wimlib.net Git - wimlib/blobdiff - src/wimboot.c
win32_common.c: add extra error messages if pread() or pwrite() fails
[wimlib] / src / wimboot.c
index d4643d67e516ff2a9392a978ae0aa855105d674d..e8fecaf986a31e6a59260385e8aba97f3f8b62c1 100644 (file)
@@ -798,10 +798,10 @@ update_wimoverlay_manually(const wchar_t *drive, const wchar_t *wim_path,
        wchar_t path_backup[] = L"A:\\System Volume Information\\WimOverlay.backup";
        wchar_t path_wimlib_backup[] = L"A:\\System Volume Information\\WimOverlay.wimlib_backup";
        wchar_t path_new[] = L"A:\\System Volume Information\\WimOverlay.wimlib_new";
-       void *old_contents;
-       void *new_contents;
-       u32 new_contents_size;
-       u64 new_data_source_id;
+       void *old_contents = NULL;
+       void *new_contents = NULL;
+       u32 new_contents_size = 0;
+       u64 new_data_source_id = -1;
        int ret;
 
        wimlib_assert(drive[0] != L'\0' &&
@@ -866,47 +866,6 @@ out:
        return ret;
 }
 
-/* Try to attach an instance of the Windows Overlay File System Filter Driver to
- * the specified drive (such as C:)  */
-static bool
-try_to_attach_wof(const wchar_t *drive)
-{
-       HMODULE fltlib;
-       bool retval = false;
-
-       /* Use FilterAttach() from Fltlib.dll.  */
-
-       fltlib = LoadLibrary(L"Fltlib.dll");
-
-       if (!fltlib) {
-               WARNING("Failed to load Fltlib.dll");
-               return retval;
-       }
-
-       HRESULT (WINAPI *func_FilterAttach)(LPCWSTR lpFilterName,
-                                           LPCWSTR lpVolumeName,
-                                           LPCWSTR lpInstanceName,
-                                           DWORD dwCreatedInstanceNameLength,
-                                           LPWSTR lpCreatedInstanceName);
-
-       func_FilterAttach = (void *)GetProcAddress(fltlib, "FilterAttach");
-
-       if (func_FilterAttach) {
-               HRESULT res;
-
-               res = (*func_FilterAttach)(L"WoF", drive, NULL, 0, NULL);
-
-               if (res == S_OK)
-                       retval = true;
-       } else {
-               WARNING("FilterAttach() does not exist in Fltlib.dll");
-       }
-
-       FreeLibrary(fltlib);
-
-       return retval;
-}
-
 /*
  * Allocate a WOF data source ID for a WIM file.
  *
@@ -1001,7 +960,7 @@ retry_ioctl:
                                CloseHandle(h);
                                h = INVALID_HANDLE_VALUE;
                                tried_to_attach_wof = true;
-                               if (try_to_attach_wof(drive_path + 4))
+                               if (win32_try_to_attach_wof(drive_path + 4))
                                        goto retry_ioctl;
                        }
                        ret = WIMLIB_ERR_UNSUPPORTED;