Skip to content

A third-party driver package or software (like printer suites) reinstalls the device entry. Fix: Uninstall the associated software first, then run DeviceCleanup.exe, then reboot.

while (SetupDiEnumDeviceInfo(hDevInfo, idx++, &devInfoData)) DEVINST devInst = devInfoData.DevInst; if (IsNonPresentDevice(devInst)) WCHAR instanceId[256]; if (CM_Get_Device_ID(devInst, instanceId, 256, 0) == CR_SUCCESS) std::wcout << L"Removing: " << instanceId << std::endl;

// Get device description WCHAR desc[256]; if (SetupDiGetDeviceRegistryProperty(hDevInfo, &devInfoData, SPDRP_DEVICEDESC, NULL, (PBYTE)desc, sizeof(desc), NULL)) std::wcout << L" Description: " << desc << std::endl;