2 * internal Shell32 Library definitions
5 #ifndef __WINE_SHELL_MAIN_H
6 #define __WINE_SHELL_MAIN_H
8 /*******************************************
9 * global SHELL32.DLL variables
11 extern HINSTANCE32 shell32_hInstance
;
12 extern UINT32 shell32_DllRefCount
;
13 extern HIMAGELIST ShellSmallIconList
;
14 extern HIMAGELIST ShellBigIconList
;
16 /*******************************************
17 * pointer to functions dynamically loaded
19 extern void (CALLBACK
* pDLLInitComctl
)(LPVOID
);
20 extern INT32 (CALLBACK
* pImageList_AddIcon
) (HIMAGELIST himl
, HICON32 hIcon
);
21 extern INT32 (CALLBACK
* pImageList_ReplaceIcon
) (HIMAGELIST
, INT32
, HICON32
);
22 extern HIMAGELIST (CALLBACK
* pImageList_Create
) (INT32
,INT32
,UINT32
,INT32
,INT32
);
23 extern HICON32 (CALLBACK
* pImageList_GetIcon
) (HIMAGELIST
, INT32
, UINT32
);
24 extern INT32 (CALLBACK
* pImageList_GetImageCount
)(HIMAGELIST
);
26 extern LPVOID (CALLBACK
* pCOMCTL32_Alloc
) (INT32
);
27 extern BOOL32 (CALLBACK
* pCOMCTL32_Free
) (LPVOID
);
29 extern HDPA (CALLBACK
* pDPA_Create
) (INT32
);
30 extern INT32 (CALLBACK
* pDPA_InsertPtr
) (const HDPA
, INT32
, LPVOID
);
31 extern BOOL32 (CALLBACK
* pDPA_Sort
) (const HDPA
, PFNDPACOMPARE
, LPARAM
);
32 extern LPVOID (CALLBACK
* pDPA_GetPtr
) (const HDPA
, INT32
);
33 extern BOOL32 (CALLBACK
* pDPA_Destroy
) (const HDPA
);
34 extern INT32 (CALLBACK
* pDPA_Search
) (const HDPA
, LPVOID
, INT32
, PFNDPACOMPARE
, LPARAM
, UINT32
);
36 LPITEMIDLIST WINAPI
ILClone (LPCITEMIDLIST pidl
);
37 LPITEMIDLIST WINAPI
ILGetNext(LPITEMIDLIST pidl
);
38 LPITEMIDLIST WINAPI
ILCombine(LPCITEMIDLIST iil1
,LPCITEMIDLIST iil2
);
39 LPITEMIDLIST WINAPI
ILFindLastID(LPITEMIDLIST pidl
);
40 DWORD WINAPI
ILGetSize(LPITEMIDLIST pidl
);
41 LPITEMIDLIST WINAPI
ILCreateFromPath(LPVOID path
);
44 #define INVALID_INDEX -1
45 BOOL32
SIC_Initialize(void);
46 INT32
SIC_GetIconIndex (LPCSTR sSourceFile
, INT32 dwSourceIndex
);
49 BOOL32
HCR_MapTypeToValue ( LPCSTR szExtension
, LPSTR szFileType
, DWORD len
);
50 BOOL32
HCR_GetExecuteCommand ( LPCSTR szClass
, LPCSTR szVerb
, LPSTR szDest
, DWORD len
);
51 BOOL32
HCR_GetDefaultIcon (LPCSTR szClass
, LPSTR szDest
, DWORD len
, LPDWORD dwNr
);
53 DWORD WINAPI
ParseField32A(LPCSTR src
,DWORD field
,LPSTR dst
,DWORD len
);
55 HGLOBAL32 WINAPI
SHAllocShared(LPVOID psrc
, DWORD size
, DWORD procID
);
56 LPVOID WINAPI
SHLockShared(HANDLE32 hmem
, DWORD procID
);
57 BOOL32 WINAPI
SHUnlockShared(HANDLE32 pmem
);
58 HANDLE32 WINAPI
SHFreeShared(HANDLE32 hmem
, DWORD procID
);
60 /****************************************************************************
64 extern LPDATAOBJECT
IDataObject_Constructor(HWND32 hwndOwner
, LPSHELLFOLDER psf
, LPITEMIDLIST
* apidl
, UINT32 cidl
);
65 extern LPENUMFORMATETC
IEnumFORMATETC_Constructor(UINT32
, const FORMATETC32
[]);
67 extern LPCLASSFACTORY
IShellLink_CF_Constructor(void);
68 extern LPCLASSFACTORY
IShellLinkW_CF_Constructor(void);
70 extern LPCLASSFACTORY
IClassFactory_Constructor(void);
71 extern LPCONTEXTMENU
IContextMenu_Constructor(LPSHELLFOLDER
, LPCITEMIDLIST
*, UINT32
);
72 extern LPSHELLFOLDER
IShellFolder_Constructor(LPSHELLFOLDER
,LPITEMIDLIST
);
73 extern LPSHELLVIEW
IShellView_Constructor(LPSHELLFOLDER
, LPCITEMIDLIST
);
74 extern LPSHELLLINK
IShellLink_Constructor(void);
75 extern LPSHELLLINKW
IShellLinkW_Constructor(void);
76 extern LPENUMIDLIST
IEnumIDList_Constructor(LPCSTR
,DWORD
);
77 extern LPEXTRACTICON
IExtractIcon_Constructor(LPITEMIDLIST
);
81 /* FIXME should be moved to a header file. IsEqualGUID
82 is declared but not exported in compobj.c !!!*/
83 #define IsEqualGUID(rguid1, rguid2) (!memcmp(rguid1, rguid2, sizeof(GUID)))
84 #define IsEqualIID(riid1, riid2) IsEqualGUID(riid1, riid2)
85 #define IsEqualCLSID(rclsid1, rclsid2) IsEqualGUID(rclsid1, rclsid2)