您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ ILClone函数代码示例

51自学网 2021-06-01 21:29:06
  C++
这篇教程C++ ILClone函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中ILClone函数的典型用法代码示例。如果您正苦于以下问题:C++ ILClone函数的具体用法?C++ ILClone怎么用?C++ ILClone使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了ILClone函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: m_hwnd

CFileContextMenuManager::CFileContextMenuManager(HWND hwnd,	LPITEMIDLIST pidlParent,std::list<LPITEMIDLIST> pidlItemList) :m_hwnd(hwnd),m_pidlParent(ILClone(pidlParent)),m_pShellContext3(NULL),m_pShellContext2(NULL),m_pShellContext(NULL){	IContextMenu *pContextMenu = NULL;	HRESULT hr;	for each(auto pidl in pidlItemList)	{		m_pidlItemList.push_back(ILClone(pidl));	}
开发者ID:linquize,项目名称:explorerplus-custom,代码行数:15,


示例2: ILClone

HRESULT WINAPI CRecycleBinItemContextMenu::Initialize(LPCITEMIDLIST pidl){    apidl = ILClone(pidl);    if (apidl == NULL)        return E_OUTOFMEMORY;    return S_OK;}
开发者ID:Moteesh,项目名称:reactos,代码行数:7,


示例3: CDS_IDLDropTarget_Create

HRESULT CDS_IDLDropTarget_Create(HWND hwndOwner, IDropTargetVtbl *lpVtbl,                              LPCITEMIDLIST pidl, LPDROPTARGET *ppdropt){    LPIDLDROPTARGET pidldt = (void*)LocalAlloc(LPTR, SIZEOF(CIDLDropTarget));    if (pidldt)    {        pidldt->pidl = ILClone(pidl);        if (pidldt->pidl)        {            pidldt->dropt.lpVtbl = lpVtbl;            pidldt->cRef = 1;            pidldt->hwndOwner = hwndOwner;            Assert(pidldt->pdtgAgr == NULL);            *ppdropt = &pidldt->dropt;            return S_OK;        }        else            LocalFree((HLOCAL)pidldt);    }    *ppdropt = NULL;    return E_OUTOFMEMORY;}
开发者ID:mingpen,项目名称:OpenNT,代码行数:25,


示例4: SHCreateDefaultContextMenu

HRESULT WINAPI SHCreateDefaultContextMenu(const DEFCONTEXTMENU *pdcm, REFIID riid, void **ppv){    IShellFolder *folder=pdcm->psf;    LPITEMIDLIST folder_pidl;    HRESULT ret;    IContextMenu *system_menu;    TRACE("(%p,%s,%p)/n",pdcm,shdebugstr_guid(riid),ppv);    if(!pdcm->pidlFolder)    {        IPersistFolder2 *persist;        IShellFolder_QueryInterface(folder,&IID_IPersistFolder2,(void**)&persist);        IPersistFolder2_GetCurFolder(persist,&folder_pidl);        IPersistFolder2_Release(persist);    }    else        folder_pidl=ILClone(pdcm->pidlFolder);    if(pdcm->cKeys==0)        FIXME("Loading shell extensions using IQueryAssociations not yet supported/n");    ItemMenu_Constructor(folder, folder_pidl, (const LPCITEMIDLIST*)pdcm->apidl, pdcm->cidl, &IID_IContextMenu, (void**)&system_menu);    ret = SHELL_CreateContextMenu(pdcm->hwnd,system_menu,folder,folder_pidl,(LPCITEMIDLIST*)pdcm->apidl,pdcm->cidl,pdcm->aKeys,pdcm->cKeys,riid,ppv);    IContextMenu_Release(system_menu);    ILFree(folder_pidl);    return ret;}
开发者ID:AlexSteel,项目名称:wine,代码行数:25,


示例5: IDataObject_Constructor

/***************************************************************************  IDataObject_Constructor*/LPDATAOBJECT IDataObject_Constructor(HWND hwndOwner, LPITEMIDLIST pMyPidl, LPITEMIDLIST * apidl, UINT cidl){	IDataObjectImpl* dto;	dto = (IDataObjectImpl*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDataObjectImpl));	if (dto)	{	  dto->ref = 1;	  ICOM_VTBL(dto) = &dtovt;	  dto->pidl = ILClone(pMyPidl);	  dto->apidl = _ILCopyaPidl(apidl, cidl);	  dto->cidl = cidl;	  dto->cfShellIDList = RegisterClipboardFormatA(CFSTR_SHELLIDLIST);	  dto->cfFileName = RegisterClipboardFormatA(CFSTR_FILENAMEA);	  InitFormatEtc(dto->pFormatEtc[0], dto->cfShellIDList, TYMED_HGLOBAL);	  InitFormatEtc(dto->pFormatEtc[1], CF_HDROP, TYMED_HGLOBAL);	  InitFormatEtc(dto->pFormatEtc[2], dto->cfFileName, TYMED_HGLOBAL);	  shell32_ObjCount++;	}	TRACE("(%p)->(apidl=%p cidl=%u)/n",dto, apidl, cidl);	return (LPDATAOBJECT)dto;}
开发者ID:NVIDIA,项目名称:winex_lgpl,代码行数:29,


示例6: ItemMenu_Constructor

HRESULT ItemMenu_Constructor(IShellFolder *parent, LPCITEMIDLIST pidl, const LPCITEMIDLIST *apidl, UINT cidl,    REFIID riid, void **pObj){    ContextMenu* This;    HRESULT hr;    UINT i;    This = HeapAlloc(GetProcessHeap(), 0, sizeof(*This));    if (!This) return E_OUTOFMEMORY;    This->IContextMenu3_iface.lpVtbl = &ItemContextMenuVtbl;    This->ref = 1;    This->parent = parent;    if (parent) IShellFolder_AddRef(parent);    This->pidl = ILClone(pidl);    This->apidl = _ILCopyaPidl(apidl, cidl);    This->cidl = cidl;    This->allvalues = TRUE;    This->desktop = FALSE;    for (i = 0; i < cidl; i++)       This->allvalues &= (_ILIsValue(apidl[i]) ? 1 : 0);    hr = IContextMenu3_QueryInterface(&This->IContextMenu3_iface, riid, pObj);    IContextMenu3_Release(&This->IContextMenu3_iface);    return hr;}
开发者ID:AndreRH,项目名称:wine,代码行数:30,


示例7: TRACE

/************************************************************************** *    CPrinterFolder::GetCurFolder */HRESULT WINAPI CPrinterFolder::GetCurFolder(LPITEMIDLIST * pidl){    TRACE ("(%p)->(%p)/n", this, pidl);    *pidl = ILClone (pidlRoot);    return S_OK;}
开发者ID:Nevermore2015,项目名称:reactos,代码行数:10,


示例8: HeapAlloc

/***************************************************************************   ISvItemCm_Constructor()*/IContextMenu2 *ISvItemCm_Constructor(LPSHELLFOLDER pSFParent, LPCITEMIDLIST pidl, const LPCITEMIDLIST *apidl, UINT cidl){	ItemCmImpl* cm;	UINT  u;	cm = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(ItemCmImpl));	cm->IContextMenu2_iface.lpVtbl = &cmvt;	cm->ref = 1;	cm->pidl = ILClone(pidl);	cm->pSFParent = pSFParent;	if(pSFParent) IShellFolder_AddRef(pSFParent);	cm->apidl = _ILCopyaPidl(apidl, cidl);	cm->cidl = cidl;	cm->bAllValues = 1;	for(u = 0; u < cidl; u++)	{	  cm->bAllValues &= (_ILIsValue(apidl[u]) ? 1 : 0);	}	TRACE("(%p)->()/n",cm);	return &cm->IContextMenu2_iface;}
开发者ID:aragaer,项目名称:wine,代码行数:28,


示例9: _ILReadFromSharedMemory

static LPITEMIDLIST _ILReadFromSharedMemory(PCWSTR strField){    LPITEMIDLIST ret = NULL;    // Ensure it really is an IDLIST-formatted parameter    // Format for IDLIST params: ":pid:shared"    if (*strField != L':')        return NULL;    HANDLE hData = (HANDLE) StrToIntW(strField + 1);    PWSTR strSecond = StrChrW(strField + 1, L':');    if (strSecond)    {        int pid = StrToIntW(strSecond + 1);        void* pvShared = SHLockShared(hData, pid);        if (pvShared)        {            ret = ILClone((LPCITEMIDLIST) pvShared);            SHUnlockShared(pvShared);            SHFreeShared(hData, pid);        }    }    return ret;}
开发者ID:RPG-7,项目名称:reactos,代码行数:25,


示例10: CDefFolderMenu_Create2

HRESULT WINAPI CDefFolderMenu_Create2(LPCITEMIDLIST pidlFolder, HWND hwnd, UINT cidl,                                      LPCITEMIDLIST *apidl, IShellFolder *psf,                                      LPFNDFMCALLBACK lpfn, UINT nKeys, const HKEY *ahkeys,                                      IContextMenu **ppcm){    IContextMenu *system_menu;    HRESULT hres;    LPITEMIDLIST folder_pidl;    TRACE("(%p,%p,%u,%p,%p,%u,%p,%p)/n",pidlFolder,hwnd,cidl,apidl,psf,nKeys,ahkeys,ppcm);    if(!pidlFolder)    {        IPersistFolder2 *persist;        IShellFolder_QueryInterface(psf,&IID_IPersistFolder2,(void**)&persist);        IPersistFolder2_GetCurFolder(persist,&folder_pidl);        IPersistFolder2_Release(persist);    }    else        folder_pidl=ILClone(pidlFolder);    ItemMenu_Constructor(psf, folder_pidl, (const LPCITEMIDLIST*)apidl, cidl, &IID_IContextMenu, (void**)&system_menu);    hres= SHELL_CreateContextMenu(hwnd,system_menu,psf,folder_pidl,apidl,cidl,ahkeys,nKeys,&IID_IContextMenu,(void**)ppcm);    IContextMenu_Release(system_menu);    ILFree(folder_pidl);    return hres;}
开发者ID:AlexSteel,项目名称:wine,代码行数:25,


示例11: RecycleBin_GetCurFolder

static HRESULT WINAPI RecycleBin_GetCurFolder(IPersistFolder2 *iface, LPITEMIDLIST *ppidl){    RecycleBin *This = impl_from_IPersistFolder2(iface);    TRACE("/n");    *ppidl = ILClone(This->pidl);    return S_OK;}
开发者ID:YokoZar,项目名称:wine,代码行数:7,


示例12: SHFree

/************************************************************************ *	ISF_NetConnect_PersistFolder2_Initialize * * NOTES: it makes no sense to change the pidl */HRESULT WINAPI CNetworkConnections::Initialize(PCIDLIST_ABSOLUTE pidl){    SHFree(m_pidlRoot);    m_pidlRoot = ILClone(pidl);    return S_OK;}
开发者ID:GYGit,项目名称:reactos,代码行数:12,


示例13: BrsFolder_OnCommand

static BOOL BrsFolder_OnCommand( browse_info *info, UINT id ){    LPBROWSEINFOW lpBrowseInfo = info->lpBrowseInfo;    switch (id)    {    case IDOK:        /* The original pidl is owned by the treeview and will be free'd. */        info->pidlRet = ILClone(info->pidlRet);        if (info->pidlRet == NULL) /* A null pidl would mean a cancel */            info->pidlRet = _ILCreateDesktop();        pdump( info->pidlRet );        if (lpBrowseInfo->pszDisplayName)            SHGetPathFromIDListW( info->pidlRet, lpBrowseInfo->pszDisplayName );        EndDialog( info->hWnd, 1 );        return TRUE;    case IDCANCEL:        EndDialog( info->hWnd, 0 );        return TRUE;    case IDD_MAKENEWFOLDER:        FIXME("make new folder not implemented/n");        return TRUE;    }    return FALSE;}
开发者ID:HBelusca,项目名称:NasuTek-Odyssey,代码行数:27,


示例14: ISF_Desktop_IPersistFolder2_fnGetCurFolder

static HRESULT WINAPI ISF_Desktop_IPersistFolder2_fnGetCurFolder(    IPersistFolder2 *iface, LPITEMIDLIST *ppidl){    IDesktopFolderImpl *This = impl_from_IPersistFolder2( iface );    *ppidl = ILClone(This->pidlRoot);    return S_OK;}
开发者ID:CSRedRat,项目名称:RosWine,代码行数:7,


示例15: SHFree

/************************************************************************ *	ISF_NetConnect_PersistFolder2_Initialize * * NOTES: it makes no sense to change the pidl */HRESULT WINAPI CNetworkConnections::Initialize(LPCITEMIDLIST pidl){    SHFree(pidlRoot);    pidlRoot = ILClone(pidl);    return S_OK;}
开发者ID:RareHare,项目名称:reactos,代码行数:12,


示例16: ILClone

HRESULT CMenuSFToolbar::GetShellFolder(DWORD *pdwFlags, LPITEMIDLIST *ppidl, REFIID riid, void **ppv){    HRESULT hr;    hr = m_shellFolder->QueryInterface(riid, ppv);    if (FAILED_UNEXPECTEDLY(hr))        return hr;    if (pdwFlags)        *pdwFlags = m_dwMenuFlags;    if (ppidl)    {        LPITEMIDLIST pidl = NULL;        if (m_idList)        {            pidl = ILClone(m_idList);            if (!pidl)            {                ERR("ILClone failed!/n");                (*reinterpret_cast<IUnknown**>(ppv))->Release();                return E_FAIL;            }        }        *ppidl = pidl;    }    return hr;}
开发者ID:mvardan,项目名称:ros-svn-mirror,代码行数:31,


示例17: BrsFolder_OnCommand

static BOOL BrsFolder_OnCommand( browse_info *info, UINT id ){    LPBROWSEINFOW lpBrowseInfo = info->lpBrowseInfo;    switch (id)    {    case IDOK:#ifdef __REACTOS__        /* The original pidl is owned by the treeview and will be free'd. */        info->pidlRet = ILClone(info->pidlRet);#endif        if (info->pidlRet == NULL) /* A null pidl would mean a cancel */            info->pidlRet = _ILCreateDesktop();        pdump( info->pidlRet );        if (lpBrowseInfo->pszDisplayName)            SHGetPathFromIDListW( info->pidlRet, lpBrowseInfo->pszDisplayName );        EndDialog( info->hWnd, 1 );        return TRUE;    case IDCANCEL:        EndDialog( info->hWnd, 0 );        return TRUE;    case IDC_BROWSE_FOR_FOLDER_NEW_FOLDER:        BrsFolder_NewFolder(info);        return TRUE;    }    return FALSE;}
开发者ID:GYGit,项目名称:reactos,代码行数:29,


示例18: ILClone

HRESULT WINAPI CPrintersExtractIconW::Initialize(LPCITEMIDLIST pidl){    pidl = ILClone(pidl);    pdump(pidl);    return S_OK;}
开发者ID:Nevermore2015,项目名称:reactos,代码行数:7,


示例19: SHELL32_SetNameOfGuidItem

HRESULT SHELL32_SetNameOfGuidItem(PCUITEMID_CHILD pidl, LPCOLESTR lpName, DWORD dwFlags, PITEMID_CHILD *pPidlOut){    GUID const *clsid = _ILGetGUIDPointer (pidl);    LPOLESTR pStr;    HRESULT hr;    WCHAR szName[100];    if (!clsid)    {        ERR("Pidl is not reg item!/n");        return E_FAIL;    }    hr = StringFromCLSID(*clsid, &pStr);    if (FAILED_UNEXPECTEDLY(hr))        return hr;    swprintf(szName, L"Software//Microsoft//Windows//CurrentVersion//Explorer//CLSID//%s", pStr);    DWORD cbData = (wcslen(lpName) + 1) * sizeof(WCHAR);    LONG res = SHSetValueW(HKEY_CURRENT_USER, szName, NULL, RRF_RT_REG_SZ, lpName, cbData);    CoTaskMemFree(pStr);    if (res == ERROR_SUCCESS)    {        *pPidlOut = ILClone(pidl);        return S_OK;    }    return E_FAIL;}
开发者ID:GYGit,项目名称:reactos,代码行数:32,


示例20: IExplorerBrowserEventsImpl_fnOnNavigationComplete

static HRESULT WINAPI IExplorerBrowserEventsImpl_fnOnNavigationComplete(IExplorerBrowserEvents *iface, PCIDLIST_ABSOLUTE pidl){    IExplorerBrowserEventsImpl *This = impl_from_IExplorerBrowserEvents(iface);    ILFree(This->info->pidl);    This->info->pidl = ILClone(pidl);    update_path_box(This->info);    return S_OK;}
开发者ID:Sunmonds,项目名称:wine,代码行数:8,


示例21: TRACE

HRESULT WINAPI CDesktopFolder::GetCurFolder(LPITEMIDLIST * pidl){    TRACE ("(%p)->(%p)/n", this, pidl);    if (!pidl) return E_POINTER;    *pidl = ILClone (pidlRoot);    return S_OK;}
开发者ID:mvardan,项目名称:reactos,代码行数:8,


示例22: SHFree

/************************************************************************ *    CNetFolder::Initialize * * NOTES: it makes no sense to change the pidl */HRESULT WINAPI CNetFolder::Initialize(LPCITEMIDLIST pidl){    if (pidlRoot)        SHFree((LPVOID)pidlRoot);    pidlRoot = ILClone(pidl);    return S_OK;}
开发者ID:Moteesh,项目名称:reactos,代码行数:13,


示例23: GetCurFolder

/************************************************************************** *	ISF_NetConnect_PersistFolder2_GetCurFolder */HRESULT WINAPI CNetworkConnections::GetCurFolder(LPITEMIDLIST *pidl){    if (!pidl)        return E_POINTER;    *pidl = ILClone(pidlRoot);    return S_OK;}
开发者ID:RareHare,项目名称:reactos,代码行数:12,


示例24: GetCurFolder

/************************************************************************** *	ISF_NetConnect_PersistFolder2_GetCurFolder */HRESULT WINAPI CNetworkConnections::GetCurFolder(PIDLIST_ABSOLUTE *pidl){    if (!pidl)        return E_POINTER;    *pidl = ILClone(m_pidlRoot);    return S_OK;}
开发者ID:GYGit,项目名称:reactos,代码行数:12,


示例25: SHCreateShellItem

HRESULT WINAPI SHCreateShellItem(LPCITEMIDLIST pidlParent,    IShellFolder *psfParent, LPCITEMIDLIST pidl, IShellItem **ppsi){    LPITEMIDLIST new_pidl;    HRESULT ret;    TRACE("(%p,%p,%p,%p)/n", pidlParent, psfParent, pidl, ppsi);    *ppsi = NULL;    if (!pidl)    {        return E_INVALIDARG;    }    else if (pidlParent || psfParent)    {        LPITEMIDLIST temp_parent=NULL;        if (!pidlParent)        {            IPersistFolder2* ppf2Parent;            if (FAILED(IShellFolder_QueryInterface(psfParent, &IID_IPersistFolder2, (void**)&ppf2Parent)))            {                FIXME("couldn't get IPersistFolder2 interface of parent/n");                return E_NOINTERFACE;            }            if (FAILED(IPersistFolder2_GetCurFolder(ppf2Parent, &temp_parent)))            {                FIXME("couldn't get parent PIDL/n");                IPersistFolder2_Release(ppf2Parent);                return E_NOINTERFACE;            }            pidlParent = temp_parent;            IPersistFolder2_Release(ppf2Parent);        }        new_pidl = ILCombine(pidlParent, pidl);        ILFree(temp_parent);        if (!new_pidl)            return E_OUTOFMEMORY;    }    else    {        new_pidl = ILClone(pidl);        if (!new_pidl)            return E_OUTOFMEMORY;    }    ret = SHCreateItemFromIDList(new_pidl, &IID_IShellItem, (void**)ppsi);    ILFree(new_pidl);    return ret;}
开发者ID:karolherbst,项目名称:wine,代码行数:56,


示例26: RecycleBin_Initialize

static HRESULT WINAPI RecycleBin_Initialize(IPersistFolder2 *iface, LPCITEMIDLIST pidl){    RecycleBin *This = impl_from_IPersistFolder2(iface);    TRACE("(%p, %p)/n", This, pidl);    This->pidl = ILClone(pidl);    if (This->pidl == NULL)        return E_OUTOFMEMORY;    return S_OK;}
开发者ID:YokoZar,项目名称:wine,代码行数:10,


示例27: TRACE

HRESULT WINAPI CRecycleBin::Initialize(LPCITEMIDLIST pidl){    TRACE("(%p, %p)/n", this, pidl);    SHFree((LPVOID)this->pidl);    this->pidl = ILClone(pidl);    if (this->pidl == NULL)        return E_OUTOFMEMORY;    return S_OK;}
开发者ID:Moteesh,项目名称:reactos,代码行数:10,


示例28: IPF_Printers_GetCurFolder

/************************************************************************** *    IPF_Printers_fnGetCurFolder */static HRESULT WINAPI IPF_Printers_GetCurFolder (               IPersistFolder2 * iface, LPITEMIDLIST * pidl){    _ICOM_THIS_From_IPersistFolder2 (IGenericSFImpl, iface);    TRACE ("(%p)->(%p)/n", This, pidl);    *pidl = ILClone (This->pidlRoot);    return S_OK;}
开发者ID:HBelusca,项目名称:NasuTek-Odyssey,代码行数:13,


示例29: IPF_Printers_Initialize

/************************************************************************ *    IPF_Printers_Initialize * */static HRESULT WINAPI IPF_Printers_Initialize (               IPersistFolder2 * iface, LPCITEMIDLIST pidl){    _ICOM_THIS_From_IPersistFolder2 (IGenericSFImpl, iface);    if (This->pidlRoot)        SHFree((LPVOID)This->pidlRoot);    This->pidlRoot = ILClone(pidl);    return S_OK;}
开发者ID:HBelusca,项目名称:NasuTek-Odyssey,代码行数:14,


示例30: TRACE

// *** Folder2 methods ***HRESULT STDMETHODCALLTYPE CFolder::get_Self(FolderItem **ppfi){    TRACE("(%p, %p)/n", this, ppfi);    if (!ppfi)        return E_POINTER;    CFolderItem* item = new CComObject<CFolderItem>();    item->AddRef();    item->Init(ILClone(m_idlist));    *ppfi = item;    return S_OK;}
开发者ID:mvardan,项目名称:ros-svn-mirror,代码行数:12,



注:本文中的ILClone函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ ILFree函数代码示例
C++ IL64函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。