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

IFsrmPropertyDefinition

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

公式ドキュメント

ファイルの分類に使用するプロパティを定義します。(IFsrmPropertyDefinition)

解説(Remarks)

name プロパティと type プロパティによって一意のプロパティが定義されます。プロパティの名前を変更したり、その型を変更したりすることはできません。

分類ルールまたはレポートから参照されているプロパティ定義は削除できません。分類ルールは IFsrmRule::PropertyAffected プロパティを使用してプロパティ定義を参照します。

ファイル管理ジョブのプロパティ条件から参照されているプロパティは削除できません。プロパティ条件が参照を保持しているかどうかを確認するには、条件の "name" プロパティが、削除しようとしているプロパティ定義の名前と一致するプロパティ条件を探してください。

レポートでは、プロパティ定義はレポートの種類 FsrmReportType_FilesByProperty のフィルターとしてのみ使用されます。

C# および PowerShell の例については、 Accessing Classification Properties を参照してください。

メソッド 10

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

vtbl 12 HRESULT get_Name(LPWSTR* name)

プロパティの名前です。(IFsrmPropertyDefinition.get_Name)

nameLPWSTR*outプロパティ定義の名前を受け取る文字列ポインタである。

解説(Remarks)

定義をコミットした後は、名前を変更できません。

vtbl 13 HRESULT put_Name(LPWSTR name)

プロパティの名前です。(IFsrmPropertyDefinition.put_Name)

nameLPWSTRinプロパティ定義に設定する名前を指定する文字列である。

解説(Remarks)

定義をコミットした後は、名前を変更できません。

vtbl 14 HRESULT get_Type(FsrmPropertyDefinitionType* type)

プロパティが保持するデータの型です。(Get)

typeFsrmPropertyDefinitionType*outプロパティ定義のデータ型を示す FsrmPropertyDefinitionType 列挙値を受け取るポインタである。

解説(Remarks)

定義をコミットした後は、型を変更できません。

vtbl 15 HRESULT put_Type(FsrmPropertyDefinitionType type)

プロパティが保持するデータの型です。(Put)

typeFsrmPropertyDefinitionTypeinプロパティ定義のデータ型として設定する FsrmPropertyDefinitionType 列挙値を指定する。

解説(Remarks)

定義をコミットした後は、型を変更できません。

vtbl 16 HRESULT get_PossibleValues(SAFEARRAY** possibleValues)

プロパティに設定できる値の一覧です。(Get)

possibleValuesSAFEARRAY**outプロパティが取り得る値の一覧を格納した SAFEARRAY を受け取るポインタである。

解説(Remarks)

プロパティの型が FsrmPropertyDefinitionType_OrderedList または FsrmPropertyDefinitionType_MultiChoiceList の場合は、設定可能な値の一覧を指定する必要があります。

ルールがある値を指定している場合、その値を一覧から削除することはできません( IFsrmClassificationRule.Value を参照)。値を削除しても、 その値で現在分類されているファイルから値が取り除かれるわけではありません。

一覧内の値の順序は変更できます。順序付きリストの場合、順序を変更すると次回の分類実行時に集計結果へ影響することがあります。

設定可能な各値に説明を指定するには、 IFsrmPropertyDefinition.ValueDescriptions プロパティを設定します。

vtbl 17 HRESULT put_PossibleValues(SAFEARRAY* possibleValues)

プロパティに設定できる値の一覧です。(Put)

possibleValuesSAFEARRAY*inプロパティが取り得る値として設定する一覧を格納した SAFEARRAY を指定する。

解説(Remarks)

プロパティの型が FsrmPropertyDefinitionType_OrderedList または FsrmPropertyDefinitionType_MultiChoiceList の場合は、設定可能な値の一覧を指定する必要があります。

ルールがある値を指定している場合、その値を一覧から削除することはできません( IFsrmClassificationRule.Value を参照)。値を削除しても、 その値で現在分類されているファイルから値が取り除かれるわけではありません。

一覧内の値の順序は変更できます。順序付きリストの場合、順序を変更すると次回の分類実行時に集計結果へ影響することがあります。

設定可能な各値に説明を指定するには、 IFsrmPropertyDefinition.ValueDescriptions プロパティを設定します。

vtbl 18 HRESULT get_ValueDescriptions(SAFEARRAY** valueDescriptions)

PossibleValues プロパティで指定された設定可能な各値に対する説明です。(Get)

valueDescriptionsSAFEARRAY**out取り得る各値に対応する説明文の一覧を格納した SAFEARRAY を受け取るポインタである。

解説(Remarks)

これらの説明と、 PossibleValues プロパティで指定された設定可能な値の一覧とは、1 対 1 で対応します。 一覧内のいずれかの値について説明を指定しない場合は、配列内の対応する要素に空の文字列を設定してください。

vtbl 19 HRESULT put_ValueDescriptions(SAFEARRAY* valueDescriptions)

PossibleValues プロパティで指定された設定可能な各値に対する説明です。(Put)

valueDescriptionsSAFEARRAY*in取り得る各値に対応する説明文として設定する一覧を格納した SAFEARRAY を指定する。

解説(Remarks)

これらの説明と、 PossibleValues プロパティで指定された設定可能な値の一覧とは、1 対 1 で対応します。 一覧内のいずれかの値について説明を指定しない場合は、配列内の対応する要素に空の文字列を設定してください。

vtbl 20 HRESULT get_Parameters(SAFEARRAY** parameters)

プロパティ定義のパラメーターです。(Get)

parametersSAFEARRAY**outプロパティ定義に関連付けられたパラメータ (名前=値 の文字列) の一覧を格納した SAFEARRAY を受け取るポインタである。
vtbl 21 HRESULT put_Parameters(SAFEARRAY* parameters)

プロパティ定義のパラメーターです。(Put)

parametersSAFEARRAY*inプロパティ定義に設定するパラメータ (名前=値 の文字列) の一覧を格納した SAFEARRAY を指定する。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IFsrmPropertyDefinition "{EDE0150F-E9A3-419C-877C-01FE5D24C5D3}"
#usecom global IFsrmPropertyDefinition IID_IFsrmPropertyDefinition "{}"
#comfunc global IFsrmPropertyDefinition_get_Name               12 var
#comfunc global IFsrmPropertyDefinition_put_Name               13 wstr
#comfunc global IFsrmPropertyDefinition_get_Type               14 var
#comfunc global IFsrmPropertyDefinition_put_Type               15 int
#comfunc global IFsrmPropertyDefinition_get_PossibleValues     16 var
#comfunc global IFsrmPropertyDefinition_put_PossibleValues     17 var
#comfunc global IFsrmPropertyDefinition_get_ValueDescriptions  18 var
#comfunc global IFsrmPropertyDefinition_put_ValueDescriptions  19 var
#comfunc global IFsrmPropertyDefinition_get_Parameters         20 var
#comfunc global IFsrmPropertyDefinition_put_Parameters         21 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。