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