IsWindowsServer function

bool IsWindowsServer()

Indicates if the current OS is a Windows Server release.

To learn more, see learn.microsoft.com/windows/win32/api/versionhelpers/nf-versionhelpers-iswindowsserver.

Implementation

bool IsWindowsServer() {
  final osvi = adaptiveCalloc<OSVERSIONINFOEX>()
    ..ref.wProductType = VER_NT_WORKSTATION;
  final dwlConditionMask = VerSetConditionMask(0, VER_PRODUCT_TYPE, VER_EQUAL);
  try {
    return VerifyVersionInfo(osvi, VER_PRODUCT_TYPE, dwlConditionMask).value;
  } finally {
    free(osvi);
  }
}