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 HINSTANCE shell32_hInstance
;
12 extern INT shell32_ObjCount
;
13 extern HIMAGELIST ShellSmallIconList
;
14 extern HIMAGELIST ShellBigIconList
;
16 /*******************************************
17 * pointer to functions dynamically loaded
19 extern void (WINAPI
* pDLLInitComctl
)(LPVOID
);
20 extern INT (WINAPI
* pImageList_AddIcon
) (HIMAGELIST himl
, HICON hIcon
);
21 extern INT (WINAPI
* pImageList_ReplaceIcon
) (HIMAGELIST
, INT
, HICON
);
22 extern HIMAGELIST (WINAPI
* pImageList_Create
) (INT
,INT
,UINT
,INT
,INT
);
23 extern HICON (WINAPI
* pImageList_GetIcon
) (HIMAGELIST
, INT
, UINT
);
24 extern INT (WINAPI
* pImageList_GetImageCount
)(HIMAGELIST
);
26 extern LPVOID (WINAPI
* pCOMCTL32_Alloc
) (INT
);
27 extern BOOL (WINAPI
* pCOMCTL32_Free
) (LPVOID
);
29 extern HDPA (WINAPI
* pDPA_Create
) (INT
);
30 extern INT (WINAPI
* pDPA_InsertPtr
) (const HDPA
, INT
, LPVOID
);
31 extern BOOL (WINAPI
* pDPA_Sort
) (const HDPA
, PFNDPACOMPARE
, LPARAM
);
32 extern LPVOID (WINAPI
* pDPA_GetPtr
) (const HDPA
, INT
);
33 extern BOOL (WINAPI
* pDPA_Destroy
) (const HDPA
);
34 extern INT (WINAPI
* pDPA_Search
) (const HDPA
, LPVOID
, INT
, PFNDPACOMPARE
, LPARAM
, UINT
);
36 extern HICON (WINAPI
*pLookupIconIdFromDirectoryEx
)(LPBYTE dir
, BOOL bIcon
, INT width
, INT height
, UINT cFlag
);
37 extern HICON (WINAPI
*pCreateIconFromResourceEx
)(LPBYTE bits
,UINT cbSize
, BOOL bIcon
, DWORD dwVersion
, INT width
, INT height
,UINT cFlag
);
39 /* undocumented WINAPI functions not globaly exported */
40 LPITEMIDLIST WINAPI
ILClone (LPCITEMIDLIST pidl
);
41 LPITEMIDLIST WINAPI
ILGetNext(LPITEMIDLIST pidl
);
42 LPITEMIDLIST WINAPI
ILCombine(LPCITEMIDLIST iil1
,LPCITEMIDLIST iil2
);
43 LPITEMIDLIST WINAPI
ILFindLastID(LPITEMIDLIST pidl
);
44 DWORD WINAPI
ILGetSize(LPITEMIDLIST pidl
);
45 LPITEMIDLIST WINAPI
ILCreateFromPath(LPVOID path
);
47 DWORD WINAPI
Shell_GetImageList(HIMAGELIST
* lpBigList
, HIMAGELIST
* lpSmallList
);
48 HRESULT WINAPI
StrRetToStrN (LPVOID dest
, DWORD len
, LPSTRRET src
, LPITEMIDLIST pidl
);
51 #define INVALID_INDEX -1
52 BOOL
SIC_Initialize(void);
53 /*INT32 SIC_GetIconIndex (LPCSTR sSourceFile, INT32 dwSourceIndex );*/
56 BOOL
HCR_MapTypeToValue ( LPCSTR szExtension
, LPSTR szFileType
, DWORD len
);
57 BOOL
HCR_GetExecuteCommand ( LPCSTR szClass
, LPCSTR szVerb
, LPSTR szDest
, DWORD len
);
58 BOOL
HCR_GetDefaultIcon (LPCSTR szClass
, LPSTR szDest
, DWORD len
, LPDWORD dwNr
);
60 DWORD WINAPI
ParseFieldA(LPCSTR src
,DWORD field
,LPSTR dst
,DWORD len
);
62 HGLOBAL WINAPI
SHAllocShared(LPVOID psrc
, DWORD size
, DWORD procID
);
63 LPVOID WINAPI
SHLockShared(HANDLE hmem
, DWORD procID
);
64 BOOL WINAPI
SHUnlockShared(HANDLE pmem
);
65 HANDLE WINAPI
SHFreeShared(HANDLE hmem
, DWORD procID
);
67 /****************************************************************************
71 extern LPDATAOBJECT
IDataObject_Constructor(HWND hwndOwner
, LPSHELLFOLDER psf
, LPITEMIDLIST
* apidl
, UINT cidl
);
72 extern LPENUMFORMATETC
IEnumFORMATETC_Constructor(UINT
, const FORMATETC
[]);
74 extern LPCLASSFACTORY
IShellLink_CF_Constructor(void);
75 extern LPCLASSFACTORY
IShellLinkW_CF_Constructor(void);
77 extern LPCLASSFACTORY
IClassFactory_Constructor(void);
78 extern LPCONTEXTMENU
IContextMenu_Constructor(LPSHELLFOLDER
, LPCITEMIDLIST
*, UINT
);
79 extern LPSHELLFOLDER
IShellFolder_Constructor(LPSHELLFOLDER
,LPITEMIDLIST
);
80 extern LPSHELLVIEW
IShellView_Constructor(LPSHELLFOLDER
, LPCITEMIDLIST
);
81 extern LPSHELLLINK
IShellLink_Constructor(void);
82 extern LPSHELLLINKW
IShellLinkW_Constructor(void);
83 extern LPENUMIDLIST
IEnumIDList_Constructor(LPCSTR
,DWORD
);
84 extern LPEXTRACTICON
IExtractIcon_Constructor(LPITEMIDLIST
);