typedef HRESULT (CALLBACK * LPFNDFMCALLBACK)(IShellFolder*,HWND,IDataObject*,UINT,WPARAM,LPARAM);
INT CDefFolderMenu_Create2(LPCITEMIDLIST,HWND,UINT,LPCITEMIDLIST*,IShellFolder*,LPFNDFMCALLBACK,UINT,HKEY *,IContextMenu **);
+/****************************************************************************
+ * SHCreateDefaultContextMenu API
+ */
+
+HRESULT WINAPI
+SHCreateDefaultExtractIcon(
+ REFIID riid,
+ void **ppv);
+
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
[in] UINT uMsg,
[in] WPARAM wParam,
[in] LPARAM lParam);
+}
+
+/*****************************************************************************
+ * IDefaultExtractIconInit interface
+ */
-}
\ No newline at end of file
+[
+ object,
+ uuid(800AB0B8-F5FA-4e72-8FF3-B1A243B87BD9), /* FIXME: wrong value! */
+ pointer_default(unique)
+]
+interface IDefaultExtractIconInit : IUnknown
+{
+ HRESULT SetDefaultIcon(
+ [in] LPCWSTR pszFile,
+ [in] int iIcon);
+ HRESULT SetFlags(
+ [in] UINT uFlags);
+ HRESULT SetKey(
+ [in] HKEY hkey);
+ HRESULT SetNormalIcon(
+ [in] LPCWSTR pszFile,
+ [in] int iIcon);
+ HRESULT SetOpenIcon(
+ [in] LPCWSTR pszFile,
+ [in] int iIcon);
+ HRESULT SetShortcutIcon(
+ [in] LPCWSTR pszFile,
+ [in] int iIcon);
+}