Freigeben über


IoPropagateActivityIdToThread-Funktion (ntddk.h)

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

Syntax

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

Parameter

[in] Irp

Das IRP, dessen ID an den Thread weitergegeben wird.

[out] PropagatedId

Ein Zeiger auf den vom Aufrufer zugewiesenen Speicher, um die ID im Thread zu speichern.

OriginalId

Wenn der Aufruf erfolgreich zurückgegeben wurde, enthält die ID, die zuvor im Thread festgelegt wurde. Der Treiber muss IoClearActivityIdThread- mit diesem Zeiger aufrufen, wenn die Ablaufverfolgung innerhalb desselben Threadkontexts abgeschlossen ist.

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.

Bemerkungen

Diese Routine sollte von Treibern verwendet werden, die die Ablaufverfolgung beachten und E/A in einem Arbeitsthread ausgeben. Beachten Sie, dass diese Treiber IoClearActivityIdThread- mit der OriginalId- aufrufen müssen, bevor sie die Steuerung vom Thread zurückgeben, wenn der Aufruf erfolgreich war.

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

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows 8.
Zielplattform- Universal
Header- ntddk.h (include Ntddk.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- Beliebige Ebene