Recommended API for accessing HID USB Interface for FIDO device

Stuart Schechter 1 Reputation point
2021-03-02T08:14:17.547+00:00

I'm writing a console and GUI app that needs to communicate with a FIDO security key over the HID protocol (usage page: 0xf1d0, usageId: HID_USAGE_PAGE_GENERIC==0x0001).

According to https://learn.microsoft.com/en-us/previous-versions/windows/apps/dn263140(v=win.10),

The Windows.Devices.HumanInterfaceDevice API supports most HID devices. However, it blocks the top-level application collection represented by the following usage pages, to prevent conflict with other Windows APIs and OS behavior:

I was hoping that I could use the UWP interfaces so long as I ran as root, but that doesn't seem to work.

I can't use the built-in FIDO support because I am using a special vendor-specific feature.

So, if I can't use that, but need to build an app that will allow HID communication even if it requires a UAC escalation, which interface should I use and how do I ensure the UAC escalation happens if one is needed? Is it possible to do so in c# so that I'm at least using a type-safe language?

C#
C#
An object-oriented and type-safe programming language that has its roots in the C family of languages and includes support for component-oriented programming.
10,289 questions
{count} votes