StringTable
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 Win32 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[];
String
Children[];
};
Members
wLength
Specifies the
length of the version resource.
wValueLength
Specifies the
length of the Value member in the current VS_VERSION_INFO
structure. This value is zero if there is no Value member associated
with the current version structure.
wType
Specifies the
type of data in the version resource. This member is 1 if the version resource
contains text data and 0 if the version resource contains binary data.
szKey
Specifies an
8-digit hexadecimal number stored as a Unicode string. The four most
significant digits represent the language identifier. The four least significant
digits represent the code page for which the data is formatted.
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
Padding
Contains as
many zero words as necessary to align the Children member on a 32-bit
boundary.
Children
Specifies a
list of zero or more String structures.
Remarks
The Children
member of the StringFileInfo structure contains at least one StringTable
structure with an szKey value of 04091200 . This value indicates that
the language is U.S. English and the code page is Unicode.
The code page
portion of the szKey member can be set to 1200 (decimal) or 0x04b0
(hexadecimal) to indicate Unicode. The code page can also be set to the value
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.
See Also