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 應該使用 CompletionPortHandle 和 CompletionKey 參數,在 FSP 狀態變更後完成封包。 這個狀態通知方法會將效能優化,因為傳真服務不需要輪詢 FSP 以取得更新的狀態資訊。 如需詳細資訊,請參閱 建立完成封包。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional、Windows XP [僅限桌面應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | faxdev.h |