In the same section of that page, there is a HidTest program with source. That program apparently uses HID controller code found through a link called "HID Controller component suite for Delphi". Perhaps that could give you what you're looking for? (At least if you can pick the relevant pieces out of all that Delphi code.)
I have been researching the exact kind of thing recently, but I haven't had the time to actually try any of it yet. So what follows here is a bit speculative.
I believe what you need to do is open connection to the device as USB device. Functions at the HID level don't appear to give the description you want. Here is a different SO question about getting the VendorID and ProductID from a USB device. I think you could use a very similar technique to read the USB_DEVICE_DESCRIPTOR
and thus get access to the iProduct
field, which I believe should be the description you want.
I have come across a program called USBView that apparently does this kind of communication (among other things) with USB devices. I found a compiled version of it here. However the source is supposedly included in the Windows Driver Development Kit. That would likely be C or C++ source, but I have not yet had time to download the DDK from Microsoft and confirm what's actually there.
EDIT:
I've had time to dig into this deeper. And what you found out about HidD_GetProductString
was helpful too. I've also found this page of examples from Intel. The "Display HID" program there shows one way to use that function.
Based on that function's documentation and that example, I get the impression that it is reading the same iProduct
from the device, apparently doing so from the HID level instead of the USB level. Or something like that. All I know for sure is that it is working in my own test program so far.