Fixed algorithm for generating driver path.

svn path=/trunk/; revision=6998
This commit is contained in:
Filip Navara 2003-12-13 18:35:50 +00:00
parent a7d4741918
commit 9c5dbfa383

View file

@ -240,6 +240,7 @@ LoadBootDrivers(PCHAR szSystemRoot, int nPos)
U32 DriverGroupSize; U32 DriverGroupSize;
UCHAR ImagePath[256]; UCHAR ImagePath[256];
UCHAR TempImagePath[256];
/* get 'service group order' key */ /* get 'service group order' key */
rc = RegOpenKey(NULL, rc = RegOpenKey(NULL,
@ -304,9 +305,9 @@ LoadBootDrivers(PCHAR szSystemRoot, int nPos)
{ {
ValueSize = 256; ValueSize = 256;
rc = RegQueryValue(hDriverKey, rc = RegQueryValue(hDriverKey,
"ImagePathName", "ImagePath",
NULL, NULL,
(PUCHAR)ImagePath, (PUCHAR)TempImagePath,
&ValueSize); &ValueSize);
if (rc != ERROR_SUCCESS) if (rc != ERROR_SUCCESS)
{ {
@ -316,8 +317,14 @@ LoadBootDrivers(PCHAR szSystemRoot, int nPos)
strcat(ImagePath, ServiceName); strcat(ImagePath, ServiceName);
strcat(ImagePath, ".sys"); strcat(ImagePath, ".sys");
} }
else if (TempImagePath[0] != '\\')
{
strcpy(ImagePath, szSystemRoot);
strcat(ImagePath, TempImagePath);
}
else else
{ {
strcpy(ImagePath, TempImagePath);
DbgPrint((DPRINT_REACTOS, " ImagePath: '%s'\n", ImagePath)); DbgPrint((DPRINT_REACTOS, " ImagePath: '%s'\n", ImagePath));
} }
DbgPrint((DPRINT_REACTOS, " Loading driver: '%s'\n", ImagePath)); DbgPrint((DPRINT_REACTOS, " Loading driver: '%s'\n", ImagePath));