Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.22;
Скачать: CL | DM;

Вниз

Аналог SysErrorMessage для NTSTATUS.   Найти похожие ветки 

 
learner ©   (2006-10-07 22:15) [0]

Сабж. Просто, SysErrorMessage от функций с результатом типа NTSTATUS
иногда возвращает сообщение, что нет описания ошибки.


 
Игорь Шевченко ©   (2006-10-07 23:37) [1]

Я так делал:

procedure RaiseNtError(Status: NTSTATUS);
begin
 raise Exception.CreateFmt("An error occured (NTSTATUS=0x%.8x): "%s"",
   [Status, SysErrorMessage(RtlNtStatusToDosError(Status))]);
end;


 
learner ©   (2006-10-08 01:46) [2]

Спасибо :)


 
learner ©   (2006-10-08 16:12) [3]

>Игорь Шевченко ©
Пользуясь случаем задам еще пару вопросов по структурам из NtDll.
У меня, вроде, работает корректно со следующими поправками:
TOBJECT_TYPE_INFORMATION
...
PoolType: ULONG; // Исходно: Word
...
Методом научного тыка получила, что при перечислении
всех типов (NtQueryObject с параметром ObjectAllTypesInformation),
если PoolType - Word, то получаем AV
( выравнивание по четырем байтам учитывалось )

SYSTEM_MODULE_INFORMATION
...
ImageName : array[0..255] of char; // Исходно: 256
...
При 256 ImageName - ы возвращаются "со сдвигом"
Или я перемудрила ?


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

 { Информация о загруженных модулях режима ядра }
 SYSTEM_MODULE_INFORMATION = packed record
   Reserved: array[0..1] of ULONG;
   Base: PVOID;
   Size: ULONG;
   Flags: ULONG;
   Index: USHORT;
   Unknown: USHORT;
   LoadCount: USHORT;
   ModuleNameOffset: USHORT;
   ImageName: array[0..255] of char; { ANSI }
 end;
 PSYSTEM_MODULE_INFORMATION = ^SYSTEM_MODULE_INFORMATION;
 SYSTEM_MODULE_INFORMATION_ARRAY = array[0..16384] of
   SYSTEM_MODULE_INFORMATION;
 { Массив информации для класса SystemModuleInformation }
 SYSTEM_MODULES_INFORMATION = packed record
   Count: ULONG;
   Data: SYSTEM_MODULE_INFORMATION_ARRAY;
 end;
 PSYSTEM_MODULES_INFORMATION = ^SYSTEM_MODULES_INFORMATION;



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

Текущий архив: 2006.10.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.043 c
2-1159821357
dan8
2006-10-03 00:35
2006.10.22
Запрос с датой


2-1160208207
iamdanil
2006-10-07 12:03
2006.10.22
memo в webbrowser


3-1156145027
Mishenka
2006-08-21 11:23
2006.10.22
Как запросу динамически добавить вычисляемое поле?


2-1160262117
zaza
2006-10-08 03:01
2006.10.22
Компонент вроде listbox


2-1159875670
Samson
2006-10-03 15:41
2006.10.22
медиасервак.