title: Virtual USB device for Windows?
body: <p>I'm investigating options available for creating a virtual USB device (say, a keyboard or a mass storage device), so to emulate its function as needed <em>and</em> to allow a userspace app to emulate its insertion/removal at will.</p>
  
  <p>What I am not clear about is how to go about the emulation of insertion/removal. It seems that one option is to emulate a (virtual) USB hub and have it fake the device arrival/departure events (and I would also supply the device driver for my virtual USB device and that's where my device logic will reside).</p>
  
  <p>I know my way around Windows kernel (having written NDIS miniport drivers), not afraid of SoftICE, but USB is not my domain, just starting out with it.</p>
  
  <p>Am I on the right track with the virtual hub approach? If so, is developing virtual hub drivers supported by WDK (it doesn't seem to be)?</p>
  
  <p>Any other options?</p>
  
  <p>--</p>
  
  <p>(Edit) Forgot to mention - I am aware of DSF, but it is <a href="http://msdn.microsoft.com/en-us/library/ff542516.aspx" rel="noreferrer">not supported</a> on W8.</p>