mirror of
https://github.com/reactos/reactos.git
synced 2024-06-01 18:21:50 +00:00
big fix
This commit is contained in:
parent
4d77750005
commit
d65ef95ae6
|
@ -8,7 +8,7 @@
|
|||
#define _ATL_NO_EXCEPTIONS
|
||||
|
||||
/*
|
||||
* HACK! These functions are conflicting with <shobjidl.h> inline functions...
|
||||
* HACK! These functions are conflicting with <shobjidl.h> inline functions...
|
||||
*/
|
||||
#define IShellFolder_GetDisplayNameOf _disabled_IShellFolder_GetDisplayNameOf_
|
||||
#define IShellFolder_ParseDisplayName _disabled_IShellFolder_ParseDisplayName_
|
||||
|
@ -22,7 +22,7 @@
|
|||
#include <atlstr.h>
|
||||
|
||||
/*
|
||||
* HACK! These functions are conflicting with <shobjidl.h> inline functions...
|
||||
* HACK! These functions are conflicting with <shobjidl.h> inline functions...
|
||||
*/
|
||||
#undef IShellFolder_GetDisplayNameOf
|
||||
#undef IShellFolder_ParseDisplayName
|
||||
|
@ -188,14 +188,17 @@ IShellFolder_ParseDisplayName(
|
|||
TRACE("(%p, %p, %s, %p, %p, %p)\n", hwndOwner, pbcReserved, lpszDisplayName,
|
||||
pchEaten, ppidl, pdwAttributes);
|
||||
|
||||
/* Improve safety */
|
||||
dummy1 = dummy2 = 0;
|
||||
|
||||
if (!pdwAttributes)
|
||||
{
|
||||
dummy1 = 0;
|
||||
pdwAttributes = &dummy1;
|
||||
}
|
||||
|
||||
if (!pchEaten)
|
||||
{
|
||||
dummy2 = 0;
|
||||
pchEaten = &dummy2;
|
||||
}
|
||||
|
||||
if (ppidl)
|
||||
*ppidl = NULL;
|
||||
|
@ -214,15 +217,14 @@ IShellFolder_CompareIDs(
|
|||
_In_ PCUIDLIST_RELATIVE pidl1,
|
||||
_In_ PCUIDLIST_RELATIVE pidl2)
|
||||
{
|
||||
HRESULT hr;
|
||||
TRACE("(%p, %p, %p, %p)\n", psf, lParam, pidl1, pidl2);
|
||||
|
||||
if (lParam & ~(SIZE_T)SHCIDS_COLUMNMASK)
|
||||
{
|
||||
/* Try as IShellFolder2 if possible */
|
||||
hr = psf->QueryInterface(IID_IShellFolder2, (void **)&psf);
|
||||
HRESULT hr = psf->QueryInterface(IID_IShellFolder2, (void **)&psf);
|
||||
if (FAILED(hr))
|
||||
lParam = LOWORD(lParam);
|
||||
lParam &= SHCIDS_COLUMNMASK;
|
||||
else
|
||||
psf->Release();
|
||||
}
|
||||
|
|
|
@ -218,6 +218,12 @@ interface IShellFolder : IUnknown
|
|||
cpp_quote("#define SFGAO_STORAGEANCESTOR 0x00800000L")
|
||||
cpp_quote("#define SFGAO_STORAGECAPMASK 0x70C50008L")
|
||||
cpp_quote("#define SFGAO_PKEYSFGAOMASK 0x81044000L")
|
||||
typedef ULONG SFGAOF;
|
||||
|
||||
cpp_quote("#define SHCIDS_COLUMNMASK 0x0000FFFFL")
|
||||
cpp_quote("#define SHCIDS_BITMASK 0xFFFF0000L")
|
||||
cpp_quote("#define SHCIDS_CANONICALONLY 0x10000000L")
|
||||
cpp_quote("#define SHCIDS_ALLFIELDS 0x80000000L")
|
||||
|
||||
cpp_quote("#define STR_PARSE_SHELL_PROTOCOL_TO_FILE_OBJECTS L\"Parse Shell Protocol To File Objects\"")
|
||||
cpp_quote("#define STR_FILE_SYS_BIND_DATA L\"File System Bind Data\"")
|
||||
|
@ -225,11 +231,6 @@ interface IShellFolder : IUnknown
|
|||
cpp_quote("#define STR_PARSE_TRANSLATE_ALIASES L\"Parse Translate Aliases\"")
|
||||
cpp_quote("#define STR_DONT_PARSE_RELATIVE L\"Don't Parse Relative\"")
|
||||
|
||||
cpp_quote("#define SHCIDS_COLUMNMASK 0x0000FFFFL")
|
||||
cpp_quote("#define SHCIDS_BITMASK 0xFFFF0000L")
|
||||
|
||||
typedef ULONG SFGAOF;
|
||||
|
||||
HRESULT ParseDisplayName(
|
||||
[in] HWND hwndOwner,
|
||||
[in] LPBC pbcReserved,
|
||||
|
|
|
@ -333,7 +333,7 @@ IContextMenu_Invoke(
|
|||
DWORD WINAPI SHGetObjectCompatFlags(IUnknown *pUnk, const CLSID *clsid);
|
||||
|
||||
/*
|
||||
* HACK! These functions are conflicting with <shobjidl.h> inline functions...
|
||||
* HACK! These functions are conflicting with <shobjidl.h> inline functions...
|
||||
* We provide a macro option SHLWAPI_ISHELLFOLDER_HELPERS for using these functions.
|
||||
*/
|
||||
#ifdef SHLWAPI_ISHELLFOLDER_HELPERS
|
||||
|
|
Loading…
Reference in a new issue