PFAXDEVREPORTSTATUS
コールバックシグネチャ
BOOL PFAXDEVREPORTSTATUS(
HANDLE param0,
FAX_DEV_STATUS* param1,
DWORD param2,
DWORD* param3
);パラメーター
| フィールド | 型 |
|---|---|
| param0 | HANDLE |
| param1 | FAX_DEV_STATUS* |
| param2 | DWORD |
| param3 | DWORD* |
公式ドキュメント
ファックスサービスは、個々のアクティブなファックス操作に関する状態情報、または失敗したファックス操作後の状態情報をファックスサービスプロバイダー (FSP) に問い合わせるために、FaxDevReportStatus 関数を呼び出します。各 FSP は FaxDevReportStatus 関数をエクスポートする必要があります。
戻り値
型: BOOL
関数が成功すると、戻り値は 0 以外の値です。
関数が失敗すると、戻り値は 0 です。拡張エラー情報を取得するには、ファックスサービスは GetLastError を呼び出します。
解説(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 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)