Updated setupapi-SetupDiGetDeviceInterfaceDetail patchset

This commit is contained in:
Alistair Leslie-Hughes 2018-10-15 12:16:55 +11:00
parent f4a4f3f5b7
commit a83917b70e
6 changed files with 100 additions and 36 deletions

View File

@ -6129,14 +6129,19 @@ fi
# Patchset setupapi-SetupDiGetDeviceInterfaceDetail
# |
# | This patchset fixes the following Wine bugs:
# | * [#45963] - Add SetupDiInstallDeviceInterfaces/SetupDiRegisterCoDeviceInstallers stubs
# |
# | Modified files:
# | * dlls/setupapi/devinst.c, dlls/setupapi/setupapi.spec, dlls/setupapi/tests/devinst.c
# |
if test "$enable_setupapi_SetupDiGetDeviceInterfaceDetail" -eq 1; then
patch_apply setupapi-SetupDiGetDeviceInterfaceDetail/0001-setupapi-Add-spec-file-stub-entry-for-SetupDiInstall.patch
patch_apply setupapi-SetupDiGetDeviceInterfaceDetail/0002-setupapi-SetupDiGetDeviceInterfaceDetail-should-fill.patch
patch_apply setupapi-SetupDiGetDeviceInterfaceDetail/0001-setupapi-Add-SetupDiInstallDeviceInterfaces.patch
patch_apply setupapi-SetupDiGetDeviceInterfaceDetail/0002-setupapi-Add-SetupDiRegisterCoDeviceInstallers-stub.patch
patch_apply setupapi-SetupDiGetDeviceInterfaceDetail/0003-setupapi-SetupDiGetDeviceInterfaceDetail-should-fill.patch
(
printf '%s\n' '+ { "Michael Müller", "setupapi: Add spec file stub entry for SetupDiInstallDeviceInterfaces and SetupDiRegisterCoDeviceInstallers.", 1 },';
printf '%s\n' '+ { "Alistair Leslie-Hughes", "setupapi: Add SetupDiInstallDeviceInterfaces.", 1 },';
printf '%s\n' '+ { "Alistair Leslie-Hughes", "setupapi: Add SetupDiRegisterCoDeviceInstallers stub.", 1 },';
printf '%s\n' '+ { "Michael Müller", "setupapi: SetupDiGetDeviceInterfaceDetail should fill out DeviceInfoData even if the buffer for DeviceInterfaceData is too small.", 1 },';
) >> "$patchlist"
fi

View File

@ -0,0 +1,47 @@
From b396392de5b090fb78a358dec7a8790ecedf2240 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Mon, 15 Oct 2018 12:05:41 +1100
Subject: [PATCH] setupapi: Add SetupDiInstallDeviceInterfaces
Wine-bug: https://bugs.winehq.org/show_bug.cgi?id=45963
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
dlls/setupapi/devinst.c | 12 ++++++++++++
dlls/setupapi/setupapi.spec | 1 +
2 files changed, 13 insertions(+)
diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c
index 771fc70..b15e580 100644
--- a/dlls/setupapi/devinst.c
+++ b/dlls/setupapi/devinst.c
@@ -4020,3 +4020,15 @@ BOOL WINAPI SetupDiGetDevicePropertyW(HDEVINFO info_set, PSP_DEVINFO_DATA info_d
SetLastError(ERROR_NOT_FOUND);
return FALSE;
}
+
+/***********************************************************************
+ * SetupDiInstallDeviceInterfaces (SETUPAPI.@)
+ */
+BOOL WINAPI SetupDiInstallDeviceInterfaces(HDEVINFO dev, PSP_DEVINFO_DATA info_data)
+{
+ FIXME("%p, %p stub\n", dev, info_data);
+
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return FALSE;
+}
+
diff --git a/dlls/setupapi/setupapi.spec b/dlls/setupapi/setupapi.spec
index 99509e1..3f906ed 100644
--- a/dlls/setupapi/setupapi.spec
+++ b/dlls/setupapi/setupapi.spec
@@ -367,6 +367,7 @@
@ stub SetupDiInstallClassExW
@ stdcall SetupDiInstallClassW(long wstr long ptr)
@ stub SetupDiInstallDevice
+@ stdcall SetupDiInstallDeviceInterfaces(ptr ptr)
@ stub SetupDiInstallDriverFiles
@ stdcall SetupDiLoadClassIcon(ptr ptr ptr)
@ stub SetupDiMoveDuplicateDevice
--
1.9.1

View File

@ -1,33 +0,0 @@
From 7847b8fd4f68d229e5fc478e755fb212fdff3431 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 18 Aug 2016 18:37:29 +0200
Subject: setupapi: Add spec file stub entry for SetupDiInstallDeviceInterfaces
and SetupDiRegisterCoDeviceInstallers.
---
dlls/setupapi/setupapi.spec | 2 ++
1 file changed, 2 insertions(+)
diff --git a/dlls/setupapi/setupapi.spec b/dlls/setupapi/setupapi.spec
index 0eb8359..4a4d193 100644
--- a/dlls/setupapi/setupapi.spec
+++ b/dlls/setupapi/setupapi.spec
@@ -367,6 +367,7 @@
@ stub SetupDiInstallClassExW
@ stdcall SetupDiInstallClassW(long wstr long ptr)
@ stub SetupDiInstallDevice
+@ stub SetupDiInstallDeviceInterfaces
@ stub SetupDiInstallDriverFiles
@ stdcall SetupDiLoadClassIcon(ptr ptr ptr)
@ stub SetupDiMoveDuplicateDevice
@@ -379,6 +380,7 @@
@ stdcall SetupDiOpenDeviceInterfaceA(ptr str long ptr)
@ stub SetupDiOpenDeviceInterfaceRegKey
@ stdcall SetupDiOpenDeviceInterfaceW(ptr wstr long ptr)
+@ stub SetupDiRegisterCoDeviceInstallers
@ stdcall SetupDiRegisterDeviceInfo(ptr ptr long ptr ptr ptr)
@ stdcall SetupDiRemoveDevice(ptr ptr)
@ stdcall SetupDiRemoveDeviceInterface(ptr ptr)
--
2.9.0

View File

@ -0,0 +1,44 @@
From 8cba6e456b2eaac13fac4190ee77218e9a3f4f95 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Mon, 15 Oct 2018 12:09:40 +1100
Subject: [PATCH] setupapi: Add SetupDiRegisterCoDeviceInstallers stub
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
dlls/setupapi/devinst.c | 10 ++++++++++
dlls/setupapi/setupapi.spec | 1 +
2 files changed, 11 insertions(+)
diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c
index b15e580..3f8949e 100644
--- a/dlls/setupapi/devinst.c
+++ b/dlls/setupapi/devinst.c
@@ -4032,3 +4032,13 @@ BOOL WINAPI SetupDiInstallDeviceInterfaces(HDEVINFO dev, PSP_DEVINFO_DATA info_d
return FALSE;
}
+/***********************************************************************
+ * SetupDiRegisterCoDeviceInstallers (SETUPAPI.@)
+ */
+BOOL WINAPI SetupDiRegisterCoDeviceInstallers(HDEVINFO dev, PSP_DEVINFO_DATA info_data)
+{
+ FIXME("%p, %p stub\n", dev, info_data);
+
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return FALSE;
+}
diff --git a/dlls/setupapi/setupapi.spec b/dlls/setupapi/setupapi.spec
index 3f906ed..125b205 100644
--- a/dlls/setupapi/setupapi.spec
+++ b/dlls/setupapi/setupapi.spec
@@ -380,6 +380,7 @@
@ stdcall SetupDiOpenDeviceInterfaceA(ptr str long ptr)
@ stub SetupDiOpenDeviceInterfaceRegKey
@ stdcall SetupDiOpenDeviceInterfaceW(ptr wstr long ptr)
+@ stdcall SetupDiRegisterCoDeviceInstallers(ptr ptr)
@ stdcall SetupDiRegisterDeviceInfo(ptr ptr long ptr ptr ptr)
@ stdcall SetupDiRemoveDevice(ptr ptr)
@ stdcall SetupDiRemoveDeviceInterface(ptr ptr)
--
1.9.1

View File

@ -1 +1,2 @@
Fixes: [45963] - Add SetupDiInstallDeviceInterfaces/SetupDiRegisterCoDeviceInstallers stubs
Fixes: Fill out DeviceInfoData in SetupDiGetDeviceInterfaceDetail even if interface buffer is too small