Функция 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 (include Ntddk.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Любой уровень |