I'll get out my beagle and get it all setup to sniff.
The software is using the Win32 calls that you have posted to open (createfile) and read from the device.
But basically the snippet (not a complete for loop) is:
begin snippet
/////////////////////////////////////////////////////////////////////////////
DeviceFound = _MyDeviceManagement.FindDeviceFromGuid(HidGuid, ref DevicePathName);
for (int i = 0; i < 128; i++)
{
if (DevicePathName != null)
{
// the problem is that DevicePathName does not contain the device's path in it
if (DevicePathName.Contains(panelVidPid))
{
// found it now open it!
_HIDHandle = FileIOApiDeclarations.CreateFile
(DevicePathName,
FileIOApiDeclarations.GENERIC_READ | FileIOApiDeclarations.GENERIC_WRITE,
FileIOApiDeclarations.FILE_SHARE_READ | FileIOApiDeclarations.FILE_SHARE_WRITE,
ref Security,
FileIOApiDeclarations.OPEN_EXISTING,
0,
0);
/////////////////////////////////////////////////////////////////////////////
end snippet
It is stating in Device Status: This device cannot start. (Code 10)
Thanks,
John