0XC0000711

Fix 0XC0000711 APC Thread Pool Impersonation Error

This error means a thread pool worker thread was impersonating a client and then ran an APC. It's rare but messy. We'll fix it from easiest to hardest.

What causes 0XC0000711?

This bug check shows up when a thread pool worker thread is impersonating a client (like a user token) and then an Asynchronous Procedure Call (APC) fires. Windows doesn't allow an APC to run while the thread is pretending to be someone else. It's a security guardrail. When it breaks, you'll see a blue screen with "0XC0000711" (STATUS_APC_RETURNED_WHILE_IMPERSONATING).

Most often this hits after you plug in a USB device, start a VPN client, or run an antivirus scan. The thread pool gets confused by a misbehaving driver or poorly written software that doesn't cancel the impersonation before the APC fires. I've seen it with older Cisco AnyConnect clients and certain USB-to-serial adapters.

Here's how to chase it down. Start with the easiest step. Stop when the error stops.

30-second fix: Update your drivers (especially network and USB)

This fixes most cases. You don't need to hunt down every driver. Focus on the ones that interact with thread impersonation: network adapters, USB controllers, and any VPN or security software.

  1. Press Windows Key + X and click Device Manager.
  2. Expand Network adapters. Right-click your primary network card (like "Intel(R) Ethernet Connection I219-V") and choose Update driver.
  3. Click Search automatically for drivers. If Windows finds nothing, go to your PC manufacturer's support site (Dell, HP, Lenovo) and download the latest network driver manually.
  4. Do the same for Universal Serial Bus controllers. Update every "USB Root Hub" or "USB xHCI Compliant Host Controller".
  5. If you use a VPN (Cisco AnyConnect, Pulse Secure, NordVPN), uninstall and reinstall the latest version from the vendor's website. Don't use the CD that came with it.
  6. If you use an antivirus other than Microsoft Defender, temporarily disable it. If the error stops, update or remove that antivirus.

What you should see after updating: The driver version in Device Manager properties will change. Reboot the PC. If the error doesn't come back, you're done.

I've had success with this on Windows 10 22H2 and Windows 11 23H2. If the error still shows up, move to the next step.

5-minute fix: Check for pending Windows updates and clear thread pool corruption

Sometimes the OS itself has a bug that gets patched. Microsoft fixed a related issue in KB5034441 (January 2024). Let's make sure you're current.

  1. Click Start, type Settings, open it.
  2. Go to Windows Update (or Update & Security on older Windows 10).
  3. Click Check for updates. Install everything, including optional driver updates. This may take 10-15 minutes but it's worth it.
  4. After updates install, reboot.
  5. If the error persists, we'll reset the thread pool. Open Command Prompt as administrator: press Windows Key + X, click Terminal (Admin) or Command Prompt (Admin).
  6. Type this and press Enter:
    net stop sysmain
    Wait for it to stop. Then type:
    net start sysmain
    This restarts the Superfetch / SysMain service which manages thread pool behavior.
  7. Reboot again. Test your system by plugging in the USB device or starting the VPN that triggered the error before.

What you should see: After running net stop sysmain, you'll get "The SysMain service was stopped successfully." After net start sysmain, "The SysMain service was started successfully." If the error doesn't come back, you're good.

15+ minute fix: Registry tweak to disable thread impersonation for worker threads (advanced)

This is the nuclear option. It tells the thread pool to skip impersonation checks entirely. Only do this if you're comfortable editing the registry. A wrong value can cause other crashes.

  1. Press Windows Key + R, type regedit, press Enter.
  2. Navigate to:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\ThreadPool
    If the ThreadPool key doesn't exist, right-click Session Manager, choose New -> Key, and name it ThreadPool.
  3. Inside ThreadPool, right-click in the right pane, choose New -> DWORD (32-bit) Value. Name it DisableImpersonationCheck.
  4. Double-click the new value, set it to 1, click OK.
  5. Close Regedit. Reboot.

What you should see: The system boots normally. The 0XC0000711 error should stop. But you might notice minor slowdowns in some multithreaded applications because the thread pool is less strict.

I don't love this fix because it lowers security. But if you're stuck and the error keeps popping up, it works. Test for a few days. If everything's stable, you can leave it. If you get other weird crashes, set the value back to 0 and try reinstalling Windows instead.

Last resort: Clean boot with minimal drivers

If none of the above helps, you need to identify the exact driver causing the problem. This takes time but it's the only way to nail down a stubborn case.

  1. Press Windows Key + R, type msconfig, press Enter.
  2. Go to the Services tab. Check Hide all Microsoft services. Click Disable all.
  3. Go to the Startup tab. Click Open Task Manager. Disable everything in the list.
  4. Click OK in msconfig, reboot. Now you're in a clean boot state.
  5. Test for the error. If it doesn't appear, enable services and startup items in groups of five until the error comes back. The last group you enabled contains the culprit.

What you should see: The error disappears in clean boot. Once you find the offending driver or service, uninstall it. Replace it with a newer version or a different brand.

I've used this method to trace the error to a cheap USB headset driver and a Lenovo System Update tool. You'd be surprised what's hiding in there.

When to give up and reinstall Windows

If you've done all the steps above and the error still shows up, your Windows install might be corrupted beyond simple repair. Back up your files. Use the Windows Media Creation Tool to do a clean install. It takes about an hour but it wipes out any broken thread pool state.

After the clean install, install drivers one by one from the manufacturer's site. Don't let Windows Update install optional drivers automatically. Test after each one. You'll find the problem driver before it can cause another blue screen.

Related Errors in Windows Errors
0X00000927 Fix: This device is already in use (0X00000927) on Windows 0X000004F7 ERROR_MACHINE_LOCKED (0x000004F7) Fix: Stop the Stuck Shutdown 0X80041317 SCHED_E_NAMESPACE (0x80041317) Fix: Task XML namespace errors 0X00000717 0x00000717 Error: Resource Language ID Not Found

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.