Ну и поскольку терять-то как бы было и нечего, решился я на такой вот последний эксперимент...
Вызываемые
msvcr100d.dll функции
WinAPI, которых нет в
KERNEL32.dll от
Вынь 98 впервые
появляются в
KERNEL32.dll от
Вынь ХР.
Я пропатчил
msvcr100d.dll, чтобы она вызывала
KERNEL33.dll и положил ей рядом
KERNEL32.dll
от
Вынь ХР, переименованный в
KERNEL33.dll.
Ну я также посмотрел, что
KERNEL32.dll от
Вынь ХР "хочет"
ntdll.dll, которой нет в
Вынь 98, но
я её тоже рядом приложил...
Я, конечно, понимаю, что
ntdll.dll тоже чего-нибуть "хочет", но так в папку Протеуса весь
Вынь ХР
перекочует... может и так справятся...
Результат при старте проекта Протеуса был следующий:
13297 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\PROSPICE.DLL SUCCESS Offset: 261120 Length: 4096
13298 12:25:44 Isis FindOpen C:\PROTEUS 6 PROFESSIONAL\SAMPLES\1_I8080\X80.DLL NOTFOUND
13299 12:25:44 Isis FindOpen C:\PROTEUS 6 PROFESSIONAL\MODELS\X80.DLL SUCCESS x80.dll
13300 12:25:44 Isis FindClose C:\PROTEUS 6 PROFESSIONAL\MODELS\X80.DLL SUCCESS
13301 12:25:44 Isis Attributes C:\PROTEUS 6 PROFESSIONAL\MODELS\X80.DLL SUCCESS GetAttributes
13302 12:25:44 Isis Directory C:\PROTEUS 6 PROFESSIONAL\MODELS\X80.DLL SUCCESS QUERY
13303 12:25:44 Isis Open C:\PROTEUS 6 PROFESSIONAL\MODELS\X80.DLL SUCCESS OPENEXISTING READONLY DENYWRITE
13304 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\MODELS\X80.DLL SUCCESS Offset: 0 Length: 64
13305 12:25:44 Isis Seek C:\PROTEUS 6 PROFESSIONAL\MODELS\X80.DLL SUCCESS Beginning Offset: 232
13306 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\MODELS\X80.DLL SUCCESS Offset: 232 Length: 248
13307 12:25:44 Isis Seek C:\PROTEUS 6 PROFESSIONAL\MODELS\X80.DLL SUCCESS Beginning Offset: 232
13308 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\MODELS\X80.DLL SUCCESS Offset: 232 Length: 488
13309 12:25:44 Isis Directory C:\PROTEUS 6 PROFESSIONAL\MODELS\X80.DLL SUCCESS QUERY
13310 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\MODELS\X80.DLL SUCCESS Offset: 72704 Length: 3584
13311 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\MODELS\X80.DLL SUCCESS Offset: 70144 Length: 2560
13312 12:25:44 Isis Attributes C:\PROTEUS 6 PROFESSIONAL\BIN\MSVCR100D.DLL SUCCESS GetAttributes
13313 12:25:44 Isis Directory C:\PROTEUS 6 PROFESSIONAL\BIN\MSVCR100D.DLL SUCCESS QUERY
13314 12:25:44 Isis Open C:\PROTEUS 6 PROFESSIONAL\BIN\MSVCR100D.DLL SUCCESS OPENEXISTING READONLY DENYWRITE
13315 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\MSVCR100D.DLL SUCCESS Offset: 0 Length: 64
13316 12:25:44 Isis Seek C:\PROTEUS 6 PROFESSIONAL\BIN\MSVCR100D.DLL SUCCESS Beginning Offset: 232
13317 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\MSVCR100D.DLL SUCCESS Offset: 232 Length: 248
13318 12:25:44 Isis Seek C:\PROTEUS 6 PROFESSIONAL\BIN\MSVCR100D.DLL SUCCESS Beginning Offset: 232
13319 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\MSVCR100D.DLL SUCCESS Offset: 232 Length: 408
13320 12:25:44 Isis Directory C:\PROTEUS 6 PROFESSIONAL\BIN\MSVCR100D.DLL SUCCESS QUERY
13321 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\MSVCR100D.DLL SUCCESS Offset: 1447936 Length: 1024
13322 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\MSVCR100D.DLL SUCCESS Offset: 1381376 Length: 4096
13323 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\MSVCR100D.DLL SUCCESS Offset: 1385472 Length: 4096
13324 12:25:44 Isis Attributes C:\PROTEUS 6 PROFESSIONAL\BIN\KERNEL33.DLL SUCCESS GetAttributes
13325 12:25:44 Isis Directory C:\PROTEUS 6 PROFESSIONAL\BIN\KERNEL33.DLL SUCCESS QUERY
13326 12:25:44 Isis Open C:\PROTEUS 6 PROFESSIONAL\BIN\KERNEL33.DLL SUCCESS OPENEXISTING READONLY DENYWRITE
13327 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\KERNEL33.DLL SUCCESS Offset: 0 Length: 64
13328 12:25:44 Isis Seek C:\PROTEUS 6 PROFESSIONAL\BIN\KERNEL33.DLL SUCCESS Beginning Offset: 248
13329 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\KERNEL33.DLL SUCCESS Offset: 248 Length: 248
13330 12:25:44 Isis Seek C:\PROTEUS 6 PROFESSIONAL\BIN\KERNEL33.DLL SUCCESS Beginning Offset: 248
13331 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\KERNEL33.DLL SUCCESS Offset: 248 Length: 408
13332 12:25:44 Isis Directory C:\PROTEUS 6 PROFESSIONAL\BIN\KERNEL33.DLL SUCCESS QUERY
13333 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\KERNEL33.DLL SUCCESS Offset: 491008 Length: 4096
13334 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\KERNEL33.DLL SUCCESS Offset: 495104 Length: 4096
13335 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\KERNEL33.DLL SUCCESS Offset: 467968 Length: 4096
13336 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\KERNEL33.DLL SUCCESS Offset: 472064 Length: 4096
13337 12:25:44 Isis Close C:\PROTEUS 6 PROFESSIONAL\BIN\MSVCR100D.DLL SUCCESS CLOSE_FINAL
13338 12:25:44 Isis Close C:\PROTEUS 6 PROFESSIONAL\MODELS\X80.DLL SUCCESS CLOSE_FINAL
13339 12:25:44 Isis Close C:\PROTEUS 6 PROFESSIONAL\BIN\KERNEL33.DLL SUCCESS CLOSE_FINAL
13340 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\PROSPICE.DLL SUCCESS Offset: 265216 Length: 4096
13341 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\SPICESIM.DLL SUCCESS Offset: 719872 Length: 4096
13342 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\PROSPICE.DLL SUCCESS Offset: 58880 Length: 4096
13343 12:25:44 Isis Read C:\WINDOWS\SYSTEM\SHELL32.DLL SUCCESS Offset: 81920 Length: 4096
13344 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\SPICESIM.DLL SUCCESS Offset: 883712 Length: 4096
13345 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\LOADERS.DLL SUCCESS Offset: 44032 Length: 4096
13346 12:25:44 Isis Read C:\PROTEUS 6 PROFESSIONAL\BIN\LOADERS.DLL SUCCESS Offset: 64512 Length: 4096
13347 12:25:44 Isis Close C:\PROTEUS 6 PROFESSIONAL\BIN\PROSPICE.DLL SUCCESS CLOSE_FINAL
13348 12:25:44 Isis Close C:\PROTEUS 6 PROFESSIONAL\BIN\SPICEINP.DLL SUCCESS CLOSE_FINAL
13349 12:25:44 Isis Close C:\PROTEUS 6 PROFESSIONAL\BIN\SPICESIM.DLL SUCCESS CLOSE_FINAL
13350 12:25:44 Isis Close C:\PROTEUS 6 PROFESSIONAL\BIN\OBJITF.DLL SUCCESS CLOSE_FINAL
13351 12:25:44 Isis Close C:\PROTEUS 6 PROFESSIONAL\BIN\DSIM.DLL SUCCESS CLOSE_FINAL
13352 12:25:44 Isis Close C:\PROTEUS 6 PROFESSIONAL\BIN\LOADERS.DLL SUCCESS CLOSE_FINAL
13353 12:25:44 Isis FindOpen C:\WINDOWS\TEMP\LISA5145.SDF SUCCESS LISA5145.SDF
13354 12:25:44 Isis FindClose C:\WINDOWS\TEMP\LISA5145.SDF SUCCESS
13355 12:25:44 Isis Delete C:\WINDOWS\TEMP\LISA5145.SDF ACCDENIED
13356 12:25:44 Isis Attributes C:\WINDOWS\MEDIA\DING.WAV SUCCESS GetAttributes
13357 12:25:44 Isis Open C:\WINDOWS\MEDIA\DING.WAV SUCCESS OPENEXISTING READONLY DENYNONE
13358 12:25:44 Isis Ioctl C: SUCCESS Subfunction: 08h
13359 12:25:44 Isis Attributes C:\WINDOWS\MEDIA\DING.WAV SUCCESS Get Modify
13360 12:25:44 Isis Close C:\WINDOWS\MEDIA\DING.WAV SUCCESS CLOSE_FINAL
13361 12:25:44 Isis FindOpen C:\PROTEUS 6 PROFESSIONAL\RESULTS\*.PDF SUCCESS AB66C4CC.PDF
Видно, что
PROSPICE.DLL Протеуса вызвала
x80.dll - модель z80, та в свою очередь вызвала
MSVCR100D.DLL, из которой, как ей и велели, был вызван
KERNEL33.DLL.
Все обращения к
KERNEL33.DLL прошли "успешно", но она в свою очередь
ntdll.dll не вызывала.
После чего
Протеус, "подумав" своими
*.DLL сказал мне
DING.WAV, записал протокол ошибок,
и выдал уже известный результат:
FATAL: [DD1] External model DLL "x80.DLL" not found. GLE=0x0000001F (= ERROR_GEN_FAILURE)
В общем из
Венды 98 не сделать "локальный"
Вынь ХР, похоже...
