The BindImageEx function computes the virtual address of each function that is imported from all DLLs.
BOOL BindImageEx(
IN DWORD Flags, | |
IN LPSTR ImageName, | |
IN LPSTR DllPath, | |
IN LPSTR SymbolPath, | |
IN PIMAGEHLP_STATUS_ROUTINE StatusRoutine | |
); |
Parameters
Flags
A mask of values that controls the behavior of the function. This parameter can be a combination of the following values:
Value | Meaning |
BIND_NO_BOUND_IMPORTS | Do not generate a new import address table. |
BIND_NO_UPDATE | Do not make any changes to the file. |
BIND_ALL_IMAGES | Bind all images that are in the call tree for this file. |
ImageName
The filename of the file to be bound. This can contain only a filename, a partial path, or a full path.
DllPath
A root path to search for ImageName if the filename contained in ImageName cannot be opened.
SymbolPath
A root path to search for the corresponding symbol file.
StatusRoutine
A pointer to a status routine. The status routine is called during the progress of the image binding.
Return Values
If the function succeeds, the return value is TRUE.
If the function fails, then the return value is FALSE. To retrieve extended error information, call GetLastError.
Remarks
The process of binding an image consists of computing the virtual address of each function that is imported from all DLLs. The computed virtual address is then saved in the importing image's Import Address Table (IAT).
The result of the process is an image that is loaded much faster because the imported functions' addresses do not have to be computed by the system loader. If an application uses many DLLs, the process of binding all the application's DLLs can significantly reduce the application load time.
The time stamp and checksum in the corresponding symbol file is updated, if the symbol file can be located.