[PATCH] newdev: Add DiInstallDevice stub.
Gijs Vermeulen
gijsvrm at gmail.com
Fri Aug 27 10:49:28 CDT 2021
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51299
Signed-off-by: Gijs Vermeulen <gijsvrm at gmail.com>
---
dlls/newdev/main.c | 8 ++++++++
dlls/newdev/newdev.spec | 2 +-
include/setupapi.h | 29 ++++++++++++++++++++++++++---
3 files changed, 35 insertions(+), 4 deletions(-)
diff --git a/dlls/newdev/main.c b/dlls/newdev/main.c
index 72e7cbc690d..f06148b5342 100644
--- a/dlls/newdev/main.c
+++ b/dlls/newdev/main.c
@@ -166,3 +166,11 @@ BOOL WINAPI DiInstallDriverW(HWND parent, const WCHAR *inf_path, DWORD flags, BO
FIXME("parent %p, inf_path %s, flags %#x, reboot %p, stub!\n", parent, debugstr_w(inf_path), flags, reboot);
return TRUE;
}
+
+BOOL WINAPI DiInstallDevice(HWND parent, HDEVINFO handle, PSP_DEVINFO_DATA devdata, PSP_DRVINFO_DATA drvdata,
+ DWORD flags, BOOL *reboot)
+{
+ FIXME("parent %p, handle %p, devdata %p, drvdata %p, flags %#x, reboot %p, stub!\n", parent, handle, devdata,
+ drvdata, flags, reboot);
+ return TRUE;
+}
diff --git a/dlls/newdev/newdev.spec b/dlls/newdev/newdev.spec
index 6d45c7e13ea..8bc33c90d72 100644
--- a/dlls/newdev/newdev.spec
+++ b/dlls/newdev/newdev.spec
@@ -1,5 +1,5 @@
@ stub DeviceInternetSettingUiW
-@ stub DiInstallDevice
+@ stdcall DiInstallDevice(ptr ptr ptr ptr long ptr)
@ stdcall DiInstallDriverA(ptr str long ptr)
@ stdcall DiInstallDriverW(ptr wstr long ptr)
@ stub DiRollbackDriver
diff --git a/include/setupapi.h b/include/setupapi.h
index 14e3774fc42..5ab817e0190 100644
--- a/include/setupapi.h
+++ b/include/setupapi.h
@@ -518,13 +518,36 @@ typedef struct _SP_DRVINFO_DATA_V2_W
DECL_WINELIB_SETUPAPI_TYPE_AW(SP_DRVINFO_DATA_V2)
DECL_WINELIB_SETUPAPI_TYPE_AW(PSP_DRVINFO_DATA_V2)
+DECL_WINELIB_SETUPAPI_TYPE_AW(SP_DRVINFO_DATA)
+DECL_WINELIB_SETUPAPI_TYPE_AW(PSP_DRVINFO_DATA)
+
+#ifdef UNICODE
+typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_V1;
+typedef PSP_DRVINFO_DATA_V1_W PSP_DRVINFO_DATA_V1;
+typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_V2;
+typedef PSP_DRVINFO_DATA_V2_W PSP_DRVINFO_DATA_V2;
+#else
+typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_V1;
+typedef PSP_DRVINFO_DATA_V1_A PSP_DRVINFO_DATA_V1;
+typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_V2;
+typedef PSP_DRVINFO_DATA_V2_A PSP_DRVINFO_DATA_V2;
+#endif
+
+#if USE_SP_DRVINFO_DATA_V1
+typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_A;
+typedef PSP_DRVINFO_DATA_V1_A PSP_DRVINFO_DATA_A;
+typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_W;
+typedef PSP_DRVINFO_DATA_V1_W PSP_DRVINFO_DATA_W;
+typedef SP_DRVINFO_DATA_V1 SP_DRVINFO_DATA;
+typedef PSP_DRVINFO_DATA_V1 PSP_DRVINFO_DATA;
+#else
typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_A;
typedef PSP_DRVINFO_DATA_V2_A PSP_DRVINFO_DATA_A;
typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_W;
typedef PSP_DRVINFO_DATA_V2_W PSP_DRVINFO_DATA_W;
-
-DECL_WINELIB_SETUPAPI_TYPE_AW(SP_DRVINFO_DATA)
-DECL_WINELIB_SETUPAPI_TYPE_AW(PSP_DRVINFO_DATA)
+typedef SP_DRVINFO_DATA_V2 SP_DRVINFO_DATA;
+typedef PSP_DRVINFO_DATA_V2 PSP_DRVINFO_DATA;
+#endif
typedef struct _SP_DRVINFO_DETAIL_DATA_A
{
--
2.33.0
More information about the wine-devel
mailing list