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();
}
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();
}
相关文章推荐
- 3DMAX导出插件开发过程中需要注意的一些地方
- java开发初学者需要注意的地方
- 开发ALV时,需要注意的地方
- Sencha Touch开发一些需要注意的地方
- android 开发中需要注意内存泄露的地方
- 开发COM+组件需要注意的几个地方
- 采用Json字符串,往服务器回传大量富文本数据时,需要注意的地方,最近开发时遇到的问题。
- SPD开发工作流需要注意的地方1【SPD开发的工作流中如何修改审批状态】
- 用javascript做Asp开发语言需要注意的几个关键地方
- iOS开发-OC中属性创建需要注意的地方(property实例变量的创建和标准存取方法)
- Wap wml开发中需要注意的地方收集
- CardView开发中需要注意的地方
- 在开发的时候脚本语言用的最多了,写点JavaScript的一写需要注意的地方
- 用OPC Client开发时,需要从如下几个地方注意内存泄露
- 关于atlas和webpart开发几个需要注意的地方。
- Ext.net 开发日志,需要注意的地方
- Wap wml开发中需要注意的地方
- iOS开发之32bit转64bit需要注意的地方
- (WCF)WCF开发需要注意的地方
- iOS开发-OC中属性创建需要注意的地方(property实例变量的创建和标准存取方法)