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
)(void);
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
);
37 BOOL32
SIC_Initialize(void);
40 BOOL32
HCR_MapTypeToValue ( LPSTR szExtension
, LPSTR szFileType
, DWORD len
);
41 BOOL32
HCR_GetExecuteCommand ( LPCSTR szClass
, LPCSTR szVerb
, LPSTR szDest
, DWORD len
);
42 BOOL32
HCR_GetDefaultIcon (LPCSTR szClass
, LPSTR szDest
, DWORD len
, LPDWORD dwNr
);
44 DWORD WINAPI
ParseField32A(LPCSTR src
,DWORD field
,LPSTR dst
,DWORD len
);
46 HGLOBAL32 WINAPI
SHAllocShared(LPVOID psrc
, DWORD size
, DWORD procID
);
47 LPVOID WINAPI
SHLockShared(HANDLE32 hmem
, DWORD procID
);
48 BOOL32 WINAPI
SHUnlockShared(HANDLE32 pmem
);
49 HANDLE32 WINAPI
SHFreeShared(HANDLE32 hmem
, DWORD procID
);
51 /****************************************************************************
55 extern LPDATAOBJECT
IDataObject_Constructor(HWND32 hwndOwner
, LPSHELLFOLDER psf
, LPITEMIDLIST
* apidl
, UINT32 cidl
);
56 extern LPENUMFORMATETC
IEnumFORMATETC_Constructor(UINT32
, const FORMATETC32
[]);
58 extern LPCLASSFACTORY
IShellLink_CF_Constructor(void);
59 extern LPCLASSFACTORY
IShellLinkW_CF_Constructor(void);
61 extern LPCLASSFACTORY
IClassFactory_Constructor(void);
62 extern LPCONTEXTMENU
IContextMenu_Constructor(LPSHELLFOLDER
, LPCITEMIDLIST
*, UINT32
);
63 extern LPSHELLFOLDER
IShellFolder_Constructor(LPSHELLFOLDER
,LPITEMIDLIST
);
64 extern LPSHELLVIEW
IShellView_Constructor(LPSHELLFOLDER
, LPCITEMIDLIST
);
65 extern LPSHELLLINK
IShellLink_Constructor(void);
66 extern LPSHELLLINKW
IShellLinkW_Constructor(void);
67 extern LPENUMIDLIST
IEnumIDList_Constructor(LPCSTR
,DWORD
);
68 extern LPEXTRACTICON
IExtractIcon_Constructor(LPITEMIDLIST
);
72 /* FIXME should be moved to a header file. IsEqualGUID
73 is declared but not exported in compobj.c !!!*/
74 #define IsEqualGUID(rguid1, rguid2) (!memcmp(rguid1, rguid2, sizeof(GUID)))
75 #define IsEqualIID(riid1, riid2) IsEqualGUID(riid1, riid2)
76 #define IsEqualCLSID(rclsid1, rclsid2) IsEqualGUID(rclsid1, rclsid2)