2013-10-06 4 views
1

첫 번째 장치 드라이버를 쓰고 있습니다.DriverEntry 호출자

나는 어떤 프로세스가 주어진 IRP를 생성했는지 알아 내려고하고있다.

Obj->MajorFunction[IRP_MJ_DIRECTORY_CONTROL] = dirCtl; 

NTSTATUS dirCtl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp); 

DeviceObject/Irp가 주어지면 어떤 사용자 랜드 프로세스가 디렉토리를 쿼리하려고했는지 어떻게 알 수 있습니까? (예 : explorer.exe)

답변

1

대부분의 경우 PsGetCurrentProcessId()은 커널이 실제로 프로세스의 메모리 공간에 상주하므로이 트릭을 수행합니다.

관련 문제