String  787G54 

The String 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 String structure contains a string that describes a specific aspect of a file.

String { 

    WORD   wLength;

    WORD   wValueLength;

    WORD   wType;

    WCHAR  szKey[];

    WORD   Padding[];

    String Value[];

} String;

 

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 arbitrary Unicode string. The szKey member can be one or more of the following values. These values are guidelines only.

String

Meaning

Comments

The Value member contains any additional information that should be displayed for diagnostic purposes. This string can be an arbitrary length.

CompanyName

The Value member identifies the company that produced the file. For example,  Microsoft Corporation  or  Standard Microsystems Corporation, Inc. 

FileDescription

The Value member describes the file in such a way that it can be presented to users. This string may be presented in a list box when the user is choosing files to install. For example,  Keyboard driver for AT-style keyboards  or  Microsoft Word for Windows .

FileVersion

The Value member identifies the version of this file. For example, Value could be  3.00A  or  5.00.RC2 .

InternalName

The Value member identifies the file s internal name, if one exists. For example, this string would contain the module name for Windows dynamic-link libraries (DLLs), a virtual device name for Windows virtual devices, or a device name for MS-DOS device drivers.

LegalCopyright

The Value member describes all copyright notices, trademarks, and registered trademarks that apply to the file. This should include the full text of all notices, legal symbols, copyright dates, trademark numbers, and so on. In English, this string should be in the format  Copyright Microsoft Corp. 1990-1994 .

LegalTrademarks

The Value member describes all trademarks and registered trademarks that apply to the file. This should include the full text of all notices, legal symbols, trademark numbers, and so on. In English, this string should be in the format  Windows is a trademark of Microsoft Corporation .

OriginalFilename

The Value member identifies the original name of the file, not including a path. This enables an application to determine whether a file has been renamed by a user. This name may not be MS-DOS 8.3-format if the file is specific to a non-FAT file system.

PrivateBuild

The Value member describes by whom, where, and why this private version of the file was built. This string should only be present if the VS_FF_PRIVATEBUILD flag is set in the dwFileFlags member of the VS_FIXEDFILEINFO0ICGL structure. For example, Value could be  Built by OSCAR on \OSCAR2 .

ProductName

The Value member identifies the name of the product with which this file is distributed. For example, this string could be  Microsoft Windows .

ProductVersion

The Value member identifies the version of the product with which this file is distributed. For example, Value could be  3.00A  or  5.00.RC2 .

SpecialBuild

The Value member describes how this version of the file differs from the normal version. This entry should only be present if the VS_FF_SPECIALBUILD flag is set in the dwFileFlags member of the VS_FIXEDFILEINFO structure. For example, Value could be  Private build for Olivetti solving mouse problems on M250 and M250E computers .

 

Padding

Contains as many zero words as necessary to align the Value member on a 32-bit boundary.

Value

Specifies a zero-terminated string. See the szKey member description for more information.

 

Remarks

A String structure may have an szKey value of, for example,  CompanyName  and a Value of  Microsoft Corporation . Another String structure with the same szKey value could contain a Value of  Microsoft GmbH . This might occur if the second String structure were associated with a StringTable structure whose szKey value is 040704b0   that is, German/Unicode. The code page 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.

See Also

StringTable, VS_FIXEDFILEINFO, VS_VERSION_INFO