Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];

Вниз

BSOD KeBugCheckEx как???   Найти похожие ветки 

 
timotei   (2005-10-18 14:56) [0]

Простой вопрос. Как намеренно вызвать BSOD с указанием кода ошибки? Я так понял это выполняет функция KeBugCheckEx? Маленький пример приветствуется :)


 
Игорь Шевченко ©   (2005-10-18 15:52) [1]


> Маленький пример приветствуется :)


В DDK в примерах есть.


 
timotei   (2005-10-18 16:12) [2]

А эту процедуру вообще из регулярного приложения delphi вызвать можно?
У меня нет DDK можно copypaste"ом?


 
timotei   (2005-10-18 16:21) [3]

Делаю так, вываливается с EAccessViolation:

program Project1;

uses
 Forms,
 Windows, Messages, SysUtils, Variants, Classes, Dialogs;

procedure KeBugCheck(err: integer); external "ntoskrnl.exe";

begin
 Application.Initialize;
 Application.Run;
 KeBugCheck(11);
 exit;
end.


 
umbra ©   (2005-10-18 16:37) [4]


> begin
>  Application.Initialize;
>  Application.Run;
>  KeBugCheck(11);
>  exit;
> end.
>


А что, синий экран нужен после закрытия главной формы?


 
timotei   (2005-10-18 16:50) [5]

главной формы нет.


 
Игорь Шевченко ©   (2005-10-18 16:54) [6]


> У меня нет DDK можно copypaste"ом?


Можно.

VOID
ClasspReleaseQueue(
   IN PDEVICE_OBJECT Fdo,
   IN PIRP ReleaseQueueIrp OPTIONAL
   )
{
   PIO_STACK_LOCATION irpStack;
   PIRP irp;
   PFUNCTIONAL_DEVICE_EXTENSION fdoExtension = Fdo->DeviceExtension;
   PDEVICE_OBJECT lowerDevice;
   PSCSI_REQUEST_BLOCK srb;
   KIRQL currentIrql;

   lowerDevice = fdoExtension->CommonExtension.LowerDeviceObject;

   //
   // we raise irql seperately so we"re not swapped out or suspended
   // while holding the release queue irp in this routine.  this lets
   // us release the spin lock before lowering irql.
   //

   KeRaiseIrql(DISPATCH_LEVEL, &currentIrql);

   KeAcquireSpinLockAtDpcLevel(&(fdoExtension->ReleaseQueueSpinLock));

   //
   // make sure that if they passed us an irp, it matches our allocated irp.
   //

   ASSERT((ReleaseQueueIrp == NULL) ||
          (ReleaseQueueIrp == fdoExtension->PrivateFdoData->ReleaseQueueIrp));

   //
   // ASSERT that we"ve already allocated this. (should not occur)
   // try to allocate it anyways, then finally bugcheck if
   // there"s still no memory...
   //

   ASSERT(fdoExtension->PrivateFdoData->ReleaseQueueIrpAllocated);
   if (!fdoExtension->PrivateFdoData->ReleaseQueueIrpAllocated) {
       ClasspAllocateReleaseQueueIrp(fdoExtension);
   }
   if (!fdoExtension->PrivateFdoData->ReleaseQueueIrpAllocated) {
       KeBugCheckEx(SCSI_DISK_DRIVER_INTERNAL, 0x12, (ULONG_PTR)Fdo, 0x0, 0x0);
   }


 
timotei   (2005-10-18 17:05) [7]

Ну вот, это драйвер. а из обычного приложения?


 
Игорь Шевченко ©   (2005-10-18 17:11) [8]

timotei   (18.10.05 17:05) [7]


> а из обычного приложения?


А из обычного нельзя.


 
umbra ©   (2005-10-18 17:16) [9]


> procedure KeBugCheck(err: integer); external "ntoskrnl.exe";


Я не специалист по апи, но только что здесь
http://delphimaster.net/view/1-1129629760/

читал про экспортирование функций. Там проблема была в соглашении о вызове.


 
_silver ©   (2005-10-18 19:38) [10]

<offtop>
Игорь, если у вас ddk для w2k или xp, не могли бы мне выслать содержимое 3х папок?
src\video\displays\mirror\disp
src\video\miniport\mirror\mini
src\video\displays\mirror\app

Заранее спасибо.
</offtop>


 
Игорь Шевченко ©   (2005-10-18 22:18) [11]

_silver ©   (18.10.05 19:38) [10]

<offtopic>
Отослал
</offtopic>


 
_silver ©   (2005-10-19 08:25) [12]

Игорь Шевченко ©   (18.10.05 22:18) [11]

Спасибо.


 
Idx ©   (2005-10-19 11:06) [13]

И мне если можно MS-MEN@yandex.ru



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.015 c
4-1129608574
vanek_kg
2005-10-18 08:09
2005.12.18
Работа с чужими приложениями.


1-1132438809
lm
2005-11-20 01:20
2005.12.18
Tab Control в XP


1-1132553257
dreamse
2005-11-21 09:07
2005.12.18
Как в DBChart выводить значения времени ?


2-1132726445
AndreyAR
2005-11-23 09:14
2005.12.18
Не виден сервер


6-1125938209
Galiaf
2005-09-05 20:36
2005.12.18
Закачка сокетам.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский