Как правильно декодировать FaxJobStatus в FAXCOMEXLib?

Я создал интерфейс работы с факсом для своего веб-приложения, используя FAXCOMEXLib. Факс работает и отправляет факсы правильно. Я пытаюсь настроить регистрацию статуса факса и использую прослушиватели, как определено в документации:

    public FaxInterface()
    {
        faxSrv = new FaxServer();
        var serverName = Environment.MachineName;
        faxSrv.Connect(serverName);
        faxSrv.OnOutgoingJobChanged += faxSrv_OnOutgoingJobChanged;
        faxSrv.OnOutgoingJobAdded += faxSrv_OnOutgoingJobAdded;
        faxSrv.OnOutgoingJobRemoved += faxSrv_OnOutgoingJobRemoved;
        faxSrv.ListenToServerEvents(FAXCOMEXLib.FAX_SERVER_EVENTS_TYPE_ENUM.fsetOUT_QUEUE |
                            FAXCOMEXLib.FAX_SERVER_EVENTS_TYPE_ENUM.fsetIN_QUEUE);
    }

И это работает. Мои слушатели событий запускаются правильно. Но у меня возникли проблемы с некоторыми данными в JobChanged слушатель, который определен ниже:

    private void faxSrv_OnOutgoingJobChanged(FaxServer pfaxserver, string bstrjobid, FaxJobStatus pjobstatus)
    {
        using (IDbConnection db = new SqlConnection(ConnectionStringHelper.ConnectionString))
        {
            db.Execute("update T_FAXLOG set LogText = CONCAT(LogText, @newText) where JobId = @jobId", new { newText = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss:ff tt") + " " + pjobstatus.Status.ToString() + Environment.NewLine, jobId = bstrjobid });
        }
    }

Моя проблема в том, что я, кажется, получаю неожиданное значение в pjobstatus.Status это передается моей функции. Если я "Просмотр определения" из pjobstatus.Status тип (что это: enum FAX_JOB_STATUS_ENUM), Я вижу это в определении:

namespace FAXCOMEXLib
{
    public enum FAX_JOB_STATUS_ENUM
    {
        fjsPENDING = 1,
        fjsINPROGRESS = 2,
        fjsFAILED = 8,
        fjsPAUSED = 16,
        fjsNOLINE = 32,
        fjsRETRYING = 64,
        fjsRETRIES_EXCEEDED = 128,
        fjsCOMPLETED = 256,
        fjsCANCELED = 512,
        fjsCANCELING = 1024,
        fjsROUTING = 2048
    }
}

Однако, когда я запускаю свое приложение и "приостанавливаю" процесс факса на моем сервере, я получаю значение "49" в поле состояния. И, как вы можете видеть, это число нигде в определении. Я бы ожидал получить "16" за паузу, но я получил "49". Я что-то здесь упускаю? Есть ли другая документация об этом в другом месте? Или мне нужно как-то декодировать это значение?

Заранее спасибо.

0 ответов

Другие вопросы по тегам