
Com组件
YearWang
简单可复制
展开
-
C++ COM实现之四 添加接口
<br />COM接口必须得提供给客户程序,这样他们才能知道你的这个DLL存在什么样的函数实现什么样的功能,同时还需要一个GUID和接口ID。COM的接口你可以把它当成一个虚类处理。<br />定义接口如下:mycom.h<br /> <br />01.#pragma once 02.#include "unknwn.h" 03.// {85F5CF11-2A25-4ef9-8F7C-8C3F14A0860A} 04.static const GUID CLSID_MyCOM =原创 2010-09-19 13:08:00 · 805 阅读 · 0 评论 -
C++ COM实现之一 创建一个DLL
COM是一种接口技术,它提供了一种方法用于客户程序进行调用。COM原理和技术的文章已经很多了,就不过多讲解了,这里只注重实现。下面分几步对进程内COM组件进行编码实现以达到对实现一个COM的清晰的认识,目的是通过COM接口方法调用DLL中的函数。首先,创建一个标准的win32 DLL项目mycom,dllmain入口实现如下01.DWORD g_dwAttachedProcesses = 0L; // # of attached processes 02.DWORD g_dwPageSize =原创 2010-09-19 13:15:00 · 1108 阅读 · 0 评论 -
C++ COM实现之三 实现类厂
类厂是什么?就是一个工厂用于创建各种产品,将创建好的产品提供给外部用户使用。其实现如下:factory.hview plaincopy to clipboardprint?01.#pragma once 02.#include "unknwn.h" 03.class CClassFactory : 04. public IClassFactory 05.{ 06.public: 07. CClassFactory(void); 08. virtual ~CCla转载 2010-09-19 11:36:00 · 1855 阅读 · 0 评论 -
C++ COM实现之二 注册这个DLL
<br />DLL做好之后就可以实现注册代码了,注册之后客户端就可以通过注册表查询到该DLL并进行调用。下面是注册过程,其中使用的两个文件如下:<br />// File: registry.h 03.// 04.// Desc: Contains COM register and unregister functions for the UI. 05.// 06.// Copyright (C) 1999-2001 Microsoft Corporation. All Ri原创 2010-09-19 13:11:00 · 5662 阅读 · 0 评论 -
C++ COM实现之五 调用这个DLL
<br /> 就剩调用这个COM了,很普通的一个调用。几个步骤介绍一下:<br />1. 初始化COM环境(系统的)<br />2. 通过ID创建接口实例<br />3. 调用接口<br />4. 释放接口实例<br />5. 清理COM环境(系统的)<br />实现代码如下:<br />01.#include "stdafx.h" 02.#include <windows.h> 03.#include <conio.h> 04.#include "..//mycom//mycom.h"原创 2010-09-19 13:07:00 · 827 阅读 · 0 评论 -
用纯粹的C++编写COM组件
本文提供一个完全用C++实现的进程内(DLL)COM服务器,不要ATL或MFC提供任何支持。用这种方式编写COM对象可以让你深入地洞察到COM处理进程内服务器的方法以及COM是如何创建类工厂的。利用本文提供的这个简单框架你可以实现很基本的COM组件,如外壳扩展(Shell Extensions)等。如果你在使用过程中发现了任何问题,请将它反馈到vckbase@public.hk.hi.cn。<br /><br />以下是用本文所说的方式编写自己的COM对象要经过的步骤:<br /><br />第一步:写原创 2010-09-27 15:33:00 · 676 阅读 · 0 评论 -
接触VC之四:COM组件模型基础
<br />一年又一年,已经又过了一年了。我VC的生涯已经两岁了。可以相当地庆贺一下哟。回顾这一年的学习(唉,还没有工作实践呢。这年头,工作不好找哇。),还学了不少的好东西。其中,最重要的就是COM组件模型,我个人觉得这个几乎是Windows的核心。许多先进的技术(比如微软著名的DirectX,ADO,没有人会不知道吧)都以COM组件的形式发布的。现在,我瞄上了另一个好东东,就是泛型编程技术。它能够编写出清晰、灵活、高度可重用的代码,在ATL中就可以依稀看出它的影子(现在网上ATL文章有很多,我以后也会谈到原创 2010-09-27 17:17:00 · 631 阅读 · 0 评论