Функция 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 |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по