Функция TraceLoggingUnregister (traceloggingprovider.h)

Отменяет регистрацию поставщика TraceLogging.

Синтаксис

void TraceLoggingUnregister(
  TraceLoggingHProvider hProvider
);

Параметры

hProvider

Дескриптор поставщика TraceLogging для отмены регистрации.

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

None

Remarks

При запуске компонента любой дескриптор поставщика TraceLogging в компоненте будет находиться в незарегистрированном состоянии, а любые попытки использовать дескриптор поставщика для создания событий будут игнорироваться автоматически. Прежде чем поставщик сможет записывать какие-либо события, необходимо зарегистрировать поставщик с помощью TraceLoggingRegister. Обычно это делается во время запуска компонента. При завершении работы компонента отмените регистрацию поставщика, вызвав TraceLoggingUnregister, например перед возвратом из main, wmainили WinMainв DllMain(DLL_PROCESS_DETACH), перед возвратом DriverEntryиз сбоя или в подпрограмме выгрузки драйвера.

TraceLoggingRegister не является потокобезопасной в отношении других вызовов TraceLoggingRegister или TraceLoggingUnregister в том же дескрипторе. Не вызывайте TraceLoggingRegister , если возможно, что другой поток может одновременно вызывать TraceLoggingRegister или TraceLoggingUnregister для того же дескриптора.

Если TraceLoggingRegister завершится сбоем, дескриптор поставщика останется незарегистрированным, а все способы использования дескриптора поставщика будут безопасены. В частности, вызов TraceLoggingWrite или TraceLoggingUnregister с незарегистрированным дескриптором поставщика является безопасным.

Важно!

Если библиотека DLL или драйвер вызывает TraceLoggingRegister дескриптор поставщика, он должен вызвать TraceLoggingUnregister этот дескриптор поставщика перед выгрузкой библиотеки DLL или драйвера. Если библиотека DLL выгружается без вызова TraceLoggingUnregister, процесс может завершиться сбоем. Если драйвер выгружается без вызова TraceLoggingUnregister, система может впоследствии завершиться сбоем. Функция TraceLoggingRegister устанавливает обратный вызов конфигурации трассировки событий Windows и TraceLoggingUnregister отменяет обратный вызов. Если обратный вызов не отменен и модуль выгрузится, при следующей попытке трассировки событий Windows вызвать обратный вызов произойдет сбой.

Требования

   
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Верхняя часть traceloggingprovider.h
Библиотека Advapi32.lib

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

TraceLoggingRegister

EventUnregister