FAX_DEV_STATUS 構造体 (faxdev.h)
FAX_DEV_STATUS構造体には、個々のアクティブな FAX 操作に関する状態と識別情報が含まれています。
構文
typedef struct _FAX_DEV_STATUS {
DWORD SizeOfStruct;
DWORD StatusId;
DWORD StringId;
DWORD PageCount;
LPWSTR CSI;
LPWSTR CallerId;
LPWSTR RoutingInfo;
DWORD ErrorCode;
DWORD Reserved[3];
} FAX_DEV_STATUS, *PFAX_DEV_STATUS;
メンバー
SizeOfStruct
型: DWORD
FAX_DEV_STATUS構造体のサイズをバイト単位で指定します。 FaxDevReportStatus 関数に応答する前に、FSP はこのメンバーを sizeof(FAX_DEV_STATUS) に設定する必要があります。
StatusId
型: DWORD
FAX 状態コードまたは値を指定します。 これには、定義済みの FAX 状態コード (以下に示す)、TAPI LINEERR_定数 エラー コードの 1 つ、または FSP で定義されている値を指定できます。 状態識別子がプロバイダー定義の場合、FSP は StringId メンバーの値も指定する必要があります。 定義済みの FAX 状態コードを次に示します。
値 | 意味 |
---|---|
FS_INITIALIZING | 呼び出しが初期化中です。 |
FS_DIALING | FSP はコールのディジットをダイヤルしています。 |
FS_TRANSMITTING | FSP は FAX ドキュメントを送信しています。 |
FS_RECEIVING | FSP は FAX ドキュメントを受信しています。 |
FS_COMPLETED | FAX 送信呼び出しが完了しました。 |
FS_LINE_UNAVAILABLE | デバイスが使用できないため、FSP は呼び出しを完了できません。 |
FS_BUSY | FSP はビジー信号を受信しました。 |
FS_NO_ANSWER | 受信デバイスが応答しないため、FSP は呼び出しを完了できません。 |
FS_BAD_ADDRESS | 宛先アドレスが無効であるため、FSP は呼び出しを完了できません。 |
FS_NO_DIAL_TONE | FSP はダイヤル トーンを検出しないため、通話を完了できません。 |
FS_DISCONNECTED | 呼び出しが受信側のデバイスによって切断されました。 |
FS_FATAL_ERROR | 致命的なエラーが発生しました。 |
FS_NOT_FAX_CALL | 通話は、データ呼び出しまたは音声通話です。 |
FS_CALL_DELAYED | FSP はビジー信号を複数回受信しました。 ダイヤル制限が存在するため、プロバイダーは再試行できません。 (一部の国/地域では、数値がビジー状態の場合の再試行回数が制限されます)。 |
FS_USER_ABORT | FSP が転送を取り消しました。 取り消しは、 FaxDevAbortOperation 関数の呼び出しによって発生する可能性があります。 FSP では、FAX 送信を取り消す UI を提供することもできます。 |
FS_ANSWERED | FSP は着信呼び出しに応答しましたが、まだ呼び出しを受信していません。 この状態は、通話が FAX 通話ではない可能性があることを FAX サービスに示します。 |
FS_CALL_BLACKLISTED | 電話番号がブロックまたは予約されているため、FSP は通話を完了できません (たとえば、911 または別の緊急電話番号への通話)。 |
FAX の状態コードFS_BAD_ADDRESS、FS_CALL_BLACKLISTED、FS_USER_ABORTすると、再試行は行われません。 FAX 状態コード FS_LINE_UNAVAILABLEは、サービスがデバイスへの接続を失った (TAPI がLINE_CLOSE送信し、FSP がFS_LINE_UNAVAILABLE報告) ために回線が使用できない場合に、即時再試行が行われます。 再試行は、デバイスがオンラインに戻って検出されたかどうかによって異なります。 その他のすべての FAX 状態コードでは、FAX サービスで再試行を管理できるようになります。
StringId
型: DWORD
StatusId がプロバイダー定義の場合は、StatusId メンバーの文字列リソース識別子を指定します。 FAX サービスは、FSP のイメージから文字列を読み込みます。 StatusId にプロバイダー定義の状態コードまたは値が含まれている場合は、このメンバーが必要です。 StatusId に定義済みの状態コードまたは値が含まれている場合、このメンバーは無視されます。
PageCount
型: DWORD
FSP が受信する FAX 送信のページ番号を指定します。 ページ数は 1 に対して相対的です。
CSI
種類: LPWSTR
FAXDevReceive 関数または FaxDevSend 関数への現在の呼び出しに接続されているリモート FAX デバイスの識別子を指定する、null で終わる Unicode 文字列へのポインター。
操作が FAX を送信している場合、識別子はリモート デバイスの CSID を指定します。操作が FAX を受信している場合、識別子はリモート デバイスの TSID を指定します。
CallerId
種類: LPWSTR
受信した FAX ドキュメントを送信した呼び出し元のデバイスを識別する、null で終わる Unicode 文字列へのポインター。 この文字列には、通話デバイスの電話番号を含めることができます。
RoutingInfo
種類: LPWSTR
受信 FAX のルーティング文字列を指定する null で終わる Unicode 文字列へのポインター。 文字列は次の形式である必要があります。
Canonical-Phone-Number[|Additional-Routing-Info]
は Canonical-Phone-Number
TAPI ドキュメントの Address トピックで定義されています (正規アドレスの小見出しを参照)。および Additional-Routing-Info
は正規アドレスの サブアドレス であり、サブアドレス形式を使用します。
DID ルーティングの場合は、電話番号プレフィックスに特定の DID 桁を追加します。 DID アドレスは、送信者がダイヤルした完全修飾電話番号に対応する正規の電話番号である必要があります。
サブアドレスや DTMF トーンなど、追加のルーティング情報がある場合は、TAPI 仕様で示されているように、標準の電話番号から垂直バー文字で区切ります。 複数の受信者を指定できます。
詳細については、TAPI ドキュメントの「アドレス」トピックの「ダイヤル可能なアドレス」と「標準アドレス」の小見出しを参照してください。
ErrorCode
型: DWORD
FSP が発生したエラーを報告するために使用する Win32 システム エラー コード [基本] のいずれかを指定します。 FSP は、この値を実行中の場合と FAX ジョブが正常に完了した後にNO_ERRORに設定する必要があります。
Reserved[3]
型: DWORD
このメンバーは Microsoft によって予約されています。 0 に設定する必要があります。
注釈
FSP は、 FAX_DEV_STATUS 構造体のすべてのメンバーをアクティブな FAX 操作の状態情報に設定するか、0 に設定する必要があります。
FAX サービスは、 CSI、 CallerId 、 RoutingInfo メンバーが指す文字列にメモリを割り当てます。 サービスによって割り当てられるメモリのサイズは、sizeof(FAX_DEV_STATUS) + FAXDEVREPORTSTATUS_SIZEと等しくなります。 FSP は、 FAX_DEV_STATUS構造体の 直後にあるメモリ ブロックに文字列を配置する必要があります。 CSI、CallerId、RoutingInfo メンバーは、メモリ ブロック内の文字列の場所を指す必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional、Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | faxdev.h |