OSDN Git Service

2010-02-17 LRN <lrn1986@gmail.com>
authorironhead <ironhead>
Thu, 18 Feb 2010 22:01:55 +0000 (22:01 +0000)
committerironhead <ironhead>
Thu, 18 Feb 2010 22:01:55 +0000 (22:01 +0000)
        * include/shlguid.h (IID_IFolderView): Define.
        * include/shlobj.h (IFolderView interface): Define.
        * lib/shell32.c (IID_IFolderView): Export.

winsup/w32api/ChangeLog
winsup/w32api/include/shlguid.h
winsup/w32api/include/shlobj.h
winsup/w32api/lib/shell32.c

index 824992e..7a4339f 100644 (file)
@@ -1,3 +1,9 @@
+2010-02-17  LRN  <lrn1986@gmail.com>
+
+       * include/shlguid.h (IID_IFolderView): Define.
+       * include/shlobj.h (IFolderView interface): Define.
+       * lib/shell32.c (IID_IFolderView): Export.
+
 2010-01-26  Chris Sutcliffe  <ir0n3h4d@users.sourceforge.net>
 
        * include/shldisp.h (AUTOCOMPLETEOPTIONS): Add version guard around
index 3583e32..22469c4 100644 (file)
@@ -79,6 +79,9 @@ extern const GUID IID_IPersistFolder3;
 extern const GUID IID_IShellFolder2;
 extern const GUID IID_IFileSystemBindData;
 #endif
+#if (_WIN32_WINNT >= 0x501)
+extern const GUID IID_IFolderView;
+#endif
 #ifdef UNICODE
 #define IID_IFileViewer        IID_IFileViewerW
 #define IID_IShellLink IID_IShellLinkW
index 7fb7c61..e313c2b 100644 (file)
@@ -1349,6 +1349,33 @@ DECLARE_INTERFACE_(IShellIconOverlayIdentifier,IUnknown)
 };
 #undef INTERFACE
 
+#if (_WIN32_WINNT >= 0x0501) /* WXP */
+typedef _COM_interface IFolderView *LPFOLDERVIEW;
+
+#define INTERFACE IFolderView
+DECLARE_INTERFACE_(IFolderView,IUnknown)
+{
+   STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+   STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+   STDMETHOD_(ULONG,Release)(THIS) PURE;
+   STDMETHOD(GetAutoArrange)(THIS) PURE;
+   STDMETHOD(GetCurrentViewMode)(THIS_ UINT) PURE;
+   STDMETHOD(GetDefaultSpacing)(THIS_ POINT*) PURE;
+   STDMETHOD(GetFocusedItem)(THIS_ int*) PURE;
+   STDMETHOD(GetFolder)(THIS_ REFIID,PVOID*) PURE;
+   STDMETHOD(GetItemPosition)(THIS_ LPCITEMIDLIST,POINT*) PURE;
+   STDMETHOD(GetSelectionMarkedItem)(THIS_ int*) PURE;
+   STDMETHOD(GetSpacing)(THIS_ POINT*) PURE;
+   STDMETHOD(Item)(THIS_ int,LPITEMIDLIST*) PURE;
+   STDMETHOD(ItemCount)(THIS_ UINT,int*) PURE;
+   STDMETHOD(Items)(THIS_ UINT,REFIID,PVOID*) PURE;
+   STDMETHOD(SelectAndPositionItems)(THIS_ UINT,LPCITEMIDLIST*,POINT*,DWORD) PURE;
+   STDMETHOD(SelectItem)(THIS_ int,DWORD) PURE;
+   STDMETHOD(SetCurrentViewMode)(THIS_ UINT) PURE;
+};
+#undef INTERFACE
+#endif /* _WIN32_WINNT >= 0x0501 */
+
 #define ISIOI_ICONFILE 0x00000001
 #define ISIOI_ICONINDEX 0x00000002
 
index b570e04..349fd27 100644 (file)
@@ -77,3 +77,4 @@ DEFINE_GUID(CLSID_MyDocuments,0x450d8fba,0xad25,0x11d0,0x98,0xa8,0x08,0x00,0x36,
 DEFINE_GUID(CLSID_FolderShortcut,0x0AFACED1,0xE828,0x11D1,0x91,0x87,0xB5,0x32,0xF1,0xE9,0x57,0x5D);
 DEFINE_GUID(CLSID_ShellFSFolder,0xF3364BA0,0x65B9,0x11CE,0xA9,0xBA,0x00,0xAA,0x00,0x4A,0xE8,0x37);
 DEFINE_GUID(IID_IShellLinkDataList,0x45E2B4AE,0xB1C3, 0x11D0,0xB9,0x2F,0x00,0xA0,0xC9,0x03,0x12,0xE1);
+DEFINE_GUID(IID_IFolderView,0xCDE725B0L,0xCCC9,0x4519,0x91,0x7E,0x32,0x5D,0x72,0xFA,0xB4,0xCE);