本文整理汇总了C++中COMPtr::forwardListCount方法的典型用法代码示例。如果您正苦于以下问题:C++ COMPtr::forwardListCount方法的具体用法?C++ COMPtr::forwardListCount怎么用?C++ COMPtr::forwardListCount使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类COMPtr
的用法示例。
在下文中一共展示了COMPtr::forwardListCount方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: dumpBackForwardList
static void dumpBackForwardList(IWebView* webView)
{
ASSERT(webView);
printf("\n============== Back Forward List ==============\n");
COMPtr<IWebBackForwardList> bfList;
if (FAILED(webView->backForwardList(&bfList)))
return;
// Print out all items in the list after prevTestBFItem, which was from the previous test
// Gather items from the end of the list, the print them out from oldest to newest
Vector<COMPtr<IUnknown> > itemsToPrint;
int forwardListCount;
if (FAILED(bfList->forwardListCount(&forwardListCount)))
return;
for (int i = forwardListCount; i > 0; --i) {
COMPtr<IWebHistoryItem> item;
if (FAILED(bfList->itemAtIndex(i, &item)))
return;
// something is wrong if the item from the last test is in the forward part of the b/f list
assert(item != prevTestBFItem);
COMPtr<IUnknown> itemUnknown;
item->QueryInterface(&itemUnknown);
itemsToPrint.append(itemUnknown);
}
COMPtr<IWebHistoryItem> currentItem;
if (FAILED(bfList->currentItem(¤tItem)))
return;
assert(currentItem != prevTestBFItem);
COMPtr<IUnknown> currentItemUnknown;
currentItem->QueryInterface(¤tItemUnknown);
itemsToPrint.append(currentItemUnknown);
int currentItemIndex = itemsToPrint.size() - 1;
int backListCount;
if (FAILED(bfList->backListCount(&backListCount)))
return;
for (int i = -1; i >= -backListCount; --i) {
COMPtr<IWebHistoryItem> item;
if (FAILED(bfList->itemAtIndex(i, &item)))
return;
if (item == prevTestBFItem)
break;
COMPtr<IUnknown> itemUnknown;
item->QueryInterface(&itemUnknown);
itemsToPrint.append(itemUnknown);
}
for (int i = itemsToPrint.size() - 1; i >= 0; --i) {
COMPtr<IWebHistoryItem> historyItemToPrint;
itemsToPrint[i]->QueryInterface(&historyItemToPrint);
dumpHistoryItem(historyItemToPrint.get(), 8, i == currentItemIndex);
}
printf("===============================================\n");
}