#include "resource.h"
#define SETUP_DEV_INFO_SET_MAGIC 0xd00ff057
+#define SETUP_CLASS_IMAGE_LIST_MAGIC 0xd00ff058
struct DeviceInterface /* Element of DeviceInfoElement.InterfaceListHead */
{
*/
DWORD Flags;
- WCHAR SymbolicLink[0]; /* \\?\ACPI#PNP0501#4&2658d0a0&0#{GUID} */
+ WCHAR SymbolicLink[ANYSIZE_ARRAY]; /* \\?\ACPI#PNP0501#4&2658d0a0&0#{GUID} */
};
/* We don't want to open the .inf file to read only one information in it, so keep a handle to it once it
LONG References;
/* May contain no directory if the file is already in %SYSTEMROOT%\Inf */
- WCHAR FullInfFileName[0];
+ WCHAR FullInfFileName[ANYSIZE_ARRAY];
};
struct DriverInfoElement /* Element of DeviceInfoSet.DriverListHead and DeviceInfoElement.DriverListHead */
LIST_ENTRY ListEntry;
DWORD DriverRank;
+ ULARGE_INTEGER DriverDate;
SP_DRVINFO_DATA_V2_W Info;
SP_DRVINFO_DETAIL_DATA_W Details;
GUID ClassGuid;
struct InfFileDetails *InfFileDetails;
};
+struct ClassInstallParams
+{
+ PSP_PROPCHANGE_PARAMS PropChange;
+};
+
struct DeviceInfoElement /* Element of DeviceInfoSet.ListHead */
{
LIST_ENTRY ListEntry;
/* List of interfaces implemented by this device */
LIST_ENTRY InterfaceListHead; /* List of struct DeviceInterface */
- WCHAR Data[0];
+ /* Used by SetupDiGetClassInstallParamsW/SetupDiSetClassInstallParamsW */
+ struct ClassInstallParams ClassInstallParams;
+
+ WCHAR Data[ANYSIZE_ARRAY];
};
struct DeviceInfoSet /* HDEVINFO */
LIST_ENTRY ListHead; /* List of struct DeviceInfoElement */
+ /* Used by SetupDiGetClassInstallParamsW/SetupDiSetClassInstallParamsW */
+ struct ClassInstallParams ClassInstallParams;
+
+ /* 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[ANYSIZE_ARRAY];
+};
+
+struct ClassImageList
+{
+ DWORD magic; /* SETUP_CLASS_IMAGE_LIST_MAGIC */
+
/* 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];
+ WCHAR szData[ANYSIZE_ARRAY];
};
extern HINSTANCE hInstance;