Uso degli identificatori di attività

Nelle versioni del framework 1.11 e versioni successive, i driver UMDF possono impostare e recuperare gli identificatori di attività (ID). Gli ID attività consentono di associare più richieste di I/O, in modo da poterle tenere traccia usando traccia eventi per Windows (ETW). Questo argomento descrive alcuni possibili scenari in cui il driver potrebbe usare ID attività.

Associazione di nuove richieste a una richiesta esistente

Nella funzione di callback di invio I/O del driver è possibile creare più richieste di I/O del framework in seguito a una richiesta in ingresso. Il driver ottiene l'ID attività dalla richiesta originale e lo imposta nelle nuove richieste chiamando WdfRequestRetrieveActivityId e WdfRequestSetActivityId.

Per un esempio di codice, vedere WdfRequestRetrieveActivityId.

Associazione di nuove richieste a un thread esistente

Un driver potrebbe creare una nuova richiesta di I/O in un thread diverso dal thread di invio di I/O o o in un elemento di lavoro. È possibile impostare l'ID attività per tale richiesta da qualsiasi richiesta corrispondente oppure usando l'ID attività associato al thread di invio di I/O. Il driver può recuperare l'ID attività associato al thread corrente chiamando EventActivityIdControl e quindi chiamando WdfRequestSetActivityId per impostare l'identificatore per ogni nuova richiesta di I/O.

Se il driver chiama l'API Win32 per inviare una richiesta di I/O, può recuperare l'ID attività dalla richiesta originale e propagarla al thread. Gestione I/O applica quindi l'ID attività associato al thread a qualsiasi pacchetto di richiesta di I/O generato in risposta alla richiesta.