Rémi Bernon (@rbernon) commented about dlls/cfgmgr32/cfgmgr32.c:
+ + init_property( &prop, &DEVPKEY_Device_Parent, &type, (BYTE *)parent_id, &size, TRUE ); + if (get_device_property( HKEY_LOCAL_MACHINE, &dev, &prop )) return CR_NO_SUCH_DEVNODE; + + return CM_Locate_DevNodeW( parent, parent_id, 0 ); +} + +/*********************************************************************** + * CM_Get_Parent_Ex (cfgmgr32.@) + */ +CONFIGRET WINAPI CM_Get_Parent_Ex( DEVINST *parent, DEVINST node, ULONG flags, HMACHINE machine ) +{ + TRACE( "parent %p, node %#lx, flags %#lx, machine %p\n", parent, node, flags, machine ); + if (machine) FIXME( "machine %p not implemented!\n", machine ); + return CM_Get_Parent( parent, node, flags ); +} Please do it the other way around, CM_Get_Parent calling CM_Get_Parent_Ex with NULL HMACHINE. Also lets just omit the traces for CM_Get_Parent.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/10604#note_136242