PsLookupProcessByProcessId 함수(ntifs.h)
PsLookupProcessByProcessId 루틴은 프로세스의 프로세스 ID를 허용하고 프로세스의 EPROCESS 구조에 대한 참조된 포인터를 반환합니다.
구문
NTSTATUS PsLookupProcessByProcessId(
[in] HANDLE ProcessId,
[out] PEPROCESS *Process
);
매개 변수
[in] ProcessId
프로세스의 프로세스 ID를 지정합니다.
[out] Process
ProcessId에서 지정한 프로세스의 EPROCESS 구조에 대한 참조된 포인터를 반환합니다.
반환 값
PsLookupProcessByProcessId 는 성공 시 STATUS_SUCCESS 반환하거나 다음과 같은 적절한 NTSTATUS 값을 반환합니다.
반환 코드 | 설명 |
---|---|
|
Windows XP 및 이전 버전의 Windows에서 프로세스 ID를 찾을 수 없음을 지정합니다. |
|
Windows Vista 이상 버전의 Windows에서 지정된 클라이언트 ID가 유효하지 않음을 지정합니다. |
설명
이 루틴은 Windows 2000 이상 버전에서 사용할 수 있습니다.
PsLookupProcessByProcessId에 대한 호출이 성공하면 PsLookupProcessByProcessID는 Process 매개 변수에 반환된 개체에 대한 참조 수를 증가합니다. 따라서 Process 매개 변수를 사용하여 드라이버가 완료되면 드라이버는 ObDereferenceObject를 호출하여 PsLookupProcessByProcessID 루틴에서 받은 Process 매개 변수를 역참조해야 합니다.
EPROCESS 구조는 운영 체제에서 내부적으로 사용하는 불투명 데이터 구조입니다. 이 구조체는 다른 루틴에 전달되어 이 구조체의 특정 정보에 액세스할 수 있습니다.
파일 시스템 필터 드라이버는 활성 프로세스를 열거한 다음 PsLookupProcessByProcessId 를 호출하여 프로세스 ID를 EPROCESS 구조로 변환할 수 있습니다. 프로세스 ID는 프로세스 만들기 루틴에서 사용할 수 있습니다. 파일 시스템 필터 드라이버는 PsSetCreateProcessNotifyRoutine을 사용하여 프로세스 알림 콜백 루틴을 설정할 수 있습니다. 알림 콜백 루틴에서 파일 시스템 필터 드라이버는 전달된 ProcessId 매개 변수를 사용하고 PsLookupProcessByProcessID 를 호출하여 EPROCESS 구조를 찾을 수 있습니다. PsSetCreateThreadNotifyRoutine을 사용하여 스레드 ID를 만들 때 프로세스 ID를 반환하는 알림 루틴을 설정할 수도 있습니다.
PsLookupProcessByProcessId 루틴에는 페이지 가능한 코드가 포함되어 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
추가 정보
PsRemoveCreateThreadNotifyRoutine
PsRemoveLoadImageNotifyRoutine
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기