https://git.reactos.org/?p=reactos.git;a=commitdiff;h=fc921423f35f442d41924…
commit fc921423f35f442d419246b1dbbaf1e3f651f978
Author: Pierre Schweitzer <pierre(a)reactos.org>
AuthorDate: Sat Dec 23 09:34:34 2017 +0100
[VFD] Add support for installing driver from System32\drivers.
Patch by Doug Lyons.
CORE-14090
---
modules/rosapps/lib/vfdlib/vfdctl.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/modules/rosapps/lib/vfdlib/vfdctl.c b/modules/rosapps/lib/vfdlib/vfdctl.c
index eb09da84d3..21672b9662 100644
--- a/modules/rosapps/lib/vfdlib/vfdctl.c
+++ b/modules/rosapps/lib/vfdlib/vfdctl.c
@@ -255,6 +255,10 @@ DWORD WINAPI VfdInstallDriver(
DWORD len;
DWORD ret = ERROR_SUCCESS;
+#ifdef __REACTOS__
+ CHAR full_file_path[MAX_PATH];
+#endif
+
// get SystemRoot directory path
// len = GetEnvironmentVariable(
@@ -270,6 +274,12 @@ DWORD WINAPI VfdInstallDriver(
inst_path = &system_dir[len];
+#ifdef __REACTOS__
+ strcpy(full_file_path, system_dir);
+ strcat(full_file_path, VFD_INSTALL_DIRECTORY);
+ strcat(full_file_path, VFD_DRIVER_FILENAME);
+#endif
+
#ifdef VFD_EMBED_DRIVER
//
// use embedded driver file
@@ -342,6 +352,14 @@ DWORD WINAPI VfdInstallDriver(
}
}
+#ifdef __REACTOS__
+ // Check install directory & file exist or use full_file_path
+
+ if (GetFileAttributesA(file_path) == INVALID_FILE_ATTRIBUTES) {
+ strcpy(file_path, full_file_path);
+ }
+#endif
+
// Check if the file is a valid Virtual Floppy driver
ret = VfdCheckDriverFile(file_path, NULL);