|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
ReBaseImage
The ReBaseImage function is used to change the load address for a Win32 image, which reduces the required load time for a DLL.
BOOL ReBaseImage(
IN LPSTR CurrentImageName, IN LPSTR SymbolPath, IN BOOL fReBase, IN BOOL fRebaseSysfileOk, IN BOOL fGoingDown, IN DWORD CheckImageSize, OUT LPDWORD OldImageSize, OUT LPDWORD OldImageBase, OUT LPDWORD NewImageSize, IN OUT LPDWORD NewImageBase, IN DWORD TimeStamp );
Parameters
CurrentImageName
The filename that is rebased.
SymbolPath
The path to find the corresponding symbol file.
fReBase
The image is rebased if this value is TRUE.
fRebaseSysfileOk
System images can be rebased only if this value is TRUE. A system image is one that has a preferred load address of 0x80000000 or greater.
fGoingDown
If the image should be rebased below the given base, this value is TRUE.
CheckImageSize
The maximum size that the image can grow to, or zero if there is no limit.
OldImageSize
The original image size before the rebase operation.
OldImageBase
The original image base before the rebase operation.
NewImageSize
The new image size after the rebase operation.
NewImageBase
The new image base after the rebase operation.
TimeStamp
The new time stamp for the image. Use the C run-time (CRT) function time to retrieve a compatible time stamp value. The value must be represented in the number of seconds elapsed since midnight (00:00:00), January 1, 1970, Universal Coordinated Time, according to the system clock.
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 ReBaseImage function changes the desired load address for a Win32 image. This operation involves reading the entire image and updating all fixups, debug information, checksum, and time stamp values. The purpose of this function is to reduce the required load time for DLLs. If an application can rely on a DLL being loaded at the desired load address, then the system loader does not have to relocate the image. The image is simply loaded into the application's virtual address space and the DLL's initialization routine is called, if one is present.
A well-behaved application has all its DLLs rebased so they each fall within a unique range of the virtual address space. Microsoft publishes an address range that applications should use for their DLLs. By using this address range, the ReBaseImage function, and the list of application DLLs, each one of the DLLs can be assigned a unique base address. This process can be part of the build process or part of the final release procedure for the application.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
ReBaseImage
Функция ReBaseImage использована, чтобы изменять адрес нагрузки для образа Win32, который уменьшает необходимое время нагрузки для DLL.
BOOL ReBaseImage(
В LPSTR CurrentImageName, В LPSTR SymbolPath, В BOOL fReBase, В BOOL fRebaseSysfileOk, В BOOL fGoingDown, В DWORD CheckImageSize, LPDWORD OldImageSize, LPDWORD OldImageBase, LPDWORD NewImageSize, В LPDWORD NewImageBase, В DWORD TimeStamp );
Параметры
CurrentImageName
filename, Который rebased.
SymbolPath
Путь должен найти соответствующий символьный файл.
fReBase
Образ rebased если эта величина является ИСТИНОЙ.
fRebaseSysfileOk
Системные образы могут rebased только если эта величина является ИСТИНОЙ. Системный образ - тот который имеет предпочтительный адрес нагрузки 0x80000000 или больше.
fGoingDown
Если образ должен rebased ниже данной базы, эта величина является ИСТИНОЙ.
CheckImageSize
Максимальный размер, что образ может возрасти в, или нуль если нет предела.
OldImageSize
Оригинальный размер образа перед rebase действие.
OldImageBase
Оригинальная база образа перед rebase действие.
NewImageSize
Новый размер образа после rebase действие.
NewImageBase
Новая база образа после rebase действие.
TimeStamp
Новая марка времени для образа. Используйте время прогона C (ВИДЕО) функциональное время, чтобы извлекать величину марки совместимого времени. Величина должна быть представлена в ряде секунд пройденных с полуночи (00:00:00), 1 Январь, 1970, Универсальное Согласованное Время, согласно системным часам.
Обратные Величины
Если функция добивается успеха, обратная величина является ИСТИНОЙ. Если функция терпит неудачу, тогда обратная величина ЛОЖНАЯ. Для того, чтобы извлекать расширенную информацию ошибки, назовите GetLastError.
Замечания
Функция ReBaseImage изменяет желаемый адрес загрузки для образа Win32. Эта операция включает читая целый образ и обновление вся fixups, отладочная информация, контрольная сумма, и величины марки времени. Цель этой функции в том, чтобы уменьшить необходимое время загрузки для DLLs. Если приложение может довериться на DLL загруженное по желаемому адресу загрузки, тогда системный загрузчик нет должен переместить образ. Образ просто загружен в прикладное виртуальное пространство адреса и программа инициализации DLL's названа, если один присутствует.
Хорошо работающее приложение rebased все DLLs так они каждый находятся в пределах уникального дипазона виртуального пространства адреса. Микрософт публикует дипазон адреса, который приложения должны использоваться для их DLLs. Используя этот дипазон адреса, функция ReBaseImage, и список приложения DLLs, каждый DLLs может быть назначено уникальный базовый адрес. Этот процесс может быть частью формировать процесс или часть конечной процедуры версии для приложения.
|
|
|
|
| |