Win32 API 日本語リファレンス
ホームStorage.FileServerResourceManager › IFsrmReportJob

IFsrmReportJob

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID38e87280-715c-4c7d-a280-ea1651a19fef継承元IFsrmObject呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl12

公式ドキュメント

レポートジョブを構成するために使用します。

解説(Remarks)

ジョブを コミット するには、少なくとも 1 つの レポートの種類、少なくとも 1 つの 名前空間ルート、および タスク名 を指定する必要があります。

ジョブを 実行 するには、少なくとも 1 つの レポートの種類名前空間ルート を指定する必要があります。

メソッド 17

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 12 HRESULT get_Task(LPWSTR* taskName)

レポートジョブの名前を取得または設定します。(Get)

taskNameLPWSTR*outこのレポートジョブに関連付けられたスケジュールタスクの名前を受け取る文字列ポインタである。

解説(Remarks)

通常、この名前は、レポートジョブを実行するスケジュールタスクを作成するために IFsrmReportScheduler::CreateScheduleTask メソッドを呼び出すときに指定する名前と同じです。

レポートジョブを取得するために IFsrmReportManager::GetReportJob メソッドを呼び出す際には、 このタスク名を使用します。

例については、レポートジョブの定義 を参照してください。

vtbl 13 HRESULT put_Task(LPWSTR taskName)

レポートジョブの名前を取得または設定します。(Put)

taskNameLPWSTRinこのレポートジョブに関連付けるスケジュールタスクの名前を指定する文字列である。

解説(Remarks)

通常、この名前は、レポートジョブを実行するスケジュールタスクを作成するために IFsrmReportScheduler::CreateScheduleTask メソッドを呼び出すときに指定する名前と同じです。

レポートジョブを取得するために IFsrmReportManager::GetReportJob メソッドを呼び出す際には、 このタスク名を使用します。

例については、レポートジョブの定義 を参照してください。

vtbl 14 HRESULT get_NamespaceRoots(SAFEARRAY** namespaceRoots)

レポートジョブの実行時にスキャンされるローカルディレクトリパスの配列を取得または設定します。(Get)

namespaceRootsSAFEARRAY**outレポート対象とする名前空間ルート (ディレクトリパス) の一覧を格納した SAFEARRAY を受け取るポインタである。

解説(Remarks)

指定したパスの下にあるすべてのサブディレクトリも (再帰的に) スキャンされます。

このジョブをスケジュールする場合は、 IFsrmReportScheduler::CreateScheduleTask メソッドを呼び出すときに同じ名前空間を指定してください。

このプロパティは、パスを検証するために IFsrmReportScheduler::VerifyNamespaces メソッドを呼び出します。検証の詳細については、 VerifyNamespaces の「解説」セクションを参照してください。

FSRM がサポートするのは NTFS ファイルシステムのみである点に注意してください。ReFS、FAT、 FAT32、UDF、その他の NTFS 以外のファイルシステム上のパスは指定できません。

例については、レポートジョブの定義 を参照してください。

vtbl 15 HRESULT put_NamespaceRoots(SAFEARRAY* namespaceRoots)

レポートジョブの実行時にスキャンされるローカルディレクトリパスの配列を取得または設定します。(Put)

namespaceRootsSAFEARRAY*inレポート対象として設定する名前空間ルート (ディレクトリパス) の一覧を格納した SAFEARRAY を指定する。

解説(Remarks)

指定したパスの下にあるすべてのサブディレクトリも (再帰的に) スキャンされます。

このジョブをスケジュールする場合は、 IFsrmReportScheduler::CreateScheduleTask メソッドを呼び出すときに同じ名前空間を指定してください。

このプロパティは、パスを検証するために IFsrmReportScheduler::VerifyNamespaces メソッドを呼び出します。検証の詳細については、 VerifyNamespaces の「解説」セクションを参照してください。

FSRM がサポートするのは NTFS ファイルシステムのみである点に注意してください。ReFS、FAT、 FAT32、UDF、その他の NTFS 以外のファイルシステム上のパスは指定できません。

例については、レポートジョブの定義 を参照してください。

vtbl 16 HRESULT get_Formats(SAFEARRAY** formats)

レポートのコンテンツ形式を決定する形式の配列を取得または設定します。(Get)

formatsSAFEARRAY**outレポートの出力形式の一覧を格納した SAFEARRAY を受け取るポインタである。

解説(Remarks)

ジョブ内の各レポートは、指定されたそれぞれの形式で生成されます。

ファイル名の拡張子は形式に基づいて決まります。DHTML の拡張子は ".html"、HTML の拡張子は ".htm"、 TXT の拡張子は ".txt"、CSV の拡張子は ".csv"、XML の拡張子は ".xml" です。

レポートの種類が FsrmReportType_ExportReport の場合、指定できる形式は FsrmReportFormat_CsvFsrmReportFormat_Xml のみです。 これらの形式のいずれか、または両方が指定されていない場合、レポートは実行されません。その他の形式は無視されます。

例については、レポートジョブの定義 を参照してください。

vtbl 17 HRESULT put_Formats(SAFEARRAY* formats)

レポートのコンテンツ形式を決定する形式の配列を取得または設定します。(Put)

formatsSAFEARRAY*inレポートの出力形式として設定する一覧を格納した SAFEARRAY を指定する。

解説(Remarks)

ジョブ内の各レポートは、指定されたそれぞれの形式で生成されます。

ファイル名の拡張子は形式に基づいて決まります。DHTML の拡張子は ".html"、HTML の拡張子は ".htm"、 TXT の拡張子は ".txt"、CSV の拡張子は ".csv"、XML の拡張子は ".xml" です。

レポートの種類が FsrmReportType_ExportReport の場合、指定できる形式は FsrmReportFormat_CsvFsrmReportFormat_Xml のみです。 これらの形式のいずれか、または両方が指定されていない場合、レポートは実行されません。その他の形式は無視されます。

例については、レポートジョブの定義 を参照してください。

vtbl 18 HRESULT get_MailTo(LPWSTR* mailTo)

レポートを電子メールで受け取る宛先のメールアドレスを取得または設定します。(Get)

mailToLPWSTR*outレポートの送信先メールアドレスを受け取る文字列ポインタである。

解説(Remarks)

このプロパティは省略可能です。

電子メールメッセージは、ジョブが正常に完了した場合にのみ送信されます。 FsrmReportType_ExportReport のレポートの種類では電子メールは送信されません。レポートは電子メールメッセージに 添付されます。管理者に通知を送信するには [Admin Email] を指定できます ( IFsrmSetting::AdminEmail プロパティが設定されている場合)。 件名は "<ReportType>: <ReportName>" です。電子メールメッセージの本文は空です。

vtbl 19 HRESULT put_MailTo(LPWSTR mailTo)

レポートを電子メールで受け取る宛先のメールアドレスを取得または設定します。(Put)

mailToLPWSTRinレポートの送信先として設定するメールアドレスを指定する文字列である。

解説(Remarks)

このプロパティは省略可能です。

電子メールメッセージは、ジョブが正常に完了した場合にのみ送信されます。 FsrmReportType_ExportReport のレポートの種類では電子メールは送信されません。レポートは電子メールメッセージに 添付されます。管理者に通知を送信するには [Admin Email] を指定できます ( IFsrmSetting::AdminEmail プロパティが設定されている場合)。 件名は "<ReportType>: <ReportName>" です。電子メールメッセージの本文は空です。

vtbl 20 HRESULT get_RunningStatus(FsrmReportRunningStatus* runningStatus)

レポートジョブの実行状態を取得します。

runningStatusFsrmReportRunningStatus*outレポートジョブの現在の実行状態を示す FsrmReportRunningStatus 列挙値を受け取るポインタである。
vtbl 21 HRESULT get_LastRun(DOUBLE* lastRun)

レポートが最後に実行された日時のタイムスタンプを取得します。

lastRunDOUBLE*outレポートジョブが最後に実行された日時を表す DOUBLE 値 (DATE 形式) を受け取るポインタである。
vtbl 22 HRESULT get_LastError(LPWSTR* lastError)

レポートが最後に実行されたときのエラーメッセージを取得します。

lastErrorLPWSTR*outレポートジョブの最後の実行で発生したエラーメッセージを受け取る文字列ポインタである。
vtbl 23 HRESULT get_LastGeneratedInDirectory(LPWSTR* path)

レポートが最後に実行されたときに、レポートが格納されたローカルディレクトリのパスを取得します。

pathLPWSTR*out最後にレポートが生成されたディレクトリのパスを受け取る文字列ポインタである。

解説(Remarks)

レポートが失敗した場合、これはレポートが格納されるはずだったパスです。このディレクトリには、失敗が発生する前に正常に完了したレポートが含まれている場合があります。

例については、レポートジョブの実行 を参照してください。

vtbl 24 HRESULT EnumReports(IFsrmCollection** reports)

このレポートジョブに構成されているすべてのレポートを列挙します。

reportsIFsrmCollection**out

レポートのコレクションを含む IFsrmCollection インターフェイスです。ジョブにレポートが定義されていない場合、コレクションは空になります。

コレクションの各項目は VT_DISPATCH 型の VARIANT です。pdispVal メンバーを参照して IFsrmReport インターフェイスを取得します。

戻り値

このメソッドは次の値を返します。

vtbl 25 HRESULT CreateReport(FsrmReportType reportType, IFsrmReport** report)

指定した種類のレポートオブジェクトを新規に作成します。

reportTypeFsrmReportTypein

生成するレポートの種類です。指定可能な値については、FsrmReportType 列挙型を参照してください。

ジョブには各種類のレポートを 1 つしか含められない点に注意してください。

reportIFsrmReport**out新しく作成されたレポートへの IFsrmReport インターフェイスです。このインターフェイスを使用してレポートを構成します。

戻り値

このメソッドは次の値を返します。

vtbl 26 HRESULT Run(FsrmReportGenerationContext context)

ジョブ内のすべてのレポートを実行します。

contextFsrmReportGenerationContextinレポートをどのサブディレクトリに書き込むかを指定します。指定可能な値については、FsrmReportGenerationContext 列挙型を参照してください。

戻り値

このメソッドは次の値を返します。

解説(Remarks)

スケジュールされたコンテキストで実行されるレポートは、実行されるまで 5 分間キューに留まる点に注意してください。その他のコンテキストで実行されるレポートは 30 秒間キューに留まります。

レポートジョブが既にキューに入っているか実行中の状態でこのメソッドを呼び出すと、エラーが返されます。ジョブの状態を確認するには、IFsrmReportJob::RunningStatus プロパティを参照してください。

例については、レポートジョブの実行 を参照してください。

vtbl 27 HRESULT WaitForCompletion(INT waitSeconds, VARIANT_BOOL* completed)

ジョブ内のレポートが完了するまで待機します。

waitSecondsINTinレポートの完了を待機する秒数です。この期間が経過するか、レポートが完了すると、メソッドは制御を返します。無期限に待機する場合は、値を –1 に設定します。
completedVARIANT_BOOL*outレポートが完了した場合は VARIANT_TRUE、それ以外の場合は VARIANT_FALSE になります。

戻り値

このメソッドは次の値を返します。

解説(Remarks)

ジョブを実行するには、IFsrmReportJob::Run メソッドを呼び出します。

WaitForCompletion から制御が戻った後、レポートが正常に完了したかどうかを確認するには IFsrmReportJob::LastError プロパティを参照してください。

例については、レポートジョブの実行 を参照してください。

vtbl 28 HRESULT Cancel()

このレポートジョブで実行中のレポートをキャンセルします。

戻り値

このメソッドは次の値を返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 不要)。