class IUnKnown

{

virtual void QueryInterface(REFIID riid,IUnknown** ppv)=0;

virtual void addref()=0;

virtual void release()=0;

}

void QueryInterface(REFIID riid,IUnknown** ppv)

{

if(riid==IID_ITest)

*ppv = static_cast<IPug*>(this);

else {

*ppv=0;

return E_NOINTERFACE;

}

reinterpret_cast<IUnknown*>(*ppv)->AddRef();

return S_OK;

}

最新文章

  1. 使用 bash 创建定时任务
  2. Android开发学习之路-该怎么学Android(Service和Activity通信为例)
  3. 简单研究下Retrofit
  4. Unity减少GC Alloc之 使用for替换foreach
  5. Spring MVC学习笔记——Welcome
  6. REST签名认证
  7. shell 循环
  8. Swif基本语法以及与OC比较三
  9. redis的list类型!!!!
  10. python学习笔记(一)、列表和元祖
  11. [leetcode]24. Swap Nodes in Pairs交换节点对
  12. vs2015 编译google v8
  13. Oracle简单的备份和恢复-导出和导入(2)
  14. 122、详解Glide图片加载库常用方法
  15. redis安装和命令使用
  16. WCF之maxConnections
  17. windows服务初识
  18. 20155211实验2 Windows口令破解
  19. wireshark 根据域名筛选
  20. poj1040 Transportation(DFS)

热门文章

  1. poj2891 拓展欧几里得
  2. Ubuntu 14.10 下安装SVN
  3. (转)Document对象内容集合
  4. 为自己的系统定制openstack ceilometer
  5. Python OpenCV——Image
  6. 禁止VMware用户在系统里删除网卡的操作的方法
  7. Android PermissionChecker 权限全面详细分析和解决方案
  8. 【转】What is an entity system framework for game development?
  9. windows服务创建与管理
  10. 编程之美2.5:寻找最大的K个数