From 84fbdba9f56cc608478d3ebf3a0cf610450f3b34 Mon Sep 17 00:00:00 2001 From: yuyoyuppe Date: Wed, 4 Mar 2020 13:40:32 +0300 Subject: [PATCH] MSIX: use com_object_factory for powerrename --- .../powerrename/UWPui/PowerRenameUWPUI.cpp | 66 +------------------ 1 file changed, 2 insertions(+), 64 deletions(-) diff --git a/src/modules/powerrename/UWPui/PowerRenameUWPUI.cpp b/src/modules/powerrename/UWPui/PowerRenameUWPUI.cpp index be556e37ae..8ced4e21b7 100644 --- a/src/modules/powerrename/UWPui/PowerRenameUWPUI.cpp +++ b/src/modules/powerrename/UWPui/PowerRenameUWPUI.cpp @@ -4,6 +4,7 @@ #include #include #include +#include std::atomic g_dwModuleRefCount = 0; @@ -24,69 +25,6 @@ void ModuleRelease() } HINSTANCE g_hInst = 0; -class CPowerRenameClassLocalFactory : public IClassFactory -{ -public: - CPowerRenameClassLocalFactory(_In_ REFCLSID clsid) : - _clsid(clsid) - { - } - - // IUnknown methods - IFACEMETHODIMP QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppv) - { - static const QITAB qit[] = { - QITABENT(CPowerRenameClassLocalFactory, IClassFactory), - { 0 } - }; - return QISearch(this, qit, riid, ppv); - } - - IFACEMETHODIMP_(ULONG) - AddRef() - { - return ++_refCount; - } - - IFACEMETHODIMP_(ULONG) - Release() - { - LONG refCount = --_refCount; - return refCount; - } - - // IClassFactory methods - IFACEMETHODIMP CreateInstance(_In_opt_ IUnknown* punkOuter, _In_ REFIID riid, _Outptr_ void** ppv) - { - *ppv = NULL; - HRESULT hr; - if (punkOuter) - { - hr = CLASS_E_NOAGGREGATION; - } - else - { - if (_clsid == CLSID_PowerRenameMenu) - { - hr = CPowerRenameMenu::s_CreateInstance(punkOuter, riid, ppv); - } - else - { - hr = CLASS_E_CLASSNOTAVAILABLE; - } - } - return hr; - } - - IFACEMETHODIMP LockServer(BOOL) - { - return S_OK; - } - -private: - std::atomic _refCount; - CLSID _clsid; -}; int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE, @@ -96,7 +34,7 @@ int APIENTRY wWinMain(_In_ HINSTANCE hInstance, main_thread_id = GetCurrentThreadId(); winrt::init_apartment(); g_hInst = hInstance; - CPowerRenameClassLocalFactory factory{CLSID_PowerRenameMenu}; + com_object_factory factory; DWORD token; if (!SUCCEEDED(CoRegisterClassObject(CLSID_PowerRenameMenu, &factory, CLSCTX_LOCAL_SERVER, REGCLS_MULTIPLEUSE, &token))) {