11 #include <wine/unicode.h> 14 const GUID CLSID_NtObjectFolder = { 0x845b0fb2, 0x66e0, 0x416b, { 0x8f, 0x91, 0x31, 0x4e, 0x23, 0xf7, 0xc1, 0x2d } };
17 static const GUID GUID_NtObjectColumns = { 0xf4c430c3, 0x3a8d, 0x4b56, { 0xa0, 0x18, 0xe5, 0x98, 0xda, 0x60, 0xc2, 0xe0 } };
63 switch (
entry->objectType)
101 return SHDefExtractIconW(pszFile, nIconIndex, 0, phiconLarge, phiconSmall, nIconSize);
136 RtlInitEmptyUnicodeString(&
link, wbLink,
sizeof(wbLink));
146 if (
link.Length == 0)
153 CComPtr<IShellFolder> psfDesktop;
161 StringCbCopyW(
path,
sizeof(
path),
L"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{845B0FB2-66E0-416B-8F91-314E23F7C12D}");
164 CComPtr<IShellFolder> psfDesktop;
247 TRACE(
"GetDetailsEx\n");
264 if (
info->objectType < 0)
289 RtlInitEmptyUnicodeString(&
link, wbLink,
sizeof(wbLink));
314 TRACE(
"GetDetailsOf\n");
332 if (
info->objectType < 0)
352 RtlInitEmptyUnicodeString(&
link, wbLink,
sizeof(wbLink));
407 pscid->
fmtid = storage;
411 pscid->
fmtid = storage;
455 DbgPrint(
"Unsupported sorting mode.\n");
461 ULONG mask = inMask ? *inMask : 0xFFFFFFFF;
462 ULONG flags = SFGAO_HASPROPSHEET | SFGAO_CANLINK;
465 flags |= SFGAO_FOLDER | SFGAO_HASSUBFOLDER | SFGAO_BROWSABLE;
468 flags |= SFGAO_LINK | SFGAO_FOLDER | SFGAO_HASSUBFOLDER | SFGAO_BROWSABLE;
471 flags |= SFGAO_FOLDER | SFGAO_HASSUBFOLDER | SFGAO_BROWSABLE;
virtual HRESULT STDMETHODCALLTYPE MapColumnToSCID(UINT iColumn, SHCOLUMNID *pscid)
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
virtual ~CNtObjectFolder()
void WINAPI ILFree(LPITEMIDLIST pidl)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
interface IBindCtx * LPBC
STRSAFEAPI StringCbCopyNW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc, size_t cbToCopy)
HRESULT GetEnumNTDirectory(LPCWSTR path, IEnumIDList **ppil)
const LPCWSTR ObjectTypeNames[]
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
HRESULT INLINE MakeVariantString(VARIANT *pv, PCWSTR string)
#define MAKE_COMPARE_HRESULT(x)
#define IID_PPV_ARG(Itype, ppType)
virtual BOOL STDMETHODCALLTYPE IsFolder(const NtPidlEntry *info)
WCHAR typeName[ANYSIZE_ARRAY]
virtual HRESULT STDMETHODCALLTYPE GetDetailsEx(LPCITEMIDLIST pidl, const SHCOLUMNID *pscid, VARIANT *pv)
virtual HRESULT STDMETHODCALLTYPE EnumObjects(HWND hwndOwner, SHCONTF grfFlags, IEnumIDList **ppenumIDList)
#define NT_OBJECT_PIDL_MAGIC
#define IDI_NTOBJECTDIROPEN
const PCUITEMID_CHILD * PCUITEMID_CHILD_ARRAY
virtual HRESULT STDMETHODCALLTYPE ResolveSymLink(const NtPidlEntry *info, LPITEMIDLIST *fullPidl)
virtual ULONG STDMETHODCALLTYPE ConvertAttributes(const NtPidlEntry *entry, PULONG inMask)
HRESULT GetNTObjectSymbolicLinkTarget(LPCWSTR path, LPCWSTR entryName, PUNICODE_STRING LinkTarget)
#define PID_STG_STORAGETYPE
#define IDI_NTOBJECTDEVICE
const GUID CLSID_NtObjectFolder
HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)
virtual HRESULT GetInfoFromPidl(LPCITEMIDLIST pcidl, const NtPidlEntry **pentry)
virtual HRESULT STDMETHODCALLTYPE CompareName(LPARAM lParam, const NtPidlEntry *first, const NtPidlEntry *second)
#define FAILED_UNEXPECTEDLY(hr)
#define STDMETHODCALLTYPE
virtual HRESULT STDMETHODCALLTYPE InternalBindToObject(PWSTR path, const NtPidlEntry *info, LPITEMIDLIST first, LPCITEMIDLIST rest, LPITEMIDLIST fullPidl, LPBC pbcReserved, IShellFolder **ppsfChild)
virtual HRESULT STDMETHODCALLTYPE GetDetailsOf(LPCITEMIDLIST pidl, UINT iColumn, SHELLDETAILS *psd)
struct _DEVICE_OBJECT DEVICE_OBJECT
virtual HRESULT STDMETHODCALLTYPE CompareIDs(LPARAM lParam, const NtPidlEntry *first, const NtPidlEntry *second)
virtual BOOL STDMETHODCALLTYPE IsSymLink(const NtPidlEntry *info)
virtual HRESULT STDMETHODCALLTYPE Initialize(PCIDLIST_ABSOLUTE pidl)
LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST pidl)
#define FIELD_OFFSET(t, f)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
HRESULT WINAPI SHDefExtractIconW(LPCWSTR pszIconFile, int iIndex, UINT uFlags, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize)
WINE_UNICODE_INLINE int isalphaW(WCHAR wc)
STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc)
ITEMIDLIST UNALIGNED * LPITEMIDLIST
virtual HRESULT STDMETHODCALLTYPE GetDefaultColumnState(UINT iColumn, SHCOLSTATEF *pcsFlags)
static const GUID GUID_NtObjectColumns
HRESULT INLINE MakeStrRetFromString(LPCWSTR string, DWORD cbLength, STRRET *str)