[PATCH 2/5] shell32: Stub out FolderItems.

Sebastian Lackner sebastian at fds-team.de
Mon Jul 4 06:09:52 CDT 2016


On 04.07.2016 07:25, Alex Henrie wrote:
> Cc: Christian Costa <titan.costa at gmail.com>
> Cc: Sebastian Lackner <sebastian at fds-team.de>
> 
> Wine Staging has included a similar patch since 1.7.51, however this
> patch is not based on theirs.

Actually the patch looks very similar, but this is probably caused by
the fact that you both wrote it based on existing code.

> 
> FolderItems2 worked in Windows 2000, but it was removed when
> FolderItems3 was introduced in Windows XP. However, it doesn't hurt us
> to provide this interface anyway for any old applications that might
> want it.
> 
> Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
> ---
>  dlls/shell32/shell32_main.h  |   1 +
>  dlls/shell32/shelldispatch.c | 207 ++++++++++++++++++++++++++++++++++++++++++-
>  2 files changed, 206 insertions(+), 2 deletions(-)
> 

Some of the variable names (for example ppTInfo, rgszNames, rgDispId) sound
a bit odd. Usually variable names without ugly prefix are preferred for new
code (except we want to keep it for compatibility with old code here?).

> +static HRESULT WINAPI FolderItemsImpl_Item(FolderItems3 *iface, VARIANT index, FolderItem **ppid)
> +{
> +    FIXME("(%p,%p)\n", iface, ppid);

You forgot to trace the index parameter here.

> +
> +    return E_NOTIMPL;
> +}
[...]
> @@ -1093,8 +1297,7 @@ static HRESULT WINAPI FolderImpl_Items(Folder3 *iface, FolderItems **ppid)
>  {
>      FIXME("(%p,%p)\n", iface, ppid);

You forgot to change the FIXME to a TRACE.

>  
> -    *ppid = NULL;
> -    return E_NOTIMPL;
> +    return FolderItems_Constructor(ppid);
>  }
>  
>  static HRESULT WINAPI FolderImpl_ParseName(Folder3 *iface, BSTR name, FolderItem **item)
> 




More information about the wine-devel mailing list