'Declare the main function in this module
Declare Function tapiRequestMakeCall Lib "tapi32" _
(ByVal lpszDestAddress As String, _
ByVal lpszAppName As String, _
ByVal lpszCalledParty As String, _
ByVal lpszComment As String) As Long
'Global constants
Global Const TAPIERR_CONNECTED = 0&
Global Const TAPIERR_DROPPED = -1&
Global Const TAPIERR_NOREQUESTRECIPIENT = -2&
Global Const TAPIERR_REQUESTQUEUEFULL = -3&
Global Const TAPIERR_INVALDESTADDRESS = -4&
Global Const TAPIERR_INVALWINDOWHANDLE = -5&
Global Const TAPIERR_INVALDEVICECLASS = -6&
Global Const TAPIERR_INVALDEVICEID = -7&
Global Const TAPIERR_DEVICECLASSUNAVAIL = -8&
Global Const TAPIERR_DEVICEIDUNAVAIL = -9&
Global Const TAPIERR_DEVICEINUSE = -10&
Global Const TAPIERR_DESTBUSY = -11&
Global Const TAPIERR_DESTNOANSWER = 12&
Global Const TAPIERR_DESTUNAVAIL = -13&
Global Const TAPIERR_UNKNOWNWINHANDLE = -14&
Global Const TAPIERR_UNKNOWNREQUESTID = -15&
Global Const TAPIERR_REQUESTFAILED = -16&
Global Const TAPIERR_REQUESTCANCELLED = -17&
Global Const TAPIERR_INVALPOINTER = -18&
''And in form
Private Sub TAPIStatus(lonStatCode As Long)
'Based on the TAPI status code (passed to this procedure in lonStatCode),display the appropriate message
Select Case lonStatCode
Case TAPIERR_CONNECTED
lstStatus.AddItem "OK"
Case TAPIERR_DROPPED
lstStatus.AddItem "Dropped"
Case TAPIERR_NOREQUESTRECIPIENT
lstStatus.AddItem "Err: No Request Recipient"
Case TAPIERR_REQUESTQUEUEFULL
lstStatus.AddItem "Err: Request Queue Full"
Case TAPIERR_INVALDESTADDRESS
lstStatus.AddItem "Err: Destination Address Invalid"
Case TAPIERR_INVALWINDOWHANDLE
lstStatus.AddItem "Err: Window Handle Invalid"
Case TAPIERR_INVALDEVICECLASS
lstStatus.AddItem "Err: Device Class Invalid"
Case TAPIERR_INVALDEVICEID
lstStatus.AddItem "Err: Device ID Invalid"
Case TAPIERR_DEVICECLASSUNAVAIL
lstStatus.AddItem "Err: Device Class Unavailable"
Case TAPIERR_DEVICEIDUNAVAIL
lstStatus.AddItem "Err: Device ID Unavailable"
Case TAPIERR_DESTBUSY
lstStatus.AddItem "Err: Destination Busy"
Case TAPIERR_DESTUNAVAIL
lstStatus.AddItem "Err: Destination Unavailable"
Case TAPIERR_UNKNOWNWINHANDLE
lstStatus.AddItem "Err: Unknown Windows Handle"
Case TAPIERR_UNKNOWNREQUESTID
lstStatus.AddItem "Err: Unknown Request ID"
Case TAPIERR_REQUESTFAILED
lstStatus.AddItem "Err: Request Failed"
Case TAPIERR_REQUESTCANCELLED
lstStatus.AddItem "Err: Request Cancelled"
Case TAPIERR_INVALPOINTER
lstStatus.AddItem "Err: Invalid Pointer"
End Select
End Sub
Private Sub command1_Click()
Dim lonTAPIStatus As Long
'Initialize the TAPI session with the tapiRequestMakeCall function
lonTAPIStatus = tapiRequestMakeCall(strphonenum, "TAPI Sample", strphonenum, "") ''strphoneno is ur required phone no.
'Report the status
Call TAPIStatus(lonTAPIStatus)
End Sub