1

使用 Windows 传真服务,我尝试从 Windows 传真控制台取消传真。根据这个毫无价值的文档,我需要传入一个JC_Delete似乎是一些枚举的值,但是,文档没有遗漏它是什么或如何获取它。

我发现另一篇 MSDN 文章在最后一句中指出这些JC值只是用户定义的常量。最后,我找到了一个论坛帖子,指出它只是 C++ 头文件中的一个枚举,而微软的人展示了该枚举,其中包括:

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

我只是尝试插入数字,0 或 1,因为该方法需要一个 int,然后我收到一个异常

COM 错误:句柄无效。(来自 HRESULT 的异常:0x80070006 (E_HANDLE))

这是我的一点代码。我能够很好地获取 FaxJob 对象。它只是调用炸弹的 SetStatus() 方法。

    var job = this.getFaxJobsInQueue().Where(j => j.JobId == JobId).Single();
    job.SetStatus(1);
4

1 回答 1

0

啊!!发现问题了!这很简单!我忘记连接到传真控制台。显然,这就是the handle is invalid所表明的。我的问题在于返回所有连接和断开连接的作业的方法。一旦我有了 FaxJob 对象,我就想再次连接。这是我更新的代码:

        var job = this.getFaxJobsInQueue().Where(j => j.JobId == JobId).Single();
        this.objFaxServer.Connect(faxServerConnectionString);
        job.SetStatus(1);
        this.objFaxServer.Disconnect();
于 2013-07-09T17:26:42.447 回答