Функция PsLookupThreadByThreadId (ntifs.h)
Подпрограмма PsLookupThreadByThreadId принимает идентификатор потока и возвращает указатель на структуру ETHREAD потока.
Синтаксис
NTSTATUS PsLookupThreadByThreadId(
[in] HANDLE ThreadId,
[out] PETHREAD *Thread
);
Параметры
[in] ThreadId
Указывает идентификатор потока.
[out] Thread
Возвращает указатель, на который указывает ссылка на структуру ETHREAD потока, заданного ThreadId.
Возвращаемое значение
PsLookupThreadByThreadId возвращает STATUS_SUCCESS при успешном выполнении или соответствующее значение NTSTATUS, например:
Код возврата | Описание |
---|---|
|
Идентификатор потока не найден. |
Комментарии
Эта подпрограмма доступна в Windows 2000 и более поздних версиях.
Если вызов PsLookupThreadByThreadId выполнен успешно, psLookupThreadByThreadId увеличивает количество ссылок на объект, возвращаемый в параметре Thread . Следовательно, после завершения работы драйвера с помощью параметра Thread драйвер должен вызвать ObDereferenceObject , чтобы разыменовать параметр Thread , полученный из подпрограммы PsLookupThreadByThreadId .
Структура ETHREAD — это непрозрачная структура данных, используемая внутренне операционной системой. Эту структуру можно передать другим подпрограммам для доступа к определенной информации в этой структуре.
Драйвер фильтра файловой системы может перечислять активные потоки путем вызова PsLookupThreadByThreadId для преобразования идентификатора потока в структуру ETHREAD. Идентификатор потока доступен в процедуре создания потока. Драйвер фильтра файловой системы может задать подпрограмму обратного вызова уведомления потока с помощью PsSetCreateThreadNotifyRoutine. В процедуре обратного вызова уведомлений драйвер фильтра файловой системы может использовать переданный параметр ThreadId и вызвать PsLookupThreadByThreadId , чтобы найти структуру ETHREAD.
Подпрограмма PsLookupThreadByThreadId содержит страничный код.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | ntifs.h (включая Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
См. также раздел
PsRemoveCreateThreadNotifyRoutine
PsRemoveLoadImageNotifyRoutine