Função EtwWriteTransfer (wdm.h)
A função EtwWriteTransfer marca um evento que vincula duas atividades; esse tipo de evento é conhecido como um evento de transferência. Um evento de transferência pode conter os mesmos dados definidos pelo usuário, os mesmos campos e está sujeito às mesmas regras que outros eventos.
Sintaxe
NTSTATUS EtwWriteTransfer(
[in] REGHANDLE RegHandle,
[in] PCEVENT_DESCRIPTOR EventDescriptor,
[in, optional] LPCGUID ActivityId,
[in, optional] LPCGUID RelatedActivityId,
[in] ULONG UserDataCount,
[in, optional] PEVENT_DATA_DESCRIPTOR UserData
);
Parâmetros
[in] RegHandle
Um ponteiro para o identificador de registro do provedor de eventos, que será retornado pela função EtwRegister se o registro do provedor de eventos for bem-sucedido.
[in] EventDescriptor
Um ponteiro para a estrutura EVENT_DESCRIPTOR.
[in, optional] ActivityId
O identificador que indica a atividade associada ao evento. A ActivityId fornece uma maneira de agrupar eventos relacionados e é usada no rastreamento de ponta a ponta. Esse identificador é opcional e pode ser NULL.
[in, optional] RelatedActivityId
O identificador que indica a atividade relacionada associada ao evento. O RelatedActivityID fornece uma maneira de agrupar eventos relacionados e é usado no rastreamento de ponta a ponta.
[in] UserDataCount
O número de elementos em uma matriz de estruturas EVENT_DATA_DESCRIPTOR.
[in, optional] UserData
O ponteiro para o primeiro elemento em uma matriz de estruturas EVENT_DATA_DESCRIPTOR.
Retornar valor
EtwWriteTransfer retornará STATUS_SUCCESS se o evento tiver sido publicado com êxito.
Comentários
Você pode chamar EtwWriteTransfer em qualquer IRQL. No entanto, quando IRQL é maior que APC_LEVEL, todos os dados passados para as funções EtwWrite, EtwWriteString, EtwWriteTransfer não devem ser pagináveis. Ou seja, qualquer rotina de modo kernel em execução no IRQL maior que APC_LEVEL não pode acessar a memória paginável. Os dados passados para as funções EtwWrite, EtwWriteString, EtwWriteTransfer devem residir na memória do espaço do sistema, independentemente do que seja o IRQL.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe; Ntdll.dll |
IRQL | Qualquer nível (consulte a seção Comentários) |