Функция IoPropagateActivityIdToThread (ntddk.h)
Подпрограмма IoPropagateActivityIdToThread связывает идентификатор действия из IRP с текущим потоком.
Синтаксис
NTSTATUS IoPropagateActivityIdToThread(
[in] PIRP Irp,
[out] LPGUID PropagatedId,
LPCGUID *OriginalId
);
Параметры
[in] Irp
IRP, идентификатор которого будет распространен в поток.
[out] PropagatedId
Указатель на память, выделенную вызывающим объектом для хранения идентификатора в потоке.
OriginalId
После успешного возвращения из вызова сохраняет идентификатор, который был ранее задан в потоке. Драйвер должен вызывать IoClearActivityIdThread с этим указателем при завершении трассировки в том же контексте потока.
Возвращаемое значение
IoPropagateActivityIdToThread возвращает STATUS_SUCCESS, если вызов выполнен успешно. Возможные возвращаемые значения ошибок включают следующие.
Код возврата | Описание |
---|---|
STATUS_NOT_FOUND | С IRP не связан идентификатор. |
Комментарии
Эта подпрограмма должна использоваться драйверами, которые поддерживают трассировку и выдают операции ввода-вывода в рабочем потоке. Обратите внимание, что такие драйверы должны вызывать IoClearActivityIdThread с OriginalId , прежде чем они возвращают управление из потока, если вызов был успешным.
Драйверам, используюющим рабочие элементы ввода-вывода, не нужно вызывать эту подпрограмму, так как подсистема ввода-вывода в этом случае отвечает за распространение идентификаторов действий в потоки.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 8. |
Целевая платформа | Универсальное |
Верхняя часть | ntddk.h (включая Ntddk.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Любой уровень |