we have a difficult scenario. We have an expensive software (> 10.000 ) running on a Windows XP host. It does not run on a more recent windows. Windows XP is still allowed in our institution, but you have no network with it.
Now the harddisk of that pc broke, and i can't fix it. Too many bad sectors.
That means i have to reinstall XP and this dedicated software on an old pc, because XP does not support hardware from modern pc's.

Additionally there have to be several handhelds connected to that pc. These handhelds are for monitoring animal experiments and collecting data, and are connected to the pc via usb.

Having no network on that pc because of xp, it's not possible to store the important raw data from these handhelds on a redundant file server, but just on a poor desktop hd. I could scratch some data from the broken hd
with knoppix and dd_rescue, but not all.
Additionally the software needs a dongle, which is connected to the pc via a parallel interface.

My idea is to create a vm for that system. Then i don't have to use old hardware.
I'd like to use SLES with KVM. Is it possible to use the dongle in that scenario ? Can i passthrough a parallel interface to the guest ?
How good are my chances that the handhelds are connected properly to the guest ? Is it possible to have s.th. like shared folders ? Then i would connect the shared folder on the host side to our fileserver (mount via cifs),
so that from the guest i can store the data from the handhelds to an appropriate location.

I have some experience with kvm and i like it. But just "normal" scenarios, without special hardware and shared folders.

Thanks for any help.