FaxDevStartJob 函数 (faxdev.h)
传真服务调用 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
类型: 句柄
指定 I/O 完成端口的句柄。 有关详细信息,请参阅 I/O 完成端口。
[in] CompletionKey
类型: ULONG_PTR
指定完成键值。 传真服务提供商应将此不透明值传递给 PostQueuedCompletionStatus 函数。
返回值
类型: BOOL
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 若要获取扩展错误信息,传真服务会调用 GetLastError。
注解
FaxDevStartJob 函数为传真服务提供商提供了执行呼叫设置的机会。
传真服务在新传真作业开始时调用 FaxDevStartJob ,对于每个传真操作调用一次。 这是因为每个操作在单独的线程中执行。 它在传真发送操作的 FaxDevSend 函数调用之前,在 FaxDevReceive 函数调用传真接收操作之前调用 FaxDevStartJob。 有关详细信息,请参阅 在多线程环境中操作。
FSP 应创建 I/O 完成数据包,并在 FSP 更改其状态时调用 PostQueuedCompletionStatus 函数。 状态更改的一个示例是 FSP 完成接收或发送传真传输页面的时间。 完成数据包必须是 FAX_DEV_STATUS 结构。 FSP 必须从传递给 FaxDevInitialize 函数的 HeapHandle 参数指示的堆中为结构分配内存。 传真服务提供商必须将分配给 PostQueuedCompletionStatus 方法的 dwNumberOfBytesTransferred 参数的内存大小传递。 传真服务释放为完成数据包结构分配的任何内存。
FSP 应使用 CompletionPortHandle 和 CompletionKey 参数发布 FSP 状态更改的完成数据包。 此状态通知方法可优化性能,因为传真服务不需要轮询 FSP 来获取更新的状态信息。 有关详细信息,请参阅 创建完成数据包。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版、Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | faxdev.h |