Делаю так: Код (Text): PEPROCESS *callprocess; ULONG CallId; callprocess=PsGetCurrentProcess; CallId=(ULONG)PsGetProcessId(callprocess); Вместо ИД процесса, судя по всему, получаю адрес. Что не так?
http://msdn.microsoft.com/en-us/library/windows/hardware/ff559940%28v=vs.85%29.aspx http://msdn.microsoft.com/en-us/library/windows/hardware/ff559933%28v=vs.85%29.aspx
Две грубейшие ошибки: Звёздочка (*) здесь не нужна, т.к. PEPROCESS это уже адресный тип (об этом говорит префикс P). Без скобок после имени функции данная конструкция не приводит к вызову, она тупо записывает адрес функции в переменную.
[modnote=x64]Тему закрываю, автору необходимо подучить язык C перед тем, как писать драйвера.[/modnote]