Compartilhar via


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)

Confira também

EtwWrite

EtwWriteString