Função IoPropagateActivityIdToThread (ntddk.h)

A rotina IoPropagateActivityIdToThread associa a ID de atividade de um IRP ao thread atual.

Sintaxe

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

Parâmetros

[in] Irp

O IRP cuja ID será propagada para o thread.

[out] PropagatedId

Um ponteiro para a memória alocada pelo chamador para armazenar a ID no thread.

OriginalId

Ao retornar com êxito da chamada, mantém a ID que foi definida anteriormente no thread. O driver deve chamar IoClearActivityIdThread com esse ponteiro quando o rastreamento é concluído dentro do mesmo contexto de thread.

Retornar valor

IoPropagateActivityIdToThread retornará STATUS_SUCCESS se a chamada for bem-sucedida. Possíveis valores retornados por erro incluem o seguinte.

Código de retorno Descrição
STATUS_NOT_FOUND O IRP não tem uma ID associada a ele.

Comentários

Essa rotina deve ser usada por drivers que estão cientes do rastreamento e estão emitindo E/S em um thread de trabalho. Observe que esses drivers devem chamar IoClearActivityIdThread com o OriginalId antes de retornarem o controle do thread, se a chamada tiver sido bem-sucedida.

Os drivers que usam itens de trabalho de E/S não precisam chamar essa rotina porque o subsistema de E/S cuida da propagação de IDs de atividade para threads nesse caso.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 8.
Plataforma de Destino Universal
Cabeçalho ntddk.h (inclua Ntddk.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Qualquer nível