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

PFAXSTARTPRINTJOBW

コールバック

シグネチャ

BOOL PFAXSTARTPRINTJOBW(
    LPWSTR PrinterName,
    FAX_PRINT_INFOW* PrintInfo,
    DWORD* FaxJobId,
    FAX_CONTEXT_INFOW* FaxContextInfo
);

パラメーター

フィールド型説明
PrinterNameLPWSTR

ファクスプリンターの名前を格納した、定数の null 終端文字列へのポインターです。この文字列には次のいずれかを指定できます。

  • ローカルプリンター(「printername」など)
  • ネットワークプリンター(「\\machinename\printername」など)
  • ローカルのファクスプリンターを指定する NULL
PrintInfoFAX_PRINT_INFOW*ファクスサーバーがファクス送信を印刷するために必要な情報を格納した FAX_PRINT_INFO 構造体へのポインターです。この構造体には、受信者のファクス番号、送信者および受信者のデータ、省略可能な課金コード、配信レポート情報などが含まれます。詳細については、後述の「解説」セクションを参照してください。
FaxJobIdDWORD*ファクス印刷ジョブに対する印刷スプーラーの一意な ID を受け取る DWORD 変数へのポインターです。(これはファクスキューが管理するジョブの ID とは異なり、ファクス ID を引数に取るファクス API の引数として使用することはできません。)このパラメーターは必須です。
FaxContextInfoFAX_CONTEXT_INFOW*プリンターのデバイスコンテキストへのハンドルを受け取る FAX_CONTEXT_INFO 構造体へのポインターです。ファクスクライアントアプリケーションは、FaxPrintCoverPage 関数を呼び出すときに、その関数の FaxContextInfo パラメーターにこの値を渡す必要があります。詳細については、デバイスコンテキストおよび 印刷とプリントスプーラーのリファレンスを参照してください。

公式ドキュメント

ファクスクライアントアプリケーションは、指定したファクスプリンターで送信ファクスの印刷を開始するために FaxStartPrintJob 関数を呼び出します。

戻り値

型: BOOL

関数が成功すると、0 以外の値を返します。

関数が失敗すると、0 を返します。拡張エラー情報を取得するには、GetLastError を呼び出します。GetLastError は次のいずれかのエラーを返すことがあります。

戻り値 説明
ERROR_INVALID_PARAMETER
PrintInfo パラメーターまたは FaxContextInfo パラメーターの一方、あるいは両方が NULL です。
ERROR_INVALID_PARAMETER
FAX_PRINT_INFO 構造体の RecipientNumber メンバーが NULL であるか、OutputFileName メンバーが NULL で、かつ RecipientNumber メンバーが指定されていません。
ERROR_INVALID_PRINTER_NAME
PrinterName パラメーターがファクスプリンターではないプリンターを指定しているか、ファクスプリンターがインストールされていません。
ERROR_NOT_ENOUGH_MEMORY
メモリの割り当て中にエラーが発生しました。
ERROR_SPL_NO_STARTDOC

FaxStartPrintJob が先に呼び出されていないため、StartDoc の呼び出しが行われていません。

解説(Remarks)

この関数はデバイスコンテキストへのハンドルを返します。このハンドルは、FaxPrintCoverPage 関数のほか、AbortDoc、EndDoc、DeleteDC、StartPage、EndPage やその他の Win32 Windows グラフィックスデバイスインターフェイス (GDI) 関数で使用されます。

メモ アプリケーションは、印刷ジョブを完了するために AbortDoc 関数または EndDoc 関数も呼び出し、さらにプリンターのデバイスコンテキストへのハンドルを解放するために DeleteDC 関数を呼び出す必要があります。詳細については、デバイスコンテキストへのファクスの印刷を参照してください。
ファクスクライアントアプリケーションは、ファクスプリンターのデバイスコンテキストを作成するために GDI の CreateDC 関数を呼び出してはなりません。また、ファクス印刷ジョブを開始するために印刷関数 StartPage を呼び出すこともできません。代わりに、アプリケーションは FaxStartPrintJob 関数を呼び出す必要があります。これは、FaxStartPrintJob が対象のファクスプリンターに固有の DEVMODE 構造体の情報を変更するためです。

この変更により、ユーザーから情報を収集するファクス送信ウィザードは表示されなくなります。ファクスサーバーは、PrintInfo パラメーターが指す FAX_PRINT_INFO 構造体のデータを使用してファクス送信を印刷します。この構造体には、ファクス送信ウィザードが表示されていれば収集されたはずのデータが格納されます。

ファクスクライアントアプリケーションは、ファクスジョブでカバーページを印刷するために FaxPrintCoverPage 関数を呼び出す前に、FaxStartPrintJob 関数を呼び出す必要があります。

メモ

winfax.h ヘッダーは FaxStartPrintJob を、UNICODE プリプロセッサ定数の定義に応じてこの関数の ANSI 版と Unicode 版を自動的に選択するエイリアスとして定義します。エンコーディング中立のエイリアスと、エンコーディング中立でないコードを混在させると、不整合が生じてコンパイルエラーや実行時エラーの原因となることがあります。詳細については、関数プロトタイプの規則を参照してください。

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