UpdateResource
The UpdateResource
function adds, deletes, or replaces a resource in an executable file.
BOOL UpdateResource(
|
HANDLE hUpdate, |
// update-file
handle |
|
LPCTSTR lpType, |
// address of
resource type to update |
|
LPCTSTR lpName, |
// address of
resource name to update |
|
WORD wLanguage, |
// language
identifier of resource |
|
LPVOID lpData, |
// address of
resource data |
|
DWORD cbData |
// length of
resource data, in bytes |
|
); |
|
Parameters
hUpdate
Specifies an
update-file handle. This handle is returned by the BeginUpdateResource function.
lpType
Points to a
null-terminated string specifying the resource type to be updated. This
parameter can also be an integer value passed to the MAKEINTRESOURCE macro, or it can be one of
the following predefined resource types:
|
Value |
Meaning |
|
RT_ACCELERATOR |
Accelerator
table |
|
RT_ANICURSOR |
Animated
cursor |
|
RT_ANIICON |
Animated
icon |
|
RT_BITMAP |
Bitmap
resource |
|
RT_CURSOR |
Hardware-dependent
cursor resource |
|
RT_DIALOG |
Dialog box |
|
RT_FONT |
Font
resource |
|
RT_FONTDIR |
Font
directory resource |
|
RT_GROUP_CURSOR |
Hardware-independent
cursor resource |
|
RT_GROUP_ICON |
Hardware-independent
icon resource |
|
RT_ICON |
Hardware-dependent
icon resource |
|
RT_MENU |
Menu
resource |
|
RT_MESSAGETABLE |
Message-table
entry |
|
RT_RCDATA |
Application-defined
resource (raw data) |
|
RT_STRING |
String-table
entry |
|
RT_VERSION |
Version
resource |
lpName
Points to a
null-terminated string specifying the name of the resource to be updated. This
parameter can also be an integer value passed to the MAKEINTRESOURCE macro.
wLanguage
Specifies the
language identifier of the resource to be updated. For a list of the primary
language identifiers and sublanguage identifiers that make up a language
identifier, see the MAKELANGID macro
lpData
Points to the
resource data to be inserted into the executable file. If the resource is one
of the predefined types, the data must be valid and properly aligned. Note that
this is the raw binary data stored in the executable file, not the data provided
by LoadIcon,
LoadString,
or other resource-specific load functions. All data containing strings or text
must be in Unicode format; lpData must not point to ANSI data.
If lpData
is NULL, the specified resource is deleted from the executable file.
cbData
Specifies the
size, in bytes, of the resource data at lpData.
Return Values
If the
function succeeds, the return value is nonzero.
If the
function fails, the return value is zero. To get extended error information,
call GetLastError.
Remarks
An
application can use UpdateResource repeatedly to make changes to the
resource data. Each call to UpdateResource contributes to an internal
list of additions, deletions, and replacements but does not actually write the
data to the executable file. The application must use the EndUpdateResource
function to write the accumulated changes to the executable file.
See Also