Index: src/chext/DropMenuExt.cpp =================================================================== diff -u -N -rebc7fabbd2d59f9a0f723ea480b5374cc393ec12 -r2f696d06139af4d0fab14dd1613507b66f5169cb --- src/chext/DropMenuExt.cpp (.../DropMenuExt.cpp) (revision ebc7fabbd2d59f9a0f723ea480b5374cc393ec12) +++ src/chext/DropMenuExt.cpp (.../DropMenuExt.cpp) (revision 2f696d06139af4d0fab14dd1613507b66f5169cb) @@ -79,7 +79,7 @@ if(hWnd == nullptr) return E_FAIL; - HRESULT hResult = ReadShellConfig(); + HRESULT hResult = ShellExtensionVerifier::ReadShellConfig(m_piShellExtControl, m_tShellExtMenuConfig, eLocation_DragAndDropMenu); LOG_HRESULT(m_spLog, hResult) << L"Read shell config"; if(SUCCEEDED(hResult)) { @@ -216,40 +216,3 @@ ATLTRACE(_T("CDropMenuExt::HandleMenuMsg2(): uMsg = %lu, wParam = %lu, lParam = %lu\n"), uMsg, wParam, lParam); return S_FALSE; } - -HRESULT CDropMenuExt::ReadShellConfig() -{ - try - { - HWND hWnd = ShellExtensionVerifier::VerifyShellExt(m_piShellExtControl); - if(hWnd == nullptr) - return E_FAIL; - - // get cfg from ch - unsigned long ulSHMID = GetTickCount(); - if(::SendMessage(hWnd, WM_GETCONFIG, eLocation_DragAndDropMenu, ulSHMID) != TRUE) - { - LOG_ERROR(m_spLog) << L"Failed to retrieve configuration from Copy Handler"; - return E_FAIL; - } - - std::wstring strSHMName = IPCSupport::GenerateSHMName(ulSHMID); - - chcore::TSharedMemory tSharedMemory; - chcore::TString wstrData; - chcore::TConfig cfgShellExtData; - - tSharedMemory.Open(strSHMName.c_str()); - tSharedMemory.Read(wstrData); - - cfgShellExtData.ReadFromString(wstrData); - - m_tShellExtMenuConfig.ReadFromConfig(cfgShellExtData, _T("ShellExtCfg")); - - return S_OK; - } - catch(...) - { - return E_FAIL; - } -}