Managing the Incoming Queue

The following Microsoft Visual Basic code example demonstrates how to obtain information about faxes that are in the incoming queue, how to view a fax, and how to cancel a fax.

Note

You should check the type of file the user wants to open. Do not allow a user to open a file unless you know its source and are certain that its contents are safe.

 

    Private Sub Form_Load()
        Dim objFaxServer As New FAXCOMEXLib.FaxServer
        Dim collFaxIncomingJobs As FAXCOMEXLib.FaxIncomingJobs
        Dim objFaxIncomingJob As FAXCOMEXLib.FaxIncomingJob

        'Error handling
        On Error GoTo Error_Handler

        'Connect to the fax server
        objFaxServer.Connect("")

        'Get the collection of jobs in the incoming queue
        collFaxIncomingJobs = objFaxServer.Folders.IncomingQueue.GetJobs

        'Display the number of jobs in the collection
        MsgBox("There are " & collFaxIncomingJobs.Count & " jobs in the incoming queue.")

        Dim n As Long

        'Get the job
        n = InputBox("Input the item number for which you want information.")
        objFaxIncomingJob = collFaxIncomingJobs.Item(n)

        'Refresh the job object (job is in process of being received, you
        'want current information)
        objFaxIncomingJob.Refresh()

        'Display the job properties
        MsgBox("Available operations: " & objFaxIncomingJob.AvailableOperations & _
        vbCrLf & "Caller ID: " & objFaxIncomingJob.CallerId & _
        vbCrLf & "CSID: " & objFaxIncomingJob.CSID & _
        vbCrLf & "Current page: " & objFaxIncomingJob.CurrentPage & _
        vbCrLf & "Device ID: " & objFaxIncomingJob.DeviceId & _
        vbCrLf & "Extended status: " & objFaxIncomingJob.ExtendedStatus & _
        vbCrLf & "Extended status code : " & objFaxIncomingJob.ExtendedStatusCode & _
        vbCrLf & "Job ID: " & objFaxIncomingJob.Id & _
        vbCrLf & "Job type: " & objFaxIncomingJob.JobType & _
        vbCrLf & "Retries: " & objFaxIncomingJob.Retries & _
        vbCrLf & "Routing information: " & objFaxIncomingJob.RoutingInformation & _
        vbCrLf & "Size: " & objFaxIncomingJob.Size & _
        vbCrLf & "Status: " & objFaxIncomingJob.Status & _
        vbCrLf & "Transmission start: " & objFaxIncomingJob.TransmissionStart & _
        vbCrLf & "Transmission end: " & objFaxIncomingJob.TransmissionEnd & _
        vbCrLf & "TSID: " & objFaxIncomingJob.TSID)

        'Allow user to cancel the selected fax
        Dim CancelString As String
        CancelString = InputBox("Cancel this fax (Y/N)?")
        If CancelString = "Y" Then objFaxIncomingJob.Cancel()

        'Allow user to open the selected fax
        Dim OpenString As String
        OpenString = InputBox("Open this fax (Y/N)?")
        If OpenString = "Y" Then
            Dim FileName As String
            FileName = InputBox("Provide path and name of file for TIFF copy, e.g. c:\MyFax.tiff")
            objFaxIncomingJob.CopyTiff(FileName)

            'Open the tiff file
            Dim A As Object
            A = CreateObject("wscript.shell")
            A.run(FileName)
        End If
        Exit Sub

Error_Handler:
        'Implement error handling at the end of your subroutine. This 
        ' implementation is for demonstration purposes
        MsgBox("Error number: " & Hex(Err.Number) & ", " & Err.Description)

    End Sub