Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Настраивает поставщик TraceLogging, вызывая EventSetInformation.
Синтаксис
TLG_STATUS TraceLoggingSetInformation(
TraceLoggingHProvider hProvider,
EVENT_INFO_CLASS informationClass,
PVOID pvInformation,
ULONG cbInformation
);
Параметры
hProvider
Дескриптор для настраиваемого поставщика TraceLogging. Поставщик должен находиться в зарегистрированном состоянии.
informationClass
EVENT_INFO_CLASS настраиваемого параметра.
pvInformation
Входной буфер со значением настраиваемого параметра. Формат этого буфера зависит от значения параметра informationClass .
cbInformation
Размер данных во входном буфере в байтах.
Возвращаемое значение
При вызове этой функции из кода пользовательского режима функция возвращает .HRESULT Используйте макрос SUCCEEDED() , чтобы определить, успешно ли выполняется функция.
При вызове этой функции из кода в режиме ядра функция возвращает .NTSTATUS Используйте макрос NT_SUCCESS() , чтобы определить, успешно ли выполняется функция.
Комментарии
Эта функция служит оболочкой для функции EventSetInformation .
Функция EventSetInformation доступна не во всех версиях Windows. Поведение traceLoggingSetInformation по умолчанию зависит от значений времени компиляции WINVER макросов (режим пользователя) или NTDDI_VERSION (режим ядра):
- Если целевая версия Windows (как указано
WINVERв илиNTDDI_VERSION) поддерживает EventSetInformation , traceLoggingSetInformation напрямую вызывает EventSetInformation. - В противном случае TraceLoggingSetInformation будет использовать GetProcAddress (режим пользователя) или MmGetSystemRoutineAddress (режим ядра) для поиска и вызова EventSetInformation. Если это не удается, TraceLoggingSetInformation вернет
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)(режим пользователя) илиSTATUS_NOT_SUPPORTED(режим ядра).
Чтобы переопределить поведение этой функции по умолчанию, определите макрос перед выполнением TLG_HAVE_EVENT_SET_INFORMATION#include <TraceLoggingProvider.h>:
-
#define TLG_HAVE_EVENT_SET_INFORMATION 0В этом случае TraceLoggingSetInformation ничего не делает и возвращает (HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)режим пользователя) илиSTATUS_ENTRYPOINT_NOT_FOUND(режим ядра). - В этом
#define TLG_HAVE_EVENT_SET_INFORMATION 1случае TraceLoggingSetInformation напрямую вызывает EventSetInformation. -
#define TLG_HAVE_EVENT_SET_INFORMATION 2В этом случае TraceLoggingSetInformation вызовет EventSetInformation через GetProcAddress (пользовательский режим) или MmGetSystemRoutineAddress (режим ядра).
Дополнительные сведения см. в комментариях в заголовке TraceLoggingProvider.h , касающихся макроса TLG_HAVE_EVENT_SET_INFORMATION .
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
| Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
| Верхняя часть | traceloggingprovider.h |
| Библиотека | Advapi32.lib |