///////////////////////////////////////////////////////////////////////// // Class Moniker Activation.cpp - activates an object using a moniker // // ver 1.0 // // // // Eddon and Eddon, Inside Distributed COM, Microsoft Press, 1998 // // // // Modifed by Jim Fawcett, Syracuse University, jfawcett@twcny.rr.com // // CSE775 - Distributed Objects, Spring 2005 // ///////////////////////////////////////////////////////////////////////// #define _WIN32_DCOM #include #include #include "Component\component.h" using namespace std; void main() { cout << "\n Demonstration of Class Moniker Activation of a COM Object " << "\n ===========================================================\n"; CoInitialize(NULL); IMoniker* pClassMoniker; CreateClassMoniker(CLSID_InsideDCOM, &pClassMoniker); IClassFactory* pClassFactory; BindMoniker(pClassMoniker, 0, IID_IClassFactory, (void**)&pClassFactory); // IBindCtx* pClassBindCtx; // CreateBindCtx(0, &pClassBindCtx); // pClassMoniker->BindToObject(pClassBindCtx, NULL, IID_IClassFactory, (void**)&pClassFactory); // pClassBindCtx->Release(); ISum* pSum; pClassFactory->CreateInstance(NULL, IID_ISum, (void**)&pSum); int addition; pSum->Sum(23, 32, &addition); cout << "23 + 32 = " << addition << endl; pSum->Release(); pClassFactory->Release(); pClassMoniker->Release(); CoUninitialize(); }