美文网首页
使用visual studio 2019 创建一个COM项目

使用visual studio 2019 创建一个COM项目

作者: Charles_linzc | 来源:发表于2021-10-19 15:13 被阅读0次

    windows 平台很早就提供了一种组件编程模型COM(Component Object Model), 他定义了一个固定模型,包括server和client两部分,使用户可以方便的集成采用该模型的组件。
    在virtual camera项目中,我们需要使用directshow 编写一个source filter, 而directshow规定所有的fitler必须使用com方式实现。所以,我们首先需要看一下如何创建一个COM项目。
    打开visual studio 2019, 选择创建新项目:


    image.png

    在选择模板处,我们选择ATL 项目:


    image.png
    ATL 项目定义了很多模板,将简化COM组件的开发。

    点击下一步,填写项目名称和项目位置,解决方案名称默认和第一个项目名称同名:


    image.png

    点击创建,选择COM项目属性:
    我们将采用动态链接库(dll)的方式实现项目,不存在跨进程和跨机器的场景,其它保持默认。


    image.png
    点击确认完成项目的创建:
    image.png

    默认创建成功的项目中,包含了由项目模板自动生成和创建的开发com组件必须的文件。
    现在我们需要黄健一个对象,每一个com组件中都包含一个或多个对象,每一个对象向用户提供一个或多个接口,每一个接口定义了用户可以调用的方法,这就是COM接口模型的逻辑。
    右击项目,选择“添加” ->“模块”,打开模块添加向导:


    image.png
    我们选择ATL ->ATL简单对象,点击添加,打开ATL简单对象模板向导:
    image.png
    在名称页,我们创建一个ICameraOjbect, groupID填写为项目名加对象名。
    image.png
    点击“其它”,默认线程选择"单元(department)", 接口选择“自定义(custom)”, 其它选择默认:
    image.png
    点击“完成”,结束对象的创建,创建成功后,打开“视图”->“类视图”,我们将看到自己创建的接口以及实现类CICameraObject:
    image.png

    可以看到通过ATL生成了com接口IICameraOjbect,现在我们可以像这个接口添加自定的方法,右击IICameraObject,选择“添加”->“添加方法”:


    image.png
    点击确认后,该方法将被自动添加到接口和实现类中。打开ICameraObject.cpp, 就可以开始实现自定义方法了:
    image.png
    现在,我们使用visual studio 2019的ATL 项目模板,初始化了ICamera的COM Server端项目,我们点击“生成” ->" 生成解决方案",完成项目的初次build(需要以管理员身份打开visual studio 2019, 否则会报注册失败的错误)。
    image.png

    相关文章

      网友评论

          本文标题:使用visual studio 2019 创建一个COM项目

          本文链接:https://www.haomeiwen.com/subject/idfaoltx.html