다음을 통해 공유


IoGetRequestorProcess 함수(ntifs.h)

IoGetRequestorProcess 루틴은 원래 지정된 I/O 작업을 요청한 스레드에 대한 프로세스 포인터를 반환합니다.

통사론

PEPROCESS IoGetRequestorProcess(
  [in] PIRP Irp
);

매개 변수

[in] Irp

I/O 작업에 대한 IRP(I/O 요청 패킷)에 대한 포인터입니다.

반환 값

IoGetRequestorProcess I/O 작업을 요청한 스레드에 대한 프로세스 포인터를 반환합니다. IRP가 스레드와 연결되지 않은 경우 IoGetRequestorProcessNULL반환합니다.

발언

Windows Vista를 응시합니다. IoGetRequestorProcess 스레드가 현재 연결된 프로세스에 대한 포인터를 반환합니다. 완료 포트 I/O와 같은 파일 개체에 대해 대기 중인 IRP의 경우 IoGetRequestorProcess 발급 프로세스에 대한 포인터를 반환합니다. 연결된 스레드가 없으면 IoGetRequestorProcess 스레드를 만든 프로세스에 대한 포인터를 반환합니다.

Windows XP에서 IoGetRequestorProcess 스레드가 현재 연결된 프로세스에 대한 포인터를 반환합니다.

참고 Windows XP에서는 IRP에 NULL이 아닌 스레드가 포함되어 있지만 스레드가 연결되어 있지 않은 경우 IoGetRequestorProcess 정의되지 않은 스레드에 대한 프로세스 정보에 액세스하려고 시도합니다. 이는 IoGetRequestorProcess 예외 처리 없이 호출되거나 IRQL이 너무 높은 경우 가능한 버그 검사 조건을 제공합니다.

 

Windows XP에 앞서 IoGetRequestorProcess 스레드를 만든 프로세스에 대한 포인터를 반환합니다.

IRP는 I/O 관리자에서 실행되거나 IoBuildAsynchronousFsdRequest, IoBuildSynchronousFsdRequest또는 IoBuildDeviceIoControlRequest호출하여 얻은 경우 스레드와 자동으로 연결됩니다.

비비저장 스레드 컨텍스트 내에서 시스템 스레드를 사용하고 동기화를 관리하는 방법에 대한 자세한 내용은 드라이버 스레드, 디스패처 개체 및 리소스 참조하세요.

요구 사항

요구
대상 플랫폼 보편적
헤더 ntifs.h(Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

참고 항목

IoBuildAsynchronousFsdRequest

IoBuildDeviceIoControlRequest

IoBuildSynchronousFsdRequest

IoGetRequestorProcessId