BOOL WINAPI DllMain( HINSTANCE ModuleHandle, DWORD Reason, PVOID Reserved ) { UNREFERENCED_PARAMETER(ModuleHandle); UNREFERENCED_PARAMETER(Reserved); if (DLL_PROCESS_ATTACH == Reason) { #ifndef WPP_MACRO_USE_KM_VERSION_FOR_UM WPP_INIT_TRACING(NFCCX_TRACING_ID); #endif EventRegisterMicrosoft_Windows_NFC_ClassExtension(); TraceLoggingRegister(g_hNfcCxProvider); } else if (DLL_PROCESS_DETACH == Reason) { #ifndef WPP_MACRO_USE_KM_VERSION_FOR_UM WPP_CLEANUP(); #endif EventUnregisterMicrosoft_Windows_NFC_ClassExtension(); TraceLoggingUnregister(g_hNfcCxProvider); } return TRUE; }
void TraceUnregister() { std::lock_guard<std::mutex> lock(s_isRegisteredMutex); if (s_isRegistered) { s_isRegistered = false; TraceLoggingUnregister(s_traceLoggingProvider); } }
//------------------------------------------------------------------------ // NotifyDllProcessDetach: Notification for DLL unload and teardown // // Description: // Log the methods compiled data if telemetry is enabled and // Unregister telemetry provider with the OS. // void JitTelemetry::NotifyDllProcessDetach() { if (!IsTelemetryEnabled()) { return; } assert(s_fProviderRegistered); // volatile read // Unregister the provider. TraceLoggingUnregister(g_hClrJitProvider); }