{Start|End}{Doc|Page} go through DCfuncs.
[wine] / include / wine / obj_extracticon.h
1 /************************************************************
2  *    IExtractIconA
3  */
4
5 #ifndef __WINE_WINE_OBJ_EXTRACTICON_H
6 #define __WINE_WINE_OBJ_EXTRACTICON_H
7
8 #include "winbase.h"
9 #include "winuser.h"
10 #include "wine/obj_base.h"
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif /* defined(__cplusplus) */
15
16 DEFINE_SHLGUID(IID_IExtractIconA,       0x000214EBL, 0, 0);
17 DEFINE_SHLGUID(IID_IExtractIconW,       0x000214FAL, 0, 0);
18 typedef struct IExtractIconA IExtractIconA,*LPEXTRACTICONA;
19
20 /* GetIconLocation() input flags*/
21 #define GIL_OPENICON     0x0001      /* allows containers to specify an "open" look */
22 #define GIL_FORSHELL     0x0002      /* icon is to be displayed in a ShellFolder */
23 #define GIL_ASYNC        0x0020      /* this is an async extract, return E_ASYNC */
24
25 /* GetIconLocation() return flags */
26 #define GIL_SIMULATEDOC  0x0001      /* simulate this document icon for this */
27 #define GIL_PERINSTANCE  0x0002      /* icons from this class are per instance (each file has its own) */
28 #define GIL_PERCLASS     0x0004      /* icons from this class per class (shared for all files of this type) */
29 #define GIL_NOTFILENAME  0x0008      /* location is not a filename, must call ::ExtractIcon */
30 #define GIL_DONTCACHE    0x0010      /* this icon should not be cached */
31
32
33 #define ICOM_INTERFACE IExtractIconA
34 #define IExtractIconA_METHODS \
35         ICOM_METHOD5(HRESULT, GetIconLocation, UINT, uFlags, LPSTR, szIconFile, UINT, cchMax, INT*, piIndex, UINT *, pwFlags) \
36         ICOM_METHOD5(HRESULT, Extract, LPCSTR, pszFile, UINT, nIconIndex, HICON*, phiconLarge, HICON*, phiconSmall, UINT, nIconSize)
37 #define IExtractIconA_IMETHODS \
38         IUnknown_IMETHODS \
39         IExtractIconA_METHODS
40 ICOM_DEFINE(IExtractIconA,IUnknown)
41 #undef ICOM_INTERFACE
42
43 #ifdef ICOM_CINTERFACE
44 #define IExtractIconA_QueryInterface(p,a,b)     ICOM_CALL2(QueryInterface,p,a,b)
45 #define IExtractIconA_AddRef(p)                 ICOM_CALL(AddRef,p)
46 #define IExtractIconA_Release(p)                ICOM_CALL(Release,p)
47 #define IExtractIconA_GetIconLocation(p,a,b,c,d,e)      ICOM_CALL5(GetIconLocation,p,a,b,c,d,e)
48 #define IExtractIconA_Extract(p,a,b,c,d,e)      ICOM_CALL5(Extract,p,a,b,c,d,e)
49 #endif
50
51 #define IExtractIcon        IExtractIconA 
52
53 #ifdef __cplusplus
54 } /* extern "C" */
55 #endif /* defined(__cplusplus) */
56
57 #endif /* __WINE_WINE_OBJ_EXTRACTICON_H */
58