Project JEDI - Issue Tracker
Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0006538 [JEDI VCL] 00 JVCL Components minor always 2016-12-04 19:28 2016-12-04 19:28
Reporter bflorac View Status public  
Assigned To
Priority normal Resolution open  
Status new   Product Version 3.48
Summary 0006538: JvHidControllerClass, BusType should be of type TGUID not string
Description According to MS, SetupDiGetDeviceRegistryProperty with SPDRP_BUSTYPEGUID returns a 16 byte GUID not a string.

See function: TJvHidPnPInfo.Create()...
FBusType := GetRegistryPropertyString(APnPHandle, ADevData, SPDRP_BUSTYPEGUID);
Additional Information To make it backward compatible, one could extract as TGUID and convert to string for the object.

New Function:

function TJvHidPnPInfo.GetRegistryPropertyGuid(PnPHandle: HDEVINFO;
  const DevData: TSPDevInfoData; Prop: DWORD): TGuid;
const
  GUID_NULL: TGUID = '{00000000-0000-0000-0000-000000000000}';
var
  BytesReturned: DWORD;
  RegDataType: DWORD;
begin
  BytesReturned := 0;
  RegDataType := 0;
  Result := GUID_NULL;
  SetupDiGetDeviceRegistryProperty(APnPHandle, ADevData, Prop, RegDataType, PByte(@Result), SizeOf(Result), BytesReturned);
end;

And then in TJvHidPnPInfo.Create():
  FBusType := GuidToString(GetRegistryPropertyString(APnPHandle, ADevData, SPDRP_BUSTYPEGUID));

Tags No tags attached.
Attached Files

- Relationships

There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2016-12-04 19:28 bflorac New Issue


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker