handle error OpenDeviceWithVidPid and add GetStringDescriptor

This commit is contained in:
nodtem66
2015-03-04 01:32:24 +07:00
parent 4bf19c7f86
commit f3b93aa5fa
2 changed files with 25 additions and 0 deletions

View File

@@ -203,3 +203,19 @@ found:
return end, nil
}
func (d *Device) GetStringDescriptor(desc_index int) (string, error) {
goBuffer := make([]byte, 200)
errno := C.libusb_get_string_descriptor_ascii(
d.handle,
C.uint8_t(desc_index),
(*C.uchar)(unsafe.Pointer(&goBuffer[0])),
200)
if errno < 0 {
return "", fmt.Errorf("usb: getstr: %s", usbError(errno))
}
stringDescriptor := string(goBuffer[:errno])
return stringDescriptor, nil
}