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
BeginUpdateResource, EndUpdateResource, LoadIcon, LoadString, LockResource, MAKEINTRESOURCE, MAKELANGID, SizeofResource