初识DirectX和COM
一、COM
1、什么是COM对象
一个COM对象事实上是一个或一套实现了大量接口的C++类
2、COM的优点
不用重新编译你的程序就能升级COM模块
3、COM概貌
4、COM对象的接口
QueryInterface()是COM的关键,它用于申请一个指向你所希望的接口函数的指针
所有从IUknown派生的接口最少也必须实现QueryInterface()、AddRef()和Release()这三个方法
IUnkonwn的类定义如下:
struct IUnknown
{
virtual HRESULT _stdcall QueryInterface(const IID &iid,(void**)ip)=0;
virtual ULONG _stdcall AddRef()=0;
virtual ULONG _stdcall Release()=0;
};
5、COM的规则
A、如果你已经有了一个接口,你可以一直从这个接口申请任何一个别的接口,条件是该接口出自同样的COM对象
B、COM技术是语言无关的。
二、DirectX
1、DirectX架构及其与Win32的关系
2、DirectX各组件的功能
DirectDraw:控制视频显示的主要图形渲染和2D位图引擎
DirectSound:声音组件,支持数字化的声音,不支持MIDI
DirectSound3d:3D声音组件
DirectMusic:拥有DirectSound以前不支持的MIDI技术
DirectInput:处理输入设备
DirectPlay:网络方面的部分,它不会使你进入任何多玩家的网络体系,只是帮你发送和接收数据包
Direct Show:用于在Windows平台上流式播放媒体的组件