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 는 정의되지 않은 스레드에 대한 프로세스 정보에 액세스하려고 시도합니다. 이는 예외 처리 없이 또는 IRQL이 너무 높은 경우 IoGetRequestorProcess가 호출되는 경우 가능한 버그 검사 조건을 제공합니다.

 

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