TapiApp

所属分类:系统编程
开发工具:Others
文件大小:591KB
下载次数:113
上传日期:2007-06-01 13:12:47
上 传 者bjhengye
说明:  封装后的TAPI类(C#),从国外网站上Down的
(the TAPI (C#), from foreign web sites of Down)

文件列表:
Tapi2Lib (0, 2003-02-28)
Tapi2Lib\AssemblyInfo.cs (2524, 2003-02-28)
Tapi2Lib\bin (0, 2003-02-22)
Tapi2Lib\bin\Debug (0, 2003-02-28)
Tapi2Lib\bin\Debug\Tapi2Lib.dll (90112, 2003-02-28)
Tapi2Lib\bin\Debug\Tapi2Lib.pdb (226816, 2003-02-28)
Tapi2Lib\bin\Release (0, 2003-02-22)
Tapi2Lib\bin\Release\Tapi2Lib.dll (69632, 2003-02-13)
Tapi2Lib\CAddress.cs (5353, 2003-02-26)
Tapi2Lib\CAPIUtils.cs (4806, 2003-02-26)
Tapi2Lib\CCall.cs (15193, 2003-02-28)
Tapi2Lib\CCallingCard.cs (3586, 2003-02-28)
Tapi2Lib\CCountry.cs (11339, 2003-02-26)
Tapi2Lib\CLine.cs (16358, 2003-02-28)
Tapi2Lib\CLocation.cs (18357, 2003-02-28)
Tapi2Lib\CTapi.cs (81446, 2003-02-28)
Tapi2Lib\obj (0, 2003-02-22)
Tapi2Lib\obj\Debug (0, 2003-02-28)
Tapi2Lib\obj\Debug\Tapi2Lib.dll (90112, 2003-02-28)
Tapi2Lib\obj\Debug\Tapi2Lib.dll.incr (3542, 2003-02-28)
Tapi2Lib\obj\Debug\Tapi2Lib.pdb (226816, 2003-02-28)
Tapi2Lib\obj\Debug\Tapi2Lib.projdata (1005448, 2003-02-28)
Tapi2Lib\obj\Debug\Tapi2Lib.projdata1 (1160, 2003-02-07)
Tapi2Lib\obj\Debug\Tapi2Lib.TapiConfigControl.resources (843, 2003-02-28)
Tapi2Lib\obj\Debug\temp (0, 2003-02-22)
Tapi2Lib\obj\Debug\TempPE (0, 2003-02-22)
Tapi2Lib\obj\Release (0, 2003-02-22)
Tapi2Lib\obj\Release\Tapi2Lib.dll (69632, 2003-02-13)
Tapi2Lib\obj\Release\Tapi2Lib.projdata (464520, 2003-02-20)
Tapi2Lib\obj\Release\temp (0, 2003-02-22)
Tapi2Lib\obj\Release\TempPE (0, 2003-02-22)
Tapi2Lib\Tapi2Lib.csproj (5872, 2003-02-28)
Tapi2Lib\Tapi2Lib.csproj.user (1805, 2003-02-28)
Tapi2Lib\Tapi2Lib.sln (912, 2003-02-22)
Tapi2Lib\Tapi2Lib.suo (7680, 2003-02-22)
Tapi2Lib\TapiConfigControl.cs (11415, 2003-02-28)
Tapi2Lib\TapiConfigControl.resx (5682, 2003-02-28)
Tapi2Lib\TspExt.h (17805, 2003-01-28)
TestTapiLib (0, 2003-02-28)
... ...

Updates to TapiApp, Version 1.0.2.5 This code has been enhanced by the Charter Members of the C# Tapi 2 Club, Viz Helen Warn (hwarn@agile-soft.com), Christoph Brndle (ch.braendle@dialogik.ch), and Brian Hormann (bhormann@act.com). --- Christoph Brndle added the following changes: New functions: A new function DialNumber (CTapi.cs) dials a number and immediately return the state of the attempt. The function is used in following terms: First we call the new function GetTranslateAddress (CTapi) which uses the new imported function lineTranslateAddress (CTapi) so we get a dialable number and displayable phone number. With the dialable phone number we fill in the callparams structure. After this we convert the structure to a new IntPtr callparambuffer. The phone call is made with the new imported function lineMakeCall (CTapi) You may get following events: LINECALLSTATE_DIALING LINECALLSTATE_RINGBACK LINECALLSTATE_CONNECTED LINECALLSTATE_DISCONNECTED To hang up a open Line, we call the new function HangUp (calls the imported function lineDrop). added DllImports, structures, enumerations for the evenly described function DialNumber: DllImports: lineTranslateAddress lineMakeCall lineDrop Structures: linetranslateoutput Enumerations LineTranslateOption LineTranslateResult Functions: GetTranslateAddress DialNumber Hangup Changes: Some properties had to be changed. The CallerID of an incoming call was only one letter and not the hole phone numer. After checking several functions we found out, that the CallerID string has at the 2. position a char 0. This caused the length of the string to be truncated to 1. The reason of this char 0 was the declaration of the variable byte[] buffer in several structures which contains the following attributes: MarshalAs(UnmanagedType.ByValArray, SizeConst=1 ) The causing mistake in this declaration is SizeConst=1 which truncates the string to one byte after calling the function Marshal.PtrToStructure. To fix this, we replacement functions for all the functions that return variable-length structs & marked out the variable buffer in following structures: lineaddresscaps, linecallinfo, linecallparams, linedevcaps In replacement of these instructions we implemented an new locale variable byte[] totalbuffer. Within the function GetXXCaps the XXXcaps structure as before one are filled with the commands Marshal.StructureToPtr, CTapi.lineGetXXXCaps and Marshal.PtrToStructure. Afterward we new fill the variable totalbuffer with the command Marshal.Copy(plineXXXcaps,totalbuffer,0,TotalSize) The reason for this is the variable data behind the XXXcaps structure which are now copied in the totalbuffer variable and not in the variable buffer of the XXXcaps structure. Now we pass the variable totalbuffer to the function FillXXXCaps. In the function FillXXXCaps we deleted the line: byte[] arr = CAPIUtils.RawSerialize(XXXcaps, (int)XXXcaps.dwTotalSize); and replaced in all lines the variable arr to the new variable "byte[] buffer" which is new in the parameter list of this function. --- Helen Warn & Christoph Brndle collaborated to handle making calls, which sometimes executes synchronously, and sometimes executes asynchronously. See the new version of frmTapi. --- Brian Hormann added the necessary code to get the Countries via API calls, and also added an example of creating a collection class (which should serve as a prototype for creating collection classes for Addresses, Lines & Calls. See the code in CCountry.cs, and also in frmTapi. He also added classes for Locations & Calling Cards, and created a User Control for configuring lines. We all added new enumerations, API prototypes and structures.

近期下载者

相关文件


收藏者