All I have found is this page:
https://msdn.microsoft.com/en-gb/library/windows/hardware/mt188008(v=vs.85).aspx
That describes the IOCTls of the Ufx Class Extension (picture here: https://msdn.microsoft.com/en-gb/library/windows/hardware/mt187890(v=vs.85).aspx)
There isnt much in the documentation though.
Breaking on nt!IoCreateDevice() \Driver\Ufx01000 is creating a FILE_DEVICE_UNKNOWN named as “\Device\UfxCx0”
To access the stack I could put in an upper filter as the “Class Driver”, or call IoGetDeviceObjectPointer() on the name to get a device object pointer for example. Is there any recomended way to work with the stack?
The goal is to greate a generic ‘gadget’ driver that can dynamically connect and disconnect the device from the remote host, configure endpoints on the device and provide device and config descriptor data when enumerated ( pretty much like the g_serial etc gadgets do on linux).
I realise this is very new functionality on win10 IoT enterprise so the documentation is a bit limited so any info anyone can give would be appreciated.
Thanks in advance