您的位置:首页 > 其它

XPCOM开发需要注意的地方

2011-02-14 14:59 375 查看
1. 智能指针nsCOMPtr

a) 如果一个智能指针作为调用函数的输出参数,必须用getter_AddRefs来调用,例如

操作语法:

{

nsCOMPtr<nsIServiceManager> servMan;
nsresult rv = NS_GetServiceManager(getter_AddRefs(servMan));

// do sth

}
它等价于:

{

nsIServiceManager* servMan;
nsresult rv = NS_GetServiceManager(&servMan);

// do sth

servMan->Release()s

}

b)

操作语法:

{

nsCOMPtr<nsIDirectoryServiceProvider> prov = do_QueryInterface(aElement);

// do sth

}

它等价于:

{

aElement->QueryInterface(iid, &prov);

// do sth

prov->Release();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: