Enumeration values for FaxJob.SetStatus method

1

Using Windows Fax Service, I am trying to cancel a fax from the Windows Fax Console. According to this worthless documentation I need to pass in a value JC_Delete which appears that it is some enumeration, however, the documentation fails to leave out what it is or how to get it.

I found another MSDN article stating in the last sentence that these JC values are just constants which the user defines. Finally, I found a forum post stating that it's just an enumeration in a C++ header file and the Microsoft guy showed the enumeration consisting of:

JC_UNKNOWN = 0 JC_DELETE = 1 JC_PAUSE = 2 JC_RESUME = 3 JC_RESTART = JC_RESUME

I just tried plugging in numbers, 0 or 1 since the method calls for an int and then I receive an exception

COM error: the handle is invalid. (Exception from HRESULT: 0x80070006 (E_HANDLE))

Here is my bit of code. I am able to get the FaxJob object just fine. It's just calling the SetStatus() method that bombs.

    var job = this.getFaxJobsInQueue().Where(j => j.JobId == JobId).Single();
    job.SetStatus(1);
c#
com
asked on Stack Overflow Jul 8, 2013 by Flea • edited Jul 9, 2013 by Flea

1 Answer

0

Arg!! Found the problem! It was very simple! I forgot to connect to the fax console. Apparently that is what the handle is invalid was indicating. My problem was in the method that returned all the jobs connected and disconnected. Once I had the FaxJob object, I was suppose to connect again. Here is my updated code:

        var job = this.getFaxJobsInQueue().Where(j => j.JobId == JobId).Single();
        this.objFaxServer.Connect(faxServerConnectionString);
        job.SetStatus(1);
        this.objFaxServer.Disconnect();
answered on Stack Overflow Jul 9, 2013 by Flea

User contributions licensed under CC BY-SA 3.0