Главная страница
    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
14-1133032576
lookin
2005-11-26 22:16
2005.12.18
Ошибочный файл в EMule


1-1131827370
Manufel
2005-11-12 23:29
2005.12.18
Запись элементов очень большого масива в файл с макс скоростью


4-1129604342
Idx
2005-10-18 06:59
2005.12.18
Как добавить "LVS_..." style для ListView?


14-1133010638
Mike Kouzmine
2005-11-26 16:10
2005.12.18
Японцы посадили спутник на астероид.


1-1132773228
pound
2005-11-23 22:13
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский