Win32 API 日本語リファレンス
ホーム › Devices.Fax › PFAXDEVSTARTJOB

PFAXDEVSTARTJOB

コールバック

シグネチャ

BOOL PFAXDEVSTARTJOB(
    DWORD param0,
    DWORD param1,
    HANDLE* param2,
    HANDLE param3,
    UINT_PTR param4
);

パラメーター

フィールド型
param0DWORD
param1DWORD
param2HANDLE*
param3HANDLE
param4UINT_PTR

公式ドキュメント

FAX サービスは、新しい FAX ジョブを初期化するために FaxDevStartJob 関数を呼び出します。また FAX サービスは、各 FAX 操作の開始を FAX サービスプロバイダー (FSP) に通知するためにも FaxDevStartJob を呼び出します。各 FSP は FaxDevStartJob 関数をエクスポートする必要があります。

戻り値

型: BOOL

関数が成功した場合、戻り値は 0 以外の値です。

関数が失敗した場合、戻り値は 0 です。拡張エラー情報を取得するために、FAX サービスは GetLastError を呼び出します。

解説(Remarks)

FaxDevStartJob 関数は、FAX サービスプロバイダーが呼び出しのセットアップを行う機会を提供します。

FAX サービスは、新しい FAX ジョブの開始時と、各 FAX 操作につき 1 回ずつ FaxDevStartJob を呼び出します。これは、各操作が別々のスレッドで実行されるためです。FAX 送信操作では FaxDevSend 関数の呼び出しの直前に、FAX 受信操作では FaxDevReceive 関数の呼び出しの直前に呼び出されます。詳細については、Operating in a Multithreaded Environment を参照してください。

FSP は、自身の状態が変化したときに I/O 完了パケットを作成し、PostQueuedCompletionStatus 関数を呼び出す必要があります。状態変化の例としては、FSP が FAX 送信ページの受信または送信を完了した場合があります。完了パケットは FAX_DEV_STATUS 構造体である必要があります。FSP は、FaxDevInitialize 関数に渡された HeapHandle パラメーターが示すヒープから、この構造体用のメモリを割り当てる必要があります。FAX サービスプロバイダーは、割り当てたメモリのサイズを PostQueuedCompletionStatus メソッドの dwNumberOfBytesTransferred パラメーターに渡す必要があります。完了パケット構造体用に割り当てられたメモリは、FAX サービスが解放します。

FSP は、FSP の状態変化に関する完了パケットを送信するために、CompletionPortHandle パラメーターと CompletionKey パラメーターを使用する必要があります。この状態通知の方法では、FAX サービスが最新の状態情報を得るために FSP をポーリングする必要がないため、パフォーマンスが最適化されます。詳細については、Creating a Completion Packet を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)