Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Служба факсов вызывает функцию FaxDevStartJob для инициализации нового задания факса. Служба факсов также вызывает FaxDevStartJob , чтобы сообщить о начале каждой факсимильной операции поставщику службы факсов (FSP). Каждый FSP должен экспортировать функцию FaxDevStartJob .
Синтаксис
BOOL FaxDevStartJob(
[in] HLINE LineHandle,
[in] DWORD DeviceId,
[out] PHANDLE FaxHandle,
[in] HANDLE CompletionPortHandle,
[in] ULONG_PTR CompletionKey
);
Параметры
[in] LineHandle
Тип: HLINE
Указывает дескриптор устройства открытой строки, связанного с заданием факса.
[in] DeviceId
Тип: DWORD
Указывает идентификатор устройства линии TAPI, связанный с заданием факса.
[out] FaxHandle
Тип: PHANDLE
Указатель на переменную, которая получает дескриптор факса, связанный с заданием факса. FSP должен задать для этого дескриптора осмысленное значение; Этот дескриптор обычно указывает указатель на блок памяти с данными экземпляра конкретного задания.
[in] CompletionPortHandle
Тип: HANDLE
Указывает дескриптор для порта завершения ввода-вывода. Дополнительные сведения см. в разделе Порты завершения ввода-вывода.
[in] CompletionKey
Тип: ULONG_PTR
Задает значение ключа завершения. Поставщик службы факсов должен передать это непрозрачное значение функции PostQueuedCompletionStatus .
Возвращаемое значение
Тип: BOOL
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Чтобы получить расширенные сведения об ошибке, служба факсов вызывает GetLastError.
Комментарии
Функция FaxDevStartJob предоставляет поставщику услуг факсов возможность выполнить настройку звонка.
Служба факсов вызывает FaxDevStartJob в начале нового задания факса и один раз для каждой операции факса. Это связано с тем, что каждая операция выполняется в отдельном потоке. Он вызывает FaxDevStartJob непосредственно перед вызовом функции FaxDevSend для операции отправки факса и непосредственно перед вызовом функции FaxDevReceive для операции получения факса. Дополнительные сведения см. в разделе Работа в многопоточной среде.
FSP должен создать пакет завершения ввода-вывода и вызвать функцию PostQueuedCompletionStatus , когда FSP изменяет свое состояние. Одним из примеров изменения состояния является окончание FSP получения или отправки страниц передачи факса. Пакет завершения должен быть FAX_DEV_STATUS структурой. FSP должен выделить память для структуры из кучи, указанной параметром HeapHandle , переданным функции FaxDevInitialize . Поставщик службы факсов должен передать размер памяти, выделенной параметру dwNumberOfBytesTransferred метода PostQueuedCompletionStatus. Служба факсов освобождает любую память, выделенную для структуры пакетов завершения.
FSP должен использовать параметры CompletionPortHandle и CompletionKey для отправки пакетов завершения для изменения состояния FSP. Этот метод уведомления о состоянии оптимизирует производительность, так как службе факсов не нужно опрашивать FSP для получения обновленных сведений о состоянии. Дополнительные сведения см. в разделе Создание пакета завершения.
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows 2000 Professional, Windows XP [только классические приложения] |
| Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
| Целевая платформа | Windows |
| Header | faxdev.h |