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

IFsrmReportManager

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID27b899fe-6ffa-4481-a184-d3daade8a02b継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

公式ドキュメント

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

解説(Remarks)

ストレージレポートジョブは、解析対象となるディレクトリのセットを指定します。解析結果から 1 つ以上の異なる種類のレポートが生成され、指定したディレクトリでストレージがどのように使用されているかを管理者がより正確に把握できるようになります。レポートジョブは、スケジュールに従って実行するように構成することも、オンデマンドで実行するように構成することもできます。

スクリプトからこのオブジェクトを作成するには、"Fsrm.FsrmReportManager" プログラム識別子を使用します。

メソッド 10

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

vtbl 7 HRESULT EnumReportJobs(FsrmEnumOptions options, IFsrmCollection** reportJobs)

レポートジョブを列挙します。

optionsFsrmEnumOptionsin

レポートジョブを列挙するときに使用するオプション。指定できる値については、FsrmEnumOptions 列挙型を参照してください。

メモ FsrmEnumOptions_Asynchronous オプションは、このメソッドではサポートされていません。
reportJobsIFsrmCollection**out

レポートジョブのコレクションを格納する IFsrmCollection インターフェイス。レポートジョブが存在しない場合、コレクションは空になります。

コレクションの各項目は、型が VT_DISPATCHVARIANT です。pdispVal メンバーを照会して IFsrmReportJob インターフェイスを取得してください。

コレクションには、コミット済みのレポートジョブと未コミットのレポートジョブの両方が含まれる場合があります。未コミットのレポートジョブがコレクションに含まれるには、そのジョブの実行状態が FsrmReportRunningStatus_Queued または FsrmReportRunningStatus_Running である必要があります。

戻り値

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

vtbl 8 HRESULT CreateReportJob(IFsrmReportJob** reportJob)

レポートジョブを作成します。

reportJobIFsrmReportJob**out新しく作成されたレポートジョブオブジェクトの IFsrmReportJob インターフェイス。このインターフェイスを使用して、ジョブにレポートを追加し、レポートを実行します。レポートジョブを FSRM に追加するには、IFsrmReportJob::Commit メソッドを呼び出します。

戻り値

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

vtbl 9 HRESULT GetReportJob(LPWSTR taskName, IFsrmReportJob** reportJob)

指定したレポートジョブを取得します。

taskNameLPWSTRin取得するレポートジョブを識別するタスク名。文字列は 230 文字までに制限されます。
reportJobIFsrmReportJob**out取得したジョブへの IFsrmReportJob インターフェイス。

戻り値

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

vtbl 10 HRESULT GetOutputDirectory(FsrmReportGenerationContext context, LPWSTR* path)

指定したコンテキストのレポートが格納されるローカルディレクトリのパスを取得します。

contextFsrmReportGenerationContextinレポートのコンテキスト (レポートがスケジュールで実行されるか、オンデマンドで実行されるかなど)。指定できる値については、FsrmReportGenerationContext 列挙型を参照してください。
pathLPWSTR*outレポートが格納されるローカルディレクトリのパス。

戻り値

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

vtbl 11 HRESULT SetOutputDirectory(FsrmReportGenerationContext context, LPWSTR path)

レポートが格納されるローカルディレクトリのパスを設定します。

contextFsrmReportGenerationContextinレポートのコンテキスト (レポートがスケジュールで実行されるか、オンデマンドで実行されるかなど)。指定できる値については、FsrmReportGenerationContext 列挙型を参照してください。
pathLPWSTRinレポートが格納されるローカルディレクトリへの完全パス。パスには環境変数を含めることができます。パスは 150 文字までに制限されます。

戻り値

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

解説(Remarks)

レポートは、指定されたパスの下にある次のフォルダーに格納されます。

コンテキスト フォルダー
FsrmReportGenerationContext_ScheduledReport Scheduled
FsrmReportGenerationContext_InteractiveReport Interactive
FsrmReportGenerationContext_IncidentReport Incident

たとえば、path に "C:\StorageReports" を設定し、contextFsrmReportGenerationContext_ScheduledReport を設定した場合、スケジュールされたレポートのパスは "C:\StorageReports\Scheduled" になります。

既定の出力ディレクトリは次のとおりです。

vtbl 12 HRESULT IsFilterValidForReportType(FsrmReportType reportType, FsrmReportFilter filter, VARIANT_BOOL* valid)

指定したレポートフィルターが、指定したレポートの種類に対して構成可能かどうかを示す値を取得します。

reportTypeFsrmReportTypeinレポートの種類。指定できる値については、FsrmReportType 列挙型を参照してください。
filterFsrmReportFilterinレポートフィルター。指定できる値については、FsrmReportFilter 列挙型を参照してください。
validVARIANT_BOOL*outフィルターがそのレポートの種類に対して構成可能な場合は VARIANT_TRUE、それ以外の場合は VARIANT_FALSE になります。

戻り値

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

vtbl 13 HRESULT GetDefaultFilter(FsrmReportType reportType, FsrmReportFilter filter, VARIANT* filterValue)

指定したレポートの種類で使用される既定のレポートフィルター値を取得します。

reportTypeFsrmReportTypeinレポートの種類。指定できる値については、FsrmReportType 列挙型を参照してください。
filterFsrmReportFilterinレポートフィルター。指定できる値については、FsrmReportFilter 列挙型を参照してください。
filterValueVARIANT*out既定のレポートフィルター値。

戻り値

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

解説(Remarks)

この値は、レポートのフィルター値を指定するために IFsrmReport::SetFilter メソッドが呼び出されなかった場合に使用されます。

vtbl 14 HRESULT SetDefaultFilter(FsrmReportType reportType, FsrmReportFilter filter, VARIANT filterValue)

指定したレポートの種類で使用する既定のレポートフィルター値を設定します。

reportTypeFsrmReportTypeinレポートの種類。指定できる値については、FsrmReportType 列挙型を参照してください。
filterFsrmReportFilterinレポートフィルター。指定できる値については、FsrmReportFilter 列挙型を参照してください。
filterValueVARIANTin既定のレポートフィルター値。

戻り値

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

解説(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 メンバーを設定します。

既定のフィルター値は、レポートアクションに使用されます。

vtbl 15 HRESULT GetReportSizeLimit(FsrmReportLimit limit, VARIANT* limitValue)

指定したレポートサイズ制限の現在の値を取得します。

limitFsrmReportLimitinレポートに一覧表示されるファイルを制限するために使用されるレポートサイズ制限。指定できる値については、FsrmReportLimit 列挙型を参照してください。
limitValueVARIANT*out制限値。バリアント型は VT_I4 です。バリアントの lVal メンバーを使用して制限値にアクセスします。

戻り値

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

vtbl 16 HRESULT SetReportSizeLimit(FsrmReportLimit limit, VARIANT limitValue)

指定したレポートサイズ制限の現在の値を設定します。

limitFsrmReportLimitinレポートに一覧表示されるファイルを制限するために使用される制限を識別します。指定できる値については、FsrmReportLimit 列挙型を参照してください。
limitValueVARIANTin制限値。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 の 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_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 不要)。