am和pm的用法:CoInitialize()和AfxOleInit()的用法

来源:百度文库 编辑:偶看新闻 时间:2024/05/05 17:52:28
OLE是建立在COM之上的技术,层次比COM要高。

AfxOleInit():

AfxOleInit()调用的是OleInitialize(),而OleInitialize()除了调用CoInitializeEx()来初始化COM库外,还进行一些其它的操作,这些操作对OLE应用来说是必须的,这些OLE应用包括:  
  (1)Clipboard;  
  (2)Drag&drop;  
  (3)Object linking and embedding(现在的OLE,已不再仅仅是Object linking and embedding的概念);     (4)In-place   activation;

  与AfxOleInit()对应的是,AfxOleTerm()。但是,在你的程序中,AfxOleTerm()可以不出现,这是因为,MFC已经帮你做好了(有兴趣的话,你可以仔细研究一下CWinThread::m_lpfnOleTermOrFreeLib,而CWinApp是从 CWinThread继承的)。


CoInitialize():

CoInitialize和CoUninitialize必须成对使用, CoInitialize()放在C**App::InitInstance(..), CoUninitialize房子C**App::ExitInstance()内。