sdlxHidGetProductString function hidapi

String? sdlxHidGetProductString(
  1. Pointer<SdlHidDevice> dev, {
  2. int maxlen = 256,
})

Get The Product String from a HID device.

\param dev a device handle returned from SDL_hid_open(). \param string a wide string buffer to put the data into. \param maxlen the length of the buffer in multiples of wchar_t. \returns 0 on success or a negative error code on failure; call SDL_GetError() for more information.

\since This function is available since SDL 3.2.0.

extern SDL_DECLSPEC int SDLCALL SDL_hid_get_product_string(SDL_hid_device *dev, wchar_t *string, size_t maxlen)

Implementation

String? sdlxHidGetProductString(Pointer<SdlHidDevice> dev, {int maxlen = 256}) {
  String? result;
  final stringPointer = ffi.calloc<WChar>(maxlen);
  final errorcode = sdlHidGetProductString(dev, stringPointer, maxlen);
  if (errorcode == 0) {
    result = stringPointer.toDartString();
    if (result.isEmpty) {
      result = null;
    }
  } else {
    result = null;
  }
  stringPointer.callocFree();
  return result;
}