资源简介
代码原封不动摘自《COM技术内幕》,只不过从MAKEFILE转为vs2008实现。
vs2008包含两个工程:Com工程,创建Com组件; Client工程,使用Com组件
Client目录:
示例如何使用COM组件
Com目录:
示例如何创建COM组件
Debug目录:
REGISTER.BAT 注册com组件
UnREGISTER.BAT 反注册Com组件
Client.exe示例如何使用Com组件
Cmpnt.dll手动编写的Com组件

代码片段和文件信息
//
// Client.cpp - client implementation
//
#include
#include se.h>
#include “Iface.h“
void trace(const char* msg) { std::cout << “Client: \t\t“ << msg << std::endl ;}
//
// main function
//
int main()
{
// Initialize COM Library
CoInitialize(NULL) ;
trace(“Call CoCreateInstance to create“) ;
trace(“ component and get interface IX.“) ;
IX* pIX = NULL ;
HRESULT hr = ::CoCreateInstance(CLSID_Component1
NULL
CLSCTX_INPROC_SERVER
IID_IX
(void**)&pIX) ;
if (SUCCEEDED(hr))
{
trace(“Succeeded getting IX.“) ;
pIX->Fx() ; // Use interface IX.
trace(“Ask for interface IY.“) ;
IY* pIY = NULL ;
hr = pIX->QueryInterface(IID_IY (void**)&pIY) ;
if (SUCCEEDED(hr))
{
trace(“Succeeded getting IY.“) ;
pIY->Fy() ; // Use interface IY.
pIY->Release() ;
trace(“Release IY interface.“) ;
}
else
{
trace(“Could not get interface IY.“) ;
}
trace(“Ask for interface IZ.“) ;
IZ* pIZ = NULL ;
hr = pIX->QueryInterface(IID_IZ (void**)&pIZ) ;
if (SUCCEEDED(hr))
{
trace(“Succeeded in getting interface IZ.“) ;
pIZ->Fz() ;
pIZ->Release() ;
trace(“Release IZ interface.“) ;
}
else
{
trace(“Could not get interface IZ.“) ;
}
trace(“Release IX interface.“) ;
pIX->Release() ;
}
else
{
std::cout << “Client: \t\tCould not create component. hr = “
<< std::hex << hr << std::endl ;
}
// Uninitialize COM Library
CoUninitialize() ;
return 0 ;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1690 2017-12-05 14:55 ComAndClient\Client\Client.cpp
文件 5287 2017-12-05 15:38 ComAndClient\Client\Client.vcproj
文件 822 2002-09-30 12:00 ComAndClient\Client\GUIDS.CPP
文件 544 2002-09-30 12:00 ComAndClient\Client\IFACE.H
文件 1177 2017-12-05 15:31 ComAndClient\Client\ReadMe.txt
文件 211 2017-12-05 15:31 ComAndClient\Client\stdafx.cpp
文件 233 2017-12-05 15:31 ComAndClient\Client\stdafx.h
文件 498 2017-12-05 15:31 ComAndClient\Client\targetver.h
文件 6283 2017-12-05 15:44 ComAndClient\Com\CMPNT.CPP
文件 311 2002-09-30 12:00 ComAndClient\Com\CMPNT.DEF
文件 167936 2002-09-30 12:00 ComAndClient\Com\CMPNT.DLL
文件 4092 2017-12-05 16:08 ComAndClient\Com\Com.vcproj
文件 1404 2017-12-05 16:09 ComAndClient\Com\Com.vcproj.SPREADTRUM.Penghui.Yin.user
文件 822 2002-09-30 12:00 ComAndClient\Com\GUIDS.CPP
文件 544 2002-09-30 12:00 ComAndClient\Com\IFACE.H
文件 6381 2002-09-30 12:00 ComAndClient\Com\REGISTRY.CPP
文件 778 2004-07-20 14:45 ComAndClient\Com\REGISTRY.H
文件 1331 2017-12-05 15:40 ComAndClient\Com.sln
文件 41984 2017-12-05 15:51 ComAndClient\Debug\Client.exe
文件 47616 2017-12-05 16:08 ComAndClient\Debug\Cmpnt.dll
文件 106 2017-12-05 16:09 ComAndClient\Debug\REGISTER.BAT
文件 106 2017-12-05 16:10 ComAndClient\Debug\UnREGISTER.BAT
文件 207 2017-12-05 16:46 ComAndClient\Readme.txt
目录 0 2017-12-05 16:46 ComAndClient\Client
目录 0 2017-12-05 16:10 ComAndClient\Com
目录 0 2017-12-05 16:46 ComAndClient\Debug
目录 0 2017-12-05 16:46 ComAndClient
----------- --------- ---------- ----- ----
290363 27
............此处省略0个文件信息
- 上一篇:收据发票打印软件V4.08
- 下一篇:基于MSP430的数控直流电压源
相关资源
- labview编程软件滤波器以及编写程序设
- 用python编写的移动彩信的发送程序
- 嵌入式图形界面MiniGUI的示例程序9例
- 易语言post提交示例
- 编写简单的RMI程序 多线程web 服务器
- 用VC 编写的仿QQ聊天室程序源代码
-
Cme
taFileDC的使用示例 - 一个简单的verilog编写的DMA IP CORE,和
- DevExpress之TreeList使用示例
- WinForm属性编辑 propertyGrid示例 仿wind
- 多项式求和(数据结构C 版)
- 汇编语言编写的四则运算小程序
- vc编写中国象棋详细源码注释并附有视
- 用VC 编写的基于SNMP的路由器拓扑程序
- VHDL语言编写的100实用的例程
- MVC模式编写的音乐网站
- 软件开发过程文档(开发大纲 编写规
- 调用WOSA/XFS的简单示例
- C 编写的防火墙程序源代码
- pb (powerbuilder) 编写的自动转台控制
- 吞噬者批处理编写器正式版
- vc编写的通达信插件选股
- c 编写的 矩阵 matrix 类源码
- vc 编写的基于TCP协议的客户/服务器
- 用PB编写俄罗斯方块
- 采用WINSOCK2 编写的TCP/UDP通信程序
- 从EXCEL中取数据在Teechart7显示应用示例
- 图文手把手教你一步步用VC 2010编写通
- 图文手把手教你一步步用VC 2010编写通
- 开关电源的原理与设计 张占松编写
评论
共有 条评论