Главная страница
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.042 c
6-1148679826
Николас
2006-05-27 01:43
2006.10.22
Как узнать IP адрес


6-1149062835
Ibrox
2006-05-31 12:07
2006.10.22
FTP


2-1159793101
thvfrjd
2006-10-02 16:45
2006.10.22
элемент управления


2-1160235889
TitAn
2006-10-07 19:44
2006.10.22
Как прописать...


2-1160205479
NikIta88
2006-10-07 11:17
2006.10.22
Странное поведение OpenDialog