Freigeben über


IoPropagateActivityIdToThread-Funktion (ntddk.h)

Die IoPropagateActivityIdToThread-Routine ordnet die Aktivitäts-ID eines IRP dem aktuellen Thread zu.

Syntax

NTSTATUS IoPropagateActivityIdToThread(
  [in]  PIRP    Irp,
  [out] LPGUID  PropagatedId,
        LPCGUID *OriginalId
);

Parameter

[in] Irp

Die IRP, deren ID an den Thread weitergegeben wird.

[out] PropagatedId

Ein Zeiger auf den Arbeitsspeicher, der vom Aufrufer zugewiesen wird, um die ID im Thread zu speichern.

OriginalId

Nach erfolgreicher Rückgabe vom Aufruf enthält die ID, die zuvor für den Thread festgelegt wurde. Der Treiber muss IoClearActivityIdThread mit diesem Zeiger aufrufen, wenn die Ablaufverfolgung innerhalb desselben Threadkontexts abgeschlossen wird.

Rückgabewert

IoPropagateActivityIdToThread gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ist. Mögliche Fehlerrückgabewerte sind:

Rückgabecode Beschreibung
STATUS_NOT_FOUND Der IRP ist keine ID zugeordnet.

Hinweise

Diese Routine sollte von Treibern verwendet werden, die ablaufverfolgungsfähig sind und E/A für einen Workerthread ausgeben. Beachten Sie, dass solche Treiber IoClearActivityIdThread mit der OriginalId aufrufen müssen, bevor sie die Steuerung aus dem Thread zurückgeben, wenn der Aufruf erfolgreich war.

Treiber, die E/A-Arbeitselemente verwenden, müssen diese Routine nicht aufrufen, da das E/A-Subsystem in diesem Fall die Weitergabe von Aktivitäts-IDs an Threads übernimmt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 8.
Zielplattform Universell
Header ntddk.h (include Ntddk.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Beliebige Ebene