Process AddReg directive in main section to install
authorHervé Poussineau <hpoussin@reactos.org>
Fri, 14 Oct 2005 18:09:17 +0000 (18:09 +0000)
committerHervé Poussineau <hpoussin@reactos.org>
Fri, 14 Oct 2005 18:09:17 +0000 (18:09 +0000)
Simplify a call to SetupInstallFromInfSectionW
Fix a warning (thanks w3seek)

svn path=/trunk/; revision=18446

reactos/lib/setupapi/devinst.c

index 9b59c64..732adf3 100644 (file)
@@ -2936,7 +2936,7 @@ BOOL WINAPI SetupDiCallClassInstaller(
         {
             LIST_ENTRY ClassCoInstallersListHead;
             LIST_ENTRY DeviceCoInstallersListHead;
         {
             LIST_ENTRY ClassCoInstallersListHead;
             LIST_ENTRY DeviceCoInstallersListHead;
-            HMODULE ClassInstallerLibrary;
+            HMODULE ClassInstallerLibrary = NULL;
             CLASS_INSTALL_PROC ClassInstaller = NULL;
             COINSTALLER_CONTEXT_DATA Context;
             PLIST_ENTRY ListEntry;
             CLASS_INSTALL_PROC ClassInstaller = NULL;
             COINSTALLER_CONTEXT_DATA Context;
             PLIST_ENTRY ListEntry;
@@ -4828,7 +4828,6 @@ SetupDiInstallDevice(
     HKEY hClassKey = INVALID_HANDLE_VALUE;
     LONG rc;
     HWND hWnd;
     HKEY hClassKey = INVALID_HANDLE_VALUE;
     LONG rc;
     HWND hWnd;
-    PVOID callback_context;
     BOOL ret = FALSE; /* Return value */
 
     TRACE("%p %p\n", DeviceInfoSet, DeviceInfoData);
     BOOL ret = FALSE; /* Return value */
 
     TRACE("%p %p\n", DeviceInfoSet, DeviceInfoData);
@@ -4916,6 +4915,17 @@ SetupDiInstallDevice(
     if (hKey == INVALID_HANDLE_VALUE)
         goto cleanup;
 
     if (hKey == INVALID_HANDLE_VALUE)
         goto cleanup;
 
+    /* Install main section */
+    /* Files have already been copied in SetupDiInstallDriverFiles.
+     * Process only registry entries. */
+    *pSectionName = '\0';
+    Result = SetupInstallFromInfSectionW(hWnd, hInf, SectionName,
+        SPINST_REGISTRY, hKey, NULL, 0,
+        SetupDefaultQueueCallbackW, NULL,
+        NULL, NULL);
+    if (!Result)
+        goto cleanup;
+
     /* Write information to driver key */
     *pSectionName = UNICODE_NULL;
     TRACE("Write information to driver key\n");
     /* Write information to driver key */
     *pSectionName = UNICODE_NULL;
     TRACE("Write information to driver key\n");
@@ -5048,12 +5058,10 @@ nextfile:
 
     /* Install .HW section */
     wcscpy(pSectionName, L".HW");
 
     /* Install .HW section */
     wcscpy(pSectionName, L".HW");
-    callback_context = SetupInitDefaultQueueCallback(hWnd);
     Result = SetupInstallFromInfSectionW(hWnd, hInf, SectionName,
         SPINST_REGISTRY, hKey, NULL, 0,
     Result = SetupInstallFromInfSectionW(hWnd, hInf, SectionName,
         SPINST_REGISTRY, hKey, NULL, 0,
-        SetupDefaultQueueCallbackW, callback_context,
+        SetupDefaultQueueCallbackW, NULL,
         NULL, NULL);
         NULL, NULL);
-    SetupTermDefaultQueueCallback(callback_context);
     if (!Result)
         goto cleanup;
 
     if (!Result)
         goto cleanup;