IFaxIncomingMessage
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
受信 FAX のアーカイブ内にある受信済み FAX メッセージの情報を取得するために、FAX クライアント アプリケーションが使用します。(IFaxIncomingMessage)
解説(Remarks)
C++ で FaxIncomingMessage オブジェクトを作成するには、IFaxIncomingArchive::GetMessage メソッドまたは IFaxIncomingMessageIterator::get_Message メソッドを呼び出します。
メソッド 13
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
Id プロパティは、受信 FAX メッセージの一意の ID を格納する null 終端文字列です。
| pbstrId | LPWSTR* | out | 受信メッセージを一意に識別するIDを受け取るBSTR文字列ポインタ。呼出側で解放する。 |
解説(Remarks)
この値は、対象のジョブがジョブ キューにあったときに、そのジョブを識別していた値と同一である点に注意してください。
Pages プロパティは、受信 FAX メッセージの総ページ数を示す値です。
| plPages | INT* | out | 受信メッセージのページ数を受け取るINTポインタ。 |
Size プロパティは、受信 FAX メッセージに関連付けられた Tagged Image File Format Class F (TIFF Class F) ファイルのサイズを示す値です。
| plSize | INT* | out | 受信メッセージのサイズ(バイト単位)を受け取るINTポインタ。 |
DeviceName プロパティは、受信 FAX メッセージを受信したデバイスの名前を格納する null 終端文字列です。
| pbstrDeviceName | LPWSTR* | out | 受信に使われたファクスデバイス名を受け取るBSTR文字列ポインタ。 |
解説(Remarks)
このメソッドはデバイス ID ではなく FAX デバイスの名前を返します。管理者が FAX ジョブの完了後、クライアントが受信 FAX メッセージのアーカイブを照会する前にデバイス ID を削除する可能性があるため、これは有用です。
Retries プロパティは、最初のルーティング試行が失敗した後に FAX サービスが受信 FAX メッセージのルーティングを試みた回数を示す値です。
| plRetries | INT* | out | 受信時に発生した再試行回数を受け取るINTポインタ。 |
TransmissionStart プロパティは、受信 FAX メッセージの送信が開始された時刻を示します。
| pdateTransmissionStart | DOUBLE* | out | 受信(伝送)開始日時をDATE形式で受け取るDOUBLEポインタ。 |
TransmissionEnd プロパティは、受信 FAX メッセージの送信が完了した時刻を示します。
| pdateTransmissionEnd | DOUBLE* | out | 受信(伝送)終了日時をDATE形式で受け取るDOUBLEポインタ。 |
CSID プロパティは、受信 FAX メッセージの着信側局識別子 (CSID) を格納する null 終端文字列です。
| pbstrCSID | LPWSTR* | out | 送信側の被呼局識別(CSID)文字列を受け取るBSTRポインタ。 |
TSID プロパティは、受信 FAX メッセージに関連付けられた送信側局識別子 (TSID) を格納する null 終端文字列です。
| pbstrTSID | LPWSTR* | out | 送信側の送信局識別(TSID)文字列を受け取るBSTRポインタ。 |
CallerId プロパティは、受信 FAX メッセージに関連付けられた発信側デバイスを識別する null 終端文字列です。
| pbstrCallerId | LPWSTR* | out | 発信者番号(発番号)を表す文字列を受け取るBSTRポインタ。 |
RoutingInformation プロパティは、FAX メッセージの受信ルーティング情報を示す null 終端文字列です。
| pbstrRoutingInformation | LPWSTR* | out | ルーティング処理に使われた経路情報文字列を受け取るBSTRポインタ。 |
解説(Remarks)
ルーティング情報の詳細については、FAX_DEV_STATUS 構造体の RoutingInfo メンバーを参照してください。
CopyTiff メソッドは、受信 FAX メッセージに関連付けられた Tagged Image File Format Class F (TIFF Class F) ファイルを、ローカル コンピューター上のファイルにコピーします。
| bstrTiffPath | LPWSTR | in | ローカル コンピューター上の完全修飾パスとファイル名を指定する null 終端の BSTR です。FAX サービスは、受信 FAX メッセージに関連付けられた TIFF Class F ファイルを、指定されたファイルにコピーします。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
Delete メソッドは、指定された FAX メッセージを受信 FAX アーカイブから削除します。
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
解説(Remarks)
このメソッドを使用するには、ユーザーが farMANAGE_IN_ARCHIVE アクセス権を持っている必要があります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IFaxIncomingMessage "{7CAB88FA-2EF9-4851-B2F3-1D148FED8447}" #usecom global IFaxIncomingMessage IID_IFaxIncomingMessage "{}" #comfunc global IFaxIncomingMessage_get_Id 7 var #comfunc global IFaxIncomingMessage_get_Pages 8 var #comfunc global IFaxIncomingMessage_get_Size 9 var #comfunc global IFaxIncomingMessage_get_DeviceName 10 var #comfunc global IFaxIncomingMessage_get_Retries 11 var #comfunc global IFaxIncomingMessage_get_TransmissionStart 12 var #comfunc global IFaxIncomingMessage_get_TransmissionEnd 13 var #comfunc global IFaxIncomingMessage_get_CSID 14 var #comfunc global IFaxIncomingMessage_get_TSID 15 var #comfunc global IFaxIncomingMessage_get_CallerId 16 var #comfunc global IFaxIncomingMessage_get_RoutingInformation 17 var #comfunc global IFaxIncomingMessage_CopyTiff 18 wstr #comfunc global IFaxIncomingMessage_Delete 19 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IFaxIncomingMessage "{7CAB88FA-2EF9-4851-B2F3-1D148FED8447}" #usecom global IFaxIncomingMessage IID_IFaxIncomingMessage "{}" #comfunc global IFaxIncomingMessage_get_Id 7 sptr #comfunc global IFaxIncomingMessage_get_Pages 8 sptr #comfunc global IFaxIncomingMessage_get_Size 9 sptr #comfunc global IFaxIncomingMessage_get_DeviceName 10 sptr #comfunc global IFaxIncomingMessage_get_Retries 11 sptr #comfunc global IFaxIncomingMessage_get_TransmissionStart 12 sptr #comfunc global IFaxIncomingMessage_get_TransmissionEnd 13 sptr #comfunc global IFaxIncomingMessage_get_CSID 14 sptr #comfunc global IFaxIncomingMessage_get_TSID 15 sptr #comfunc global IFaxIncomingMessage_get_CallerId 16 sptr #comfunc global IFaxIncomingMessage_get_RoutingInformation 17 sptr #comfunc global IFaxIncomingMessage_CopyTiff 18 wstr #comfunc global IFaxIncomingMessage_Delete 19 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。