Cisco Cisco Computer Telephony Integration Option 9.0 Developer's Guide

Page of 640
Chapter 10      Call Object
Adding ECC Values
10-4
CTI OS Developer’s Guide for Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)
{
Arguments rArgEcc = new Arguments();
rArgEcc =  Call.GetValueArray(CTIOS_ECC);
if(null != rArgEcc)
{
rArgEcc.NumElements();
Integer intVal = 
rArgEcc.GetValueIntObj("user.MyECC");
String strVal =
rArgEcc.GetValueString("userMyArray[2]");
}
}
Adding ECC Values
If you want to add ECC values to a call without deleting ones that are already set 
in the call, retrieve the ECC variables and then add the new ones as shown in C++ 
without COM:
Arguments & RequestArgs = Arguments::CreateInstance();
Arguments * pECCData = NULL;
// presumes that we have a Call object pointer in pCall
if (pCall->IsValid (CTIOS_ECC))
pCall->GetValueArray(CTIOS_ECC, &pECCData);
else
Arguments::CreateInstance(&pECCData);
pECCData->AddItem("user.MyECC", "FirstECCVariable");
pECCData->AddItem("user.MyArray[2]", 2222);
RequestArgs.AddItem(CTIOS_ECC, *pECCData);
pCall->SetCallData(RequestArgs);
RequestArgs.Release();
pECCData->Release();
The same thing in VB would be as follows:
Dim MyRequestArgs As New CTIOSARGUMENTSLib.Arguments