mirror of
https://github.com/SagerNet/sing-box.git
synced 2026-08-31 13:51:29 +00:00
VBoxUSBMon only rewrites a device's IDs while PnP enumerates it, so adding a filter for an already-plugged device captured nothing until a physical replug, and releasing one left it dead under VBoxUSB.sys. Capture and release now drive the cfgmgr32 restart sequence (query-and-remove, hub port cycle, re-setup) around the filter change, mirroring usbipd-win's RestartingDevice. Capture also changes the devnode's identity to the VBox stub ID, which broke everything keyed on it: enumeration now reads the true vendor/product/class/speed from the parent hub's descriptor cache (the registry hardware ID reads as 80EE:CAFE once captured), data sessions locate the VBoxUSB interface by bus/address instead of the original instance ID, and Reconcile keeps exports alive through the re-enumeration window with a short absence grace. |
||
|---|---|---|
| .. | ||
| assets | ||
| assets_windows_amd64.go | ||
| assets_windows_arm64.go | ||
| assets_windows_unsupported.go | ||
| device_windows.go | ||
| driver_windows.go | ||
| monitor_windows.go | ||
| pnp_windows.go | ||
| privilege_windows.go | ||
| restart_windows.go | ||
| speed_windows.go | ||
| vboxusb.go | ||