Share via


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

類型: HANDLE

指定 I/O 完成埠的句柄。 如需詳細資訊,請參閱 I/O 完成埠

[in] CompletionKey

類型: ULONG_PTR

指定完成索引鍵值。 傳真服務提供者應該將此不透明值傳遞至 PostQueuedCompletionStatus 函式。

傳回值

類型: BOOL

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,傳真服務會呼叫 GetLastError

備註

FaxDevStartJob 函式提供傳真服務提供者執行通話設定的機會。

傳真服務會在新的傳真作業開始時呼叫 FaxDevStartJob ,並針對每個傳真作業呼叫一次。 這是因為每個作業都會在不同的線程中執行。 它會在傳真傳送作業的FaxDevSend函式呼叫之前呼叫FaxDevStartJob,並在傳真接收作業的FaxDevReceive函式呼叫之前呼叫。 如需詳細資訊,請參閱 在多線程環境中操作

FSP 應該建立 I/O 完成封包,並在 FSP 變更其狀態時呼叫 PostQueuedCompletionStatus 函式。 狀態變更的其中一個範例是 FSP 完成接收或傳送傳真傳輸頁面。 完成封包必須是 FAX_DEV_STATUS 結構。 FSP 必須從傳遞至 FaxDevInitialize 函式的 HeapHandle 參數所指示的堆積配置記憶體給結構。 傳真服務提供者必須傳遞配置給 PostQueuedCompletionStatus 方法 之 dwNumberOfBytesTransferred 參數的記憶體大小。 傳真服務會釋放配置給完成封包結構的任何記憶體。

FSP 應該使用 CompletionPortHandleCompletionKey 參數,在 FSP 狀態變更後完成封包。 這個狀態通知方法會將效能優化,因為傳真服務不需要輪詢 FSP 以取得更新的狀態資訊。 如需詳細資訊,請參閱 建立完成封包

規格需求

需求
最低支援的用戶端 Windows 2000 Professional、Windows XP [僅限桌面應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 faxdev.h

另請參閱

FAX_DEV_STATUS

傳真服務提供者函式

FaxDevEndJob

FaxDevInitialize

FaxDevReceive

FaxDevSend

PostQueuedCompletionStatus

使用傳真服務提供者 API