Функция 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 Thread, драйвер должен вызвать ObDereferenceObject, чтобы разыменовать параметр Thread, полученный из подпрограммы psLookupThreadByThreadId.
Структура ETHREAD — это непрозрачная структура данных, используемая внутренне операционной системой. Эту структуру можно передать другим подпрограммам для доступа к определенным сведениям в этой структуре.
Драйвер фильтра файловой системы может перечислить активные потоки, вызвав PsLookupThreadByThreadId для преобразования идентификатора потока в структуру ETHREAD. Идентификатор потока доступен в подпрограмме создания потока. Драйвер фильтра файловой системы может задать подпрограмму обратного вызова уведомлений потока с помощью PsSetCreateThreadNotifyRoutine. В подпрограмме обратного вызова уведомлений драйвер фильтра файловой системы может использовать переданный в параметр ThreadId и вызывать PsLookupThreadByThreadId для поиска структуры ETHREAD.
Подпрограмм а psLookupThreadByThreadId содержит код, доступный для страниц.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | ntifs.h (include Ntifs.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
См. также
PsRemoveCreateThreadNotifyRoutine
PsRemoveLoadImageNotifyRoutine