![]() |
Зависимость модулей Windows, приучение старой ОС к работе в тандеме с новыми модулями
Меня интересует один уже столь неразрешимый вопрос:
Я хочу ради "идеи", заставить работать ntdll.dll от Windows Vista/7 на Windows XP/2003. ntdll.dll не зависит от каких-либо модулей, он явьляется как-бы мостом, свыязывающий остальные модули. Но при обычной замене ntdll.dll(Windows Server 2003) на ntdll.dll(Windows Vista/7) при загрузке, сразу после HAL, выскакивает BSOD. Что не дает винде запуститься, я так понял какае-то проверка подлиности библиотеки?! Как с этим справиться? Заранее спасибо! |
Цитата:
ntdll.dll загружается на раннем этапе загрузки Windows, еще программой smss.exe и это важная часть Windows. |
так, все же меня интересуют только предложения по приучению этой библиотеки к Windows XP/2003 и ничего другого.
Еще интересует приучение "новых" - kernel32.dll, msvcrt.dll..... |
Svyatpro, не смущает тот факт, что вызовы могут быть разными? И реакция на ответ тоже разная. XP имеет почти такое же ядро, как Win2k. А Vista - это другое дело. Неплохо бы почитать ссылки по архитектуре системы, с точки зрения программирования. (Если найдете, скиньте, тоже почитаю)
|
Svyatpro, зачем?! :shocked:
|
Цитата:
|
Svyatpro, я повторю: Зачем Вы это хотите делать?!
|
Цитата:
Поэтому, я хочу знать больше о Windows, поэтому и ветка так называется "Хочу знать больше" |
Svyatpro, Windows - это система с закрытым исходным кодом, и такой эксперимент чреват множеством вариантов. Идея ясна, но вот что б проверить все зависимости необходимо будет перебрать не один системный файл.
Подобное я уже наблюдал, при попытки добавить быструю смену пользователей в 2003 с ХР. В результате после множества BSOD на которых уже не выводилось сообщение про то какой системный файл сбоит - эксперимент был остановлен. А тут версии разных поколений. msvcrt.dll это библиотека из MSVC6 http://msdn.microsoft.com/en-us/library/abx4dbyh.aspx http://www.wireshark.org/docs/wsdg_h...lsMSChain.html |
Значит, моя идея без шансов, наверное?!
Просто должен сказать, что мне удалось запустить вистовский gdi32.dll (правда BETA 5219) на Windows XP/2003, значит не все потеряно?! |
Svyatpro, всё зависит от того на сколько хватит терпения, найдётся времени и аргументации хотя бы для себя в необходимости данной процедуры. Для начала изучить теорию - почитать про внутренние устройство ОС Виндовс.
Значит данная Бета не сильно отличалась в части данной библиотеки, вот система и восприняла её нормально. |
Цитата:
Цитата:
В результате Windows запустилась, работала вроде безотказно, но только на классическом виде, ибо стиль Windows XP отображался неправильно (все элементы меню, например, панель задач, заливались черным цветом без текстур), но зато и вроде залагивания окон стали не такие ощутимые, и, возможно, появилась возможность реализации WDDM на XP ибо появились такие функции в gdi32.dll как: D3DKMTChangeSurfacePointer D3DKMTCloseAdapter D3DKMTCreateAllocation D3DKMTCreateDCFromMemory D3DKMTCreateDevice D3DKMTCreateOverlay D3DKMTDestroyAllocation D3DKMTDestroyDCFromMemory D3DKMTDestroyDevice D3DKMTDestroyOverlay D3DKMTEscape D3DKMTFlipOverlay D3DKMTGetDeviceSchedulingPriority D3DKMTGetDeviceState D3DKMTGetDisplayModeList D3DKMTGetMultisampleMethodList D3DKMTGetPresentHistory D3DKMTGetProcessSchedulingPriorityClass D3DKMTGetRuntimeData D3DKMTGetScanLine D3DKMTGetSharedPrimaryHandle D3DKMTLock D3DKMTOpenAdapterFromHdc D3DKMTOpenResource D3DKMTPresent D3DKMTQueryAdapterInfo D3DKMTQueryAllocationResidency D3DKMTQueryResourceInfo D3DKMTReleaseProcessVidPnSourceOwners D3DKMTRender D3DKMTSetAllocationPriority D3DKMTSetDeviceSchedulingPriority D3DKMTSetDisplayMode D3DKMTSetGammaRamp D3DKMTSetProcessSchedulingPriorityClass D3DKMTSetVidPnSourceOwner D3DKMTUnlock D3DKMTUpdateOverlay D3DKMTWaitForVerticalBlankEvent Это все функции D3DKMT* которые доступны у меня в gdi32.dll на Windows 2003. А вот уже в Vista build 5231 строение gdi32.dll кардинально поменялось, очередность USES стала другая и Windows 2003 напрочь перестал загружаться (BSOD)... |
Еще дополню, opengl32.dll, GLU32.DLL, GLMF32.DLL из Windows 7 build 7000 после небольшего переименования функций прекрасно работают на W2003 и все OpenGL приложения без проблем запускаются с нормальным, полноценным отображением, но заметно медленее чем на стандартном OpenGL'е....
|
Svyatpro, OpenGL от MS версии 1.1, когда последняя входила в сообщество разработчиков библиотеки. В последний на сегодня SDK - Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1: BETA входят хорошо знакомые и
Новые библиотеки поддерживают и выпускают разработчик железа и софта входящие в OpenGL ARB "Architecture Review Board" ныне Khronos Из последних новостей от их представителей - Linux, FreeBSD и Solaris получат полную поддержку OpenGL 3.0 с новыми драйверами от nVidia А так на Вин платформе - OpenGL 3 против DirectX 11: война закончена Насколько знаю, начиная с Висты данная библиотека вызывается не напрямую приложениям. На практике это означает что такие приложения Цитата:
|
Время: 18:19. |
Время: 18:19.
© OSzone.net 2001-