www.pudn.com > COM技术内幕配书源码.rar > CLIENT1.CPP
// // Client1.cpp // To compile, use: cl Client1.cpp Create.cpp GUIDs.cpp UUID.lib // #include#include #include "Iface.h" #include "Create.h" void trace(const char* msg) { cout << "Client 1:\t" << msg << endl ;} // // Client1 // int main() { HRESULT hr ; // Get the name of the component to use. char name[40] ; cout << "Enter the filename of a component to use [Cmpnt?.dll]: " ; cin >> name ; cout << endl ; // Create component by calling the CreateInstance function in the DLL. trace("Get an IUnknown pointer.") ; IUnknown* pIUnknown = CallCreateInstance(name) ; if (pIUnknown == NULL) { trace("CallCreateInstance Failed.") ; return 1 ; } trace("Get interface IX.") ; IX* pIX ; hr = pIUnknown->QueryInterface(IID_IX, (void**)&pIX) ; if (SUCCEEDED(hr)) { trace("Succeeded getting IX.") ; pIX->Fx() ; // Use interface IX. pIX->Release() ; } else { trace("Could not get interface IX.") ; } trace("Release IUnknown interface.") ; pIUnknown->Release() ; return 0 ; }