42 CComPtr<IEnumIDList> spEnum;
48 SFGAOF BaseAttributes = SFGAO_STREAM | SFGAO_HASPROPSHEET | SFGAO_CANDELETE | SFGAO_CANCOPY | SFGAO_CANMOVE;
50 {
L"cccc.txt", BaseAttributes },
51 {
L"bbbb.txt", BaseAttributes },
54 ULONG totalFetched = 0;
57 CComHeapPtr<ITEMID_CHILD>
child;
58 ULONG celtFetched = 0;
59 hr = spEnum->Next(1, &
child, &celtFetched);
72 CComPtr<IDataObject> spDataObj;
78 trace(
"Pre-Vista zipfldr\n");
105 STGMEDIUM medium = {0};
107 HRESULT hr = spDataObj->GetData(&etc, &medium);
112 ok_hex(medium.tymed, TYMED_HGLOBAL);
128 CComPtr<IEnumIDList> spEnum;
134 SFGAOF BaseAttributes = SFGAO_FOLDER | SFGAO_DROPTARGET | SFGAO_HASPROPSHEET | SFGAO_CANDELETE | SFGAO_CANCOPY | SFGAO_CANMOVE;
136 {
L"aaaa", BaseAttributes | (
g_bOldZipfldr ? 0 : SFGAO_STORAGE) },
137 {
L"cccc", BaseAttributes | (
g_bOldZipfldr ? 0 : SFGAO_STORAGE) },
140 LPCWSTR ExpectedExtraFiles[2][4] =
156 ULONG totalFetched = 0;
159 CComHeapPtr<ITEMID_CHILD>
child;
160 ULONG celtFetched = 0;
161 hr = spEnum->Next(1, &
child, &celtFetched);
165 if (celtFetched != 1)
168 LPCWSTR ExpectedName = totalFetched <
RTL_NUMBER_OF(ExpectedFolders) ? ExpectedFolders[totalFetched].
Name :
L"<TOO MANY FILES>";
170 LPCWSTR* ExtraFiles = totalFetched <
RTL_NUMBER_OF(ExpectedExtraFiles) ? ExpectedExtraFiles[totalFetched] : ExpectedExtraFiles[0];
194 CComPtr<IDataObject> spData;
198 STGMEDIUM medium = {0};
200 HRESULT hr = spData->GetData(&etc, &medium);
205 ok_hex(medium.tymed, TYMED_HGLOBAL);
227 CComPtr<IShellFolder> spFolder;
234 CComPtr<IPersistFolder2> spPersistFolder;
239 CComHeapPtr<ITEMIDLIST_ABSOLUTE> zipPidl;
240 hr = spPersistFolder->GetCurFolder(&zipPidl);
257 skip(
"Code in zipfldr not implemented yet\n");
#define ok_hr(status, expected)
static void test_EnumObjects_Files(const WCHAR *Filename, IShellFolder *pFolder)
static CLIPFORMAT cfFileDescriptor
static void test_EnumObjects(const WCHAR *Filename)
static void test_EnumObjects_Folders(const WCHAR *Filename, IShellFolder *pFolder)
void ok_displayname_(const char *file, int line, IShellFolder *pFolder, PCUITEMID_CHILD pidl, SHGDNF Flags, LPCWSTR Name)
static bool g_bOldZipfldr
#define ok_hr_(file, line, status, expected)
#define ok_hex(expression, result)
#define ok_int(expression, result)
static bool extract_resource(const WCHAR *Filename, LPCWSTR ResourceName)
BOOL WINAPI DeleteFileW(IN LPCWSTR lpFileName)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
void WINAPI ReleaseStgMedium(STGMEDIUM *pmedium)
HRESULT WINAPI StrRetToBufW(LPSTRRET src, const ITEMIDLIST *pidl, LPWSTR dest, UINT len)
static IShellFolder IShellItem **static IBindCtx LPITEMIDLIST SFGAOF
IN PVCB IN PBCB OUT PDIRENT IN USHORT IN POEM_STRING Filename
LPVOID NTAPI GlobalLock(HGLOBAL hMem)
BOOL NTAPI GlobalUnlock(HGLOBAL hMem)
HRESULT GetUIObjectOf([in] HWND hwndOwner, [in] UINT cidl, [in, size_is(cidl)] PCUITEMID_CHILD_ARRAY apidl, [in] REFIID riid, [in, out, unique] UINT *prgfInOut, [out, iid_is(riid)] void **ppvOut)
HRESULT EnumObjects([in] HWND hwndOwner, [in] SHCONTF grfFlags, [out] IEnumIDList **ppenumIDList)
HRESULT GetDisplayNameOf([in] PCUITEMID_CHILD pidl, [in] SHGDNF uFlags, [out] STRRET *lpName)
HRESULT GetAttributesOf([in] UINT cidl, [in, size_is(cidl)] PCUITEMID_CHILD_ARRAY apidl, [in, out] SFGAOF *rgfInOut)
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
#define InitializeShellFolder(Filename, pFolder)
#define IsFormatAdvertised(pDataObj, cfFormat, tymed)
#define ok_displayname(pFolder, pidl, Flags, Name)
#define IDR_ZIP_TEST_ENUM
const GUID IID_IDataObject
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
#define ok_wstr_(file, line, x, y)
#define CFSTR_SHELLIDLISTA
static const WCHAR CFSTR_FILEDESCRIPTORW[]
const ITEMID_CHILD UNALIGNED * PCUITEMID_CHILD
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_Must_inspect_result_ _In_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
int WINAPI EnumObjects(_In_ HDC, _In_ int, _In_ GOBJENUMPROC, _In_ LPARAM)
UINT WINAPI RegisterClipboardFormatW(_In_ LPCWSTR)
#define MAKEINTRESOURCEW(i)
UINT WINAPI RegisterClipboardFormatA(_In_ LPCSTR)
_Must_inspect_result_ _In_ ULONG Flags
#define IID_PPV_ARG(Itype, ppType)