IFaxIncomingJob
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
IFaxIncomingJob インターフェイスは、FAX サーバーのキューにある受信 FAX ジョブに関する情報を取得するために、FAX クライアント アプリケーションが使用します。
解説(Remarks)
C++ で FaxIncomingJob オブジェクトを作成するには、IFaxIncomingJobs::get_Item メソッドを呼び出します。
メソッド 19
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
Size プロパティは、受信 FAX ジョブに関連付けられた Tagged Image File Format Class F (TIFF Class F) ファイルのサイズを示す値です。
| plSize | INT* | out | 受信ジョブのサイズ(バイト単位)を受け取るINTポインタ。 |
Id プロパティは、受信 FAX ジョブの一意の ID を格納する、NULL で終わる文字列です。
| pbstrId | LPWSTR* | out | 受信ジョブを一意に識別するIDを受け取るBSTRポインタ。 |
解説(Remarks)
FAX ジョブの ID を使用すると、ジョブが正常に完了した後にアーカイブされた FAX メッセージを取得できます。
CurrentPage プロパティは、受信 FAX ジョブで FAX サービスが現在受信中のページを示す数値です。
| plCurrentPage | INT* | out | 現在受信中のページ番号を受け取るINTポインタ。 |
DeviceId プロパティは、受信 FAX ジョブを受信しているデバイスのデバイス ID を示します。
| plDeviceId | INT* | out | ジョブを処理しているファクスデバイスのIDを受け取るINTポインタ。 |
FaxIncomingJob オブジェクトの Status プロパティを取得します。Status プロパティは、ジョブ キュー内の受信 FAX ジョブの現在の状態を示す数値です。
| pStatus | FAX_JOB_STATUS_ENUM* | out | ジョブ キュー内の受信 FAX ジョブの現在の状態を指定する、FAX_JOB_STATUS_ENUM 列挙型の値へのポインターです。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
FaxIncomingJob オブジェクトの ExtendedStatusCode プロパティを取得します。ExtendedStatusCode プロパティは、ジョブの拡張状態を表すコードを指定します。
| pExtendedStatusCode | FAX_JOB_EXTENDED_STATUS_ENUM* | out | 拡張ジョブ状態を指定する、FAX_JOB_EXTENDED_STATUS_ENUM 列挙型の値へのポインターです。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
ExtendedStatus プロパティは、ジョブの拡張状態を説明する、NULL で終わる文字列です。(IFaxIncomingJob.get_ExtendedStatus)
| pbstrExtendedStatus | LPWSTR* | out | 拡張状態の説明文字列を受け取るBSTRポインタ。プロバイダ固有の記述を含む。 |
解説(Remarks)
ExtendedStatus プロパティに値が設定されるのは、FAX サービス プロバイダー (FSP) が ExtendedStatusCode プロパティに独自の状態コードを返した場合のみです。それ以外の場合、ExtendedStatus プロパティは空の文字列になります。
FaxIncomingJob オブジェクトの AvailableOperations プロパティを取得します。AvailableOperations プロパティは、FAX ジョブの現在の状態において実行可能な操作の組み合わせを示します。
| pAvailableOperations | FAX_JOB_OPERATIONS_ENUM* | out | 現在 FAX ジョブに対して実行できる操作のビット単位の組み合わせを指定する、FAX_JOB_OPERATIONS_ENUM 列挙型の long 値へのポインターです。一部の操作は相互に排他的です。たとえば、既に一時停止しているジョブを一時停止することはできません。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
Retries プロパティは、最初のルーティングの試行が失敗した際に、FAX サービスが受信 FAX のルーティングを試行した回数を示す値です。
| plRetries | INT* | out | 受信時に行われた再試行回数を受け取るINTポインタ。 |
TransmissionStart プロパティは、受信 FAX ジョブの送受信が開始された時刻を示します。
| pdateTransmissionStart | DOUBLE* | out | 受信(伝送)開始日時をDATE形式で受け取るDOUBLEポインタ。 |
TransmissionEnd プロパティは、受信 FAX ジョブの送受信が完了した時刻を示します。
| pdateTransmissionEnd | DOUBLE* | out | 受信(伝送)終了日時をDATE形式で受け取るDOUBLEポインタ。 |
解説(Remarks)
TransmissionEnd プロパティは、FAX デバイスが FAX をまだ受信している間は有効ではありません。処理中の FAX の場合、このプロパティには 0 が設定されます。処理中の FAX に対してこのプロパティを取得しようとすると、エラーが返されます。
CSID プロパティは、ジョブの着信側装置識別子 (CSID) を格納する、NULL で終わる文字列です。(IFaxIncomingJob.get_CSID)
| pbstrCSID | LPWSTR* | out | 自局の被呼局識別(CSID)文字列を受け取るBSTRポインタ。 |
TSID プロパティは、受信 FAX ジョブに関連付けられた発信側装置識別子 (TSID) を格納する、NULL で終わる文字列です。
| pbstrTSID | LPWSTR* | out | 送信側の送信局識別(TSID)文字列を受け取るBSTRポインタ。 |
CallerId プロパティは、受信 FAX ジョブを送信した発信側デバイスを識別する文字列です。
| pbstrCallerId | LPWSTR* | out | 発信者番号(発番号)を表す文字列を受け取るBSTRポインタ。 |
RoutingInformation プロパティは、受信 FAX ジョブのルーティング情報を指定する、NULL で終わる文字列です。
| pbstrRoutingInformation | LPWSTR* | out | ルーティングに使われる経路情報文字列を受け取るBSTRポインタ。 |
解説(Remarks)
ルーティング情報の詳細については、FAX_DEV_STATUS 構造体の RoutingInfo メンバーを参照してください。
FaxIncomingJob オブジェクトの JobType プロパティを取得します。JobType プロパティは FAX ジョブの種類を表します。たとえば、受信ジョブ、送信ジョブ、ルーティング ジョブなどがあります。
| pJobType | FAX_JOB_TYPE_ENUM* | out | FAX ジョブの種類を指定する、FAX_JOB_TYPE_ENUM 列挙型の値へのポインターです。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
Cancel メソッドは、受信 FAX ジョブをキャンセルします。
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
解説(Remarks)
このメソッドを使用するには、ユーザーが farMANAGE_JOBS アクセス権を持っている必要があります。
Refresh メソッドは、FaxIncomingJob オブジェクトの情報を FAX サーバーから再取得して更新します。
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
解説(Remarks)
このメソッドを使用するには、ユーザーが farQUERY_QUEUE アクセス権を持っている必要があります。
CopyTiff メソッドは、受信 FAX ジョブに関連付けられた Tagged Image File Format Class F (TIFF Class F) ファイルを、ローカル コンピューター上のファイルにコピーします。
| bstrTiffPath | LPWSTR | in | ローカル コンピューター上の完全修飾パスとファイル名を指定する、NULL で終わる文字列です。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
解説(Remarks)
このメソッドを使用するには、ユーザーが farQUERY_JOBS アクセス権を持っている必要があります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IFaxIncomingJob "{207529E6-654A-4916-9F88-4D232EE8A107}" #usecom global IFaxIncomingJob IID_IFaxIncomingJob "{}" #comfunc global IFaxIncomingJob_get_Size 7 var #comfunc global IFaxIncomingJob_get_Id 8 var #comfunc global IFaxIncomingJob_get_CurrentPage 9 var #comfunc global IFaxIncomingJob_get_DeviceId 10 var #comfunc global IFaxIncomingJob_get_Status 11 var #comfunc global IFaxIncomingJob_get_ExtendedStatusCode 12 var #comfunc global IFaxIncomingJob_get_ExtendedStatus 13 var #comfunc global IFaxIncomingJob_get_AvailableOperations 14 var #comfunc global IFaxIncomingJob_get_Retries 15 var #comfunc global IFaxIncomingJob_get_TransmissionStart 16 var #comfunc global IFaxIncomingJob_get_TransmissionEnd 17 var #comfunc global IFaxIncomingJob_get_CSID 18 var #comfunc global IFaxIncomingJob_get_TSID 19 var #comfunc global IFaxIncomingJob_get_CallerId 20 var #comfunc global IFaxIncomingJob_get_RoutingInformation 21 var #comfunc global IFaxIncomingJob_get_JobType 22 var #comfunc global IFaxIncomingJob_Cancel 23 #comfunc global IFaxIncomingJob_Refresh 24 #comfunc global IFaxIncomingJob_CopyTiff 25 wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IFaxIncomingJob "{207529E6-654A-4916-9F88-4D232EE8A107}" #usecom global IFaxIncomingJob IID_IFaxIncomingJob "{}" #comfunc global IFaxIncomingJob_get_Size 7 sptr #comfunc global IFaxIncomingJob_get_Id 8 sptr #comfunc global IFaxIncomingJob_get_CurrentPage 9 sptr #comfunc global IFaxIncomingJob_get_DeviceId 10 sptr #comfunc global IFaxIncomingJob_get_Status 11 sptr #comfunc global IFaxIncomingJob_get_ExtendedStatusCode 12 sptr #comfunc global IFaxIncomingJob_get_ExtendedStatus 13 sptr #comfunc global IFaxIncomingJob_get_AvailableOperations 14 sptr #comfunc global IFaxIncomingJob_get_Retries 15 sptr #comfunc global IFaxIncomingJob_get_TransmissionStart 16 sptr #comfunc global IFaxIncomingJob_get_TransmissionEnd 17 sptr #comfunc global IFaxIncomingJob_get_CSID 18 sptr #comfunc global IFaxIncomingJob_get_TSID 19 sptr #comfunc global IFaxIncomingJob_get_CallerId 20 sptr #comfunc global IFaxIncomingJob_get_RoutingInformation 21 sptr #comfunc global IFaxIncomingJob_get_JobType 22 sptr #comfunc global IFaxIncomingJob_Cancel 23 #comfunc global IFaxIncomingJob_Refresh 24 #comfunc global IFaxIncomingJob_CopyTiff 25 wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。