Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
2-1159967094
ArtemESC
2006-10-04 17:04
2006.10.22
Приведение типов...


6-1148733267
Даша
2006-05-27 16:34
2006.10.22
Можно ли узнать местоположение абонента мегафон по компьютеру.


2-1159539190
Isaev
2006-09-29 18:13
2006.10.22
Скрыть курсор


3-1156426216
Сергей А.
2006-08-24 17:30
2006.10.22
Длина поля в таблице MySQL


15-1159686860
Kerk
2006-10-01 11:14
2006.10.22
Олигархи




   Наверх