writeBytesFromUint8List method

bool writeBytesFromUint8List(
  1. Uint8List uint8list, {
  2. int timeout = 500,
})

writeBytesFromUint8List will write Uint8List directly, please ensure the last of list is 0 terminator if you want to convert it to char.

Implementation

bool writeBytesFromUint8List(Uint8List uint8list, {int timeout = 500}) {
  final lpBuffer = uint8list.allocatePointer();
  final lpNumberOfBytesWritten = calloc<DWORD>();

  try {
    if (WriteFile(handler!, lpBuffer, uint8list.length,
            lpNumberOfBytesWritten, _over) !=
        TRUE) {
      /// Overlapped will cause IO_PENDING
      return _getOverlappedResult(
          handler!, _over, lpNumberOfBytesWritten, timeout);
    }
    return true;
  } finally {
    free(lpBuffer);
    free(lpNumberOfBytesWritten);
  }
}