Функция 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 | Любой уровень (см. раздел "Комментарии") |