Cisco Cisco Computer Telephony Integration Option 8.5 Developer's Guide

Page of 500
   
4-12
CTI OS Developer’s Guide for Cisco Unified ICM/Contact Center Enterprise & Hosted
Release 7.5(1)
Chapter 4      Building Your Application
Using the COM CIL in Visual C++ 7.5(1)
Building a custom Win32 (Console or Windows) CTI application in Visual C++ 7.5(1) with COM 
requires knowledge of creating and using COM components in Microsoft Visual C++ 7.5(1). Client 
applications of this type tend to be more complex to build, but more powerful and faster in execution, 
than scripting clients (for example, Visual Basic). All of the CIL components for COM are distributed 
as COM Dynamic Link Libraries (COM DLL). 
In order to be accessible to COM containers, including Microsoft Visual C++ 7.5(1), COM components 
must be registered with Windows. The components required for programming in Microsoft Visual C++ 
7.5(1) are:
CTI OS Client library (CTIOSClient.dll). This is the main CIL library for COM. The objects 
available in this library are described  fully in Chapters 8 through 11.
CTI OS Arguments Library (arguments.dll). The Arguments helper class is used extensively in 
CTI OS, and is described fully in 
CTIOS Session Resolver (ctiossessionresolver.dll). This object allows multiple applications or 
controls to use a single CTIOS Session object. It is required when building an application that will 
include the CTIOS ActiveX controls.
Adding COM Support to your Application
To make use of these objects in your CTI application, your application must support COM. To add COM 
support to your application, you must use one of the following:
Microsoft Foundation Classes (MFC). The following header file are required for MFC applications 
to use COM: afxwin.hafxext.hafxdisp.h, and afxdtctl.h. If you build an application using the 
Microsoft Visual C++ 7.1(1) application wizard, these files are included for you automatically.
Microsoft’s ActiveX Template Library (ATL). To use ATL, include the standard COM header file: 
atlbase.h
Important Note About COM Method Syntax
In this manual, the syntax used to describe method calls in COM shows standard COM data types such 
as BSTR, VARIANT and SAFEARRAY. Be aware that depending on the development environment, 
tools, and the manner how the COM CIL is included in your project application, these data types can be 
encapsulated by wrapper classes proper to the environment. 
For example, in a Microsoft Visual C++ 7.1(1) project a VARIANT type can be either a CComVariant 
or _variant_t, and a BSTR type can be either a CComBSTR or _bstr_t.
For more information, see the documentation for your development environment.
Using the CIL Dynamic Link Libraries
Next, you must import the COM Dynamic Link Libraries into your C++ application. The following code 
sample (which you might put into your StdAfx.h file) depicts how to use a COM Dynamic Link Library 
in C++:
#import "..\..\Distribution\COM\ctiossessionresolver.dll" using namespace CTIOSSESSIONRESOLVERLib;
#import "..\..\Distribution\COM\ctiosclient.dll" using namespace CTIOSCLIENTLib;