[DllImport("hid.dll", CharSet=CharSet.Auto, SetLastError=true)]
static extern Boolean HidD_GetManufacturerString(
SafeFileHandle HidDeviceObject,
StringBuilder Buffer,
Int32 BufferLength);
<DllImport("hid.dll", CharSet:=CharSet.Auto, SetLastError:=True)> _
Friend Shared Function HidD_GetManufacturerString( _
ByVal HidDeviceObject As SafeFileHandle, _
ByVal Buffer As System.Text.StringBuilder, _
ByVal BufferLength As Int32) As Boolean
End Function
None.
Do you know one? Please contribute it!
Note the use of CharSet.Auto in the DLL template.
Use of StringBuilder to create a variable to obtain the Manufacturer string instead of using MarshalAs. This approach is cleaner and doesn't require defining a Struct.
StringBuilder manufacturerString = new StringBuilder(128);
bool returnStatus = HidD_GetManufacturerString(hidHandle, manufacturerString, manufacturerString.Capacity);
if (returnStatus)
{
Console.WriteLine("Manufacturer name is {0}", manufacturerString.ToString());
}