shell32: Add a stub IShellFolderView for IShellView.
This commit is contained in:
parent
9e80570a3b
commit
a3d0877ed6
|
@ -86,6 +86,7 @@ typedef struct
|
||||||
const IDropSourceVtbl* lpvtblDropSource;
|
const IDropSourceVtbl* lpvtblDropSource;
|
||||||
const IViewObjectVtbl* lpvtblViewObject;
|
const IViewObjectVtbl* lpvtblViewObject;
|
||||||
const IFolderViewVtbl* lpvtblFolderView;
|
const IFolderViewVtbl* lpvtblFolderView;
|
||||||
|
const IShellFolderViewVtbl *lpvtblShellFolderView;
|
||||||
IShellFolder* pSFParent;
|
IShellFolder* pSFParent;
|
||||||
IShellFolder2* pSF2Parent;
|
IShellFolder2* pSF2Parent;
|
||||||
IShellBrowser* pShellBrowser;
|
IShellBrowser* pShellBrowser;
|
||||||
|
@ -117,6 +118,7 @@ static const IDropTargetVtbl dtvt;
|
||||||
static const IDropSourceVtbl dsvt;
|
static const IDropSourceVtbl dsvt;
|
||||||
static const IViewObjectVtbl vovt;
|
static const IViewObjectVtbl vovt;
|
||||||
static const IFolderViewVtbl fviewvt;
|
static const IFolderViewVtbl fviewvt;
|
||||||
|
static const IShellFolderViewVtbl shellfolderviewvt;
|
||||||
|
|
||||||
static inline IShellViewImpl *impl_from_IOleCommandTarget( IOleCommandTarget *iface )
|
static inline IShellViewImpl *impl_from_IOleCommandTarget( IOleCommandTarget *iface )
|
||||||
{
|
{
|
||||||
|
@ -143,6 +145,11 @@ static inline IShellViewImpl *impl_from_IFolderView( IFolderView *iface )
|
||||||
return (IShellViewImpl *)((char*)iface - FIELD_OFFSET(IShellViewImpl, lpvtblFolderView));
|
return (IShellViewImpl *)((char*)iface - FIELD_OFFSET(IShellViewImpl, lpvtblFolderView));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline IShellViewImpl *impl_from_IShellFolderView( IShellFolderView *iface )
|
||||||
|
{
|
||||||
|
return (IShellViewImpl *)((char*)iface - FIELD_OFFSET(IShellViewImpl, lpvtblShellFolderView));
|
||||||
|
}
|
||||||
|
|
||||||
/* ListView Header ID's */
|
/* ListView Header ID's */
|
||||||
#define LISTVIEW_COLUMN_NAME 0
|
#define LISTVIEW_COLUMN_NAME 0
|
||||||
#define LISTVIEW_COLUMN_SIZE 1
|
#define LISTVIEW_COLUMN_SIZE 1
|
||||||
|
@ -200,6 +207,7 @@ IShellView * IShellView_Constructor( IShellFolder * pFolder)
|
||||||
sv->lpvtblDropSource=&dsvt;
|
sv->lpvtblDropSource=&dsvt;
|
||||||
sv->lpvtblViewObject=&vovt;
|
sv->lpvtblViewObject=&vovt;
|
||||||
sv->lpvtblFolderView=&fviewvt;
|
sv->lpvtblFolderView=&fviewvt;
|
||||||
|
sv->lpvtblShellFolderView=&shellfolderviewvt;
|
||||||
|
|
||||||
sv->pSFParent = pFolder;
|
sv->pSFParent = pFolder;
|
||||||
if(pFolder) IShellFolder_AddRef(pFolder);
|
if(pFolder) IShellFolder_AddRef(pFolder);
|
||||||
|
@ -1705,6 +1713,10 @@ static HRESULT WINAPI IShellView_fnQueryInterface(IShellView2 * iface,REFIID rii
|
||||||
{
|
{
|
||||||
*ppvObj = This;
|
*ppvObj = This;
|
||||||
}
|
}
|
||||||
|
else if(IsEqualIID(riid, &IID_IShellFolderView))
|
||||||
|
{
|
||||||
|
*ppvObj = &This->lpvtblShellFolderView;
|
||||||
|
}
|
||||||
else if(IsEqualIID(riid, &IID_IFolderView))
|
else if(IsEqualIID(riid, &IID_IFolderView))
|
||||||
{
|
{
|
||||||
*ppvObj = &This->lpvtblFolderView;
|
*ppvObj = &This->lpvtblFolderView;
|
||||||
|
@ -2895,3 +2907,316 @@ static const IFolderViewVtbl fviewvt =
|
||||||
IFView_SelectItem,
|
IFView_SelectItem,
|
||||||
IFView_SelectAndPositionItems
|
IFView_SelectAndPositionItems
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* IShellFolderView */
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnQueryInterface(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
REFIID riid,
|
||||||
|
LPVOID *ppvObj)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
TRACE("(%p)->(IID:%s,%p)\n", This, debugstr_guid(riid), ppvObj);
|
||||||
|
return IShellView2_QueryInterface((IShellView2*)This, riid, ppvObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ULONG WINAPI IShellFolderView_fnAddRef(IShellFolderView *iface)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
TRACE("(%p)->(count=%u)\n", This, This->ref);
|
||||||
|
return IShellView2_AddRef((IShellView2*)This);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ULONG WINAPI IShellFolderView_fnRelease(IShellFolderView *iface)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
TRACE("(%p)->(count=%u)\n", This, This->ref);
|
||||||
|
return IShellView2_Release((IShellView2*)This);
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnRearrange(IShellFolderView *iface, LPARAM sort)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%ld) stub\n", This, sort);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnGetArrangeParam(IShellFolderView *iface, LPARAM *sort)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p) stub\n", This, sort);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnArrangeGrid(IShellFolderView *iface)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p) stub\n", This);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnAutoArrange(IShellFolderView *iface)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p) stub\n", This);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnGetAutoArrange(IShellFolderView *iface)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p) stub\n", This);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnAddObject(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
PITEMID_CHILD pidl,
|
||||||
|
UINT *item)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p %p) stub\n", This, pidl, item);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnGetObject(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
PITEMID_CHILD *pidl,
|
||||||
|
UINT item)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p %d) stub\n", This, pidl, item);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnRemoveObject(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
PITEMID_CHILD pidl,
|
||||||
|
UINT *item)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p %p) stub\n", This, pidl, item);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnGetObjectCount(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
UINT *count)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p) stub\n", This, count);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnSetObjectCount(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
UINT count,
|
||||||
|
UINT flags)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%d %x) stub\n", This, count, flags);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnUpdateObject(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
PITEMID_CHILD pidl_old,
|
||||||
|
PITEMID_CHILD pidl_new,
|
||||||
|
UINT *item)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p %p %p) stub\n", This, pidl_old, pidl_new, item);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnRefreshObject(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
PITEMID_CHILD pidl,
|
||||||
|
UINT *item)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p %p) stub\n", This, pidl, item);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnSetRedraw(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
BOOL redraw)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%d) stub\n", This, redraw);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnGetSelectedCount(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
UINT *count)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p) stub\n", This, count);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnGetSelectedObjects(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
PCITEMID_CHILD **pidl,
|
||||||
|
UINT *items)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p %p) stub\n", This, pidl, items);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnIsDropOnSource(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
IDropTarget *drop_target)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p) stub\n", This, drop_target);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnGetDragPoint(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
POINT *pt)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p) stub\n", This, pt);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnGetDropPoint(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
POINT *pt)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p) stub\n", This, pt);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnMoveIcons(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
IDataObject *obj)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p) stub\n", This, obj);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnSetItemPos(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
PCUITEMID_CHILD pidl,
|
||||||
|
POINT *pt)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p %p) stub\n", This, pidl, pt);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnIsBkDropTarget(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
IDropTarget *drop_target)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p) stub\n", This, drop_target);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnSetClipboard(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
BOOL move)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%d) stub\n", This, move);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnSetPoints(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
IDataObject *obj)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p) stub\n", This, obj);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnGetItemSpacing(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
ITEMSPACING *spacing)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p) stub\n", This, spacing);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnSetCallback(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
IShellFolderViewCB *new_cb,
|
||||||
|
IShellFolderViewCB **old_cb)
|
||||||
|
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p %p) stub\n", This, new_cb, old_cb);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnSelect(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
UINT flags)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%d) stub\n", This, flags);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnQuerySupport(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
UINT *support)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p) stub\n", This, support);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IShellFolderView_fnSetAutomationObject(
|
||||||
|
IShellFolderView *iface,
|
||||||
|
IDispatch *disp)
|
||||||
|
{
|
||||||
|
IShellViewImpl *This = impl_from_IShellFolderView(iface);
|
||||||
|
FIXME("(%p)->(%p) stub\n", This, disp);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const IShellFolderViewVtbl shellfolderviewvt =
|
||||||
|
{
|
||||||
|
IShellFolderView_fnQueryInterface,
|
||||||
|
IShellFolderView_fnAddRef,
|
||||||
|
IShellFolderView_fnRelease,
|
||||||
|
IShellFolderView_fnRearrange,
|
||||||
|
IShellFolderView_fnGetArrangeParam,
|
||||||
|
IShellFolderView_fnArrangeGrid,
|
||||||
|
IShellFolderView_fnAutoArrange,
|
||||||
|
IShellFolderView_fnGetAutoArrange,
|
||||||
|
IShellFolderView_fnAddObject,
|
||||||
|
IShellFolderView_fnGetObject,
|
||||||
|
IShellFolderView_fnRemoveObject,
|
||||||
|
IShellFolderView_fnGetObjectCount,
|
||||||
|
IShellFolderView_fnSetObjectCount,
|
||||||
|
IShellFolderView_fnUpdateObject,
|
||||||
|
IShellFolderView_fnRefreshObject,
|
||||||
|
IShellFolderView_fnSetRedraw,
|
||||||
|
IShellFolderView_fnGetSelectedCount,
|
||||||
|
IShellFolderView_fnGetSelectedObjects,
|
||||||
|
IShellFolderView_fnIsDropOnSource,
|
||||||
|
IShellFolderView_fnGetDragPoint,
|
||||||
|
IShellFolderView_fnGetDropPoint,
|
||||||
|
IShellFolderView_fnMoveIcons,
|
||||||
|
IShellFolderView_fnSetItemPos,
|
||||||
|
IShellFolderView_fnIsBkDropTarget,
|
||||||
|
IShellFolderView_fnSetClipboard,
|
||||||
|
IShellFolderView_fnSetPoints,
|
||||||
|
IShellFolderView_fnGetItemSpacing,
|
||||||
|
IShellFolderView_fnSetCallback,
|
||||||
|
IShellFolderView_fnSelect,
|
||||||
|
IShellFolderView_fnQuerySupport,
|
||||||
|
IShellFolderView_fnSetAutomationObject
|
||||||
|
};
|
||||||
|
|
|
@ -542,6 +542,34 @@ static void test_GetItemObject(void)
|
||||||
IShellFolder_Release(desktop);
|
IShellFolder_Release(desktop);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_IShellFolderView(void)
|
||||||
|
{
|
||||||
|
IShellFolderView *folderview;
|
||||||
|
IShellFolder *desktop;
|
||||||
|
IShellView *view;
|
||||||
|
HRESULT hr;
|
||||||
|
|
||||||
|
hr = SHGetDesktopFolder(&desktop);
|
||||||
|
ok(hr == S_OK, "got (0x%08x)\n", hr);
|
||||||
|
|
||||||
|
hr = IShellFolder_CreateViewObject(desktop, NULL, &IID_IShellView, (void**)&view);
|
||||||
|
ok(hr == S_OK, "got (0x%08x)\n", hr);
|
||||||
|
|
||||||
|
hr = IShellView_QueryInterface(view, &IID_IShellFolderView, (void**)&folderview);
|
||||||
|
if (hr != S_OK)
|
||||||
|
{
|
||||||
|
win_skip("IShellView doesn't provide IShellFolderView on this platform\n");
|
||||||
|
IShellView_Release(view);
|
||||||
|
IShellFolder_Release(desktop);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
IShellFolderView_Release(folderview);
|
||||||
|
|
||||||
|
IShellView_Release(view);
|
||||||
|
IShellFolder_Release(desktop);
|
||||||
|
}
|
||||||
|
|
||||||
START_TEST(shlview)
|
START_TEST(shlview)
|
||||||
{
|
{
|
||||||
OleInitialize(NULL);
|
OleInitialize(NULL);
|
||||||
|
@ -551,6 +579,7 @@ START_TEST(shlview)
|
||||||
test_IShellView_CreateViewWindow();
|
test_IShellView_CreateViewWindow();
|
||||||
test_IFolderView();
|
test_IFolderView();
|
||||||
test_GetItemObject();
|
test_GetItemObject();
|
||||||
|
test_IShellFolderView();
|
||||||
|
|
||||||
OleUninitialize();
|
OleUninitialize();
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,6 +24,10 @@
|
||||||
#include <prsht.h>
|
#include <prsht.h>
|
||||||
#include <shlguid.h>
|
#include <shlguid.h>
|
||||||
|
|
||||||
|
#ifdef WINE_NO_UNICODE_MACROS
|
||||||
|
#undef GetObject
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif /* defined(__cplusplus) */
|
#endif /* defined(__cplusplus) */
|
||||||
|
@ -539,6 +543,95 @@ DECLARE_INTERFACE_(IShellFolderViewCB,IUnknown)
|
||||||
#define IShellFolderViewCB_MessageSFVCB(p,a,b,c) (p)->lpVtbl->MessageSFVCB(p,a,b,c)
|
#define IShellFolderViewCB_MessageSFVCB(p,a,b,c) (p)->lpVtbl->MessageSFVCB(p,a,b,c)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* IShellFolderView interface
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef struct _ITEMSPACING
|
||||||
|
{
|
||||||
|
int cxSmall;
|
||||||
|
int cySmall;
|
||||||
|
int cxLarge;
|
||||||
|
int cyLarge;
|
||||||
|
} ITEMSPACING;
|
||||||
|
|
||||||
|
#define INTERFACE IShellFolderView
|
||||||
|
DEFINE_GUID(IID_IShellFolderView,0x37a378c0,0xf82d,0x11ce,0xae,0x65,0x08,0x00,0x2b,0x2e,0x12,0x62);
|
||||||
|
DECLARE_INTERFACE_(IShellFolderView, IUnknown)
|
||||||
|
{
|
||||||
|
/*** IUnknown methods ***/
|
||||||
|
STDMETHOD_(HRESULT,QueryInterface) (THIS_ REFIID riid, void **ppv) PURE;
|
||||||
|
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||||||
|
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||||||
|
|
||||||
|
/*** IShellFolderView methods ***/
|
||||||
|
STDMETHOD(Rearrange) (THIS_ LPARAM lParamSort) PURE;
|
||||||
|
STDMETHOD(GetArrangeParam) (THIS_ LPARAM *plParamSort) PURE;
|
||||||
|
STDMETHOD(ArrangeGrid) (THIS) PURE;
|
||||||
|
STDMETHOD(AutoArrange) (THIS) PURE;
|
||||||
|
STDMETHOD(GetAutoArrange) (THIS) PURE;
|
||||||
|
STDMETHOD(AddObject) (THIS_ PITEMID_CHILD pidl, UINT *puItem) PURE;
|
||||||
|
STDMETHOD(GetObject) (THIS_ PITEMID_CHILD *ppidl, UINT uItem) PURE;
|
||||||
|
STDMETHOD(RemoveObject) (THIS_ PITEMID_CHILD pidl, UINT *puItem) PURE;
|
||||||
|
STDMETHOD(GetObjectCount) (THIS_ UINT *puCount) PURE;
|
||||||
|
STDMETHOD(SetObjectCount) (THIS_ UINT uCount, UINT dwFlags) PURE;
|
||||||
|
STDMETHOD(UpdateObject) (THIS_ PITEMID_CHILD pidlOld, PITEMID_CHILD pidlNew, UINT *puItem) PURE;
|
||||||
|
STDMETHOD(RefreshObject) (THIS_ PITEMID_CHILD pidl, UINT *puItem) PURE;
|
||||||
|
STDMETHOD(SetRedraw) (THIS_ BOOL bRedraw) PURE;
|
||||||
|
STDMETHOD(GetSelectedCount) (THIS_ UINT *puSelected) PURE;
|
||||||
|
STDMETHOD(GetSelectedObjects) (THIS_ PCITEMID_CHILD **pppidl, UINT *puItems) PURE;
|
||||||
|
STDMETHOD(IsDropOnSource) (THIS_ IDropTarget *pDropTarget) PURE;
|
||||||
|
STDMETHOD(GetDragPoint) (THIS_ POINT *ppt) PURE;
|
||||||
|
STDMETHOD(GetDropPoint) (THIS_ POINT *ppt) PURE;
|
||||||
|
STDMETHOD(MoveIcons) (THIS_ IDataObject *pDataObject) PURE;
|
||||||
|
STDMETHOD(SetItemPos) (THIS_ PCUITEMID_CHILD pidl, POINT *ppt) PURE;
|
||||||
|
STDMETHOD(IsBkDropTarget) (THIS_ IDropTarget *pDropTarget) PURE;
|
||||||
|
STDMETHOD(SetClipboard) (THIS_ BOOL bMove) PURE;
|
||||||
|
STDMETHOD(SetPoints) (THIS_ IDataObject *pDataObject) PURE;
|
||||||
|
STDMETHOD(GetItemSpacing) (THIS_ ITEMSPACING *pSpacing) PURE;
|
||||||
|
STDMETHOD(SetCallback) (THIS_ IShellFolderViewCB* pNewCB, IShellFolderViewCB** ppOldCB) PURE;
|
||||||
|
STDMETHOD(Select) ( THIS_ UINT dwFlags ) PURE;
|
||||||
|
STDMETHOD(QuerySupport) (THIS_ UINT * pdwSupport ) PURE;
|
||||||
|
STDMETHOD(SetAutomationObject)(THIS_ IDispatch* pdisp) PURE;
|
||||||
|
};
|
||||||
|
#undef INTERFACE
|
||||||
|
|
||||||
|
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||||
|
/*** IUnknown methods ***/
|
||||||
|
#define IShellFolderView_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||||
|
#define IShellFolderView_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||||
|
#define IShellFolderView_Release(p) (p)->lpVtbl->Release(p)
|
||||||
|
/*** IShellFolderView methods ***/
|
||||||
|
#define IShellFolderView_Rearrange(p,a) (p)->lpVtbl->Rearrange(p,a)
|
||||||
|
#define IShellFolderView_GetArrangeParam(p,a) (p)->lpVtbl->GetArrangeParam(p,a)
|
||||||
|
#define IShellFolderView_ArrangeGrid(p) (p)->lpVtbl->ArrangeGrid(p)
|
||||||
|
#define IShellFolderView_AutoArrange(p) (p)->lpVtbl->AutoArrange(p)
|
||||||
|
#define IShellFolderView_GetAutoArrange(p) (p)->lpVtbl->GetAutoArrange(p)
|
||||||
|
#define IShellFolderView_AddObject(p,a,b) (p)->lpVtbl->AddObject(p,a,b)
|
||||||
|
#define IShellFolderView_GetObject(p,a,b) (p)->lpVtbl->GetObject(p,a,b)
|
||||||
|
#define IShellFolderView_RemoveObject(p,a,b) (p)->lpVtbl->RemoveObject(p,a,b)
|
||||||
|
#define IShellFolderView_GetObjectCount(p,a) (p)->lpVtbl->GetObjectCount(p,a)
|
||||||
|
#define IShellFolderView_SetObjectCount(p,a,b) (p)->lpVtbl->SetObjectCount(p,a,b)
|
||||||
|
#define IShellFolderView_UpdateObject(p,a,b,c) (p)->lpVtbl->UpdateObject(p,a,b,c)
|
||||||
|
#define IShellFolderView_RefreshObject(p,a,b) (p)->lpVtbl->RefreshObject(p,a,b)
|
||||||
|
#define IShellFolderView_SetRedraw(p,a) (p)->lpVtbl->SetRedraw(p,a)
|
||||||
|
#define IShellFolderView_GetSelectedCount(p,a) (p)->lpVtbl->GetSelectedCount(p,a)
|
||||||
|
#define IShellFolderView_GetSelectedObjects(p,a,b) (p)->lpVtbl->GetSelectedObjects(p,a,b)
|
||||||
|
#define IShellFolderView_IsDropOnSource(p,a) (p)->lpVtbl->IsDropOnSource(p,a)
|
||||||
|
#define IShellFolderView_GetDragPoint(p,a) (p)->lpVtbl->GetDragPoint(p,a)
|
||||||
|
#define IShellFolderView_GetDropPoint(p,a) (p)->lpVtbl->GetDropPoint(p,a)
|
||||||
|
#define IShellFolderView_MoveIcons(p,a) (p)->lpVtbl->MoveIcons(p,a)
|
||||||
|
#define IShellFolderView_SetItemPos(p,a,b) (p)->lpVtbl->SetItemPos(p,a,b)
|
||||||
|
#define IShellFolderView_DropTarget(p,a) (p)->lpVtbl->DropTarget(p,a)
|
||||||
|
#define IShellFolderView_SetClipboard(p,a) (p)->lpVtbl->SetClipboard(p,a)
|
||||||
|
#define IShellFolderView_SetPoints(p,a) (p)->lpVtbl->SetPoints(p,a)
|
||||||
|
#define IShellFolderView_GetItemSpacing(p,a) (p)->lpVtbl->GetItemSpacing(p,a)
|
||||||
|
#define IShellFolderView_SetCallback(p,a) (p)->lpVtbl->SetCallback(p,a)
|
||||||
|
#define IShellFolderView_Select(p,a) (p)->lpVtbl->Select(p,a)
|
||||||
|
#define IShellFolderView_QuerySupport(p,a) (p)->lpVtbl->QuerySupport(p,a)
|
||||||
|
#define IShellFolderView_SetAutomationObject(p,a) (p)->lpVtbl->SetAutomationObject(p,a)
|
||||||
|
#endif
|
||||||
|
|
||||||
/* IProgressDialog interface */
|
/* IProgressDialog interface */
|
||||||
#define PROGDLG_NORMAL 0x00000000
|
#define PROGDLG_NORMAL 0x00000000
|
||||||
#define PROGDLG_MODAL 0x00000001
|
#define PROGDLG_MODAL 0x00000001
|
||||||
|
|
|
@ -35,6 +35,7 @@ typedef struct _ITEMIDLIST
|
||||||
} ITEMIDLIST,*LPITEMIDLIST;
|
} ITEMIDLIST,*LPITEMIDLIST;
|
||||||
typedef const ITEMIDLIST *LPCITEMIDLIST;
|
typedef const ITEMIDLIST *LPCITEMIDLIST;
|
||||||
typedef LPITEMIDLIST PITEMID_CHILD;
|
typedef LPITEMIDLIST PITEMID_CHILD;
|
||||||
|
typedef const PITEMID_CHILD PCITEMID_CHILD;
|
||||||
typedef LPCITEMIDLIST PCUITEMID_CHILD;
|
typedef LPCITEMIDLIST PCUITEMID_CHILD;
|
||||||
typedef LPCITEMIDLIST *PCUITEMID_CHILD_ARRAY;
|
typedef LPCITEMIDLIST *PCUITEMID_CHILD_ARRAY;
|
||||||
cpp_quote("#include <poppack.h>")
|
cpp_quote("#include <poppack.h>")
|
||||||
|
|
Loading…
Reference in New Issue