Keep remote machine name in device info set. Use it when needed
[reactos.git] / reactos / lib / setupapi / setupapi_private.h
index 8e15423..fdb7d55 100644 (file)
@@ -23,7 +23,9 @@
 #include <assert.h>
 #include <fcntl.h>
 #include <share.h>
+#include <wchar.h>
 
+#define WIN32_NO_STATUS
 #include <windows.h>
 #include <cfgmgr32.h>
 #include <fdi.h>
@@ -63,6 +65,9 @@ struct InfFileDetails
 {
     HINF hInf;
     LONG References;
+
+    /* May contain no directory if the file is already in %SYSTEMROOT%\Inf */
+    WCHAR FullInfFileName[0];
 };
 
 struct DriverInfoElement /* Element of DeviceInfoSet.DriverListHead and DeviceInfoElement.DriverListHead */
@@ -100,7 +105,8 @@ struct DeviceInfoElement /* Element of DeviceInfoSet.ListHead */
      *       String which identifies the device. Can be NULL. If not NULL,
      *       points into the Data field at the end of the structure
      * - ClassGuid
-     *       Identifies the class of this device. FIXME: can it be GUID_NULL?
+     *       Identifies the class of this device. It is GUID_NULL if the
+     *       device has not been installed
      * - CreationFlags
      *       Is a combination of:
      *       - DICD_GENERATE_ID
@@ -129,6 +135,7 @@ struct DeviceInfoSet /* HDEVINFO */
     DWORD magic; /* SETUP_DEV_INFO_SET_MAGIC */
     GUID ClassGuid; /* If != GUID_NULL, only devices of this class can be in the device info set */
     HKEY HKLM; /* Local or distant HKEY_LOCAL_MACHINE registry key */
+    HMACHINE hMachine; /* Used in CM_* functions */
 
     /* Reserved Field points to a struct DriverInfoElement */
     SP_DEVINSTALL_PARAMS_W InstallParams;
@@ -137,12 +144,13 @@ struct DeviceInfoSet /* HDEVINFO */
     LIST_ENTRY DriverListHead; /* List of struct DriverInfoElement */
 
     LIST_ENTRY ListHead; /* List of struct DeviceInfoElement */
-};
 
-#define COPYFILEDLGORD 1000
-#define SOURCESTRORD   500
-#define DESTSTRORD     501
-#define PROGRESSORD    502
+    /* Contains the name of the remote computer ('\\COMPUTERNAME' for example),
+     * or NULL if related to local machine. Points into szData field at the
+     * end of the structure */
+    PCWSTR MachineName;
+    WCHAR szData[0];
+};
 
 extern HINSTANCE hInstance;
 #define RC_STRING_MAX_SIZE 256