Поделиться через


Функция EtwWriteTransfer (wdm.h)

Функция EtwRiteTransfer отмечает событие, которое связывает две действия вместе; этот тип события называется события передачи. Событие передачи может содержать те же пользовательские данные, те же поля и подчиняются тем же правилам, что и другие события.

Синтаксис

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
);

Параметры

[in] RegHandle

Указатель на дескриптор регистрации поставщика событий, который возвращается функцией EtwRegister, если регистрация поставщика событий выполнена успешно.

[in] EventDescriptor

Указатель на структуру EVENT_DESCRIPTOR.

[in, optional] ActivityId

Идентификатор, указывающий действие, связанное с событием. ActivityId позволяет группировать связанные события и используется в сквозной трассировке. Этот идентификатор является необязательным и может быть NULL.

[in, optional] RelatedActivityId

Идентификатор, указывающий связанное действие, связанное с событием. RelatedActivityID предоставляет способ группировки связанных событий и используется в сквозной трассировке.

[in] UserDataCount

Количество элементов в массиве EVENT_DATA_DESCRIPTOR структур.

[in, optional] UserData

Указатель на первый элемент в массиве EVENT_DATA_DESCRIPTOR структур.

Возвращаемое значение

EtwWriteTransfer возвращает STATUS_SUCCESS, если событие было успешно опубликовано.

Замечания

Вы можете вызвать EtwWriteTransfer на любом IRQL. Однако если IRQL больше APC_LEVEL, все данные, передаваемые EtwWrite, EtwWriteString, EtwWriteTransfer функции не должны быть на страницы. То есть любая подпрограмма в режиме ядра, выполняющаяся в IRQL больше APC_LEVEL не может получить доступ к памяти, доступной для страниц. Данные, передаваемые в EtwWrite, EtwriteString, Функции EtwriteTransfer должны находиться в системной памяти независимо от того, что такое IRQL.

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка wdm.h (include Wdm.h, Ntddk.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe; Ntdll.dll
IRQL Любой уровень (см. раздел "Комментарии")

См. также

EtwWrite

EtwWriteString