Serial Port Write Error 0x00000460: The Messy Fix
Windows throws this when a serial write gets interrupted by another write. Usually bad app timing or a wonky driver. Here's how to kill it.
Quick Answer
Uninstall the serial port driver in Device Manager, reboot, and let Windows reinstall it fresh. That clears 90% of 0x00000460 cases. If it's still broken, you've got a timing bug in your app.
Why This Happens
I see this error mostly on older industrial gear—label printers, barcode scanners, CNC machines—where some legacy app tries to write to a COM port while another thread or process already has a write operation in flight. Windows doesn't queue serial writes the way you'd expect; it flags this as ERROR_MORE_WRITES (0x00000460). It's not a hardware failure, it's a coordination problem. Had a client last month whose entire label printing line froze every time two label jobs overlapped by more than 200ms. Fresh driver fixed it.
Fix Steps
- Unplug any serial devices from the port. Pull the cable, then restart Windows to clear any stuck I/O.
- Open Device Manager. Expand Ports (COM & LPT). Right-click your serial port (usually COM1, COM3, or something like that) and select Uninstall device. Check Delete the driver software for this device if prompted.
- Restart your PC. Windows will automatically reinstall the default serial driver. Test your app.
- If the error persists, open the port properties again (Device Manager > right-click > Properties > Port Settings > Advanced). Under COM Port Number, assign a higher number like COM5 or COM9. Sounds weird, but I've seen it resolve conflicts with virtual COM ports from Bluetooth or USB-to-serial adapters.
If That Doesn't Work
The driver's probably fine—the issue is in your app. Look for these:
- Multiple threads writing to the same COM port handle without a mutex or critical section. Check your code for overlapping
WriteFile()calls. - Third-party libraries (like serial-over-IP or port-sharing tools) that intercept the write. Had a client using a free USB-over-network tool that caused this exact error. Ditching it fixed everything.
- Windows 10/11 Fast Startup—disable it. Go to Control Panel > Power Options > Choose what the power buttons do. Click Change settings that are currently unavailable, then uncheck Turn on fast startup. Reboot. Fast startup can leave serial drivers in a weird half-initialized state.
Prevention
Use a single-threaded write model for serial I/O. If you're writing an app, always serialize writes through a queue or a dedicated worker thread. Hardware-wise, stick to USB-to-serial adapters with FTDI chipsets—I've had far fewer problems with those than with Prolific or CH340 clones. And never share a COM port between two processes; Windows won't stop you, but it'll bite you with this error.
If you're stuck, try a different USB port or a powered USB hub. Bad power can cause intermittent write failures that look like this error but aren't.
Was this solution helpful?