Rebase against c698682b3286d72cc7c4c4624b4d14b03dbe6908.

This commit is contained in:
Zebediah Figura
2018-08-18 11:37:45 -05:00
parent 93e4c328d7
commit c58c70e961
12 changed files with 223 additions and 2244 deletions

View File

@@ -1,4 +1,4 @@
From f32342b9bb7bae0e42b79e61f29ab25d9f6b2873 Mon Sep 17 00:00:00 2001
From 9fb320afdf57221eb32d51a03971ad3d13cf773e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 11 Feb 2016 03:17:09 +0100
Subject: setupapi: Create registry keys for display devices and display
@@ -10,12 +10,12 @@ Subject: setupapi: Create registry keys for display devices and display
2 files changed, 101 insertions(+), 12 deletions(-)
diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c
index 9f77669..74a8e2b 100644
index 4d53bd7..6415298 100644
--- a/dlls/setupapi/devinst.c
+++ b/dlls/setupapi/devinst.c
@@ -92,6 +92,15 @@ static const WCHAR LowerFilters[] = {'L','o','w','e','r','F','i','l','t','e','r'
static const WCHAR Phantom[] = {'P','h','a','n','t','o','m',0};
static const WCHAR SymbolicLink[] = {'S','y','m','b','o','l','i','c','L','i','n','k',0};
@@ -94,6 +94,15 @@ static const WCHAR SymbolicLink[] = {'S','y','m','b','o','l','i','c','L','i','n'
static const WCHAR Control[] = {'C','o','n','t','r','o','l',0};
static const WCHAR Linked[] = {'L','i','n','k','e','d',0};
+/* GUIDs */
+static const WCHAR displayGUIDW[] = {'{','4','d','3','6','e','9','6','8','-','e','3','2','5','-',
@@ -29,7 +29,7 @@ index 9f77669..74a8e2b 100644
/* is used to identify if a DeviceInfoSet pointer is
valid or not */
#define SETUP_DEVICE_INFO_SET_MAGIC 0xd00ff056
@@ -127,6 +136,90 @@ struct device_iface
@@ -129,6 +138,90 @@ struct device_iface
struct list entry;
};
@@ -120,7 +120,7 @@ index 9f77669..74a8e2b 100644
static inline void copy_device_data(SP_DEVINFO_DATA *data, const struct device *device)
{
data->ClassGuid = device->class;
@@ -393,8 +486,7 @@ static HKEY SETUPDI_CreateDevKey(struct device *device)
@@ -418,8 +511,7 @@ static HKEY SETUPDI_CreateDevKey(struct device *device)
HKEY enumKey, key = INVALID_HANDLE_VALUE;
LONG l;
@@ -130,7 +130,7 @@ index 9f77669..74a8e2b 100644
if (!l)
{
RegCreateKeyExW(enumKey, device->instanceId, 0, NULL, 0,
@@ -486,8 +578,7 @@ static void SETUPDI_RemoveDevice(struct device *device)
@@ -511,8 +603,7 @@ static void SETUPDI_RemoveDevice(struct device *device)
HKEY enumKey;
LONG l;
@@ -140,7 +140,7 @@ index 9f77669..74a8e2b 100644
if (!l)
{
RegDeleteTreeW(enumKey, device->instanceId);
@@ -2012,8 +2103,7 @@ static void SETUPDI_EnumerateMatchingInterfaces(HDEVINFO DeviceInfoSet,
@@ -2042,8 +2133,7 @@ static void SETUPDI_EnumerateMatchingInterfaces(HDEVINFO DeviceInfoSet,
TRACE("%s\n", debugstr_w(enumstr));
@@ -150,7 +150,7 @@ index 9f77669..74a8e2b 100644
for (i = 0; !l; i++)
{
len = sizeof(subKeyName) / sizeof(subKeyName[0]);
@@ -2239,8 +2329,7 @@ static void SETUPDI_EnumerateDevices(HDEVINFO DeviceInfoSet, const GUID *class,
@@ -2269,8 +2359,7 @@ static void SETUPDI_EnumerateDevices(HDEVINFO DeviceInfoSet, const GUID *class,
TRACE("%p, %s, %s, %08x\n", DeviceInfoSet, debugstr_guid(class),
debugstr_w(enumstr), flags);
@@ -160,7 +160,7 @@ index 9f77669..74a8e2b 100644
if (enumKey != INVALID_HANDLE_VALUE)
{
if (enumstr)
@@ -3580,8 +3669,7 @@ static HKEY SETUPDI_OpenDevKey(struct device *device, REGSAM samDesired)
@@ -3609,8 +3698,7 @@ static HKEY SETUPDI_OpenDevKey(struct device *device, REGSAM samDesired)
HKEY enumKey, key = INVALID_HANDLE_VALUE;
LONG l;
@@ -170,7 +170,7 @@ index 9f77669..74a8e2b 100644
if (!l)
{
RegOpenKeyExW(enumKey, device->instanceId, 0, samDesired, &key);
@@ -3697,8 +3785,7 @@ static BOOL SETUPDI_DeleteDevKey(struct device *device)
@@ -3726,8 +3814,7 @@ static BOOL SETUPDI_DeleteDevKey(struct device *device)
BOOL ret = FALSE;
LONG l;