Usando identificadores de atividade
Nas versões de estrutura 1.11 e posteriores, os drivers UMDF podem definir e recuperar IDs (identificadores de atividade). As IDs de atividade permitem associar várias solicitações de E/S, para que você possa rastreá-las usando o rastreamento etw (Rastreamento de Eventos para Windows). Este tópico descreve alguns cenários possíveis em que o driver pode usar IDs de atividade.
Associando novas solicitações a uma solicitação existente
Na função de retorno de chamada de expedição de E/S do driver, você pode criar várias solicitações de E/S de estrutura como resultado de uma solicitação de entrada. O driver obtém a ID da atividade da solicitação original e a define nas novas solicitações chamando WdfRequestRetrieveActivityId e WdfRequestSetActivityId.
Para obter um exemplo de código, consulte WdfRequestRetrieveActivityId.
Associando novas solicitações a um thread existente
Um driver pode criar uma nova solicitação de E/S em um thread diferente do thread de expedição de E/S ou em um item de trabalho. Você pode definir a ID de atividade para essa solicitação de qualquer solicitação correspondente ou usando a ID de atividade associada ao thread de expedição de E/S. O driver pode recuperar a ID de atividade associada ao thread atual chamando EventActivityIdControl e, em seguida, chamando WdfRequestSetActivityId para definir o identificador para cada nova solicitação de E/S.
Se o driver chamar a API do Win32 para enviar uma solicitação de E/S, ele poderá recuperar a ID da atividade da solicitação original e propagá-la para o thread. Em seguida, o gerenciador de E/S aplica a ID de atividade associada ao thread a todos os IRPs (pacotes de solicitação de E/S) gerados em resposta à solicitação.