Función TraceLoggingUnregister (traceloggingprovider.h)
Anula el registro de un proveedor de TraceLogging.
Sintaxis
void TraceLoggingUnregister(
TraceLoggingHProvider hProvider
);
Parámetros
hProvider
Identificador del proveedor TraceLogging que se va a anular el registro.
Valor devuelto
None
Observaciones
Cuando un componente comienza a ejecutarse, cualquier identificador de proveedor de TraceLogging en el componente estará en un estado no registrado y los intentos de usar el identificador del proveedor para generar eventos se omitirán silenciosamente. Para que el proveedor pueda escribir cualquier evento, debe registrar el proveedor mediante TraceLoggingRegister.
Normalmente, lo hará durante el inicio del componente. En el apagado del componente, anule el registro del proveedor mediante una llamada a TraceLoggingUnregister, por ejemplo, antes de volver de main
, wmain
o WinMain
, en DllMain(DLL_PROCESS_DETACH)
, antes de volver desde un error DriverEntry
o en la rutina Unload del controlador.
TraceLoggingRegister no es seguro para subprocesos con respecto a otras llamadas a TraceLoggingRegister o TraceLoggingUnregister en el mismo identificador. No llame a TraceLoggingRegister si es posible que otro subproceso llame a TraceLoggingRegister o TraceLoggingUnregister en el mismo identificador al mismo tiempo.
Si se produce un error en TraceLoggingRegister , el identificador del proveedor permanecerá sin registrar y todos los usos del identificador de proveedor no serán seguros sin operaciones. En concreto, es un no-op seguro llamar a TraceLoggingWrite o TraceLoggingUnregister con un identificador de proveedor no registrado.
Importante
Si el archivo DLL o el controlador llama a TraceLoggingRegister
en un identificador de proveedor, debe llamar a TraceLoggingUnregister
en ese identificador de proveedor antes de que se descargue el archivo DLL o el controlador. Si un archivo DLL se descarga sin llamar a TraceLoggingUnregister
, el proceso puede bloquearse posteriormente. Si un controlador descarga sin llamar a TraceLoggingUnregister
, el sistema puede bloquearse posteriormente. La TraceLoggingRegister
función establece una devolución de llamada de configuración ETW y TraceLoggingUnregister
cancela la devolución de llamada. Si la devolución de llamada no se cancela y el módulo se descarga, se producirá un bloqueo la próxima vez que ETW intente invocar la devolución de llamada.
Requisitos
Cliente mínimo compatible | Windows Vista [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP] |
Encabezado | traceloggingprovider.h |
Library | Advapi32.lib |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de