[ZIPFLDR] Allow the shell extension to extract passworded zip files
[reactos.git] / dll / shellext / zipfldr / precomp.h
1 #ifndef ZIPFLDR_PRECOMP_H
2 #define ZIPFLDR_PRECOMP_H
3
4 #define COBJMACROS
5 #define COM_NO_WINDOWS_H
6 #define NTOS_MODE_USER
7
8 #include <windef.h>
9 #include <winbase.h>
10 #include <shlobj.h>
11 #include <atlbase.h>
12 #include <atlcom.h>
13 #include <atlcoll.h>
14 #include <atlstr.h>
15 #include <rosdlgs.h>
16 #include <shlwapi.h>
17 #include <shellapi.h>
18 #include <strsafe.h>
19 // debug.h needs this:
20 #define NTSTATUS LONG
21 #include <reactos/debug.h>
22 #include <shellutils.h>
23
24
25
26 #define EXTRACT_VERBA "extract"
27 #define EXTRACT_VERBW L"extract"
28
29 EXTERN_C const GUID CLSID_ZipFolderStorageHandler;
30 EXTERN_C const GUID CLSID_ZipFolderSendTo;
31 EXTERN_C const GUID CLSID_ZipFolderContextMenu;
32 EXTERN_C const GUID CLSID_ZipFolderRightDragHandler;
33 EXTERN_C const GUID CLSID_ZipFolderDropHandler;
34
35 EXTERN_C const GUID CLSID_ZipFolderExtractAllCommand;
36
37 extern LONG g_ModuleRefCnt;
38
39
40 #define Win32DbgPrint(file, line, warn, func) DbgPrint("(%s:%d) " warn, file, line, func)
41 WCHAR* guid2string(REFCLSID iid);
42
43
44 #define MINIZIP_PASSWORD_FLAG 1
45
46 #include "minizip/unzip.h"
47 #include "minizip/ioapi.h"
48
49 extern zlib_filefunc64_def g_FFunc;
50
51 #include "resource.h"
52
53 #include "zippidl.hpp"
54 #include "IZip.hpp"
55
56 HRESULT _CEnumZipContents_CreateInstance(IZip* zip, DWORD flags, const char* prefix, REFIID riid, LPVOID * ppvOut);
57 HRESULT _CExplorerCommandProvider_CreateInstance(IContextMenu* zipObject, REFIID riid, LPVOID * ppvOut);
58 HRESULT _CFolderViewCB_CreateInstance(REFIID riid, LPVOID * ppvOut);
59 void _CZipExtract_runWizard(PCWSTR Filename);
60
61 enum eZipPasswordResponse
62 {
63 eAbort,
64 eSkip,
65 eAccept,
66 };
67
68 eZipPasswordResponse _CZipAskPassword(HWND hDlg, const char* filename, CStringA& Password);
69
70 enum eZipConfirmResponse
71 {
72 eYes,
73 eYesToAll,
74 eNo,
75 eCancel
76 };
77
78 eZipConfirmResponse _CZipAskReplace(HWND hDlg, const char* FullPath);
79
80 #include "CZipEnumerator.hpp"
81 #include "CZipFolder.hpp"
82
83 #endif /* ZIPFLDR_PRECOMP_H */