Tuesday, May 5, 2020

BindImageEx API Essay Example For Students

BindImageEx API Essay The BindImageEx function computes the virtual address of each function that is imported. This function supersedes the BindImage function. Use BindImageEx to provide a status routine or flags to control the image binding. BOOL BindImageEx(DWORD Flags, PSTR ImageName, PSTR DllPath, PSTR SymbolPath, PIMAGEHLP_STATUS_ROUTINE StatusRoutine );ParametersFlags in Specifies 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. Windows 95/98/Me: This flag is required. BIND_NO_UPDATE Do not make changes to the file. BIND_ALL_IMAGES Bind all images in the call tree for this file. BIND_CACHE_IMPORT_DLLS Do not discard DLL information in the cache between calls. This improves performance when binding a large number of images. ImageName in Pointer to a null-terminated string that specifies the name of the file to be bound. This value can be a file name, a partial path, or a full path . DllPath in Pointer to a null-terminated string that specifies the root of the search path to use if the file specified by the ImageName parameter cannot be opened. SymbolPath in Pointer to a null-terminated string that specifies the root of the path to search for the files corresponding symbol file. StatusRoutine in Pointer to a status routine. The status routine is called during the progress of the image binding. For more information, see StatusRoutine. Return ValuesIf the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To retrieve extended error information, call GetLastError. RemarksThe process of binding an image consists of computing the virtual address of each imported function. The computed virtual address is then saved in the importing images Import Address Table (IAT). As a result, the image is loaded much faster, particularly if it uses many DLLs, because the system loader does not have to computer the address of each imported function. If a corresponding symbol file can be located, its time stamp and checksum are updated. All ImageHlp functions, such as this one, are single threaded. Therefore, calls from more than one thread to this function will likely result in unexpected behavior or memory corruption. To avoid this, you must synchronize all concurrent calls from more than one thread to this function. Requirements Windows NT/2000/XP: Included in Windows NT 4.0 and later. Windows 95/98/Me: Included in Windows 95 and later. Header: Declared in Imagehlp.h. Library: Use Imagehlp.lib.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.