///////////////////////////////////////////////////////////// // DataSenderClient.cpp - Answer to MT2 - Q2 // // // // Jim Fawcett, CSE775 - Distributed Objects, Spring 2008 // ///////////////////////////////////////////////////////////// #include #include #include "../DataSendeer/DataSendeer_i.h" int main(int argc, char* argv[]) { CoInitialize(NULL); { CComQIPtr pDataSender; pDataSender.CoCreateInstance(CLSID_DataSender); if(pDataSender) { long Count = 5; BYTE Block1[5] = { '0', '1', '2', '3', '4' }; BYTE Block2[5] = { '3', '2', '1', '0', '-1' }; if(SUCCEEDED(pDataSender->StartData(L"Blocker"))) if(SUCCEEDED(pDataSender->SendBlock(Count, Block1))) if(SUCCEEDED(pDataSender->SendBlock(Count, Block2))) if(SUCCEEDED(pDataSender->EndData())) std::cout << "\n client sent two blocks"; } std::wcout << "\n\n"; } // force pDataSender to go out of scope so it calls Release // before the apartment is torn down in the next statement CoUninitialize(); return 0; }