Поделиться через


Функция IoGetRequestorProcess (ntifs.h)

Подпрограмма IoGetRequestorProcess возвращает указатель процесса для потока, который первоначально запрашивал определенную операцию ввода-вывода.

Синтаксис

PEPROCESS IoGetRequestorProcess(
  [in] PIRP Irp
);

Параметры

[in] Irp

Указатель на пакет запроса ввода-вывода (IRP) для операции ввода-вывода.

Возвращаемое значение

IoGetRequestorProcess возвращает указатель процесса для потока, запрашивающего операцию ввода-вывода. Если IRP не связан с потоком, IoGetRequestorProcess возвращает NULL.

Замечания

Просмотр с Windows Vista. IoGetRequestorProcess возвращает указатель на процесс, к которому в настоящее время подключен поток. В очереди irPs для файловых объектов, таких как для ввода-вывода порта завершения, IoGetRequestorProcess возвращает указатель на процесс выдачи. Если поток не подключен, IoGetRequestorProcess возвращает указатель на процесс, созданный потоком.

В Windows XP IoGetRequestorProcess возвращает указатель на процесс, к которому в настоящее время подключен поток.

примечание в Windows XP, если IRP содержит поток, отличный от NULL, но не подключен, IoGetRequestorProcess попытается получить доступ к данным процесса для неопределенного потока. Это представляет собой возможное условие проверки ошибок, если IoGetRequestorProcess вызывается без обработки исключений или слишком высокого уровня IRQL.

 

До Windows XP IoGetRequestorProcess возвращает указатель на процесс, созданный потоком.

IRP автоматически связывается с потоком, если он выдан диспетчером операций ввода-вывода или получен путем вызова IoBuildAsynchronousFsdRequest, IoBuildSynchronousFsdRequestили IoBuildDeviceIoControlRequest.

Дополнительные сведения об использовании системных потоков и управлении синхронизацией в контексте непарбитрарного потока см. в потоках драйверов, объектах диспетчера и ресурсах.

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка ntifs.h (include Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

См. также

IoBuildAsynchronousFsdRequest

IoBuildDeviceIoControlRequest

IoBuildSynchronousFsdRequest

IoGetRequestorProcessId