Home
Browse all 647 examples
Download all 647 examples
Download sample chapters
Reviews
Errata
Acknowledgments
Links on .NET
Paradoxal Press

Buy directly from Paradoxal Press at $33.99 (Save 43%)



Category: Programming
Level: Beginner to seasoned
900 pages
ISBN-10 097661322-0
ISBN-13 978-097661322-0
$59.99 USA
$79.99 CANADA


Listing 8-15 extracted from chapter Interoperability between .NET and native code/COM/ COM+


Listing 8-14<     > Listing 8-16



Example_8_15.cpp
#include "stdafx.h"
#import "dotNET2COM.tlb"
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
   int nRetCode 0;
   // Initialize the current thread for harnessing COM.
   HRESULT hr ::CoInitialize(NULL);
   dotNET2COM::ICalcPtr pI;
   // Create the CCW which wraps the .NET object.
   hr pI.CreateInstance( __uuidof(dotNET2COM::CCalc) );
   // Call a method (the C++ compiler creates an early bind thanks to
   // the imported typelib dotNET2COM).
   int result pI->CalcSum(2,3);
   // Release the CCW.
   pI = NULL;
   // Uninitialize COM on the current thread.
   ::CoUninitialize();
   return nRetCode;
}	
Copyright Patrick Smacchia 2006 2007