будьте добры, расскажите мне пожалуйста о сервисе VMM Fatal_Error_Handler, так как его описание в инете я не нашел. Суть в следущем; мне надо в случае ошибки загрузки вывести на экран сообщение, но дело происходит до запуска графической оболочки, по этому воспользоваться простым MessageBox я не могу
Декларация: Код (Text): //********************************************************** void NativeMsgBox(PCWSTR ws_error,ULONG ico) { UNICODE_STRING us_error_caption; UNICODE_STRING us_error; HARDERROR_RESPONSE he_resp; RtlInitUnicodeString(&us_error_caption,L"Native MsgBox(c)2009 RET"); RtlInitUnicodeString(&us_error,ws_error); ULONG args[]={(ULONG)&us_error,(ULONG)&us_error_caption,MB_OK | MB_SETFOREGROUND | ico}; NtRaiseHardError(0x50000018,3,(PUNICODE_STRING)3,(PVOID*)args, OptionOk, &he_resp); RtlFreeUnicodeString(&us_error_caption); RtlFreeUnicodeString(&us_error); } //***************************************************************** Вызов: Код (Text): NativeMsgBox(L"Is Native MessageBox",MB_ICONINFORMATION);
Так я же говорю про vxd и про сервисы vmm32.vxd. как мне вывести строку на экран? так же как в ДОСе или всё-таки можно с помошью Fatal_Error_Handler?
Llirik > VMM Fatal_Error_Handler ... описание в инете я не нашел osrline: Fatal_Error_Handler? (btw в вызов dll из vxd #14 ты уже ссылался на этот сайт) > я же говорю про vxd и про сервисы vmm32.vxd Если бы ты продолжал спрашивать в вызов dll из vxd или в Межсегментные вызовы, то непонимания было бы меньше.
Llirik > вы мне не отвечали Не отвечаю, потому что не представляю, как можно грузить nt-ядро (или его часть) под w9x.
ntkern.vxd импортирует большую часть функций ядра nt, но для того, чтобы написать что-то подобное, мне сначала нужно расшифровать исходник ntoskrnl.exe полученный Идой, а на это уйдет гиганское количество времени( Есть еше Ntfsfsd.vxd, который напрямую работает с ntoskrnl.exe а в последствии загружает ntfs.sys и мне бы очень хотелось понять как он работает, но рядом со мной нет никого, кто бы обьяснил мне и научил меня( Всё сам.....