SPAPI_E_NO_SUCH_INTERFACE_CLASS (0X800F021E) fix
This error pops up when installing a USB device or driver and Windows can't find the interface class GUID. Here's how to fix it.
When and why this happens
You plug in a USB device — maybe a printer, a webcam, or some generic USB-to-serial adapter — and instead of the usual chime and a working device, you get an error. If you check Device Manager, you might see a yellow triangle with a message like "This device cannot start" or "The drivers for this device are not installed." But the real giveaway is when you dig into the event logs or look at the error code during driver installation: SPAPI_E_NO_SUCH_INTERFACE_CLASS (0X800F021E).
I've seen this most often with older hardware that uses custom drivers. For example, I had a user trying to install a USB-to-RS232 adapter on a Windows 10 22H2 machine. The device came with a CD that had drivers from 2012. The installer ran, but Windows kept throwing this error. Another common trigger is when you manually update a driver via Device Manager and point it to an INF file that references a device interface class GUID that doesn't exist on your system.
What's actually going on
Every device in Windows belongs to a class — keyboard, mouse, network adapter, etc. Each class has a globally unique identifier (GUID). When you install a driver, the INF file tells Windows which interface class the device uses. That class must be registered in the registry under HKLM\SYSTEM\CurrentControlSet\Control\Class.
When you get 0X800F021E, it means the INF file references a GUID that isn't in that registry key. Could be because the driver package is incomplete, the INF was written for a different OS version that had that class registered by default, or the device's own installation software failed to create the class entry.
The real fix isn't complicated, but it requires a little hands-on work in the Registry Editor and Device Manager.
Step-by-step fix
Before you start, make sure you're logged in as an administrator. You'll need to modify the registry, so if you're on a company-managed machine, check with your IT team first.
Step 1: Identify the missing GUID
- Press Windows Key + R, type
devmgmt.msc, and hit Enter to open Device Manager. - Find the device with the yellow triangle. Right-click it and select Properties.
- Go to the Details tab. In the Property dropdown, select Class GUID. Write down the GUID shown. It'll look like
{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}. - If the Class GUID field is empty or shows something weird (like a single digit), that's part of the problem. We'll fix it next.
- Go back to the Details tab and select Inf name from the property dropdown. Note the INF file name — something like
oem123.inf. - Press Windows Key + R, type
%windir%\inf\setupapi.dev.logand hit Enter. That opens a log file. Search (Ctrl+F) for the INF name you found. Look for lines that mentionNo such interface classorSPAPI_E_NO_SUCH_INTERFACE_CLASS. The log will show you the exact GUID being requested.
Now you have the missing GUID.
Step 2: Manually register the interface class GUID
- Press Windows Key + R, type
regedit, and hit Enter. Click Yes if prompted by UAC. - In Registry Editor, go to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class. - Right-click the Class folder, select New > Key, and name it exactly the GUID you found, including the curly braces. For example, if the log shows
{36fc9e60-c465-11cf-8056-444553540000}, type that exactly. - With that new key selected, right-click in the right pane, select New > String Value. Name it
Class. - Double-click the
Classvalue and type a name for the device class. This is just a label — use something simple like "USB Serial Converter" or whatever matches the device type. - Create another string value named
IconPathand leave it blank (or point to a valid icon path if you know one, but blank works). - Create a DWORD (32-bit) value named
NoInstallClassand set it to0. - Close Registry Editor.
Step 3: Reinstall the driver
- Go back to Device Manager. Right-click the problem device and select Uninstall device. Check the box "Delete the driver software for this device" if it appears, then click Uninstall.
- If the device stays visible after uninstall, that's normal. Don't worry about it.
- On the Device Manager menu bar, click Action > Scan for hardware changes. Windows should detect the device again and attempt to install the driver.
- If it still fails, right-click the device again and choose Update driver > Browse my computer for drivers > Let me pick from a list of available drivers on my computer.
- Click Have Disk, browse to the INF file you noted earlier (likely in
C:\Windows\Inf), select it, and OK your way through. Windows should now accept the driver because the interface class GUID exists in the registry.
If it still fails
Sometimes the INF file is just bad. Maybe it references a GUID that's meant for a different OS (like Windows 7 vs Windows 10). If the above steps don't work, here's what to check:
- Look at the INF file directly. Open a Command Prompt as admin, navigate to
C:\Windows\Inf, and runfindstr /i "ClassGUID" oem123.inf(replace with your INF name). See if the GUID matches what's in the log. If not, the INF might be corrupt or for a different device. - Try a different driver version. Go to the device manufacturer's website and download the latest driver for your exact Windows version (10, 11, 32-bit or 64-bit). Sometimes the bundled driver is ancient.
- Use Windows Update. Right-click the device in Device Manager, choose Update driver > Search automatically for drivers. Windows might find a compatible class from its own catalog.
- Check for driver signing issues. If the driver isn't signed for your version of Windows, you might need to temporarily disable driver signature enforcement. That's a separate process, but it's a potential roadblock.
- Look for other devices with the same class. Sometimes the class GUID was already used by another device, but the driver didn't register it properly. Use Device Manager's View > Devices by type to see if you have multiple devices under the same class.
In my experience, the manual registry entry fixes 9 out of 10 cases. The rest usually need a proper driver from the manufacturer. Don't waste time reinstalling Windows or running generic system file checks — this error is almost always a missing registry key.
Was this solution helpful?