/
githubmirror
/
PowerToys
Обзор
Документация
Войти
/
githubmirror
/
PowerToys
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/modules/NewPlus/NewShellExtensionContextMenu/dll_main.cpp
44 строки
1 KB
Stefan Markovic
[General]Add an option for telemetry opt-in and visualization(#34078)
24 окт 2024, 23:04
Не верифицирован
24 окт 2024, 23:04
133aa85
Код
Авторство
О чём код?
#include "pch.h" #include "shell_context_menu.h" #include "dll_main.h" #include "trace.h" #include <common/Telemetry/EtwTrace/EtwTrace.h> HMODULE module_instance_handle = 0; Shared::Trace::ETWTrace trace(L"NewPlusShellExtension"); BOOL APIENTRY DllMain(HMODULE module_handle, DWORD ul_reason_for_call, LPVOID reserved) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: module_instance_handle = module_handle; Trace::RegisterProvider(); newplus::utilities::init_logger(); break; case DLL_PROCESS_DETACH: Trace::UnregisterProvider(); break; } return TRUE; } STDAPI DllGetActivationFactory(_In_ HSTRING activatableClassId, _COM_Outptr_ IActivationFactory** factory) { return Module<ModuleType::InProc>::GetModule().GetActivationFactory(activatableClassId, factory); } STDAPI DllCanUnloadNow() { return Module<InProc>::GetModule().GetObjectCount() == 0 ? S_OK : S_FALSE; } STDAPI DllGetClassObject(_In_ REFCLSID rclsid, _In_ REFIID riid, _Outptr_ LPVOID FAR* ppv) { return Module<InProc>::GetModule().GetClassObject(rclsid, riid, ppv); } CoCreatableClass(shell_context_menu)