ReactOS 0.4.16-dev-1946-g52006dd
CDefViewUtil.cpp File Reference
#include "precomp.h"
Include dependency graph for CDefViewUtil.cpp:

Go to the source code of this file.

Classes

class  CShellFolderViewCBWrapper
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (shell)
 
HRESULT ShellViewIdToFolderViewMode (const SHELLVIEWID *pVid)
 
const SHELLVIEWID * FolderViewModeToShellViewId (UINT FVM)
 
EXTERN_C HRESULT WINAPI SHCreateShellFolderViewEx (_In_ LPCSFV pcsfv, _Out_ IShellView **ppsv)
 

Function Documentation

◆ FolderViewModeToShellViewId()

const SHELLVIEWID * FolderViewModeToShellViewId ( UINT  FVM)

Definition at line 33 of file CDefViewUtil.cpp.

34{
35 static const SHELLVIEWID *vids[] = {
36 &VID_LargeIcons, &VID_SmallIcons,
37 &VID_Details, &VID_Thumbnails,
38 &VID_Tile, &VID_ThumbStrip,
39 };
40 FVM -= FVM_FIRST;
41 return FVM < _countof(vids) ? vids[FVM] : NULL;
42}
#define NULL
Definition: types.h:112
@ FVM_FIRST
Definition: shobjidl.idl:680
#define _countof(array)
Definition: sndvol32.h:70

Referenced by CDefView::CreateViewWindow3(), and CDefView::GetView().

◆ SHCreateShellFolderViewEx()

EXTERN_C HRESULT WINAPI SHCreateShellFolderViewEx ( _In_ LPCSFV  pcsfv,
_Out_ IShellView **  ppsv 
)

Definition at line 128 of file CDefViewUtil.cpp.

129{
130 if (!ppsv)
131 return E_INVALIDARG;
132 *ppsv = NULL;
133
134 TRACE("sf=%p pidl=%p cb=%p mode=0x%08x outer=%p\n",
135 pcsfv->pshf, pcsfv->pidl, pcsfv->pfnCallback,
136 pcsfv->fvm, pcsfv->psvOuter);
137
139 SFV_CREATE create = { sizeof(create), pcsfv->pshf, pcsfv->psvOuter };
140
141 if (pcsfv->pfnCallback)
142 {
143 HRESULT hr = ShellObjectCreatorInit<CShellFolderViewCBWrapper>(pcsfv,
144 IID_PPV_ARG(IShellFolderViewCB, &psfvcb));
145 if (FAILED(hr))
146 return hr;
147 create.psfvcb = psfvcb;
148 }
149 return SHCreateShellFolderView(&create, ppsv);
150}
HRESULT WINAPI SHCreateShellFolderView(const SFV_CREATE *pcsfv, IShellView **ppsv)
Definition: CDefView.cpp:4826
#define E_INVALIDARG
Definition: ddrawi.h:101
#define FAILED(hr)
Definition: intsafe.h:51
static const struct access_res create[16]
Definition: package.c:7505
HRESULT hr
Definition: shlfolder.c:183
#define TRACE(s)
Definition: solgame.cpp:4
#define IID_PPV_ARG(Itype, ppType)

Referenced by CNetworkConnections::CreateViewObject(), and test_SHCreateShellFolderViewEx().

◆ ShellViewIdToFolderViewMode()

HRESULT ShellViewIdToFolderViewMode ( const SHELLVIEWID *  pVid)

Definition at line 13 of file CDefViewUtil.cpp.

14{
15 if (IsEqualIID(*pVid, VID_LargeIcons))
16 return FVM_ICON;
17 else if (IsEqualIID(*pVid, VID_SmallIcons))
18 return FVM_SMALLICON;
19 else if (IsEqualIID(*pVid, VID_List))
20 return FVM_LIST;
21 else if (IsEqualIID(*pVid, VID_Details))
22 return FVM_DETAILS;
23 else if (IsEqualIID(*pVid, VID_Thumbnails))
24 return FVM_THUMBNAIL;
25 else if (IsEqualIID(*pVid, VID_Tile))
26 return FVM_TILE;
27 else if (IsEqualIID(*pVid, VID_ThumbStrip))
28 return FVM_THUMBSTRIP;
29 return E_UNEXPECTED;
30}
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
@ FVM_SMALLICON
Definition: shobjidl.idl:681
@ FVM_LIST
Definition: shobjidl.idl:682
@ FVM_TILE
Definition: shobjidl.idl:685
@ FVM_THUMBNAIL
Definition: shobjidl.idl:684
@ FVM_THUMBSTRIP
Definition: shobjidl.idl:686
@ FVM_ICON
Definition: shobjidl.idl:679
@ FVM_DETAILS
Definition: shobjidl.idl:683
#define E_UNEXPECTED
Definition: winerror.h:3528

Referenced by CDefView::CreateViewWindow3().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( shell  )