getUserName method

  1. @visibleForTesting
String getUserName()

Implementation

@visibleForTesting
String getUserName() {
  const unLen = 256;
  final pcbBuffer = calloc<DWORD>()..value = unLen + 1;
  final lpBuffer = wsalloc(unLen + 1);
  try {
    final result = GetUserName(lpBuffer, pcbBuffer);
    if (result != 0) {
      return lpBuffer.toDartString();
    } else {
      throw WindowsException(HRESULT_FROM_WIN32(GetLastError()));
    }
  } finally {
    free(pcbBuffer);
    free(lpBuffer);
  }
}