mirror of
https://github.com/reactos/reactos.git
synced 2024-11-27 13:33:32 +08: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
@ -31,7 +31,9 @@ list(APPEND SOURCE
|
|||||||
toolsband.cpp
|
toolsband.cpp
|
||||||
travellog.cpp
|
travellog.cpp
|
||||||
utility.cpp
|
utility.cpp
|
||||||
CProgressDialog.cpp)
|
CProgressDialog.cpp
|
||||||
|
CUserAssist.cpp
|
||||||
|
CUserAssist.h)
|
||||||
|
|
||||||
list(APPEND PCH_SKIP_SOURCE
|
list(APPEND PCH_SKIP_SOURCE
|
||||||
dllinstall.c)
|
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_ProgressDialog, CProgressDialog)
|
||||||
OBJECT_ENTRY(CLSID_ISFBand, CISFBand)
|
OBJECT_ENTRY(CLSID_ISFBand, CISFBand)
|
||||||
OBJECT_ENTRY(CLSID_FindFolder, CFindFolder)
|
OBJECT_ENTRY(CLSID_FindFolder, CFindFolder)
|
||||||
|
OBJECT_ENTRY(CLSID_UserAssist, CUserAssist)
|
||||||
END_OBJECT_MAP()
|
END_OBJECT_MAP()
|
||||||
|
|
||||||
CBrowseUIModule gModule;
|
CBrowseUIModule gModule;
|
||||||
|
@ -50,6 +50,7 @@ IDR_ACLCUSTOMMRU REGISTRY "res/custommru.rgs"
|
|||||||
IDR_TASKBARLIST REGISTRY "res/taskbarlist.rgs"
|
IDR_TASKBARLIST REGISTRY "res/taskbarlist.rgs"
|
||||||
IDR_FILESEARCHBAND REGISTRY "res/filesearchband.rgs"
|
IDR_FILESEARCHBAND REGISTRY "res/filesearchband.rgs"
|
||||||
IDR_FINDFOLDER REGISTRY "res/findfolder.rgs"
|
IDR_FINDFOLDER REGISTRY "res/findfolder.rgs"
|
||||||
|
IDR_USERASSIST REGISTRY "res/userassist.rgs"
|
||||||
|
|
||||||
#include <reactos/manifest_dll.rc>
|
#include <reactos/manifest_dll.rc>
|
||||||
|
|
||||||
|
@ -57,6 +57,7 @@
|
|||||||
#include "CTaskbarList.h"
|
#include "CTaskbarList.h"
|
||||||
#include "explorerband.h"
|
#include "explorerband.h"
|
||||||
#include "CProgressDialog.h"
|
#include "CProgressDialog.h"
|
||||||
|
#include "CUserAssist.h"
|
||||||
#include "browseui.h"
|
#include "browseui.h"
|
||||||
#include <stdio.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_TASKBARLIST 145
|
||||||
#define IDR_FILESEARCHBAND 146
|
#define IDR_FILESEARCHBAND 146
|
||||||
#define IDR_FINDFOLDER 147
|
#define IDR_FINDFOLDER 147
|
||||||
|
#define IDR_USERASSIST 148
|
||||||
|
|
||||||
#define IDS_SMALLICONS 12301
|
#define IDS_SMALLICONS 12301
|
||||||
#define IDS_LARGEICONS 12302
|
#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_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_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_SInternetExplorer IID_IWebBrowserApp
|
||||||
#define SID_SWebBrowserApp IID_IWebBrowserApp
|
#define SID_SWebBrowserApp IID_IWebBrowserApp
|
||||||
#define SID_SWebBrowserEventsService IID_IWebBrowserEventsService
|
#define SID_SWebBrowserEventsService IID_IWebBrowserEventsService
|
||||||
|
@ -4768,4 +4768,40 @@ interface IItemNameLimits : IUnknown
|
|||||||
[out] int *piMaxNameLen);
|
[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__
|
#endif // __REACTOS__
|
||||||
|
Loading…
Reference in New Issue
Block a user