Поделиться через


Функция IsOS (shlwapi.h)

Проверяет наличие указанных операционных систем и компонентов операционной системы.

Синтаксис

BOOL IsOS(
  [in] DWORD dwOS
);

Параметры

[in] dwOS

Тип: DWORD

Значение типа , указывающее, для какой операционной системы или компонента операционной системы проверка. Одно из следующих значений (нельзя объединить значения).

Имя Значение Описание
OS_WINDOWS 0 Программа выполняется в одной из следующих версий Windows:
  • Windows 95
  • Windows 98
  • Windows Me
Эквивалентно VER_PLATFORM_WIN32_WINDOWS. Обратите внимание, что в настоящее время ни одна из этих систем не поддерживается. OS_WINDOWS возвращает значение FALSE во всех поддерживаемых системах.
OS_NT 1 Всегда возвращает значение TRUE.
OS_WIN95ORGREATER 2 Всегда возвращает значение FALSE.
OS_NT4ORGREATER 3 Всегда возвращает значение FALSE.
OS_WIN98ORGREATER 5 Всегда возвращает значение FALSE.
OS_WIN98_GOLD 6 Всегда возвращает значение FALSE.
OS_WIN2000ORGREATER 7 Программа выполняется в Windows 2000 или на одном из ее последователей.
OS_WIN2000PRO 8 Не использовать; используйте OS_PROFESSIONAL.
OS_WIN2000SERVER 9 Не использовать; используйте OS_SERVER.
OS_WIN2000ADVSERVER 10 Не использовать; используйте OS_ADVSERVER.
OS_WIN2000DATACENTER 11 Не использовать; используйте OS_DATACENTER.
OS_WIN2000TERMINAL 12 Программа выполняется на сервере терминалов Windows 2000 либо в режиме удаленного администрирования, либо в режиме сервера приложений, либо Windows Server 2003 (или один из его преемников) в режиме сервера терминалов или удаленного рабочего стола в режиме администрирования. Рекомендуется использовать более конкретное значение, например OS_TERMINALSERVER, OS_TERMINALREMOTEADMIN или OS_PERSONALTERMINALSERVER.
OS_EMBEDDED 13 Программа выполняется в Windows Embedded любой версии. Эквивалентно VER_SUITE_EMBEDDEDNT.
OS_TERMINALCLIENT 14 Программа выполняется как клиент сервера терминалов. Эквивалент getSystemMetrics(SM_REMOTESESSION).
OS_TERMINALREMOTEADMIN 15 Программа выполняется на сервере терминалов Windows 2000 в режиме удаленного администрирования или Windows Server 2003 (или одном из его преемников) в режиме удаленного рабочего стола для администрирования (это режимы установки по умолчанию). Это эквивалентно VER_SUITE_TERMINAL && VER_SUITE_SINGLEUSERTS.
OS_WIN95_GOLD 16 Всегда возвращает значение FALSE.
OS_MEORGREATER 17 Всегда возвращает значение FALSE.
OS_XPORGREATER 18 Всегда возвращает значение FALSE.
OS_HOME 19 Всегда возвращает значение FALSE.
OS_PROFESSIONAL 20 Программа выполняется на Windows NT Workstation или Windows 2000 (или одного из ее преемников) Professional. Эквивалентно VER_NT_WORKSTATION VER_PLATFORM_WIN32_NT && .
OS_DATACENTER 21 Программа выполняется в Windows Datacenter Server или Windows Server Datacenter Edition любой версии. Эквивалент (VER_NT_SERVER || VER_NT_DOMAIN_CONTROLLER) && VER_SUITE_DATACENTER.
OS_ADVSERVER 22 Программа выполняется в Windows Advanced Server или Windows Server выпуск Enterprise любой версии. Эквивалентно (VER_NT_SERVER || VER_NT_DOMAIN_CONTROLLER) && VER_SUITE_ENTERPRISE && !VER_SUITE_DATACENTER.
OS_SERVER 23 Программа выполняется в Windows Server (standard) или Windows Server Standard Edition любой версии. Это значение не возвращает значение true для VER_SUITE_DATACENTER, VER_SUITE_ENTERPRISE, VER_SUITE_SMALLBUSINESS или VER_SUITE_SMALLBUSINESS_RESTRICTED.
OS_TERMINALSERVER 24 Программа выполняется на сервере терминалов Windows 2000 в режиме сервера приложений или в Windows Server 2003 (или одном из его преемников) в режиме сервера терминалов. Это эквивалентно VER_SUITE_TERMINAL && VER_SUITE_SINGLEUSERTS.
OS_PERSONALTERMINALSERVER 25 Программа выполняется в Windows XP (или одном из ее преемников), Home Edition или Professional. Это эквивалентно VER_SUITE_SINGLEUSERTS && ! VER_SUITE_TERMINAL.
OS_FASTUSERSWITCHING 26 Включена быстрая переключение пользователей.
OS_WELCOMELOGONUI 27 Всегда возвращает значение FALSE.
OS_DOMAINMEMBER 28 Компьютер присоединен к домену.
OS_ANYSERVER 29 Программа выполняется в любом продукте Windows Server. Эквивалент VER_NT_DOMAIN_CONTROLLER VER_NT_SERVER || .
OS_WOW6432 30 Это 32-разрядная программа, работающая в 64-разрядной версии Windows.
OS_WEBSERVER 31 Всегда возвращает значение FALSE.
OS_SMALLBUSINESSSERVER 32 Программа выполняется на Microsoft Small Business Server с ограниченной клиентской лицензией. Эквивалентно VER_SUITE_SMALLBUSINESS_RESTRICTED.
OS_TABLETPC 33 Программа выполняется в выпуске Windows XP Tablet PC Edition или на одном из ее последователей.
OS_SERVERADMINUI 34 Пользователю должен быть предоставлен пользовательский интерфейс администратора. Серверный административный пользовательский интерфейс можно использовать на несерверном компьютере. Это значение сообщает приложению, что профиль администратора перемещается в несерверный, и пользовательский интерфейс должен соответствовать администратору. В противном случае пользователю отображается сочетание параметров администратора и неадминистративатора.
OS_MEDIACENTER 35 Программа выполняется в Windows XP Media Center Edition или на одном из ее преемников. Эквивалент GetSystemMetrics(SM_MEDIACENTER).
OS_APPLIANCE 36 Программа выполняется на сервере устройства Windows.

Возвращаемое значение

Тип: BOOL

Возвращает ненулевое значение, если обнаружена указанная операционная система или компонент операционной системы, в противном случае — FALSE.

Комментарии

Значения не предоставляются для Windows Vista и Windows 7. Чтобы определить наличие любой из этих операционных систем, используйте VerifyVersionInfo.

В версиях Windows, предшествующих Windows Vista, IsOS не экспортировалась по имени и не объявлялась в общедоступном файле заголовка. Чтобы использовать его в таких случаях, необходимо использовать GetProcAddress и запросить порядковый номер 437 из Shlwapi.dll, чтобы получить указатель функции. В Windows Vista IsOS включена в Shlwapi.h, и это необязательно.

При обращении к серверным продуктам "Windows Server" относится только к серверу Standard Edition. Если все серверные продукты охвачены определенным флагом, он явно выделяется в таблице.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional, Windows XP [только классические приложения]
Минимальная версия сервера Windows 2000 Server, Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header shlwapi.h
DLL Shlwapi.dll (версия 5.0 или более поздняя)

См. также раздел

GetSystemMetrics

GetVersionEx

VerifyVersionInfo