本文整理汇总了C++中atl::CComPtr::BeginList方法的典型用法代码示例。如果您正苦于以下问题:C++ CComPtr::BeginList方法的具体用法?C++ CComPtr::BeginList怎么用?C++ CComPtr::BeginList使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类atl::CComPtr
的用法示例。
在下文中一共展示了CComPtr::BeginList方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DoInitializeJumpList
void CTortoiseProcApp::DoInitializeJumpList(const CString& appid)
{
ATL::CComPtr<ICustomDestinationList> pcdl;
HRESULT hr = pcdl.CoCreateInstance(CLSID_DestinationList, NULL, CLSCTX_INPROC_SERVER);
if (FAILED(hr))
return;
hr = pcdl->SetAppID(appid);
if (FAILED(hr))
return;
UINT uMaxSlots;
ATL::CComPtr<IObjectArray> poaRemoved;
hr = pcdl->BeginList(&uMaxSlots, IID_PPV_ARGS(&poaRemoved));
if (FAILED(hr))
return;
ATL::CComPtr<IObjectCollection> poc;
hr = poc.CoCreateInstance(CLSID_EnumerableObjectCollection, NULL, CLSCTX_INPROC_SERVER);
if (FAILED(hr))
return;
CString sTemp = CString(MAKEINTRESOURCE(IDS_MENUSETTINGS));
CStringUtils::RemoveAccelerators(sTemp);
ATL::CComPtr<IShellLink> psl;
hr = CreateShellLink(_T("/command:settings"), (LPCTSTR)sTemp, 20, &psl);
if (SUCCEEDED(hr)) {
poc->AddObject(psl);
}
sTemp = CString(MAKEINTRESOURCE(IDS_MENUHELP));
CStringUtils::RemoveAccelerators(sTemp);
psl.Release(); // Need to release the object before calling operator&()
hr = CreateShellLink(_T("/command:help"), (LPCTSTR)sTemp, 19, &psl);
if (SUCCEEDED(hr)) {
poc->AddObject(psl);
}
ATL::CComPtr<IObjectArray> poa;
hr = poc.QueryInterface(&poa);
if (SUCCEEDED(hr)) {
pcdl->AppendCategory((LPCTSTR)CString(MAKEINTRESOURCE(IDS_PROC_TASKS)), poa);
pcdl->CommitList();
}
}