[SHELLUTILS.H]
authorGiannis Adamopoulos <gadamopoulos@reactos.org>
Fri, 14 Apr 2017 20:03:46 +0000 (20:03 +0000)
committerGiannis Adamopoulos <gadamopoulos@reactos.org>
Fri, 14 Apr 2017 20:03:46 +0000 (20:03 +0000)
commit2769768c33b977ff1be6cfbdc2e4fa20f26e0b3d
tree5efc967f7c21bdac33993073f707c01fbee56367
parent569891558fa0f7b76a6ea80f11771c1702a892ea
[SHELLUTILS.H]
- Remove the ShellObjectCreator templates that allowed the caller to pass an arbitrary interface pointer. Leaving only the templates that take an void ** ppv parameter means that the callers are forced to use IID_PPV_ARG. This makes it less likely to have a pointer to an wrong interface.
- Fix the callers to always use IID_PPV_ARG.
- Rewrite the ShellObjectCreator templates to create the objects using the ATL CreateInstance thus allowing internal ATL methods to be called.

[BROWSEUI]
-Let CBandSite_CreateInstance take an additional parameter for the outer object since CBandSite is aggregatable. Create the object using the ATL creator class.

svn path=/trunk/; revision=74314
17 files changed:
reactos/base/shell/rshell/misc.cpp
reactos/base/shell/rshell/rshell.spec
reactos/dll/win32/browseui/shellbars/CBandSite.cpp
reactos/dll/win32/browseui/shellbars/CSHEnumClassesOfCategories.cpp
reactos/dll/win32/shell32/CDefView.cpp
reactos/dll/win32/shell32/CEnumIDListBase.cpp
reactos/dll/win32/shell32/CIDLDataObj.cpp
reactos/dll/win32/shell32/folders/CControlPanelFolder.cpp
reactos/dll/win32/shell32/folders/CControlPanelFolder.h
reactos/dll/win32/shell32/folders/CDesktopFolder.cpp
reactos/dll/win32/shell32/folders/CDrivesFolder.cpp
reactos/dll/win32/shell32/folders/CFSFolder.cpp
reactos/dll/win32/shell32/folders/CNetFolder.cpp
reactos/dll/win32/shell32/folders/CPrinterFolder.cpp
reactos/dll/win32/shell32/folders/CRecycleBin.cpp
reactos/dll/win32/shell32/shell32.cpp
reactos/sdk/include/reactos/shellutils.h