このルーチンは、ACCEPT FROM SYSTEM-INFO 文で戻されるよりも詳しいシステム情報を提供します。
WINVERSION-DATA のグループ項目は次のとおりです。 |
01 WINVERSION-DATA. 03 WIN-MAJOR-VERSION PIC X COMP-X. 03 WIN-MINOR-VERSION PIC X COMP-X. 03 WIN-PLATFORM PIC X COMP-X. 88 PLATFORM-WIN-31 VALUE 1. 88 PLATFORM-WIN-95 VALUE 2. 88 PLATFORM-WIN-9X VALUE 2. 88 PLATFORM-WIN-NT VALUE 3. 03 WIN-WORDSIZE PIC X COMP-X. 88 WIN-WORDSIZE-16 VALUE 1. 88 WIN-WORDSIZE-32 VALUE 2. 88 WIN-WORDSIZE-64 VALUE 3. 03 WIN-BUILDNUMBER PIC X(4) COMP-X. 03 WIN-CSDVERSION PIC X(128). 03 WIN-SERVICEPACK-MAJOR PIC X COMP-X. 03 WIN-SERVICEPACK-MINOR PIC X COMP-X. 03 WIN-SUITEMASK PIC X(4) COMP-X. 03 WIN-PRODUCTTYPE PIC X COMP-X. 88 WIN-NT-WORKSTATION VALUE 1. 88 WIN-NT-DOMAIN-CONTROLLER VALUE 2. 88 WIN-NT-SERVER VALUE 3. WINVERSION-DATA は COPY ライブラリ winvers.def にあります。 |
WIN$VERSION から戻ると、WINVERSION-DATA に含まれるすべてのデータ要素に情報が挿入されます。WIN$VERSION を呼び出す際にホスト マシンが Windows や Windows NT ではない場合、フィールドはゼロに設定されます。
WINVERSION-DATA フィールドの意味は次のようになります。
Windows バージョン | WIN-MAJOR-VERSION | WIN-MINOR-VERSION | その他 |
---|---|---|---|
Windows 98 | 4 | 10 | |
Windows ME | 4 | 90 | |
Windows XP | 5 | 1 | 該当なし |
Windows XP Professional x64 Edition | 5 | 2 | OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION) && (SYSTEM_INFO.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64 |
Windows NT | 4 | 0 | |
Windows 2000 | 5 | 0 | 該当なし |
Windows Vista | 6 | 0 | OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION |
Windows 7 | 6 | 1 | OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION |
Windows Server 2008 R2 | 6 | 1 | OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION |
Windows Server 2008 | 6 | 0 | OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION |
Windows Server 2003 R2 | 5 | 2 | GetSystemMetrics(SM_SERVERR2) != 0 |
Windows Home Sever | 5 | 2 | OSVERSIONINFOEX.wSuiteMask & VER_SUITE_WH_SERVER |
Windows Server 2003 | 5 | 2 | GetSystemMetrics(SM_SERVERR2) == 0 |