The StringTable structure depicts the organization of data in a file-version resource. This structure is not a true C-language structure because it contains variable-length members. This structure was created solely to depict the organization of data in a version resource and does not appear in any of the header files shipped with the Microsoft Platform Software Development Kit (SDK).
The StringTable structure contains language and code page formatting information for the strings specified by the Children member. A code page is an ordered character set.
StringTable {
WORD wLength;
WORD wValueLength;
WORD wType;
WCHAR szKey[];
WORD Padding[];
String Children[];
};
Each Microsoft Standard Language identifier contains two parts: the low-order 10 bits specify the major language, and the high-order 6 bits specify the sublanguage. For a table of valid identifiers see Language Identifiers.
The Children member of the StringFileInfo structure contains at least one StringTable structure.
Set the code page portion of the szKey member to the hexadecimal value 0x04b0 to indicate the Unicode code page, or to the hexadecimal value of the code page that is appropriate for the language component. After you choose the value for the code page you should continue to use the same value in later revisions to the file.
An executable file or dynamic-link library (DLL) that supports multiple languages should have a version resource for each language, rather than a single version resource that contains strings in several languages. However, if you use the Var structure to list the languages that your application supports, the number of StringTable structures in the version resource is directly related to the number of language/code page identifier pairs in the Value member of the Var structure.
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
File Installation Library Overview, File Installation Library Structures, String, StringFileInfo, Var, VarFileInfo, VS_VERSIONINFO