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


Функция IoSetActivityIdIrp (ntddk.h)

Подпрограмма IoSetActivityIdIrp связывает идентификатор действия с IRP.

Синтаксис

NTSTATUS IoSetActivityIdIrp(
  [in]           PIRP    Irp,
  [in, optional] LPCGUID Guid
);

Параметры

[in] Irp

IRP, с которым связывается идентификатор действия.

[in, optional] Guid

Указатель на GUID, представляющий идентификатор для хранения в IRP. Если значение РАВНО NULL, IoSetActivityIdIrp пытается получить идентификатор действия из текущего потока, если это был поток, который изначально выдал запрос.

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

IoSetActivityIdIrp возвращает STATUS_SUCCESS, если вызов выполнен успешно. Возможные возвращаемые значения ошибок включают следующие.

Код возврата Описание
STATUS_NOT_SUPPORTED Идентификатор GUID не указан, а идентификатор действия трассировки событий Windows был недоступен.
STATUS_UNSUCCESSFUL Поставщик трассировки ввода-вывода не включен в IRP.

Комментарии

Драйверы должны использовать IoSetActivityIdIrp только в irP, которые были выделены с помощью IoAllocateIrp (и освобождены с помощью IoFreeIrp). В противном случае может возникнуть утечка памяти.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 8.
Целевая платформа Универсальное
Верхняя часть ntddk.h (включая Ntddk.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Любой уровень, если передается GUID, в противном случае PASSIVE_LEVEL.