指定されたオペレーティング システムとオペレーティング システムの機能を確認します。
構文
BOOL IsOS(
[in] DWORD dwOS
);
パラメーター
[in] dwOS
型: DWORD
チェック対象のオペレーティング システムまたはオペレーティング システム機能を指定する値。 次のいずれかの値 (値を結合することはできません)。
| 名前 | 価値 | Description |
|---|---|---|
| OS_WINDOWS | 0 | プログラムは、次のいずれかのバージョンの Windows で実行されています。
|
| 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 またはその後続の 1 つで実行されています。 |
| OS_WIN2000PRO | 八 | 使用しないでください。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 (またはその後継の 1 つ) はターミナル サーバー モードまたは管理モードのリモート デスクトップで実行されています。 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 (またはその後継の 1 つ) で実行されています。 これは、 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 ワークステーションまたは Windows 2000 (またはその後継者の 1 つ) Professional で実行されています。 VER_PLATFORM_WIN32_NT > VER_NT_WORKSTATIONと同じです。 |
| 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 Edition で実行されています。 (VER_NT_SERVER || VER_NT_DOMAIN_CONTROLLER) & VER_SUITE_ENTERPRISE > に相当します。VER_SUITE_DATACENTER。 |
| OS_SERVER | 23 | プログラムは、任意のバージョンの Windows Server (Standard) または Windows Server Standard Edition で実行されています。 この値は、VER_SUITE_DATACENTER、VER_SUITE_ENTERPRISE、VER_SUITE_SMALLBUSINESS、またはVER_SUITE_SMALLBUSINESS_RESTRICTEDでは true を返しません。 |
| OS_TERMINALSERVER | 二十四 | プログラムは、アプリケーション サーバー モードの Windows 2000 ターミナル サーバー、またはターミナル サーバー モードの Windows Server 2003 (またはその後続の 1 つ) で実行されています。 これは、 VER_SUITE_TERMINAL > VER_SUITE_SINGLEUSERTSと同じです。 |
| OS_PERSONALTERMINALSERVER | 二十五 | このプログラムは、Windows XP (またはその後継者の 1 つ)、Home Edition、Professional で実行されています。 これは 、VER_SUITE_SINGLEUSERTS > に相当します。VER_SUITE_TERMINAL。 |
| OS_FASTUSERSWITCHING | 26 | 高速ユーザー切り替えが有効になっています。 |
| OS_WELCOMELOGONUI | 二十七 | 常に FALSE を返します。 |
| OS_DOMAINMEMBER | 28 | コンピューターがドメインに参加しています。 |
| OS_ANYSERVER | 二十九 | プログラムは、任意の Windows Server 製品で実行されています。 VER_NT_SERVER || VER_NT_DOMAIN_CONTROLLERと同じです。 |
| OS_WOW6432 | 30 | このプログラムは、64 ビット Windows で実行されている 32 ビット プログラムです。 |
| OS_WEBSERVER | 31 | 常に FALSE を返します。 |
| OS_SMALLBUSINESSSERVER | 32 | このプログラムは、制限の厳しいクライアント ライセンスが適用された Microsoft Small Business Server で実行されています。 VER_SUITE_SMALLBUSINESS_RESTRICTEDと同じです。 |
| OS_TABLETPC | 33 | プログラムは、Windows XP タブレット PC エディションまたはその後継の 1 つで実行されています。 |
| OS_SERVERADMINUI | 34 | ユーザーには管理者 UI が表示されます。 サーバー以外のコンピューターにサーバー管理 UI を設定できます。 この値は、管理者のプロファイルがサーバー以外にローミングされたこと、および UI が管理者に適していることをアプリケーションに通知します。 それ以外の場合、ユーザーには管理者設定と管理者以外の設定の組み合わせが表示されます。 |
| OS_MEDIACENTER | 35 | このプログラムは、Windows XP Media Center Edition またはその後続の 1 つで実行されています。 GetSystemMetrics(SM_MEDIACENTER) と同等です。 |
| OS_APPLIANCE | 36 | プログラムは Windows アプライアンス サーバーで実行されています。 |
戻り値
型: BOOL
指定したオペレーティング システムまたはオペレーティング システム機能が検出された場合は 0 以外の値を返します。それ以外の場合は FALSE を返します。
注釈
Windows Vista および Windows 7 の値は指定されていません。 これらのオペレーティング システムのいずれかが存在するかどうかを確認するには、 VerifyVersionInfo を使用します。
Windows Vista より前のバージョンの Windows では、 IsOS は名前でエクスポートされず、パブリック ヘッダー ファイルで宣言されていませんでした。 このような場合に使用するには、 GetProcAddress を使用し、Shlwapi.dll から序数 437 を要求して関数ポインターを取得する必要があります。 Windows Vista では、 IsOS は Shlwapi.h に含まれており、これは必要ありません。
サーバー製品を参照する場合、"Windows Server" は Standard Edition サーバーのみを指します。 すべてのサーバー製品が特定のフラグでカバーされている場合は、テーブル内で明示的に呼び出されます。
Requirements
| Requirement | 価値 |
|---|---|
| サポートされる最小クライアント | Windows 2000 Professional、Windows XP [デスクトップ アプリのみ] |
| サポートされている最小のサーバー | Windows 2000 Server、Windows Server 2003 [デスクトップ アプリのみ] |
| ターゲット プラットフォーム の | ウィンドウズ |
| Header | shlwapi.h |
| Library | mincore_downlevel.lib |
| DLL | Shlwapi.dll (バージョン 5.0 以降) |