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。 可能的錯誤傳回值包括下列專案。

傳回碼 Description
STATUS_NOT_SUPPORTED 未提供 GUID,且 ETW 活動識別碼無法使用。
STATUS_UNSUCCESSFUL IRP 上尚未啟用 I/O 追蹤提供者。

備註

驅動程式應該只在已使用 IoAllocateIrp配置的IRP上使用IoSetActivityIdIrp (,並使用 IoFreeIrp) 釋放。 否則,可能會造成記憶體外洩。

規格需求

需求
最低支援的用戶端 從 Windows 8 開始提供。
目標平台 Universal
標頭 ntddk.h (包含 Ntddk.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL 如果傳入 GUID,則為任何層級,否則PASSIVE_LEVEL。