nameID typeID [load-mem] filename
The filename specifies the name of a file containing the binary data of the resource. The contents of the file are included as the resource. RC does not interpret the binary data in any way. It is the programmer's responsibility to ensure that the data is properly aligned for the target machine architecture.
A user-defined resource can also be defined completely in the resource script using the syntax:
nameID typeID [load-mem]
A user-defined resource statement specifies a resource that contains application-specific data. The data can have any format and can be defined either as the content of a given file (if the filename parameter is given) or as a series of numbers and strings (if the raw-data block is given).
Specifies either a unique name or a 16-bit unsigned integer that identifies the resource.
Specifies either a unique name or a 16-bit unsigned integer that identifies the resource type. If a number is given, it must be greater than 255. The numbers 1 through 255 are reserved for existing and future redefined resource types.
Specifies loading and memory attributes for the resource. For more information, see "Common Resource Attributes".
Specifies the name of the file that contains the resource data. The parameter must be a valid filename; it must be a full path if the file is not in the current working directory.
Specifies raw data consisting of one or more integers or strings of characters. Integers can be specified in decimal, octal, or hexadecimal format. RC does not automatically append a terminating null character to a string. The string is a sequence of the specified ANSI (byte) characters unless explicitly qualified as a wide-character string with the L prefix. Strings in all resources other than RCDATA and user-defined resources are Unicode strings.
The block of data begins on a DWORD boundary and RC performs no padding or alignment of data within the raw-data block. It is the programmer's responsibility to ensure the proper alignment of data within the block.
The following example shows several user-defined statements:
array MYRES data.res
14 300 custom.res
"Here is a data string\0", /* A string. Note: explicitly
1024, /* int */
0x029a, /* hex int */
0o733, /* octal int */
"\07" /* octal byte */