(SST) ShlWAPIFunctionInfo Version 1.0

Developer Reference
TSSTDllVerInfo.RetResourceFileOS Method
Retrieves a binary value from the version information resources of an executable that specifies the class of operating systems the file containing the version information resources was developed for.
Scope
Protected (i.e. the method can only be accessed from code in a descendant class or the unit it which it is implemented).
Syntax
Function RetResourceFileOS() : DWORD;  
Parameters
None  
Return Values
Returns an unsigned integer value that specifies a value that represents an operating system or, alternatively, a combination of operating system and shell. It should therefore return one or a combination of two of the following values:
VOS_UNKNOWN (= 0x00000000) The operating system was not specified or is unknown.
VOS_DOS (= 0x00010000) The executable was developed to run under Microsoft DOS.
VOS_OS216 (= 0x00020000) The executable was developed to run under a 16 bit version or in the 16 bit subsystem of IBM OS/2.
VOS_OS232 (= 0x00030000) The executable was developed to run under a 32 bit OS/2 version.
VOS_NT (= 0x00040000) The executable was developed to run under Microsoft Windows NT and its successors (i.e. Windows 2000 ... Windows 8).
According to the Microsoft documentation on the subject, the above may be combined with the following flags. But, see further below.
VOS__BASE (= 0x00000000)  
VOS__WINDOWS16 (= 0x00000001) The executable was developed for the graphical user interface of 16 bit Windows versions (e.g. Windows 3.1).
VOS__PM16 (= 0x00000002) The executable was designed to use the 16 bit version of the OS/2 Presentation Manager (IBM's graphical user interface and equivalent to the Microsoft Windows Desktop) to interact with the user.
VOS__PM32 (= 0x00000003) The executable uses the 32 bit version of the OS/2 Presentation Manager (IBM's graphical user interface and equivalent to the Microsoft Windows Desktop) to interact with the user.
VOS__WINDOWS32 (= 0x00000004) The executable was developed for the Microsoft Windows graphical user interface (GUI) of 32 bit Windows versions (e.g. Windows 95, Windows 2000, etc.).
The following values are also defined in WinVer.h, but not all were documented prior to MS SDK version 6.1. Furthermore, the MS SDK 6.1 documentation states "An application can combine these values (meaning the above, the author) to indicate that the file was designed for one operating system running on another".
Unless this refers to the era in which Microsoft and IBM cooperated in the development of the, then, next generation, operating systems and each had agreed to implement support for the other's software applications (i.e. Microsoft for OS/2 and IBM for DOS and Windows 3.x), this can only allude to DOS and the 16 bit Windows versions (e.g. Windows 3.1) and (to a lesser degree) DOS and the Win 9x series (i.e. Windows 95, 98, and ME).
This leads us to believe what was orignially and really meant were combinations of operating systems and shells, with the high word specifying the operating system and the low word the shell. However, we'll admit this isn't altogether consistent in its logic either and therefore remains to be clarified by Microsoft (and/or IBM).
VOS_DOS_WINDOWS16 (= 0x00010001) The executable was developed for 16 bit Windows operating systems and uses the 16 bit graphical user interface to interact with the user.
VOS_DOS_WINDOWS32 (= 0x00010004) The file is an executable developed for the Win32s and/or Windows 9x operating systems (which were both a mixture of 16 and 32 bit code). It uses the 32 bit, Windows GUI for its user interface.
VOS_OS216_PM16 (= 0x00020002) The executable was developed for 16 bit OS/2 operating systems and uses the 16 bit Presentation Manager (IBM's graphcial user interface), to interact with the user.
VOS_OS232_PM32 (= 0x00030003) The file is a 32 bit executable that was developed for IBM OS/2 and uses that operating system's 32 bit graphical user interface, the Presentation Manager.
VOS_NT_WINDOWS32 (= 0x00040004) The file is a 32 (or 64) bit executable developed for Microsoft Windows NT (and its successors) and uses the Windows graphical user interface (GUI) to interact with the user.
Remarks
The returned value is not available in form of a separate property.
The function merely returns the "dwFileOS" member/field of the ResourceFixedFileInfo property.
Requirements
Unit (Declared and implemented in) SSTNewUnit.pas
Library SSTNewUnit.dcu/SSTNewUnit.obj
Unicode Implemented as ANSI version only.
See Also
TSSTDllVerInfo, DllFileName, RetResourceFileType, RetResourceFileSubtype, ResourceFixedFileInfo, LastError, Source Code
 
Windows APIs: VERSIONINFO Resource, VS_VERSIONINFO Structure, VS_FIXEDFILEINFO.


Document/Contents version 1.00
Page/URI last updated on April 28, 2022
 
Copyright © Stoelzel Software Technologie (SST) 2010 - 2017
Suggestions and comments mail to:
webmaster@stoelzelsoftwaretech.com