RESOURCEHEADER
The
RESOURCEHEADER structure contains information about the resource header itself and the data
specific to this resource. This structure is not a true C-language structure,
because it contains variable-length members. This structure was created solely to
depict data organization in the resource file and does not appear in any of
the header files shipped with the Microsoft Win32 Software Development Kit (SDK).
struct RESOURCEHEADER {
DWORD DataSize;
DWORD HeaderSize;
[Ordinal or name TYPE];
[Ordinal or name NAME];
DWORD DataVersion;
WORD MemoryFlags;
WORD LanguageId;
DWORD Version;
DWORD Characteristics;
};
Members
DataSize
Specifies the size, in bytes, of the data that follows the resource header for
this particular resource. It does not include any file padding between this
resource and any resource that follows it in the resource file.
HeaderSize
Specifies the size, in bytes, of the resource header data that follows.
TYPE
Identifies the resource type. The
TYPE member can either be a numeric value or a null-terminated Unicode string that
specifies the name of the type. See the following Remarks section for a
description of
Name or
Ordinal type members.
If the
TYPE member is a numeric value, it can specify either a standard or a user-defined
resource type. If the member is a string, then it is a user-defined resource
type.
Following are the standard Windows resource types.
Resource Type Name
| Type number
|
RT_CURSOR
| -
|
RT_BITMAP
| -
|
RT_ICON
| -
|
RT_MENU
| -
|
RT_DIALOG
| -
|
RT_STRING
| -
|
RT_FONTDIR
| -
|
RT_FONT
| -
|
RT_ACCELERATOR
| -
|
RT_RCDATA
| -
|
RT_MESSAGETABLE
| -
|
RT_GROUP_CURSOR
| -
|
RT_GROUP_ICON
| 14
|
RT_VERSION
| 16
|
RT_DLGINCLUDE
| 17
|
RT_PLUGPLAY
| 19
|
RT_VXD
| 20
|
RT_ANICURSOR
| 21
|
RT_ANIICON
| 22
|
Values less than 256 are reserved for system use.
NAME
Specifies a name that identifies the particular resource. The
NAME member, like the
TYPE member, can either be a numeric value or a null-terminated Unicode string.
See the following Remarks section for a description of
Name or
Ordinal type members.
You do not need to add padding for
DWORD alignment between the
TYPE and
NAME members because they contain
WORD data. However, you may need to add a
WORD of padding after the
NAME member to align the rest of the header on
DWORD boundaries.
DataVersion
Specifies a predefined resource data version. This will determine which
version of the resource data the application should use.
MemoryFlags
Specifies a set of attribute flags that can describe the state of the
resource. Modifiers in the .RC script file assign these attributes to the resource. The
script identifiers can assign the following flag values.
Flag description
| Value
|
MOVEABLE
| 0x0010
|
FIXED
| ~MOVEABLE
|
PURE
| 0x0020
|
IMPURE
| ~PURE
|
PRELOAD
| 0x0040
|
LOADONCALL
| ~PRELOAD
|
DISCARDABLE
| 0x1000
|
The only attribute a Win32-based application uses is the DISCARDABLE
attribute. The remaining attributes are permitted in the script for compatibility with
existing scripts, but they are ignored.
The resource compiler for Windows NT always ignores the MOVEABLE, IMPURE, and
PRELOAD attribute flags. See
Resource-Definition Statements for additional information about resource attributes.
LanguageId
Specifies the language for the resource or set of resources. Set the value for
this member with the optional
LANGUAGE Statement resource definition statement. The parameters are constants from the WINNT.H
file.
Each resource includes a language identifier so the system or application can
select a language appropriate for the current locale of the system. If there
are multiple resources of the same type and name that differ only in the language
of the strings within the resources, you will need to specify a
LanguageId for each one.
Version
Specifies a user-defined version number for the resource data that tools can
use to read and write resource files. Set this value with the optional
VERSION resource definition statement.
Characteristics
Specifies user-defined information about the resource that tools can use to
read and write resource files. Set this value with the optional
CHARACTERISTICS resource definition statement.
Remarks
A variable type member is called a
Name or
Ordinal member, and it is used in most places in the resource file where an identifier
appears. The first
WORD of a
Name or
Ordinal type member indicates whether the member is a numeric value or a string. If
the first
WORD in the member is equal to the value 0xffff, which is an invalid Unicode
character, then the following
WORD is a type number. Otherwise, the member contains a Unicode string. For
additional information about resource definition statements see
Single-Line Statements and
Multiline Statements.
See Also
CHARACTERISTICS Statement,
LANGUAGE Statement,
VERSION Statement
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database