Драйвер падает на вызове NtOpenprocess
От: Аноним  
Дата: 08.09.07 10:46
Оценка:
Использую ddk 2000, ОС — XP SP2.
При вызове драйвер происходит перезагрузка, в журнаое пишется — System Error, код 102, категория 1003, описание "Код ошибки 000000c4, параметр1 00000060, параметр2 00000000, параметр3 00024000, параметр4 00000004".
Как мне диагностировать ошибку? Отладчиком не пробовал, кажется это слишком жирно, один вызов отлаживать.


DWORD *buff;
DWORD dwProcessId, dwThreadId, address;
HANDLE ProcessHandle;
NTSTATUS status = STATUS_SUCCESS;
CLIENT_ID ClientId;
OBJECT_ATTRIBUTES oa;

buff = (DWORD *)Irp->AssociatedIrp.SystemBuffer;
dwProcessId = buff[0];
dwThreadId = 0;
ClientId.UniqueThread = (HANDLE)dwThreadId;
ClientId.UniqueProcess = (HANDLE)dwProcessId;
InitializeObjectAttributes(&oa, NULL, OBJ_KERNEL_HANDLE, NULL, NULL);
status = NtOpenProcess(&ProcessHandle, PROCESS_ALL_ACCESS, &oa, &ClientId);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.