структура FAX_DEV_STATUS (faxdev.h)

Структура FAX_DEV_STATUS содержит сведения о состоянии и идентификации отдельной активной операции факса.

Синтаксис

typedef struct _FAX_DEV_STATUS {
  DWORD  SizeOfStruct;
  DWORD  StatusId;
  DWORD  StringId;
  DWORD  PageCount;
  LPWSTR CSI;
  LPWSTR CallerId;
  LPWSTR RoutingInfo;
  DWORD  ErrorCode;
  DWORD  Reserved[3];
} FAX_DEV_STATUS, *PFAX_DEV_STATUS;

Члены

SizeOfStruct

Тип: DWORD

Указывает размер структуры FAX_DEV_STATUS в байтах. Прежде чем отвечать на функцию FaxDevReportStatus , FSP должен задать для этого элемента значение sizeof(FAX_DEV_STATUS).

StatusId

Тип: DWORD

Указывает код или значение состояния факса. Это может быть предопределенный код состояния факса (показано ниже), один из кодов ошибок TAPI LINEERR_ констант или значение, определяемое FSP. Если идентификатор состояния определен поставщиком, FSP также должен предоставить значение для элемента StringId . Ниже приведены предопределенные коды состояния факса.

Значение Значение
FS_INITIALIZING Вызов инициализируется.
FS_DIALING FSP набирает цифры для вызова.
FS_TRANSMITTING FSP передает факсимильный документ.
FS_RECEIVING FSP получает факсимильный документ.
FS_COMPLETED Вызов передачи факса завершен.
FS_LINE_UNAVAILABLE FSP не может завершить вызов, так как устройство недоступно.
FS_BUSY FSP получил сигнал о занятости.
FS_NO_ANSWER FSP не может завершить вызов, так как принимающее устройство не отвечает.
FS_BAD_ADDRESS FSP не может завершить вызов, так как адрес назначения недопустим.
FS_NO_DIAL_TONE FSP не может завершить вызов, так как он не обнаруживает тон набора номера.
FS_DISCONNECTED Звонок был отключен принимающим устройством.
FS_FATAL_ERROR Произошла неустранимая ошибка.
FS_NOT_FAX_CALL Вызов является вызовом данных или голосным вызовом.
FS_CALL_DELAYED FSP несколько раз получал сигнал о занятости. Поставщик не может повторить попытку, так как существуют ограничения набора номера. (Некоторые страны и регионы ограничивают количество повторных попыток, когда число занято.)
FS_USER_ABORT FSP отменил передачу. Отмена может быть вызвана вызовом функции FaxDevAbortOperation . FSP также могут предоставлять пользовательский интерфейс для отмены передачи факсов.
FS_ANSWERED FSP ответил на входящий вызов, но пока не получает вызов. Это состояние указывает службе факсов, что вызов может не быть факсимильным.
FS_CALL_BLACKLISTED FSP не может завершить звонок, так как номер телефона заблокирован или зарезервирован, например звонок на 911 или другой номер экстренной помощи.

Коды состояния факса FS_BAD_ADDRESS, FS_CALL_BLACKLISTED и FS_USER_ABORT не приводят к повторным попыткам. Код состояния факса FS_LINE_UNAVAILABLE приведет к немедленной попытке повторить попытку в случае, когда строка недоступна, так как служба потеряла подключение к устройству (TAPI отправил LINE_CLOSE, а FSP сообщил FS_LINE_UNAVAILABLE). Повторная попытка зависит от того, обнаружено ли устройство обратно в сети. Все остальные коды состояния факса позволят службе факсов управлять повторными попытками.

StringId

Тип: DWORD

Указывает строковый идентификатор ресурса для элемента StatusId , если statusId определяется поставщиком. Служба факсов загружает строку из образа FSP. Если StatusId содержит определенный поставщиком код состояния или значение, этот член является обязательным. Если StatusId содержит предопределенный код состояния или значение, этот элемент игнорируется.

PageCount

Тип: DWORD

Указывает номер страницы в передаче факса, которую получает FSP. Число страниц относительно единицы.

CSI

Тип: LPWSTR

Указатель на строку символов Юникода, завершающуюся null, которая указывает идентификатор удаленного факсимильного устройства, подключенного к текущему вызову функции FaxDevReceive или FaxDevSend .

Если операция отправляет факс, идентификатор указывает CSID удаленного устройства; Если операция получает факс, идентификатор указывает TSID удаленного устройства.

CallerId

Тип: LPWSTR

Указатель на символьную строку Юникода, завершающуюся значением NULL, которая идентифицирует вызывающее устройство, отправляющее полученный факсимильный документ. Эта строка может включать номер телефона вызывающего устройства.

RoutingInfo

Тип: LPWSTR

Указатель на символьную строку Юникода, завершающуюся значением NULL, которая указывает строку маршрутизации для входящего факса. Строка должна иметь следующий вид:

Canonical-Phone-Number[|Additional-Routing-Info]

где Canonical-Phone-Number определяется в разделе Адрес документации ПО TAPI (см. подраздел Канонический адрес); и Additional-Routing-Info является вложенным адресом канонического адреса и использует формат subaddress.

Для маршрутизации DID добавьте определенные цифры DID к префиксу номера телефона. Адрес DID должен быть каноническим номером телефона, который соответствует полному номеру телефона, который набирал бы отправитель.

Если есть дополнительные сведения о маршрутизации, например подадрессирование или DTMF, отделите его от канонического телефонного номера символом вертикальной линейчатой линии, как указано в спецификации TAPI. Можно указать нескольких получателей.

Дополнительные сведения см. в подразделах "Адрес с возможностью набора номера" и "Канонический адрес" в разделе "Адрес" документации по TAPI.

ErrorCode

Тип: DWORD

Указывает один из кодов системных ошибок Win32 [Base] , который FSP должен использовать для сообщения о возниквшей ошибке. FSP должен задать для этого значения значение NO_ERROR при выполнении и после нормального завершения задания факса.

Reserved[3]

Тип: DWORD

Этот член зарезервирован корпорацией Майкрософт. Ему необходимо задать нулевое значение.

Комментарии

FSP должен либо задать для всех членов структуры FAX_DEV_STATUS сведения о состоянии для активной операции факса, либо задать для них нулевое значение.

Служба факсов выделяет память для строк, на которые указывают члены CSI, CallerId и RoutingInfo . Размер памяти, выделяемой службой, равен sizeof(FAX_DEV_STATUS) + FAXDEVREPORTSTATUS_SIZE. FSP должен поместить строки в блок памяти, который сразу следует за структурой FAX_DEV_STATUS . Члены CSI, CallerId и RoutingInfo должны указывать на расположение строк в блоке памяти.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional, Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть faxdev.h

См. также раздел

Структуры поставщиков службы факсов

FaxDevReceive

FaxDevReportStatus

FaxDevSend

Использование API поставщика службы факсов