Partager via


Méthode IWDFIoRequest3 ::RetrieveActivityId (wudfddi.h)

[Avertissement : UMDF 2 est la dernière version d’UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide d’UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et la prise en charge d’UMDF 1 est limitée sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Prise en main avec UMDF.]

La méthode RetrieveActivityId récupère l’identificateur d’activité actuel associé à une demande d’E/S.

Syntaxe

HRESULT RetrieveActivityId(
  [out] LPGUID ActivityId
);

Paramètres

[out] ActivityId

Pointeur vers un emplacement pour stocker le GUID récupéré.

Valeur retournée

RetrieveActivityId retourne S_OK si l’appel réussit. Sinon, cette méthode peut retourner l’une des valeurs suivantes.

Code de retour Description
HRESULT_FROM_WIN32 (ERROR_NOT_FOUND)
Aucun ID d’activité n’est associé à la demande.

Remarques

Les requêtes reflétées en mode noyau ont un identificateur d’activité disponible uniquement si le fournisseur de trace du noyau est activé ou si le pilote UMDF appelé IWDFIoRequest3 ::SetActivityId après réception de la demande. Pour plus d’informations sur le suivi d’événements pour Windows (ETW), consultez Suivi d’événements.

Les requêtes initiées par le pilote UMDF ont un identificateur d’activité disponible uniquement si le pilote UMDF s’appelait précédemment IWDFIoRequest3 ::SetActivityId.

L’infrastructure n’efface pas l’identificateur d’activité d’une requête lorsque le pilote appelle IWdfIoRequest2 ::Reuse.

Pour plus d’informations sur les identificateurs d’activité, consultez Utilisation des identificateurs d’activité.

L’équivalent UMDF 2 de cette méthode est WdfRequestRetrieveActivityId.

Exemples

L’exemple de code suivant montre qu’un pilote peut récupérer un identificateur d’activité à partir d’une requête, puis l’utiliser pour définir l’identificateur d’activité d’une autre requête.

hrQI = pWdfRequest->QueryInterface(IID_PPV_ARGS(&pOriginalRequest3));
ASSERT(SUCCEEDED(hrQI));

hrQI = pNewRequest->QueryInterface(IID_PPV_ARGS(&pNewRequest3));
ASSERT(SUCCEEDED(hrQI));

//
// Obtain activity id from original request and set in the new one
//

pOriginalRequest3->RetrieveActivityId(&activityId);
pNewRequest3->SetActivityId(&activityId);

pOriginalRequest3->Release();
pNewRequest3->Release();


Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Fin de la prise en charge Non disponible dans UMDF 2.0 et versions ultérieures.
Plateforme cible Desktop (Expérience utilisateur)
Version UMDF minimale 1.11
En-tête wudfddi.h (inclure Wudfddi.h)
DLL WUDFx.dll

Voir aussi

IWDFIoRequest3

IWDFIoRequest3 ::SetActivityId