mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 18:15:11 +00:00
[BROWSEUI][PSDK] Stubplement UserAssist
Initial implementation of `CUserAssist` class, which contains `IUserAssist` interface. See https://www.geoffchappell.com/studies/windows/ie/browseui/classes/userassist.htm. Required by MS shell32.dll. CORE-17345 CORE-17393
This commit is contained in:
parent
bb209e9010
commit
1f5e0f3fa7
10 changed files with 138 additions and 1 deletions
|
@ -31,7 +31,9 @@ list(APPEND SOURCE
|
|||
toolsband.cpp
|
||||
travellog.cpp
|
||||
utility.cpp
|
||||
CProgressDialog.cpp)
|
||||
CProgressDialog.cpp
|
||||
CUserAssist.cpp
|
||||
CUserAssist.h)
|
||||
|
||||
list(APPEND PCH_SKIP_SOURCE
|
||||
dllinstall.c)
|
||||
|
|
42
dll/win32/browseui/CUserAssist.cpp
Normal file
42
dll/win32/browseui/CUserAssist.cpp
Normal file
|
@ -0,0 +1,42 @@
|
|||
/*
|
||||
* PROJECT: ReactOS browseui
|
||||
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
|
||||
* PURPOSE: IUserAssist implementation
|
||||
* COPYRIGHT: Copyright 2020 Oleg Dubinskiy (oleg.dubinskij2013@yandex.ua)
|
||||
*/
|
||||
// See http://www.geoffchappell.com/studies/windows/ie/browseui/interfaces/iuserassist.htm
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
CUserAssist::CUserAssist()
|
||||
{
|
||||
}
|
||||
|
||||
CUserAssist::~CUserAssist()
|
||||
{
|
||||
}
|
||||
|
||||
// *** IUserAssist methods ***
|
||||
STDMETHODIMP CUserAssist::FireEvent(GUID const *guid, INT param1, ULONG param2, WPARAM wparam, LPARAM lparam)
|
||||
{
|
||||
TRACE("(%u, %d, %d, %p, %p)\n", this, guid, param1, param2, wparam, lparam);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
STDMETHODIMP CUserAssist::QueryEvent(GUID const *guid, INT param, WPARAM wparam, LPARAM lparam, PVOID ptr)
|
||||
{
|
||||
TRACE("(%u, %d, %p, %p, %p)\n", this, guid, param, wparam, lparam, ptr);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
STDMETHODIMP CUserAssist::SetEvent(GUID const *guid, INT param, WPARAM wparam, LPARAM lparam, PVOID ptr)
|
||||
{
|
||||
TRACE("(%u, %d, %p, %p, %p)\n", this, guid, param, wparam, lparam, ptr);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
STDMETHODIMP CUserAssist::Enable(BOOL bEnable)
|
||||
{
|
||||
TRACE("(%d)\n", this, bEnable);
|
||||
return E_NOTIMPL;
|
||||
}
|
38
dll/win32/browseui/CUserAssist.h
Normal file
38
dll/win32/browseui/CUserAssist.h
Normal file
|
@ -0,0 +1,38 @@
|
|||
/*
|
||||
* PROJECT: ReactOS browseui
|
||||
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
|
||||
* PURPOSE: IUserAssist implementation
|
||||
* COPYRIGHT: Copyright 2020 Oleg Dubinskiy (oleg.dubinskij2013@yandex.ua)
|
||||
*/
|
||||
// See https://www.geoffchappell.com/studies/windows/ie/browseui/classes/userassist.htm
|
||||
|
||||
#pragma once
|
||||
|
||||
class CUserAssist :
|
||||
public CComCoClass<CUserAssist, &CLSID_UserAssist>,
|
||||
public CComObjectRootEx<CComMultiThreadModelNoCS>,
|
||||
public IUserAssist
|
||||
{
|
||||
private:
|
||||
public:
|
||||
CUserAssist();
|
||||
~CUserAssist();
|
||||
|
||||
// *** IUserAssist methods ***
|
||||
STDMETHODIMP FireEvent(GUID const *guid, INT param1, ULONG param2, WPARAM wparam, LPARAM lparam);
|
||||
// FIXME: PVOID should point to undocumented UEMINFO structure.
|
||||
STDMETHODIMP QueryEvent(GUID const *guid, INT param, WPARAM wparam, LPARAM lparam, PVOID ptr);
|
||||
STDMETHODIMP SetEvent(GUID const *guid, INT param, WPARAM wparam, LPARAM lparam, PVOID ptr);
|
||||
STDMETHODIMP Enable(BOOL bEnable);
|
||||
|
||||
public:
|
||||
|
||||
DECLARE_REGISTRY_RESOURCEID(IDR_USERASSIST)
|
||||
DECLARE_NOT_AGGREGATABLE(CUserAssist)
|
||||
|
||||
DECLARE_PROTECT_FINAL_CONSTRUCT()
|
||||
|
||||
BEGIN_COM_MAP(CUserAssist)
|
||||
COM_INTERFACE_ENTRY_IID(IID_IUserAssist, IUserAssist)
|
||||
END_COM_MAP()
|
||||
};
|
|
@ -156,6 +156,7 @@ OBJECT_ENTRY(CLSID_FileSearchBand, CSearchBar)
|
|||
OBJECT_ENTRY(CLSID_ProgressDialog, CProgressDialog)
|
||||
OBJECT_ENTRY(CLSID_ISFBand, CISFBand)
|
||||
OBJECT_ENTRY(CLSID_FindFolder, CFindFolder)
|
||||
OBJECT_ENTRY(CLSID_UserAssist, CUserAssist)
|
||||
END_OBJECT_MAP()
|
||||
|
||||
CBrowseUIModule gModule;
|
||||
|
|
|
@ -50,6 +50,7 @@ IDR_ACLCUSTOMMRU REGISTRY "res/custommru.rgs"
|
|||
IDR_TASKBARLIST REGISTRY "res/taskbarlist.rgs"
|
||||
IDR_FILESEARCHBAND REGISTRY "res/filesearchband.rgs"
|
||||
IDR_FINDFOLDER REGISTRY "res/findfolder.rgs"
|
||||
IDR_USERASSIST REGISTRY "res/userassist.rgs"
|
||||
|
||||
#include <reactos/manifest_dll.rc>
|
||||
|
||||
|
|
|
@ -57,6 +57,7 @@
|
|||
#include "CTaskbarList.h"
|
||||
#include "explorerband.h"
|
||||
#include "CProgressDialog.h"
|
||||
#include "CUserAssist.h"
|
||||
#include "browseui.h"
|
||||
#include <stdio.h>
|
||||
|
||||
|
|
13
dll/win32/browseui/res/userassist.rgs
Normal file
13
dll/win32/browseui/res/userassist.rgs
Normal file
|
@ -0,0 +1,13 @@
|
|||
HKCR
|
||||
{
|
||||
NoRemove CLSID
|
||||
{
|
||||
ForceRemove {DD313E04-FEFF-11D1-8ECD-0000F87A470C} = s 'User assistance'
|
||||
{
|
||||
InprocServer32 = s '%MODULE%'
|
||||
{
|
||||
val ThreadingModel = s 'Both'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -107,6 +107,7 @@
|
|||
#define IDR_TASKBARLIST 145
|
||||
#define IDR_FILESEARCHBAND 146
|
||||
#define IDR_FINDFOLDER 147
|
||||
#define IDR_USERASSIST 148
|
||||
|
||||
#define IDS_SMALLICONS 12301
|
||||
#define IDS_LARGEICONS 12302
|
||||
|
|
|
@ -104,6 +104,8 @@ DEFINE_GUID(CLSID_ACListISF, 0x03c036f1, 0xa186, 0x11d0, 0x82, 0x4a, 0x00,
|
|||
DEFINE_GUID(CLSID_ACLMRU, 0x6756a641, 0xde71, 0x11d0, 0x83, 0x1b, 0x00, 0xaa, 0x00, 0x5b, 0x43, 0x83);
|
||||
DEFINE_GUID(CLSID_ACLCustomMRU, 0x6935db93, 0x21e8, 0x4ccc, 0xbe, 0xb9, 0x9f, 0xe3, 0xc7, 0x7a, 0x29, 0x7a);
|
||||
|
||||
DEFINE_GUID(CLSID_UserAssist, 0xdd313e04, 0xfeff, 0x11d1, 0x8e, 0xcd, 0x00, 0x00, 0xf8, 0x7a, 0x47, 0x0c);
|
||||
|
||||
#define SID_SInternetExplorer IID_IWebBrowserApp
|
||||
#define SID_SWebBrowserApp IID_IWebBrowserApp
|
||||
#define SID_SWebBrowserEventsService IID_IWebBrowserEventsService
|
||||
|
|
|
@ -4768,4 +4768,40 @@ interface IItemNameLimits : IUnknown
|
|||
[out] int *piMaxNameLen);
|
||||
};
|
||||
|
||||
/*****************************************************************************
|
||||
* IUserAssist interface
|
||||
*/
|
||||
[
|
||||
uuid(dd313e05-feff-11d1-8ecd-0000f87a470c),
|
||||
object,
|
||||
local,
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IUserAssist : IUnknown
|
||||
{
|
||||
HRESULT FireEvent(
|
||||
GUID const *guid,
|
||||
INT param1,
|
||||
ULONG param2,
|
||||
WPARAM wparam,
|
||||
LPARAM lparam);
|
||||
|
||||
HRESULT QueryEvent(
|
||||
GUID const *guid,
|
||||
INT param,
|
||||
WPARAM wparam,
|
||||
LPARAM lparam,
|
||||
PVOID ptr);
|
||||
|
||||
HRESULT SetEvent(
|
||||
GUID const *guid,
|
||||
INT param,
|
||||
WPARAM wparam,
|
||||
LPARAM lparam,
|
||||
PVOID ptr);
|
||||
|
||||
HRESULT Enable(
|
||||
BOOL bEnable);
|
||||
};
|
||||
|
||||
#endif // __REACTOS__
|
||||
|
|
Loading…
Reference in a new issue