本文整理汇总了C++中IShellLibrary::GetFolders方法的典型用法代码示例。如果您正苦于以下问题:C++ IShellLibrary::GetFolders方法的具体用法?C++ IShellLibrary::GetFolders怎么用?C++ IShellLibrary::GetFolders使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IShellLibrary
的用法示例。
在下文中一共展示了IShellLibrary::GetFolders方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CreateShellItemArray
// Create a shell item array object that can be accessed using IObjectCollection
// or IShellItemArray. IObjectCollection lets items be added or removed from the collection.
// For code that needs to run on Vista use SHCreateShellItemArrayFromIDLists()
HRESULT CreateShellItemArray(REFIID riid, void **ppv)
{
*ppv = NULL;
IShellLibrary *pLibrary;
HRESULT hr = CoCreateInstance(CLSID_ShellLibrary, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pLibrary));
if (SUCCEEDED(hr))
{
hr = pLibrary->GetFolders(LFF_ALLITEMS, riid, ppv);
pLibrary->Release();
}
return hr;
}
示例2: PyCom_BuildPyException
// @pymethod <o PyIShellItemArray>|PyIShellLibrary|GetFolders|Retrieves a collection of folders in the library
PyObject *PyIShellLibrary::GetFolders(PyObject *self, PyObject *args)
{
IShellLibrary *pISL = GetI(self);
if ( pISL == NULL )
return NULL;
// @pyparm int|Filter|LFF_ALLITEMS|Specifies what types of folder to return (shellcon.LFF_*)
// @pyparm <o PyIID>|riid|IID_IShellItemArray|The interface to return, IObjectCollection and IObjectArray also accepted.
LIBRARYFOLDERFILTER Filter = LFF_ALLITEMS;
IID riid = IID_IShellItemArray;
void *pv;
if ( !PyArg_ParseTuple(args, "|iO&:GetFolders", &Filter, PyWinObject_AsIID, &riid))
return NULL;
HRESULT hr;
PY_INTERFACE_PRECALL;
hr = pISL->GetFolders(Filter, riid, &pv);
PY_INTERFACE_POSTCALL;
if ( FAILED(hr) )
return PyCom_BuildPyException(hr, pISL, IID_IShellLibrary );
return PyCom_PyObjectFromIUnknown((IUnknown *)pv, riid, FALSE);
}