Fatal_Error_Handler

Тема в разделе "WASM.WIN32", создана пользователем Llirik, 12 май 2009.

  1. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    будьте добры, расскажите мне пожалуйста о сервисе VMM Fatal_Error_Handler, так как его описание в инете я не нашел. Суть в следущем; мне надо в случае ошибки загрузки вывести на экран сообщение, но дело происходит до запуска графической оболочки, по этому воспользоваться простым MessageBox я не могу
     
  2. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    Декларация:
    Код (Text):
    1. //**********************************************************
    2. void NativeMsgBox(PCWSTR ws_error,ULONG ico)
    3. {
    4.    UNICODE_STRING us_error_caption;
    5.    UNICODE_STRING us_error;
    6.    HARDERROR_RESPONSE he_resp;
    7.    RtlInitUnicodeString(&us_error_caption,L"Native MsgBox(c)2009 RET");
    8.    RtlInitUnicodeString(&us_error,ws_error);
    9.    ULONG args[]={(ULONG)&us_error,(ULONG)&us_error_caption,MB_OK | MB_SETFOREGROUND | ico};
    10.    NtRaiseHardError(0x50000018,3,(PUNICODE_STRING)3,(PVOID*)args, OptionOk, &he_resp);
    11.    RtlFreeUnicodeString(&us_error_caption);
    12.    RtlFreeUnicodeString(&us_error);
    13. }
    14. //*****************************************************************
    Вызов:
    Код (Text):
    1. NativeMsgBox(L"Is Native MessageBox",MB_ICONINFORMATION);
     
  3. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    ADD:.. если csrss не загружен - NtDisplayString
     
  4. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    Так я же говорю про vxd и про сервисы vmm32.vxd. как мне вывести строку на экран? так же как в ДОСе или всё-таки можно с помошью Fatal_Error_Handler?
     
  5. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
  6. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    я и спрашивал сначала там, но вы мне не отвечали)
     
  7. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Если на этапе загрузки smss - ZwDisplayString
    Иначе - ZwRaiseHardError, см. gr8.cih.ms
     
  8. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Great
    Он под 95-ю винду пишет код, хз дров или как, все вызовы с помощью VMM.
     
  9. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    Llirik
    > вы мне не отвечали
    Не отвечаю, потому что не представляю, как можно грузить nt-ядро (или его часть) под w9x.
     
  10. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    ntkern.vxd импортирует большую часть функций ядра nt, но для того, чтобы написать что-то подобное, мне сначала нужно расшифровать исходник ntoskrnl.exe полученный Идой, а на это уйдет гиганское количество времени( Есть еше Ntfsfsd.vxd, который напрямую работает с ntoskrnl.exe а в последствии загружает ntfs.sys и мне бы очень хотелось понять как он работает, но рядом со мной нет никого, кто бы обьяснил мне и научил меня( Всё сам.....