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


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

Функция EventWriteString — это функция трассировки, которую можно использовать, когда сложные данные не требуются. Эта функция аналогична инструкции debug print.

Синтаксис

NTSTATUS EtwWriteString(
  [in]           REGHANDLE RegHandle,
  [in]           UCHAR     Level,
  [in]           ULONGLONG Keyword,
  [in, optional] LPCGUID   ActivityId,
  [in]           PCWSTR    String
);

Параметры

[in] RegHandle

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

[in] Level

Уровень активности события.

[in] Keyword

Ключевое слово для события. Ключевое слово — это битовая маска, которая делает общие заявления о категории события или ошибки. Так как ключевое слово является битовой маской, к одному событию можно применить несколько ключевое слово. Вы можете определить ключевые слова и позиции битов, можно использовать стандартные ключевые слова Windows или сочетание собственных ключевых слов и ключевых слов Windows.

[in, optional] ActivityId

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

[in] String

Строка, завершающаяся нулевым значением (WCHAR).

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

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

Комментарии

Так как строка, созданная функцией EventWriteString , не является локализуемой, эту функцию не рекомендуется использовать в рабочем коде. Эту функцию не следует использовать для записи в журнал событий с высокой степенью видимости.

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

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях Windows.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Любой уровень (см. раздел Комментарии).

См. также раздел

EtwWrite

EtwWriteEx

EtwWriteTransfer