IFaxOutgoingJob
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
IFaxOutgoingJob インターフェースは、FAX クライアント アプリケーションが FAX サーバーのキュー内にある送信 FAX ジョブに関する情報を取得するために使用するオブジェクトを表します。
解説(Remarks)
IFaxOutgoingJob の既定の実装は、FaxOutgoingJob オブジェクトとして提供されます。
メソッド 31
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
IFaxOutgoingJob::get_Subject プロパティは、FAX のカバー ページの件名フィールドの内容を格納する NULL 終端文字列です。
| pbstrSubject | LPWSTR* | out | 送信ジョブの件名を受け取るBSTR文字列ポインタ。呼出側で解放する。 |
IFaxOutgoingJob::get_DocumentName プロパティは、FAX ドキュメントの表示に使用する分かりやすい名前を格納する NULL 終端文字列です。
| pbstrDocumentName | LPWSTR* | out | 送信ジョブの元ドキュメント名を受け取るBSTR文字列ポインタ。 |
IFaxOutgoingJob::get_Pages プロパティは、送信 FAX ジョブの総ページ数を示す数値です。
| plPages | INT* | out | 送信ジョブの総ページ数を受け取るINTポインタ。 |
IFaxOutgoingJob::get_Size プロパティは、送信 FAX ジョブに関連付けられた Tagged Image File Format Class F (TIFF Class F) ファイルのサイズを示す値です。
| plSize | INT* | out | 送信ジョブのサイズ(バイト単位)を受け取るINTポインタ。 |
IFaxOutgoingJob::get_SubmissionId プロパティは、送信処理中に FAX ジョブへ割り当てられた一意の識別子を格納する NULL 終端文字列です。
| pbstrSubmissionId | LPWSTR* | out | 送信要求(サブミッション)を一意に識別するIDを受け取るBSTRポインタ。同報の親IDに相当する。 |
解説(Remarks)
同じ送信処理によって作成されたすべての FAX ジョブは、同一の一意な送信 ID を共有します。複数の受信者宛てに FAX を送信する場合、個別の FAX ジョブが作成されますが、それらは同一の FAX ブロードキャストの一部であるため、同じ SubmissionID を共有します。
IFaxOutgoingJob::get_Id プロパティは、送信 FAX ジョブの一意の識別子を格納する NULL 終端文字列です。この識別子を使用すると、ジョブが正常に完了した後にアーカイブされた FAX メッセージを取得できます。
| pbstrId | LPWSTR* | out | 個別の送信ジョブを一意に識別するIDを受け取るBSTRポインタ。 |
IFaxOutgoingJob::get_OriginalScheduledTime プロパティは、FAX ジョブが最初に送信予定として設定された時刻を指定します。
| pdateOriginalScheduledTime | DOUBLE* | out | 当初予定されていた送信日時をDATE形式で受け取るDOUBLEポインタ。 |
IFaxOutgoingJob::get_SubmissionTime プロパティは、送信 FAX ジョブが処理のために送信された時刻を示します。
| pdateSubmissionTime | DOUBLE* | out | ジョブが投入された日時をDATE形式で受け取るDOUBLEポインタ。 |
IFaxOutgoingJob::get_ReceiptType プロパティは、FAX メッセージが最終状態に達したときに配信する配信確認 (レシート) の種類を指定する値です。レシートの種類には、Simple Mail Transport Protocol (SMTP) メール、メッセージ ボックス、またはレシートなしを指定できます。
| pReceiptType | FAX_RECEIPT_TYPE_ENUM* | out | 送達通知の方式を表すFAX_RECEIPT_TYPE_ENUM値を受け取るポインタ。メール通知等を示す。 |
IFaxOutgoingJob::get_Priority プロパティは、FAX の送信時に使用する優先度 (たとえば、通常、低、高の優先度) を指定します。
| pPriority | FAX_PRIORITY_TYPE_ENUM* | out | 送信ジョブの優先度を表すFAX_PRIORITY_TYPE_ENUM値を受け取るポインタ。低/中/高を示す。 |
IFaxOutgoingJob::get_Sender プロパティは、FAX の送信者に関する情報を格納するオブジェクトを取得します。
| ppFaxSender | IFaxSender** | out | 送信者情報を表すIFaxSenderインターフェイスを受け取るポインタ。 |
IFaxOutgoingJob::get_Recipient プロパティは、FAX ジョブの受信者に関する情報を格納するオブジェクトへのインターフェースを取得します。
| ppFaxRecipient | IFaxRecipient** | out | 受信者情報を表すIFaxRecipientインターフェイスを受け取るポインタ。 |
IFaxOutgoingJob::get_CurrentPage プロパティは、FAX サービスが送信 FAX ジョブで現在送信中のページを識別する数値です。
| plCurrentPage | INT* | out | 現在伝送中のページ番号を受け取るINTポインタ。 |
IFaxOutgoingJob::get_DeviceId プロパティは、送信 FAX ジョブを送信しているデバイスのデバイス ID を示します。
| plDeviceId | INT* | out | ジョブを処理しているファクスデバイスのIDを受け取るINTポインタ。 |
IFaxOutgoingJob::get_Status プロパティは、ジョブ キュー内の送信 FAX ジョブの現在の状態を示す数値です。
| pStatus | FAX_JOB_STATUS_ENUM* | out | 送信ジョブの状態を表すFAX_JOB_STATUS_ENUM値を受け取るポインタ。送信中/完了等を示す。 |
解説(Remarks)
詳細については、FAX_JOB_STATUS_ENUM を参照してください。
IFaxOutgoingJob::get_ExtendedStatusCode プロパティは、ジョブの拡張状態を表すコードを指定します。
| pExtendedStatusCode | FAX_JOB_EXTENDED_STATUS_ENUM* | out | 拡張状態を表すFAX_JOB_EXTENDED_STATUS_ENUM値を受け取るポインタ。詳細な進行状況を示す。 |
解説(Remarks)
FAX サービス プロバイダー (FSP) が独自の状態コードを提供する場合、サービスは FSP からコード文字列を読み込み、その文字列と元の状態コードの両方をクライアントに渡します。FSP が FAX_JOB_EXTENDED_STATUS_ENUM で定義された状態を提供する場合、サービスは状態コードのみをクライアントに渡します。
FAX クライアント アプリケーションは、まず拡張状態文字列を確認する必要があります。文字列が NULL/空でない場合、その文字列が拡張状態を表しており、拡張状態コードは FSP が FAX サービスに渡したコードと同じです。文字列が NULL/空の場合、拡張状態コードは FAX_JOB_EXTENDED_STATUS_ENUM で定義されているコードのいずれかです。
IFaxOutgoingJob::get_ExtendedStatus プロパティは、ジョブの拡張状態を説明する NULL 終端文字列です。
| pbstrExtendedStatus | LPWSTR* | out | 拡張状態の説明文字列を受け取るBSTRポインタ。プロバイダ固有の状態記述を含む。 |
解説(Remarks)
IFaxOutgoingJob::get_ExtendedStatus プロパティが値を持つのは、FAX サービス プロバイダー (FSP) が IFaxOutgoingJob::get_ExtendedStatusCode プロパティで独自の状態コードを返す場合のみです。それ以外の場合、IFaxOutgoingJob::get_ExtendedStatus プロパティには空の文字列が格納されます。同様に、FSP は IFaxOutgoingJob::get_ExtendedStatus プロパティの値を提供しないことを選択できます。その場合も、このプロパティには空の文字列が格納されます。FAX サービスに付属する T.30 FSP はこれに該当します。
FSP が独自の状態コードを提供する場合、サービスは FSP からコード文字列を読み込み、その文字列と元の状態コードの両方をクライアントに渡します。FSP が FAX_JOB_EXTENDED_STATUS_ENUM で定義された状態を提供する場合、サービスは状態コードのみをクライアントに渡します。
FAX クライアント アプリケーションは、まず拡張状態文字列を確認する必要があります。文字列が NULL/空でない場合、その文字列が拡張状態を表しており、拡張状態コードは FSP が FAX サービスに渡したコードと同じです。文字列が NULL/空の場合、拡張状態コードは FAX_JOB_EXTENDED_STATUS_ENUM で定義されているコードのいずれかです。
IFaxOutgoingJob::get_AvailableOperations プロパティは、現在の状態において FAX ジョブに対して実行できる有効な操作の組み合わせを示します。
| pAvailableOperations | FAX_JOB_OPERATIONS_ENUM* | out | 現在実行可能な操作を表すFAX_JOB_OPERATIONS_ENUM値を受け取るポインタ。一時停止/再開/中止等のビット組合せ。 |
IFaxOutgoingJob::get_Retries プロパティは、最初の送信試行が失敗した後に FAX サービスが送信 FAX の送信を試みた回数を示す値です。
| plRetries | INT* | out | これまでに行われた送信再試行回数を受け取るINTポインタ。 |
IFaxOutgoingJob::get_ScheduledTime プロパティは、FAX を処理のために FAX サービスへ送信する時刻を示します。
| pdateScheduledTime | DOUBLE* | out | 現在設定されている送信予定日時をDATE形式で受け取るDOUBLEポインタ。 |
IFaxOutgoingJob::get_TransmissionStart プロパティは、送信 FAX ジョブの送信が開始された時刻を示します。このプロパティが値を持つのは、送信が開始された後のみです。
| pdateTransmissionStart | DOUBLE* | out | 伝送開始日時をDATE形式で受け取るDOUBLEポインタ。 |
解説(Remarks)
FAX が失敗した場合、このプロパティには 0 が設定されます。失敗した FAX に対してこのプロパティを取得しようとすると、エラーが返されます。
IFaxOutgoingJob::get_TransmissionEnd プロパティは、送信 FAX ジョブの送信が完了した時刻を示します。
| pdateTransmissionEnd | DOUBLE* | out | 伝送終了日時をDATE形式で受け取るDOUBLEポインタ。 |
解説(Remarks)
FAX デバイスによる FAX の送信が続いている間、このプロパティは有効ではありません。値を持つのは送信が終了した後のみです。個別の FAX の場合、送信が終了すると FAX は送信アーカイブへ移動されるため、この値を取得することはできません。代わりに、TransmissionEnd プロパティの値を取得できます。ブロードキャストの場合、ブロードキャスト全体が完了するまで各 FAX は送信キューに残るため、IFaxOutgoingJob::get_TransmissionEnd プロパティの値を取得できます。
FAX が失敗した場合、このプロパティには 0 が設定されます。失敗した FAX に対してこのプロパティを取得しようとすると、エラーが返されます。
IFaxOutgoingJob::get_CSID プロパティは、FAX 送信ジョブに関連付けられた着信局識別子 (CSID) を格納する NULL 終端文字列です。
| pbstrCSID | LPWSTR* | out | 相手側の被呼局識別(CSID)文字列を受け取るBSTRポインタ。 |
IFaxOutgoingJob::get_TSID プロパティは、FAX 送信ジョブに関連付けられた送信局識別子 (TSID) を格納する NULL 終端文字列です。
| pbstrTSID | LPWSTR* | out | 自局の送信局識別(TSID)文字列を受け取るBSTRポインタ。 |
IFaxOutgoingJob::get_GroupBroadcastReceipts プロパティは、ブロードキャストの受信者ごとに個別の配信確認を送信するか、すべての受信者に対する要約の配信確認を送信するかを示すブール値です。
| pbGroupBroadcastReceipts | VARIANT_BOOL* | out | 同報送信で受信確認をグループ単位にまとめるかを受け取るVARIANT_BOOLポインタ。 |
解説(Remarks)
ドキュメントに対して IFaxOutgoingJob::get_GroupBroadcastReceipts プロパティを設定するには、IFaxDocument::put_GroupBroadcastReceipts メソッドを使用します。
IFaxOutgoingJob::Pause メソッドは、送信 FAX ジョブを一時停止します。
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
解説(Remarks)
一時停止した FAX ジョブを再開するには、IFaxOutgoingJob::Resume メソッドを使用します。
このメソッドを使用するには、ユーザーが farSUBMIT_LOW または farMANAGE_JOBS のアクセス権を持っている必要があります。farSUBMIT_LOW アクセス権の場合、ユーザーは自分の FAX に対してのみこのメソッドを使用できます。farMANAGE_JOBS アクセス権の場合、ユーザーはサーバー上のすべての FAX に対してこのメソッドを使用できます。
IFaxOutgoingJob::Resume メソッドは、一時停止した送信 FAX ジョブを再開します。
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
解説(Remarks)
このメソッドを使用するには、ユーザーが farSUBMIT_LOW または farMANAGE_JOBS のアクセス権を持っている必要があります。farSUBMIT_LOW アクセス権の場合、ユーザーは自分の FAX に対してのみこのメソッドを使用できます。farMANAGE_JOBS アクセス権の場合、ユーザーはサーバー上のすべての FAX に対してこのメソッドを使用できます。
IFaxOutgoingJob::Restart メソッドは、失敗した送信 FAX ジョブを再開始します。たとえば、FAX ジョブが再試行回数を超えた場合、IFaxOutgoingJob::Restart によってその FAX ジョブを再開始できます。
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
解説(Remarks)
このメソッドを使用するには、ユーザーが farSUBMIT_LOW または farMANAGE_JOBS のアクセス権を持っている必要があります。farSUBMIT_LOW アクセス権の場合、ユーザーは自分の FAX に対してのみこのメソッドを使用できます。farMANAGE_JOBS アクセス権の場合、ユーザーはサーバー上のすべての FAX に対してこのメソッドを使用できます。
IFaxOutgoingJob::CopyTiff メソッドは、送信 FAX ジョブに関連付けられた Tagged Image File Format Class F (TIFF Class F) ファイルを、ローカル コンピューター上のファイルへコピーします。
| bstrTiffPath | LPWSTR | in | ローカル コンピューター上の完全修飾パスとファイル名を格納する NULL 終端文字列です。FAX サービスは、送信 FAX に関連付けられた TIFF Class F ファイルを、指定されたファイルへコピーします。 |
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
解説(Remarks)
このメソッドを使用するには、ユーザーが farSUBMIT_LOW または farQUERY_JOBS のアクセス権を持っている必要があります。
farSUBMIT_LOW アクセス権の場合、ユーザーは自分の FAX に対してのみこのメソッドを使用できます。farQUERY_JOBS アクセス権の場合、ユーザーはサーバー上のすべての FAX に対してこのメソッドを使用できます。
Refresh メソッドは、FaxOutgoingJob オブジェクトの情報を FAX サーバーから最新の状態に更新します。
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
解説(Remarks)
このメソッドを使用するには、ユーザーが farSUBMIT_LOW または farQUERY_JOBS のアクセス権を持っている必要があります。
farSUBMIT_LOW アクセス権の場合、ユーザーは自分の FAX に対してのみこのメソッドを使用できます。farQUERY_JOBS アクセス権の場合、ユーザーはサーバー上のすべての FAX に対してこのメソッドを使用できます。
IFaxOutgoingJob::Cancel メソッドは、送信 FAX ジョブをキャンセルします。
戻り値
型: HRESULT
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
解説(Remarks)
ブロードキャストの一部ではないジョブをキャンセルした場合、またはブロードキャスト全体をキャンセルした場合、Count プロパティは送信ジョブ数の変化を反映して更新されます。ただし、ブロードキャストから 1 件の FAX のみをキャンセルした場合、Count プロパティに変化は反映されません。キャンセルされた FAX は送信キューに残るため、ブロードキャストのすべての FAX の状態を確認できます。
このメソッドを使用するには、ユーザーが farSUBMIT_LOW または farMANAGE_JOBS のアクセス権を持っている必要があります。farSUBMIT_LOW アクセス権の場合、ユーザーは自分の FAX に対してのみこのメソッドを使用できます。farMANAGE_JOBS アクセス権の場合、ユーザーはサーバー上のすべての FAX に対してこのメソッドを使用できます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IFaxOutgoingJob "{6356DAAD-6614-4583-BF7A-3AD67BBFC71C}" #usecom global IFaxOutgoingJob IID_IFaxOutgoingJob "{}" #comfunc global IFaxOutgoingJob_get_Subject 7 var #comfunc global IFaxOutgoingJob_get_DocumentName 8 var #comfunc global IFaxOutgoingJob_get_Pages 9 var #comfunc global IFaxOutgoingJob_get_Size 10 var #comfunc global IFaxOutgoingJob_get_SubmissionId 11 var #comfunc global IFaxOutgoingJob_get_Id 12 var #comfunc global IFaxOutgoingJob_get_OriginalScheduledTime 13 var #comfunc global IFaxOutgoingJob_get_SubmissionTime 14 var #comfunc global IFaxOutgoingJob_get_ReceiptType 15 var #comfunc global IFaxOutgoingJob_get_Priority 16 var #comfunc global IFaxOutgoingJob_get_Sender 17 sptr #comfunc global IFaxOutgoingJob_get_Recipient 18 sptr #comfunc global IFaxOutgoingJob_get_CurrentPage 19 var #comfunc global IFaxOutgoingJob_get_DeviceId 20 var #comfunc global IFaxOutgoingJob_get_Status 21 var #comfunc global IFaxOutgoingJob_get_ExtendedStatusCode 22 var #comfunc global IFaxOutgoingJob_get_ExtendedStatus 23 var #comfunc global IFaxOutgoingJob_get_AvailableOperations 24 var #comfunc global IFaxOutgoingJob_get_Retries 25 var #comfunc global IFaxOutgoingJob_get_ScheduledTime 26 var #comfunc global IFaxOutgoingJob_get_TransmissionStart 27 var #comfunc global IFaxOutgoingJob_get_TransmissionEnd 28 var #comfunc global IFaxOutgoingJob_get_CSID 29 var #comfunc global IFaxOutgoingJob_get_TSID 30 var #comfunc global IFaxOutgoingJob_get_GroupBroadcastReceipts 31 var #comfunc global IFaxOutgoingJob_Pause 32 #comfunc global IFaxOutgoingJob_Resume 33 #comfunc global IFaxOutgoingJob_Restart 34 #comfunc global IFaxOutgoingJob_CopyTiff 35 wstr #comfunc global IFaxOutgoingJob_Refresh 36 #comfunc global IFaxOutgoingJob_Cancel 37 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IFaxOutgoingJob "{6356DAAD-6614-4583-BF7A-3AD67BBFC71C}" #usecom global IFaxOutgoingJob IID_IFaxOutgoingJob "{}" #comfunc global IFaxOutgoingJob_get_Subject 7 sptr #comfunc global IFaxOutgoingJob_get_DocumentName 8 sptr #comfunc global IFaxOutgoingJob_get_Pages 9 sptr #comfunc global IFaxOutgoingJob_get_Size 10 sptr #comfunc global IFaxOutgoingJob_get_SubmissionId 11 sptr #comfunc global IFaxOutgoingJob_get_Id 12 sptr #comfunc global IFaxOutgoingJob_get_OriginalScheduledTime 13 sptr #comfunc global IFaxOutgoingJob_get_SubmissionTime 14 sptr #comfunc global IFaxOutgoingJob_get_ReceiptType 15 sptr #comfunc global IFaxOutgoingJob_get_Priority 16 sptr #comfunc global IFaxOutgoingJob_get_Sender 17 sptr #comfunc global IFaxOutgoingJob_get_Recipient 18 sptr #comfunc global IFaxOutgoingJob_get_CurrentPage 19 sptr #comfunc global IFaxOutgoingJob_get_DeviceId 20 sptr #comfunc global IFaxOutgoingJob_get_Status 21 sptr #comfunc global IFaxOutgoingJob_get_ExtendedStatusCode 22 sptr #comfunc global IFaxOutgoingJob_get_ExtendedStatus 23 sptr #comfunc global IFaxOutgoingJob_get_AvailableOperations 24 sptr #comfunc global IFaxOutgoingJob_get_Retries 25 sptr #comfunc global IFaxOutgoingJob_get_ScheduledTime 26 sptr #comfunc global IFaxOutgoingJob_get_TransmissionStart 27 sptr #comfunc global IFaxOutgoingJob_get_TransmissionEnd 28 sptr #comfunc global IFaxOutgoingJob_get_CSID 29 sptr #comfunc global IFaxOutgoingJob_get_TSID 30 sptr #comfunc global IFaxOutgoingJob_get_GroupBroadcastReceipts 31 sptr #comfunc global IFaxOutgoingJob_Pause 32 #comfunc global IFaxOutgoingJob_Resume 33 #comfunc global IFaxOutgoingJob_Restart 34 #comfunc global IFaxOutgoingJob_CopyTiff 35 wstr #comfunc global IFaxOutgoingJob_Refresh 36 #comfunc global IFaxOutgoingJob_Cancel 37 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。