2009-01-08 5 views
2

d'instructions sur l'accès à une interface à une application, dans plaine C/C++ sans:Utilisation de CoGetClassObject() en C - interface COM Object Access

  • MFC
  • ATL
  • WTL

Fondamentalement, je voudrais faire usage d'un objet COM.

exemple de travail code source ou conseils - à l'aide (fonctionnalité) un objet COM, pas créer un serveur COM.

Cordialement

+0

Je vous suggère vraiment de regarder ATL. (WTL n'aidera pas, MFC est gonflé) Les 3 classes auxiliaires CComPtr, CComBSTR, CComVariant vous faciliteront infiniment la vie, et pour utiliser d'autres objets COM, vous n'avez pas besoin de beaucoup plus que cela. –

+0

Salut, je considérerais ATL - pour la simplicité, mais je préfère/apprend/manipule tout le contrôle manuellement. Merci :) – Aaron

Répondre

4

Voici un exemple simple en C++ simple:

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 

Copié d'ici: COM Basics

+0

1800 Information - merci :) – Aaron

1

Eh bien, en supposant que vous avez la déclaration d'interface, tout ce que vous avez besoin est un appel à CoInitialize afin d'initialiser COM, puis CoCreateInstance pour obtenir votre instance (et utiliser), puis éventuellement, CoUnInitialize à désinitialiser COM.

+0

CasperOne, avez-vous un petit exemple? Je ne suis pas familier avec la programmation Windows - Je viens du monde Linux ... – Aaron

0

Évitez codeproject (newbie) et consultez tous les chapitres MSDN sur COM.

Tout est là, avec des tonnes de C et C des codes d'échantillons

0

Il suffit de se référer un bon livre sur COM (Don Box ou Dale Rougerson). Ce sont les bons points de départ pour COM World.