Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在C-access COM对象接口中使用CoGetClassObject()_C++_C_Windows_Com - Fatal编程技术网

C++ 在C-access COM对象接口中使用CoGetClassObject()

C++ 在C-access COM对象接口中使用CoGetClassObject(),c++,c,windows,com,C++,C,Windows,Com,关于访问应用程序接口的说明,使用普通C/C++编写,无需: MFC ATL WTL 基本上,我想使用COM对象 工作示例源代码或指南-使用COM对象(功能),而不是创建COM服务器 关于好吧,假设你有接口声明,你只需要调用CoInitialize来初始化COM,然后调用CoCreateInstance来获取你的实例(并使用它),然后可选地调用CoInitialize来取消初始化COM CoInitialize(NULL); // absolutely essential: initializ

关于访问应用程序接口的说明,使用普通C/C++编写,无需:

  • MFC
  • ATL
  • WTL
基本上,我想使用COM对象

工作示例源代码或指南-使用COM对象(功能),而不是创建COM服务器


关于

好吧,假设你有接口声明,你只需要调用CoInitialize来初始化COM,然后调用CoCreateInstance来获取你的实例(并使用它),然后可选地调用CoInitialize来取消初始化COM

CoInitialize(NULL); // absolutely essential: initialize the COM subsystem
IMyInterface* pIFace;
// create the object and obtain a pointer to the sought interface
CoCreateInstance(CLSID_MyObject, NULL, CLSCTX_ALL, IID_IMyInterface, &pIFace);
pIFace->MethodIReallyNeed(); // use the object
pIFace->Release(); // free the object
CoUninitialize(); // cleanup COM after you're done using its services

从这里抄袭:

有一篇关于CodeProject的文章,您可能会发现它很有用。它提供了一个非常好的介绍和一个工作示例。

避免使用codeproject(新手),并查看所有有关COM的MSDN章节


<>一切都在那里,有大量的C和C++样本代码

< p>只要参考一本关于COM(DON Box或Dale Rougerson)的好书。这些是COM世界的良好起点。

CasperOne,你有一个小例子吗?我不熟悉Windows编程-我来自Linux世界…我真的建议你看看ATL。(WTL不会有帮助;MFC是臃肿的)3个辅助类CCOMPR,CComBSTR,CCOMVALVE会使你的生活变得更容易,和使用其他COM对象,你不需要太多。嗨,我会考虑ATL -为简单起见,但我宁愿/学习/处理所有的控制手动。谢谢:)