10340c518SMark Jansen #ifndef _ZIPFLDR_APITEST_PRECOMP_H_
20340c518SMark Jansen #define _ZIPFLDR_APITEST_PRECOMP_H_
30340c518SMark Jansen 
40340c518SMark Jansen #define WIN32_NO_STATUS
50340c518SMark Jansen #define _INC_WINDOWS
60340c518SMark Jansen #define COM_NO_WINDOWS_H
70340c518SMark Jansen 
80340c518SMark Jansen 
90340c518SMark Jansen #include <windef.h>
100340c518SMark Jansen #include <winbase.h>
110340c518SMark Jansen #include <shlobj.h>
120340c518SMark Jansen #include <atlbase.h>
130340c518SMark Jansen #include <atlcom.h> // gcc needs to resolve unused template content
140340c518SMark Jansen #include <shellapi.h>
150340c518SMark Jansen #include <shlwapi.h>
160340c518SMark Jansen #include <strsafe.h>
170340c518SMark Jansen 
180340c518SMark Jansen #include <shellutils.h>
190340c518SMark Jansen 
200340c518SMark Jansen #include <apitest.h>
210340c518SMark Jansen 
220340c518SMark Jansen #include "resource.h"
230340c518SMark Jansen 
24*5cd5598eSMark Jansen BOOL extract_resource(WCHAR* Filename, LPCWSTR ResourceName, WCHAR* ParentFolder);
250340c518SMark Jansen #define InitializeShellFolder(Filename, pFolder)            InitializeShellFolder_(__FILE__, __LINE__, Filename, pFolder)
260340c518SMark Jansen bool InitializeShellFolder_(const char* file, int line, const WCHAR* Filename, CComPtr<IShellFolder>& spFolder);
270340c518SMark Jansen 
280340c518SMark Jansen #define IsFormatAdvertised(pDataObj, cfFormat, tymed)   IsFormatAdvertised_(__FILE__, __LINE__, pDataObj, cfFormat, tymed)
290340c518SMark Jansen bool IsFormatAdvertised_(const char* file, int line, IDataObject* pDataObj, CLIPFORMAT cfFormat, TYMED tymed);
300340c518SMark Jansen 
31*5cd5598eSMark Jansen #define ok_displayname(pFolder, pidl, Flags, Name)      ok_displayname_(__FILE__, __LINE__, pFolder, pidl, Flags, Name)
32*5cd5598eSMark Jansen void ok_displayname_(const char* file, int line, IShellFolder* pFolder, PCUITEMID_CHILD pidl, SHGDNF Flags, LPCWSTR Name);
330340c518SMark Jansen 
340340c518SMark Jansen #endif /* _ZIPFLDR_APITEST_PRECOMP_H_ */
35