Fonction IoPropagateActivityIdToThread (ntddk.h)

La routine IoPropagateActivityIdToThread associe l’ID d’activité d’un IRP au thread actif.

Syntaxe

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

Paramètres

[in] Irp

IRP dont l’ID sera propagé au thread.

[out] PropagatedId

Pointeur vers la mémoire allouée par l’appelant pour stocker l’ID dans le thread.

OriginalId

Après le retour réussi de l’appel, conserve l’ID précédemment défini sur le thread. Le pilote doit appeler IoClearActivityIdThread avec ce pointeur lorsque le suivi est terminé dans le même contexte de thread.

Valeur retournée

IoPropagateActivityIdToThread retourne STATUS_SUCCESS si l’appel réussit. Les valeurs de retour d’erreur possibles sont les suivantes.

Code de retour Description
STATUS_NOT_FOUND Aucun ID n’est associé à l’IRP.

Remarques

Cette routine doit être utilisée par les pilotes qui connaissent le suivi et émettent des E/S sur un thread worker. Notez que ces pilotes doivent appeler IoClearActivityIdThread avec l’OriginalId avant de retourner le contrôle à partir du thread, si l’appel a réussi.

Les pilotes qui utilisent des éléments de travail d’E/S n’ont pas besoin d’appeler cette routine, car le sous-système d’E/S prend en charge de propager les ID d’activité aux threads dans ce cas.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 8.
Plateforme cible Universal
En-tête ntddk.h (inclure Ntddk.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL N’importe quel niveau