IFsrmReportManager
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
レポートジョブを管理するために使用します。
解説(Remarks)
ストレージレポートジョブは、解析対象となるディレクトリのセットを指定します。解析結果から 1 つ以上の異なる種類のレポートが生成され、指定したディレクトリでストレージがどのように使用されているかを管理者がより正確に把握できるようになります。レポートジョブは、スケジュールに従って実行するように構成することも、オンデマンドで実行するように構成することもできます。
スクリプトからこのオブジェクトを作成するには、"Fsrm.FsrmReportManager" プログラム識別子を使用します。
メソッド 10
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
レポートジョブを列挙します。
| options | FsrmEnumOptions | in | レポートジョブを列挙するときに使用するオプション。指定できる値については、FsrmEnumOptions 列挙型を参照してください。 メモ FsrmEnumOptions_Asynchronous オプションは、このメソッドではサポートされていません。
|
| reportJobs | IFsrmCollection** | out | レポートジョブのコレクションを格納する IFsrmCollection インターフェイス。レポートジョブが存在しない場合、コレクションは空になります。 コレクションの各項目は、型が VT_DISPATCH の VARIANT です。pdispVal メンバーを照会して IFsrmReportJob インターフェイスを取得してください。 コレクションには、コミット済みのレポートジョブと未コミットのレポートジョブの両方が含まれる場合があります。未コミットのレポートジョブがコレクションに含まれるには、そのジョブの実行状態が FsrmReportRunningStatus_Queued または FsrmReportRunningStatus_Running である必要があります。 |
戻り値
このメソッドは次の戻り値を返します。
レポートジョブを作成します。
| reportJob | IFsrmReportJob** | out | 新しく作成されたレポートジョブオブジェクトの IFsrmReportJob インターフェイス。このインターフェイスを使用して、ジョブにレポートを追加し、レポートを実行します。レポートジョブを FSRM に追加するには、IFsrmReportJob::Commit メソッドを呼び出します。 |
戻り値
このメソッドは次の戻り値を返します。
指定したレポートジョブを取得します。
| taskName | LPWSTR | in | 取得するレポートジョブを識別するタスク名。文字列は 230 文字までに制限されます。 |
| reportJob | IFsrmReportJob** | out | 取得したジョブへの IFsrmReportJob インターフェイス。 |
戻り値
このメソッドは次の戻り値を返します。
指定したコンテキストのレポートが格納されるローカルディレクトリのパスを取得します。
| context | FsrmReportGenerationContext | in | レポートのコンテキスト (レポートがスケジュールで実行されるか、オンデマンドで実行されるかなど)。指定できる値については、FsrmReportGenerationContext 列挙型を参照してください。 |
| path | LPWSTR* | out | レポートが格納されるローカルディレクトリのパス。 |
戻り値
このメソッドは次の戻り値を返します。
レポートが格納されるローカルディレクトリのパスを設定します。
| context | FsrmReportGenerationContext | in | レポートのコンテキスト (レポートがスケジュールで実行されるか、オンデマンドで実行されるかなど)。指定できる値については、FsrmReportGenerationContext 列挙型を参照してください。 |
| path | LPWSTR | in | レポートが格納されるローカルディレクトリへの完全パス。パスには環境変数を含めることができます。パスは 150 文字までに制限されます。 |
戻り値
このメソッドは次の戻り値を返します。
解説(Remarks)
レポートは、指定されたパスの下にある次のフォルダーに格納されます。
| コンテキスト | フォルダー |
|---|---|
| FsrmReportGenerationContext_ScheduledReport | Scheduled |
| FsrmReportGenerationContext_InteractiveReport | Interactive |
| FsrmReportGenerationContext_IncidentReport | Incident |
たとえば、path に "C:\StorageReports" を設定し、context に FsrmReportGenerationContext_ScheduledReport を設定した場合、スケジュールされたレポートのパスは "C:\StorageReports\Scheduled" になります。
既定の出力ディレクトリは次のとおりです。
- "%systemdrive%\StorageReports\Scheduled"
- "%systemdrive%\StorageReports\Incident"
- "%systemdrive%\StorageReports\Interactive"
指定したレポートフィルターが、指定したレポートの種類に対して構成可能かどうかを示す値を取得します。
| reportType | FsrmReportType | in | レポートの種類。指定できる値については、FsrmReportType 列挙型を参照してください。 |
| filter | FsrmReportFilter | in | レポートフィルター。指定できる値については、FsrmReportFilter 列挙型を参照してください。 |
| valid | VARIANT_BOOL* | out | フィルターがそのレポートの種類に対して構成可能な場合は VARIANT_TRUE、それ以外の場合は VARIANT_FALSE になります。 |
戻り値
このメソッドは次の戻り値を返します。
指定したレポートの種類で使用される既定のレポートフィルター値を取得します。
| reportType | FsrmReportType | in | レポートの種類。指定できる値については、FsrmReportType 列挙型を参照してください。 |
| filter | FsrmReportFilter | in | レポートフィルター。指定できる値については、FsrmReportFilter 列挙型を参照してください。 |
| filterValue | VARIANT* | out | 既定のレポートフィルター値。 |
戻り値
このメソッドは次の戻り値を返します。
解説(Remarks)
この値は、レポートのフィルター値を指定するために IFsrmReport::SetFilter メソッドが呼び出されなかった場合に使用されます。
指定したレポートの種類で使用する既定のレポートフィルター値を設定します。
| reportType | FsrmReportType | in | レポートの種類。指定できる値については、FsrmReportType 列挙型を参照してください。 |
| filter | FsrmReportFilter | in | レポートフィルター。指定できる値については、FsrmReportFilter 列挙型を参照してください。 |
| filterValue | VARIANT | in | 既定のレポートフィルター値。 |
戻り値
このメソッドは次の戻り値を返します。
解説(Remarks)
この値は、レポートのフィルター値を指定するために IFsrmReport::SetFilter メソッドが呼び出されなかった場合に使用されます。
レポートの種類ごとにサポートされるフィルターのセットは異なる点に注意してください。フィルターが有効かどうかを判断するには、IFsrmReportManager::IsFilterValidForReportType メソッドを呼び出します。
次の一覧は、filterValue パラメーターに使用される FsrmReportFilter 列挙型の値に対応するバリアント型を示しています。
| フィルターの種類 | バリアント型 |
|---|---|
| FsrmReportFilter_FileGroups | VT_BSTR | VT_ARRAY。バリアントの parray メンバーを設定します。 |
| FsrmReportFilter_MinAgeDays | VT_I4。バリアントの lVal メンバーを設定します。 |
| FsrmReportFilter_MaxAgeDays | VT_I4。バリアントの lVal メンバーを設定します。 |
| FsrmReportFilter_MinQuotaUsage | VT_I4。バリアントの lVal メンバーを設定します。 |
| FsrmReportFilter_MinSize | VT_I8。バリアントの llVal メンバーを設定します。 |
| FsrmReportFilter_NamePattern | VT_BSTR。バリアントの bstrVal メンバーを設定します。 |
| FsrmReportFilter_Owners | VT_BSTR | VT_ARRAY。バリアントの parray メンバーを設定します。 |
| FsrmReportFilter_Property | VT_BSTR。バリアントの bstrVal メンバーを設定します。 |
既定のフィルター値は、レポートアクションに使用されます。
指定したレポートサイズ制限の現在の値を取得します。
| limit | FsrmReportLimit | in | レポートに一覧表示されるファイルを制限するために使用されるレポートサイズ制限。指定できる値については、FsrmReportLimit 列挙型を参照してください。 |
| limitValue | VARIANT* | out | 制限値。バリアント型は VT_I4 です。バリアントの lVal メンバーを使用して制限値にアクセスします。 |
戻り値
このメソッドは次の戻り値を返します。
指定したレポートサイズ制限の現在の値を設定します。
| limit | FsrmReportLimit | in | レポートに一覧表示されるファイルを制限するために使用される制限を識別します。指定できる値については、FsrmReportLimit 列挙型を参照してください。 |
| limitValue | VARIANT | in | 制限値。0 より大きい値である必要があります。バリアントは、符号付きまたは符号なしの short、int、long のいずれかとして指定できます。このメソッドは文字列値も受け付けます。ただし、メソッドがその値を正の long 数値に変換できる必要があります。たとえば、値を long として渡すには、バリアント型を VT_I4 に設定し、バリアントの lVal メンバーに制限値を設定します。 |
戻り値
このメソッドは次の戻り値を返します。
解説(Remarks)
次の一覧は、limit パラメーターに使用される FsrmReportLimit 列挙型の値に対する既定の制限を示しています。
| 制限 | 既定値 |
|---|---|
| FsrmReportLimit_MaxDuplicateGroups | 重複グループ 100 個 |
| FsrmReportLimit_MaxFiles | 1,000 ファイル |
| FsrmReportLimit_MaxFileGroups | 10 グループ |
| FsrmReportLimit_MaxFileScreenEvents | ファイルスクリーンイベント 1,000 件 |
| FsrmReportLimit_MaxFilesPerDuplGroup | 重複グループごとに 10 ファイル |
| FsrmReportLimit_MaxFilesPerFileGroup | グループごとに 100 ファイル |
| FsrmReportLimit_MaxFilesPerOwner | 所有者ごとに 100 ファイル |
| FsrmReportLimit_MaxFilesPerPropertyValue | プロパティごとに 100 ファイル |
| FsrmReportLimit_MaxOwners | 所有者 10 人 |
| FsrmReportLimit_MaxPropertyValues | プロパティ 10 個 |
| FsrmReportLimit_MaxQuotas | クォータ 1,000 個 |
| FsrmReportLimit_MaxFolders | フォルダー 1,000 個 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IFsrmReportManager "{27B899FE-6FFA-4481-A184-D3DAADE8A02B}" #usecom global IFsrmReportManager IID_IFsrmReportManager "{0058EF37-AA66-4C48-BD5B-2FCE432AB0C8}" #comfunc global IFsrmReportManager_EnumReportJobs 7 int,sptr #comfunc global IFsrmReportManager_CreateReportJob 8 sptr #comfunc global IFsrmReportManager_GetReportJob 9 wstr,sptr #comfunc global IFsrmReportManager_GetOutputDirectory 10 int,var #comfunc global IFsrmReportManager_SetOutputDirectory 11 int,wstr #comfunc global IFsrmReportManager_IsFilterValidForReportType 12 int,int,var #comfunc global IFsrmReportManager_GetDefaultFilter 13 int,int,var #comfunc global IFsrmReportManager_SetDefaultFilter 14 int,int,int #comfunc global IFsrmReportManager_GetReportSizeLimit 15 int,var #comfunc global IFsrmReportManager_SetReportSizeLimit 16 int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IFsrmReportManager "{27B899FE-6FFA-4481-A184-D3DAADE8A02B}" #usecom global IFsrmReportManager IID_IFsrmReportManager "{0058EF37-AA66-4C48-BD5B-2FCE432AB0C8}" #comfunc global IFsrmReportManager_EnumReportJobs 7 int,sptr #comfunc global IFsrmReportManager_CreateReportJob 8 sptr #comfunc global IFsrmReportManager_GetReportJob 9 wstr,sptr #comfunc global IFsrmReportManager_GetOutputDirectory 10 int,sptr #comfunc global IFsrmReportManager_SetOutputDirectory 11 int,wstr #comfunc global IFsrmReportManager_IsFilterValidForReportType 12 int,int,sptr #comfunc global IFsrmReportManager_GetDefaultFilter 13 int,int,sptr #comfunc global IFsrmReportManager_SetDefaultFilter 14 int,int,int #comfunc global IFsrmReportManager_GetReportSizeLimit 15 int,sptr #comfunc global IFsrmReportManager_SetReportSizeLimit 16 int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。