I still use old MP600 and IP4200 printers because they and older Canon printers are refilling friendly. Because they do not have WiFi, so I use Airlink101 multi-function printer servers to make them network printers without losing USB features.
Unfortunately, these specific multi-function printer servers do not support 64-bit Windows. Fortunately, now Canon provides 64-bit drivers for those old printers and these drivers use virtual USB mode over network! So what I do is to connect the printer servers to a 32-bit Windows PC first. The 32-bit PC can be a real one or a virtual XP. Once the 32-bit PC can print to the Canon fine, share the printer.
Then on the 64-bit PC, download the x64 (not 32 nor x86) driver from Canon:
After the driver installed, add a new printer. Select network printers, type in the 32-bit PC's name and the shared printer's name:
That's it. Now on the 64 Windows PC I can see ink status and can do double-side and CD label printing as if the printers are really connected to a local USB port:
How could all these USB features possible through network sharing? Because the downloaded Canon printer driver uses virtual USB mode, not the traditional network sharing that does not retain USB features:
The downloaded x64 drivers are dated to 2009, but I swear I did not find them before. This solved a long time problem for me, because it is very hard to find a multi-function printer server that supports x64.
Note that these drivers still do not support scanner feature. I still need to use a virtual XP to scan remotely with my MP600.