资源简介
代码原封不动摘自《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的数控直流电压源
相关资源
- eclipse编写坦克游戏
- 使用Qt编写的视频监控系统支持Qt4-Q
- Qt编写GIF录屏工具
- 利用同步TCP编写网络聊天程序
- 基于蓝牙的一个档案柜appE4A编写
- 基于Quartus II 9.0版本编写的Verilog HDL编
- funcode编写的太空战机
- swift-iOS编写的日历模仿大姨妈app中的
- 张正友相机标定自己编写calibratie函数
-
Ant工程checkst
yle编写代码检测 - STM32 MODBUS_RTU从站程序,KEIL编写
- ISO9001质量管理体系文件编写与培训教
- Ueditor demo
- 军用产品研制技术文件编写范例-研制
- websocket简单web项目,直接部署可使用
- vs编写的记事本含教程
- 移动传播环境杨大成+编写
- arcgis10的数据之一-空间分析部分spat
- QT4.6实践编写串口调试助手原创全源码
- PyQt5编写的大数据应用-高速公路违章
- 用KEIL编写的MODBUS_RTU从站程序STM32
- smtp邮件服务器的编写程序
- weblogic websocket
- Unity3D UGUI官方案例
- VERILOG语言编写的贪吃蛇小游戏
- 移动端ui框架
- SideslipDemo
- 51单片机上的矩阵键盘程序,分别由汇
- FPGA 使用verilog 编写的AD tlc549 测试程序
- 百度Echarts-echarts-demo
评论
共有 条评论