Rebase against 00b08fad99745db326ef060627c3e9dc668a734a

This commit is contained in:
Alistair Leslie-Hughes
2018-11-28 09:19:40 +11:00
parent 7d49250016
commit c30bad1531
13 changed files with 46 additions and 1380 deletions

View File

@ -1,8 +1,8 @@
From b84172fad2693e3dc75adab1820a95457eba80aa Mon Sep 17 00:00:00 2001
From 3f91a3758547eec6afb1a7c064af3d3f05aa235d 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
drivers.
Subject: [PATCH] setupapi: Create registry keys for display devices and
display drivers.
---
dlls/setupapi/devinst.c | 111 +++++++++++++++++++++++++++++++++++-----
@ -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 1f020b9b..0452d7a5 100644
index 64c04131b01..b8d94fa4a99 100644
--- a/dlls/setupapi/devinst.c
+++ b/dlls/setupapi/devinst.c
@@ -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};
@@ -95,6 +95,15 @@ static const WCHAR Control[] = {'C','o','n','t','r','o','l',0};
static const WCHAR Linked[] = {'L','i','n','k','e','d',0};
static const WCHAR emptyW[] = {0};
+/* GUIDs */
+static const WCHAR displayGUIDW[] = {'{','4','d','3','6','e','9','6','8','-','e','3','2','5','-',
@ -29,7 +29,7 @@ index 1f020b9b..0452d7a5 100644
/* is used to identify if a DeviceInfoSet pointer is
valid or not */
#define SETUP_DEVICE_INFO_SET_MAGIC 0xd00ff056
@@ -181,6 +190,90 @@ static struct device_iface *get_device_iface(HDEVINFO devinfo, const SP_DEVICE_I
@@ -184,6 +193,90 @@ static struct device_iface *get_device_iface(HDEVINFO devinfo, const SP_DEVICE_I
return (struct device_iface *)data->Reserved;
}
@ -120,7 +120,7 @@ index 1f020b9b..0452d7a5 100644
static inline void copy_device_data(SP_DEVINFO_DATA *data, const struct device *device)
{
data->ClassGuid = device->class;
@@ -470,8 +563,7 @@ static HKEY SETUPDI_CreateDevKey(struct device *device)
@@ -475,8 +568,7 @@ static HKEY SETUPDI_CreateDevKey(struct device *device)
HKEY enumKey, key = INVALID_HANDLE_VALUE;
LONG l;
@ -130,7 +130,7 @@ index 1f020b9b..0452d7a5 100644
if (!l)
{
RegCreateKeyExW(enumKey, device->instanceId, 0, NULL, 0,
@@ -563,8 +655,7 @@ static void SETUPDI_RemoveDevice(struct device *device)
@@ -567,8 +659,7 @@ static void SETUPDI_RemoveDevice(struct device *device)
HKEY enumKey;
LONG l;
@ -140,7 +140,7 @@ index 1f020b9b..0452d7a5 100644
if (!l)
{
RegDeleteTreeW(enumKey, device->instanceId);
@@ -2004,8 +2095,7 @@ static void SETUPDI_EnumerateMatchingInterfaces(HDEVINFO DeviceInfoSet,
@@ -2007,8 +2098,7 @@ static void SETUPDI_EnumerateMatchingInterfaces(HDEVINFO DeviceInfoSet,
TRACE("%s\n", debugstr_w(enumstr));
@ -150,7 +150,7 @@ index 1f020b9b..0452d7a5 100644
for (i = 0; !l; i++)
{
len = ARRAY_SIZE(subKeyName);
@@ -2231,8 +2321,7 @@ static void SETUPDI_EnumerateDevices(HDEVINFO DeviceInfoSet, const GUID *class,
@@ -2234,8 +2324,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 1f020b9b..0452d7a5 100644
if (enumKey != INVALID_HANDLE_VALUE)
{
if (enumstr)
@@ -3378,8 +3467,7 @@ static HKEY SETUPDI_OpenDevKey(struct device *device, REGSAM samDesired)
@@ -3346,8 +3435,7 @@ static HKEY SETUPDI_OpenDevKey(struct device *device, REGSAM samDesired)
HKEY enumKey, key = INVALID_HANDLE_VALUE;
LONG l;
@ -170,7 +170,7 @@ index 1f020b9b..0452d7a5 100644
if (!l)
{
RegOpenKeyExW(enumKey, device->instanceId, 0, samDesired, &key);
@@ -3471,8 +3559,7 @@ static BOOL SETUPDI_DeleteDevKey(struct device *device)
@@ -3439,8 +3527,7 @@ static BOOL SETUPDI_DeleteDevKey(struct device *device)
BOOL ret = FALSE;
LONG l;
@ -181,7 +181,7 @@ index 1f020b9b..0452d7a5 100644
{
ret = RegDeleteTreeW(enumKey, device->instanceId);
diff --git a/loader/wine.inf.in b/loader/wine.inf.in
index 5a3f8c46..51e17453 100644
index 5a3f8c46969..51e17453f3f 100644
--- a/loader/wine.inf.in
+++ b/loader/wine.inf.in
@@ -465,6 +465,8 @@ HKLM,System\CurrentControlSet\Control\ContentIndex\Language\Neutral,"Locale",0x1
@ -194,5 +194,5 @@ index 5a3f8c46..51e17453 100644
HKLM,System\CurrentControlSet\Control\Class\{4d36e978-e325-11ce-bfc1-08002be10318},"Class",,"Ports"
HKLM,System\CurrentControlSet\Control\Class\{6bdd1fc6-810f-11d0-bec7-08002be2092f},,,"Imaging devices"
--
2.19.1
2.19.2