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 应使用 CompletionPortHandleCompletionKey 参数发布 FSP 状态更改的完成数据包。 此状态通知方法可优化性能,因为传真服务不需要轮询 FSP 来获取更新的状态信息。 有关详细信息,请参阅 创建完成数据包

要求

要求
最低受支持的客户端 Windows 2000 专业版、Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 faxdev.h

另请参阅

FAX_DEV_STATUS

传真服务提供商函数

FaxDevEndJob

FaxDevInitialize

FaxDevReceive

FaxDevSend

PostQueuedCompletionStatus

使用传真服务提供商 API