From: Etaash Mathamsetty 45927311+Etaash-mathamsetty@users.noreply.github.com
--- dlls/setupapi/devinst.c | 24 ++++++++++++++++++++++++ dlls/setupapi/stubs.c | 10 ---------- 2 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c index 9a418dd2706..d49a75bad5b 100644 --- a/dlls/setupapi/devinst.c +++ b/dlls/setupapi/devinst.c @@ -4240,6 +4240,30 @@ CONFIGRET WINAPI CM_Locate_DevNodeW(PDEVINST pdnDevInst, DEVINSTID_W pDeviceID, return CM_Locate_DevNode_ExW(pdnDevInst, pDeviceID, ulFlags, NULL); }
+/*********************************************************************** + * CM_Locate_DevNode_ExA (SETUPAPI.@) + */ +CONFIGRET WINAPI CM_Locate_DevNode_ExA(PDEVINST pdnDevInst, DEVINSTID_A pDeviceID, ULONG ulFlags, HMACHINE hMachine) +{ + CONFIGRET ret; + int len; + WCHAR *buffer; + + len = MultiByteToWideChar(CP_ACP, 0, pDeviceID, -1, NULL, 0); + + buffer = calloc(len, sizeof(WCHAR)); + + if (!buffer) return CR_OUT_OF_MEMORY; + + MultiByteToWideChar(CP_ACP, 0, pDeviceID, -1, buffer, len); + + ret = CM_Locate_DevNode_ExW(pdnDevInst, buffer, ulFlags, hMachine); + + free(buffer); + + return ret; +} + /*********************************************************************** * SetupDiGetINFClassA (SETUPAPI.@) */ diff --git a/dlls/setupapi/stubs.c b/dlls/setupapi/stubs.c index 28ce3e68fd6..c173fdfe52b 100644 --- a/dlls/setupapi/stubs.c +++ b/dlls/setupapi/stubs.c @@ -311,16 +311,6 @@ BOOL WINAPI SetupDiGetClassImageIndex(PSP_CLASSIMAGELIST_DATA ClassImageListData return FALSE; }
-/*********************************************************************** - * CM_Locate_DevNode_ExA (SETUPAPI.@) - */ -CONFIGRET WINAPI CM_Locate_DevNode_ExA(PDEVINST pdnDevInst, DEVINSTID_A pDeviceID, ULONG ulFlags, HMACHINE hMachine) -{ - FIXME("%p %s 0x%08lx %p: stub\n", pdnDevInst, debugstr_a(pDeviceID), ulFlags, hMachine); - - return CR_FAILURE; -} - /*********************************************************************** * CM_Locate_DevNode_ExW (SETUPAPI.@) */