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

PFAXDEVREPORTSTATUS

コールバック

シグネチャ

BOOL PFAXDEVREPORTSTATUS(
    HANDLE param0,
    FAX_DEV_STATUS* param1,
    DWORD param2,
    DWORD* param3
);

パラメーター

フィールド型
param0HANDLE
param1FAX_DEV_STATUS*
param2DWORD
param3DWORD*

公式ドキュメント

ファックスサービスは、個々のアクティブなファックス操作に関する状態情報、または失敗したファックス操作後の状態情報をファックスサービスプロバイダー (FSP) に問い合わせるために、FaxDevReportStatus 関数を呼び出します。各 FSP は FaxDevReportStatus 関数をエクスポートする必要があります。

戻り値

型: BOOL

関数が成功すると、戻り値は 0 以外の値です。

関数が失敗すると、戻り値は 0 です。拡張エラー情報を取得するには、ファックスサービスは GetLastError を呼び出します。

メモ 送信が成功した場合、FaxDevSend() は TRUE を返し、FaxDevReportStatus() は FS_COMPLETED を返す必要があります。送信が失敗した場合、FaxDevSend() は FALSE を返し、FaxDevReportStatus() は次のいずれかのコードを返す必要があります: FS_LINE_UNAVAILABLE、FS_NO_ANSWER、FS_NO_DIAL_TONE、FS_DISCONNECTED、FS_BUSY、FS_NOT_FAX_CALL、FS_FATAL_ERROR。ファックスが失敗した後に再送信すべきでない場合、FaxDevReportStatus() はここに挙げたもの以外のコードを返す必要があります。

解説(Remarks)

操作の状態情報を取得するため、FaxDevReportStatus 関数は、ファックス操作とは独立した実行スレッド上で非同期に呼び出されます。通常、複数のスレッドによるアクセスを同期する必要があります。詳細については、Synchronizing Execution of Multiple Threads を参照してください。

FaxStatusSize パラメーターが 0 で、FaxStatus が NULL ポインターの場合、FSP は FAX_DEV_STATUS 構造体を保持するために必要なバッファーのサイズをバイト単位で計算する必要があります。FSP はこの値を FaxStatusSizeRequired パラメーターで返す必要があります。その後、ファックスサービスが必要なメモリを割り当てます。また、メモリのサイズを FaxStatusSize パラメーターで、そのメモリへのポインターを FaxStatus パラメーターで返します。

FSP は、FAX_DEV_STATUS 構造体のすべてのメンバーに、アクティブなファックス操作の状態情報を設定する必要があります。CSI、CallerId、RoutingInfo の各メンバーが指す文字列のメモリは、ファックスサービスが割り当てます。サービスが割り当てるメモリのサイズは sizeof(FAX_DEV_STATUS) + FAXDEVREPORTSTATUS_SIZE と等しくなります。FSP は、FAX_DEV_STATUS 構造体の直後に続くメモリブロック内に文字列を配置する必要があります。CSI、CallerId、RoutingInfo の各メンバーは、そのメモリブロック内の文字列の位置を指している必要があります。

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