Compartir a través de


Uso de identificadores de actividad

En las versiones 1.11 y posteriores del marco, los controladores UMDF pueden establecer y recuperar identificadores de actividad (identificadores). Los identificadores de actividad permiten asociar varias solicitudes de E/S, de modo que pueda realizar un seguimiento mediante el seguimiento del seguimiento de eventos para Windows (ETW). En este tema se describen algunos escenarios posibles en los que el controlador podría usar identificadores de actividad.

Asociación de nuevas solicitudes con una solicitud existente

En la función de devolución de llamada de distribución de E/S del controlador, puede crear varias solicitudes de E/S de marco como resultado de una solicitud entrante. El controlador obtiene el identificador de actividad de la solicitud original y lo establece en las nuevas solicitudes llamando a WdfRequestRetrieveActivityId y WdfRequestSetActivityId.

Para obtener un ejemplo de código, vea WdfRequestRetrieveActivityId.

Asociación de nuevas solicitudes con un subproceso existente

Un controlador puede crear una nueva solicitud de E/S en un subproceso que no sea el subproceso de distribución de E/S o en un elemento de trabajo. Puede establecer el identificador de actividad para dicha solicitud desde cualquier solicitud correspondiente o mediante el identificador de actividad asociado al subproceso de distribución de E/S. El controlador puede recuperar el identificador de actividad asociado al subproceso actual llamando a EventActivityIdControl y, a continuación, llamando a WdfRequestSetActivityId para establecer el identificador de cada nueva solicitud de E/S.

Si el controlador llama a la API de Win32 para enviar una solicitud de E/S, puede recuperar el identificador de actividad de la solicitud original y propagarlo al subproceso. A continuación, el administrador de E/S aplica el identificador de actividad asociado al subproceso a los paquetes de solicitud de E/S (IRP) que genera en respuesta a la solicitud.