Требования к пользовательскому приложению (информация для разработчика)

Parent Previous Next

Пользовательское приложение маршрутизации, указанное пользователем, запускается службой факсов Windows при выполнении Пользовательского метода маршрутизации (Расширение маршрутизации Fax Voip T.38 Модем), после получения факса. Индивидуальный разработчик отвечает за разработку этого приложения, создание графического интерфейса пользователя (GUI) для настройки правил и других параметров и за сохранение конфигурации. Функции приложения могут включать, но не ограничены печатью факсов, сохранением факсов, преобразованием графических изображений факса в текстовые файлы, доставкой факсов в приложениях электронной почты и т.д.


Ниже приведены общие требования, которые должны быть приняты во внимание разработчиками программного обеспечения при написании пользовательских приложений.



Аргументы командной строки


Командная строка, передаваемая в приложение, предопределена и содержит всю необходимую информацию. Разработчик может проанализировать командную строку в своем приложении, чтобы получить путь к факсу (файл TIFF) и другие важные параметры, такие как CallerID, номер вызываемого абонента (DID), TSID, CSID и т. д.


Ниже приведен пример аргументов командной строки, переданных вашему приложению:


/@@@TiffFileName=C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp\42008_cc\FAX.tif

/@@@JobId=42008 /@@@ElapsedTime=00:00:51

/@@@ReceiveTime=11.18.2021@04:21:08 /@@@PageCount=1

/@@@Csid=Fax Voip T.38 Modem /@@@Tsid=(901) 222-3344

/@@@CallerId=19012223344 /@@@RoutingInfo=16314901610

/@@@ReceiverName=Fax Voip 14.4K TAPI Voice-Fax Modem /@@@ReceiverNumber=Fax Voip T.38 Modem

/@@@DeviceName=Fax Voip 14.4K TAPI Voice-Fax Modem /@@@DeviceId=65592


Аргументы командной строки приблизительно соответствуют элементам структуры FAX_ROUTE, см. ниже:


/@@@TiffFileName=

Временная копия файла TIFF, связанная с принятым факсимильным документом. Этот файл и временная папка, в которой он находится (в папке %temp% для учетной записи Network Service), должны быть удалены в пользовательском приложении маршрутизации после выполнения необходимых действий. Если флажок Создавать временную копию принятого факса (файл TIFF) не установлен, этот аргумент отсутствует в командной строке. См. также в главе Пользовательская маршрутизация входящих факсов (Microsoft Fax) настоящего справочного руководства.

/@@@JobId=

Уникальный номер, который идентифицирует задание факса, связанное с приемом факсимильного документа.

/@@@ElapsedTime=

Представляет общее время, прошедшее между началом и окончанием приема факса в формате 'hh:mm:ss'.

/@@@ReceiveTime=

Время начала выполнения задания факса, связанного с приемом факсимильного документа, в формате 'mm.dd.yyyy@hh:mm:ss'.

/@@@PageCount=

Количество страниц в принятом факсимильном документе.

/@@@Csid=

Идентификатор факса локального факсимильного устройства (Local Fax ID), принявшего факс. Обычно состоит из номера факса получателя и названия организации.

/@@@Tsid=

Идентификатор факса удаленного передающего факсимильного устройства, отправившего факс. Как правило, представляет собой комбинацию из номера факса отправителя и названия организации.

/@@@CallerId=

Идентифицирует вызывающее устройство, которое отправило факсимильный документ. Эта строка обычно содержит номер телефона вызывающего устройства. Библиотека Расширения маршрутизации Fax Voip T.38 Модем (FaxVoipModemRouteExtWin64.dll / FaxVoipModemRouteExtWin32.dll) анализирует строку Caller ID, предоставленную службой факса, а затем сохраняет реальный Caller ID в аргументе командной строки /@@@CallerId=. См. также в главе Параметры Caller ID (Входящие вызовы на модемы) данного справочного руководства.

/@@@RoutingInfo=

Cтрока маршрутизации для принятого факсимильного документа. Библиотека Расширения маршрутизации Fax Voip T.38 Модем (FaxVoipModemRouteExtWin64.dll / FaxVoipModemRouteExtWin32.dll) анализирует строку Caller ID, предоставленную службой факса, а затем сохраняет номер вызываемого абонента (DID) в аргументе командной строки /@@@RoutingInfo=. Для распознавания DID на стороне службы факсов Windows, выберите опцию Включать номер вызываемого абонента (DID) в строку Caller ID и задайте разделитель между Caller ID и DID. Подробнее см. в главе Параметры Caller ID (Входящие вызовы на модемы) данного справочного руководства.

/@@@ReceiverName=

Согласно MSDN, имя получателя факсимильного документа (обычно совпадает с DeviceName и не используется).

/@@@ReceiverNumber=

Согласно MSDN, телефонный номер факсимильного устройства принявшего факс (обычно совпадает с Csid - идентификатором факса локального устройства, как правило не используется).

/@@@DeviceName=

Имя устройства, которое приняло факсимильный документ.

/@@@DeviceId=

Постоянный идентификатор линии принимающего факсимильного устройства.



Временная копия полученного факса (файл TIFF)


Если установлен флажок Создавать временную копию принятого факса (файл TIFF) (см. в главе Пользовательская маршрутизация входящих факсов (Microsoft Fax) настоящего справочного руководства), Пользовательский метод маршрутизации (Расширение маршрутизации Fax Voip T.38 Модем) создает временную папку и копирует принятый факс (файл TIFF) в эту папку. Временная папка создается в папке %temp% для учетной записи Network Service (Сетевая служба). Путь к временному файлу TIFF передается в пользовательское приложение через аргумент командной строки TiffFileName, см. выше.


Например,

/@@@TiffFileName=C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp\42008_cc\FAX.tif

Путь к файлу TIFF:

C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp\42008_cc\FAX.tif

Путь к временной папке:

C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp\42008_cc\


Временная папка, в которой находится файл TIFF (FAX.tif), может использоваться вашим пользовательским приложением для хранения временных файлов, создаваемых вашим приложением.


Пользовательское приложение отвечает за удаление временного TIFF файла и временной папки, в которой этот файл находится. Вы должны навсегда удалить временную папку в своем приложении после выполнения всех необходимых действий.


Если флажок Создавать временную копию принятого факса (файл TIFF) не установлен, Пользовательский метод маршрутизации (Расширение маршрутизации Fax Voip T.38 Модем) не создает копию полученного факса, однако пользовательское приложение все равно может получить доступ к принятому факсу используя Fax Service API функции (на основе параметра Job ID, который также передается через командную строку).



Запуск под учетной записью Network Service (Сетевая служба)


Пользовательское приложение запускается в контексте службы факсов Windows от имени учетной записи Network Service (Сетевая служба). Таким образом, учетная запись Network Service должна иметь необходимый доступ к файлам, папкам и другим объектам, с которыми работает ваше приложение.



Завершение приложения


Пользовательский метод маршрутизации (Расширение маршрутизации Fax Voip T.38 Модем) запускает пользовательское приложение маршрутизации в отдельном потоке путем вызова функции CreateProcess. Служба факсов Windows не отслеживает приложение после его запуска и не гарантирует его корректное завершение. Разработчик пользовательского приложения отвечает за правильное автоматическое завершение работы приложения после его выполнения.