sdlxHidGetIndexedString function hidapi

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

Get a string from a HID device, based on its string index.

\param dev a device handle returned from SDL_hid_open(). \param string_index the index of the string to get. \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_indexed_string(SDL_hid_device *dev, int string_index, wchar_t *string, size_t maxlen)

See also:

Implementation

String? sdlxHidGetIndexedString(
  Pointer<SdlHidDevice> dev,
  int stringIndex, {
  int maxlen = 256,
}) => ffi.using((arena) {
  final stringPointer = arena<WChar>(maxlen);
  final errorcode = sdlHidGetIndexedString(
    dev,
    stringIndex,
    stringPointer,
    maxlen,
  );

  if (errorcode != 0) {
    return null;
  }

  final result = stringPointer.toDartString();
  return result.isEmpty ? null : result;
});