#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>
{
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 */
* 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
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;
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