IFsrmReportJob
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
レポートジョブを構成するために使用します。
解説(Remarks)
メソッド 17
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
レポートジョブの名前を取得または設定します。(Get)
| taskName | LPWSTR* | out | このレポートジョブに関連付けられたスケジュールタスクの名前を受け取る文字列ポインタである。 |
解説(Remarks)
通常、この名前は、レポートジョブを実行するスケジュールタスクを作成するために IFsrmReportScheduler::CreateScheduleTask メソッドを呼び出すときに指定する名前と同じです。
レポートジョブを取得するために IFsrmReportManager::GetReportJob メソッドを呼び出す際には、 このタスク名を使用します。
例
例については、レポートジョブの定義 を参照してください。
レポートジョブの名前を取得または設定します。(Put)
| taskName | LPWSTR | in | このレポートジョブに関連付けるスケジュールタスクの名前を指定する文字列である。 |
解説(Remarks)
通常、この名前は、レポートジョブを実行するスケジュールタスクを作成するために IFsrmReportScheduler::CreateScheduleTask メソッドを呼び出すときに指定する名前と同じです。
レポートジョブを取得するために IFsrmReportManager::GetReportJob メソッドを呼び出す際には、 このタスク名を使用します。
例
例については、レポートジョブの定義 を参照してください。
レポートジョブの実行時にスキャンされるローカルディレクトリパスの配列を取得または設定します。(Get)
| namespaceRoots | SAFEARRAY** | out | レポート対象とする名前空間ルート (ディレクトリパス) の一覧を格納した SAFEARRAY を受け取るポインタである。 |
解説(Remarks)
指定したパスの下にあるすべてのサブディレクトリも (再帰的に) スキャンされます。
このジョブをスケジュールする場合は、 IFsrmReportScheduler::CreateScheduleTask メソッドを呼び出すときに同じ名前空間を指定してください。
このプロパティは、パスを検証するために IFsrmReportScheduler::VerifyNamespaces メソッドを呼び出します。検証の詳細については、 VerifyNamespaces の「解説」セクションを参照してください。
FSRM がサポートするのは NTFS ファイルシステムのみである点に注意してください。ReFS、FAT、 FAT32、UDF、その他の NTFS 以外のファイルシステム上のパスは指定できません。
例
例については、レポートジョブの定義 を参照してください。
レポートジョブの実行時にスキャンされるローカルディレクトリパスの配列を取得または設定します。(Put)
| namespaceRoots | SAFEARRAY* | in | レポート対象として設定する名前空間ルート (ディレクトリパス) の一覧を格納した SAFEARRAY を指定する。 |
解説(Remarks)
指定したパスの下にあるすべてのサブディレクトリも (再帰的に) スキャンされます。
このジョブをスケジュールする場合は、 IFsrmReportScheduler::CreateScheduleTask メソッドを呼び出すときに同じ名前空間を指定してください。
このプロパティは、パスを検証するために IFsrmReportScheduler::VerifyNamespaces メソッドを呼び出します。検証の詳細については、 VerifyNamespaces の「解説」セクションを参照してください。
FSRM がサポートするのは NTFS ファイルシステムのみである点に注意してください。ReFS、FAT、 FAT32、UDF、その他の NTFS 以外のファイルシステム上のパスは指定できません。
例
例については、レポートジョブの定義 を参照してください。
レポートのコンテンツ形式を決定する形式の配列を取得または設定します。(Get)
| formats | SAFEARRAY** | out | レポートの出力形式の一覧を格納した SAFEARRAY を受け取るポインタである。 |
解説(Remarks)
ジョブ内の各レポートは、指定されたそれぞれの形式で生成されます。
ファイル名の拡張子は形式に基づいて決まります。DHTML の拡張子は ".html"、HTML の拡張子は ".htm"、 TXT の拡張子は ".txt"、CSV の拡張子は ".csv"、XML の拡張子は ".xml" です。
レポートの種類が FsrmReportType_ExportReport の場合、指定できる形式は FsrmReportFormat_Csv と FsrmReportFormat_Xml のみです。 これらの形式のいずれか、または両方が指定されていない場合、レポートは実行されません。その他の形式は無視されます。
例
例については、レポートジョブの定義 を参照してください。
レポートのコンテンツ形式を決定する形式の配列を取得または設定します。(Put)
| formats | SAFEARRAY* | in | レポートの出力形式として設定する一覧を格納した SAFEARRAY を指定する。 |
解説(Remarks)
ジョブ内の各レポートは、指定されたそれぞれの形式で生成されます。
ファイル名の拡張子は形式に基づいて決まります。DHTML の拡張子は ".html"、HTML の拡張子は ".htm"、 TXT の拡張子は ".txt"、CSV の拡張子は ".csv"、XML の拡張子は ".xml" です。
レポートの種類が FsrmReportType_ExportReport の場合、指定できる形式は FsrmReportFormat_Csv と FsrmReportFormat_Xml のみです。 これらの形式のいずれか、または両方が指定されていない場合、レポートは実行されません。その他の形式は無視されます。
例
例については、レポートジョブの定義 を参照してください。
レポートを電子メールで受け取る宛先のメールアドレスを取得または設定します。(Get)
| mailTo | LPWSTR* | out | レポートの送信先メールアドレスを受け取る文字列ポインタである。 |
解説(Remarks)
このプロパティは省略可能です。
電子メールメッセージは、ジョブが正常に完了した場合にのみ送信されます。 FsrmReportType_ExportReport のレポートの種類では電子メールは送信されません。レポートは電子メールメッセージに 添付されます。管理者に通知を送信するには [Admin Email] を指定できます ( IFsrmSetting::AdminEmail プロパティが設定されている場合)。 件名は "<ReportType>: <ReportName>" です。電子メールメッセージの本文は空です。
レポートを電子メールで受け取る宛先のメールアドレスを取得または設定します。(Put)
| mailTo | LPWSTR | in | レポートの送信先として設定するメールアドレスを指定する文字列である。 |
解説(Remarks)
このプロパティは省略可能です。
電子メールメッセージは、ジョブが正常に完了した場合にのみ送信されます。 FsrmReportType_ExportReport のレポートの種類では電子メールは送信されません。レポートは電子メールメッセージに 添付されます。管理者に通知を送信するには [Admin Email] を指定できます ( IFsrmSetting::AdminEmail プロパティが設定されている場合)。 件名は "<ReportType>: <ReportName>" です。電子メールメッセージの本文は空です。
レポートジョブの実行状態を取得します。
| runningStatus | FsrmReportRunningStatus* | out | レポートジョブの現在の実行状態を示す FsrmReportRunningStatus 列挙値を受け取るポインタである。 |
レポートが最後に実行された日時のタイムスタンプを取得します。
| lastRun | DOUBLE* | out | レポートジョブが最後に実行された日時を表す DOUBLE 値 (DATE 形式) を受け取るポインタである。 |
レポートが最後に実行されたときのエラーメッセージを取得します。
| lastError | LPWSTR* | out | レポートジョブの最後の実行で発生したエラーメッセージを受け取る文字列ポインタである。 |
レポートが最後に実行されたときに、レポートが格納されたローカルディレクトリのパスを取得します。
| path | LPWSTR* | out | 最後にレポートが生成されたディレクトリのパスを受け取る文字列ポインタである。 |
解説(Remarks)
レポートが失敗した場合、これはレポートが格納されるはずだったパスです。このディレクトリには、失敗が発生する前に正常に完了したレポートが含まれている場合があります。
例
例については、レポートジョブの実行 を参照してください。
このレポートジョブに構成されているすべてのレポートを列挙します。
| reports | IFsrmCollection** | out | レポートのコレクションを含む IFsrmCollection インターフェイスです。ジョブにレポートが定義されていない場合、コレクションは空になります。 コレクションの各項目は VT_DISPATCH 型の VARIANT です。pdispVal メンバーを参照して IFsrmReport インターフェイスを取得します。 |
戻り値
このメソッドは次の値を返します。
指定した種類のレポートオブジェクトを新規に作成します。
| reportType | FsrmReportType | in | 生成するレポートの種類です。指定可能な値については、FsrmReportType 列挙型を参照してください。 ジョブには各種類のレポートを 1 つしか含められない点に注意してください。 |
| report | IFsrmReport** | out | 新しく作成されたレポートへの IFsrmReport インターフェイスです。このインターフェイスを使用してレポートを構成します。 |
戻り値
このメソッドは次の値を返します。
ジョブ内のすべてのレポートを実行します。
| context | FsrmReportGenerationContext | in | レポートをどのサブディレクトリに書き込むかを指定します。指定可能な値については、FsrmReportGenerationContext 列挙型を参照してください。 |
戻り値
このメソッドは次の値を返します。
解説(Remarks)
スケジュールされたコンテキストで実行されるレポートは、実行されるまで 5 分間キューに留まる点に注意してください。その他のコンテキストで実行されるレポートは 30 秒間キューに留まります。
レポートジョブが既にキューに入っているか実行中の状態でこのメソッドを呼び出すと、エラーが返されます。ジョブの状態を確認するには、IFsrmReportJob::RunningStatus プロパティを参照してください。
例
例については、レポートジョブの実行 を参照してください。
ジョブ内のレポートが完了するまで待機します。
| waitSeconds | INT | in | レポートの完了を待機する秒数です。この期間が経過するか、レポートが完了すると、メソッドは制御を返します。無期限に待機する場合は、値を –1 に設定します。 |
| completed | VARIANT_BOOL* | out | レポートが完了した場合は VARIANT_TRUE、それ以外の場合は VARIANT_FALSE になります。 |
戻り値
このメソッドは次の値を返します。
解説(Remarks)
ジョブを実行するには、IFsrmReportJob::Run メソッドを呼び出します。
WaitForCompletion から制御が戻った後、レポートが正常に完了したかどうかを確認するには IFsrmReportJob::LastError プロパティを参照してください。
例
例については、レポートジョブの実行 を参照してください。
このレポートジョブで実行中のレポートをキャンセルします。
戻り値
このメソッドは次の値を返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IFsrmReportJob "{38E87280-715C-4C7D-A280-EA1651A19FEF}" #usecom global IFsrmReportJob IID_IFsrmReportJob "{}" #comfunc global IFsrmReportJob_get_Task 12 var #comfunc global IFsrmReportJob_put_Task 13 wstr #comfunc global IFsrmReportJob_get_NamespaceRoots 14 var #comfunc global IFsrmReportJob_put_NamespaceRoots 15 var #comfunc global IFsrmReportJob_get_Formats 16 var #comfunc global IFsrmReportJob_put_Formats 17 var #comfunc global IFsrmReportJob_get_MailTo 18 var #comfunc global IFsrmReportJob_put_MailTo 19 wstr #comfunc global IFsrmReportJob_get_RunningStatus 20 var #comfunc global IFsrmReportJob_get_LastRun 21 var #comfunc global IFsrmReportJob_get_LastError 22 var #comfunc global IFsrmReportJob_get_LastGeneratedInDirectory 23 var #comfunc global IFsrmReportJob_EnumReports 24 sptr #comfunc global IFsrmReportJob_CreateReport 25 int,sptr #comfunc global IFsrmReportJob_Run 26 int #comfunc global IFsrmReportJob_WaitForCompletion 27 int,var #comfunc global IFsrmReportJob_Cancel 28 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IFsrmReportJob "{38E87280-715C-4C7D-A280-EA1651A19FEF}" #usecom global IFsrmReportJob IID_IFsrmReportJob "{}" #comfunc global IFsrmReportJob_get_Task 12 sptr #comfunc global IFsrmReportJob_put_Task 13 wstr #comfunc global IFsrmReportJob_get_NamespaceRoots 14 sptr #comfunc global IFsrmReportJob_put_NamespaceRoots 15 sptr #comfunc global IFsrmReportJob_get_Formats 16 sptr #comfunc global IFsrmReportJob_put_Formats 17 sptr #comfunc global IFsrmReportJob_get_MailTo 18 sptr #comfunc global IFsrmReportJob_put_MailTo 19 wstr #comfunc global IFsrmReportJob_get_RunningStatus 20 sptr #comfunc global IFsrmReportJob_get_LastRun 21 sptr #comfunc global IFsrmReportJob_get_LastError 22 sptr #comfunc global IFsrmReportJob_get_LastGeneratedInDirectory 23 sptr #comfunc global IFsrmReportJob_EnumReports 24 sptr #comfunc global IFsrmReportJob_CreateReport 25 int,sptr #comfunc global IFsrmReportJob_Run 26 int #comfunc global IFsrmReportJob_WaitForCompletion 27 int,sptr #comfunc global IFsrmReportJob_Cancel 28 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。