From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45879
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com Signed-off-by: Vijay Kiran Kamuju infyquest@gmail.com --- dlls/setupapi/setupapi.spec | 4 ++-- dlls/setupapi/stubs.c | 18 ++++++++++++++++++ include/cfgmgr32.h | 20 ++++++++++++++++++++ 3 files changed, 40 insertions(+), 2 deletions(-)
diff --git a/dlls/setupapi/setupapi.spec b/dlls/setupapi/setupapi.spec index cea6daca3f5..d633211db99 100644 --- a/dlls/setupapi/setupapi.spec +++ b/dlls/setupapi/setupapi.spec @@ -168,8 +168,8 @@ @ stub CM_Remove_SubTree_Ex @ stub CM_Remove_Unmarked_Children @ stub CM_Remove_Unmarked_Children_Ex -@ stub CM_Request_Device_EjectA -@ stub CM_Request_Device_EjectW +@ stdcall CM_Request_Device_EjectA(ptr ptr ptr long long) +@ stdcall CM_Request_Device_EjectW(ptr ptr ptr long long) @ stub CM_Request_Eject_PC @ stub CM_Reset_Children_Marks @ stub CM_Reset_Children_Marks_Ex diff --git a/dlls/setupapi/stubs.c b/dlls/setupapi/stubs.c index 4994ca4854d..4db32dd51c7 100644 --- a/dlls/setupapi/stubs.c +++ b/dlls/setupapi/stubs.c @@ -696,3 +696,21 @@ BOOL WINAPI SetupDiEnumDriverInfoW(HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA Devi SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return FALSE; } + +/*********************************************************************** + * CM_Request_Device_EjectA (SETUPAPI.@) + */ +CONFIGRET WINAPI CM_Request_Device_EjectA(DEVINST dev, PPNP_VETO_TYPE type, LPSTR name, ULONG length, ULONG flags) +{ + FIXME("(0x%08x, %p, %p, %u, 0x%08x) stub\n", dev, type, name, length, flags); + return CR_SUCCESS; +} + +/*********************************************************************** + * CM_Request_Device_EjectW (SETUPAPI.@) + */ +CONFIGRET WINAPI CM_Request_Device_EjectW(DEVINST dev, PPNP_VETO_TYPE type, LPWSTR name, ULONG length, ULONG flags) +{ + FIXME("(0x%08x, %p, %p, %u, 0x%08x) stub\n", dev, type, name, length, flags); + return CR_SUCCESS; +} diff --git a/include/cfgmgr32.h b/include/cfgmgr32.h index da091153e4d..15340a60c64 100644 --- a/include/cfgmgr32.h +++ b/include/cfgmgr32.h @@ -175,6 +175,23 @@ typedef CHAR *DEVNODEID_A, *DEVINSTID_A; typedef WCHAR *DEVNODEID_W, *DEVINSTID_W; typedef ULONG REGDISPOSITION;
+typedef enum _PNP_VETO_TYPE +{ + PNP_VetoTypeUnknown, + PNP_VetoLegacyDevice, + PNP_VetoPendingClose, + PNP_VetoWindowsApp, + PNP_VetoWindowsService, + PNP_VetoOutstandingOpen, + PNP_VetoDevice, + PNP_VetoDriver, + PNP_VetoIllegalDeviceRequest, + PNP_VetoInsufficientPower, + PNP_VetoNonDisableable, + PNP_VetoLegacyDriver, + PNP_VetoInsufficientRights +} PNP_VETO_TYPE, *PPNP_VETO_TYPE; + DECL_WINELIB_CFGMGR32_TYPE_AW(DEVNODEID) DECL_WINELIB_CFGMGR32_TYPE_AW(DEVINSTID)
@@ -213,6 +230,9 @@ CMAPI CONFIGRET WINAPI CM_Locate_DevNodeW(PDEVINST,DEVINSTID_W,ULONG); #define CM_Locate_DevNode WINELIB_NAME_AW(CM_Locate_DevNode) CMAPI CONFIGRET WINAPI CM_Open_DevNode_Key(DEVINST dnDevInst, REGSAM access, ULONG ulHardwareProfile, REGDISPOSITION disposition, PHKEY phkDevice, ULONG ulFlags); +CMAPI CONFIGRET WINAPI CM_Request_Device_EjectA(DEVINST dev, PPNP_VETO_TYPE type, LPSTR name, ULONG length, ULONG flags); +CMAPI CONFIGRET WINAPI CM_Request_Device_EjectW(DEVINST dev, PPNP_VETO_TYPE type, LPWSTR name, ULONG length, ULONG flags); +#define CM_Request_Device_Eject WINELIB_NAME_AW(CM_Get_Device_ID_List_Ex)
#ifdef __cplusplus }
From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
Wine-bug: https://bugs.winehq.org/show_bug.cgi?id=45963
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com Signed-off-by: Vijay Kiran Kamuju infyquest@gmail.com --- dlls/setupapi/devinst.c | 11 +++++++++++ dlls/setupapi/setupapi.spec | 1 + 2 files changed, 12 insertions(+)
diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c index 537b335176b..582da376168 100644 --- a/dlls/setupapi/devinst.c +++ b/dlls/setupapi/devinst.c @@ -3855,3 +3855,14 @@ BOOL WINAPI SetupDiGetDevicePropertyW(HDEVINFO devinfo, PSP_DEVINFO_DATA device_ SetLastError(ls); return !ls; } + +/*********************************************************************** + * 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 d633211db99..1be2b629b70 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
From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com Signed-off-by: Vijay Kiran Kamuju infyquest@gmail.com --- dlls/setupapi/devinst.c | 22 ++++++++++++++++++++++ dlls/setupapi/setupapi.spec | 2 ++ 2 files changed, 24 insertions(+)
diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c index 537b335176b..2c95b5cfb9e 100644 --- a/dlls/setupapi/devinst.c +++ b/dlls/setupapi/devinst.c @@ -3855,3 +3855,25 @@ BOOL WINAPI SetupDiGetDevicePropertyW(HDEVINFO devinfo, PSP_DEVINFO_DATA device_ SetLastError(ls); return !ls; } + +/*********************************************************************** + * 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; +} + +/*********************************************************************** + * 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 d633211db99..1d18870120a 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 @@ -379,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)
From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com Signed-off-by: Vijay Kiran Kamuju infyquest@gmail.com --- dlls/setupapi/devinst.c | 11 +++++++++++ dlls/setupapi/setupapi.spec | 1 + 2 files changed, 12 insertions(+)
diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c index 582da376168..2c95b5cfb9e 100644 --- a/dlls/setupapi/devinst.c +++ b/dlls/setupapi/devinst.c @@ -3866,3 +3866,14 @@ BOOL WINAPI SetupDiInstallDeviceInterfaces(HDEVINFO dev, PSP_DEVINFO_DATA info_d SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 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 1be2b629b70..1d18870120a 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)