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

PFAXSTARTPRINTJOBA

コールバック

シグネチャ

BOOL PFAXSTARTPRINTJOBA(
    LPSTR PrinterName,
    FAX_PRINT_INFOA* PrintInfo,
    DWORD* FaxJobId,
    FAX_CONTEXT_INFOA* FaxContextInfo
);

パラメーター

フィールド型説明
PrinterNameLPSTR

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

  • ローカル プリンター(例: 「printername」)
  • ネットワーク プリンター(例: 「\\machinename\printername」)
  • ローカルのファックス プリンターを指定する場合は NULL
PrintInfoFAX_PRINT_INFOA*ファックス送信を印刷するためにファックス サーバーが必要とする情報を格納した FAX_PRINT_INFO 構造体へのポインターです。この構造体には、受信者のファックス番号、送信者と受信者のデータ、省略可能な課金コード、配信レポート情報などが含まれます。詳細については、後述の「解説」セクションを参照してください。
FaxJobIdDWORD*ファックス印刷ジョブに対する印刷スプーラーの一意な ID を受け取る DWORD 変数へのポインターです。(これはファックス キューにおけるジョブの ID とは異なり、ファックス ID を引数に取るファックス API のパラメーターとして使用することはできません。) このパラメーターは必須です。
FaxContextInfoFAX_CONTEXT_INFOA*プリンター デバイス コンテキストのハンドルを受け取る 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 Graphics Device Interface (GDI) 関数で使用されます。

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

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

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

メモ

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

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