• COM(一)CoCreateInstance


    • This function creates on the local system a single uninitialized object of the class associated with a specified class identifier.
    • 函数原型:
      • 1 STDAPI CoCreateInstance(
        2   REFCLSID rclsid, //创建的Com对象的类标识符(CLSID)
        3   LPUNKNOWN pUnkOuter, //NULL or 指向聚合对象的IUnknown指针
        4   DWORD dwClsContext, //运行可执行代码的上下文:CLSCTX_INPROC_SERVER
        5   REFIID riid, //创建的Com对象的接口标识符
        6   LPVOID * ppv //用来接收指向Com对象接口地址的指针变量
        7   );
    • 详细过程:
      1. 客户端程序调用CoCreateInstance(),传递CLSID、IID。
      2. COM库在注册表HKEY_CLASSES_ROOT\CLSID下查找CLSID(包含server 路径等注册信息)。
      3. COM库读取server DLL路径,并将其加载到客户进程空间(CLSCTX_INPROC_SERVER)。
      4. COM库调用DllGetClassObject()(此为server DLL导出函数),获取对应类厂。
      5. COM库调用类厂的CreateInstance()方法,创建客户程序请求的COM对象。
      6. CoCreateInstance()返回接口至客户端程序。
    • 参考:

  • 相关阅读:
    CVPR顶会热词统计
    @Annotation学习
    把一张表已有的数据对另一张表数据进行修改
    两张表数据不一致进行对比
    学习借鉴
    借鉴tcp
    借鉴tcp
    osi七层
    http学习
    Json学习
  • 原文地址:https://www.cnblogs.com/dahai/p/2193855.html
Copyright © 2020-2023  润新知