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

IFsrmClassificationManager

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

公式ドキュメント

ファイルの分類を管理します。このインターフェースを使用して、分類で使用するプロパティの定義、ファイルを分類するための分類ルールの追加、分類モジュールおよびストレージモジュールの定義、分類レポートの有効化を行います。(IFsrmClassificationManager)

解説(Remarks)

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

分類機能を使用すると、ファイルを分類 (タグ付け) できます。そのためには、まずファイルに関連付けることができるプロパティを CreatePropertyDefinition で定義する必要があります。 プロパティを定義すると、 SetFileProperty などの API で値を設定したり、 GetFilePropertyEnumFileProperties で取得したり、 ClearFileProperty でクリアしたりできます。 ClassifyFiles は、これらの操作を複数のファイルに対して実行します。あるいは、ファイルを自動的に分類する一連のルールを作成することもできます。ルールがファイルに適用されると、そのルールはプロパティとプロパティ値をファイルに関連付けます。プロパティは、コンピューターで利用できるストレージモジュールに応じて、ファイルとは別に格納することも、ファイル内に格納することもできます。

組み込みの System Cache Storage Module は、代替データストリームストレージとセキュリティ記述子を使用して、プロパティをファイルの外部に格納します (Windows Server 2012 および Windows 8 のみ)。プロパティを別に格納した場合、ファイルを移動してもプロパティが一緒に移動しないことがあります。

Office Storage Module は、分類プロパティを Office ファイル自体の中に格納します。一方のパーサーは Office 97-2003 ファイル用、もう一方は Office 2007-2010 ファイル用です。分類プロパティをファイル内に保持している Office ファイルは、プロパティ名が SharePoint の列名と一致していれば、SharePoint 上でそのプロパティを表示できます。SharePoint で列の値を更新すると、ファイル内のプロパティも更新されます。なお、SharePoint はこれらの名前を大文字と小文字を区別して扱うため、FSRM で定義するプロパティ定義の名前は、SharePoint にアップロードする際に大文字と小文字が一致している必要があります。

用意されている分類プラグインおよびストレージプラグインを使用することも、独自の分類プラグインおよびストレージプラグインを実装することもできます。なお、組み込みの Content Classifier プラグインは、 IFilter インターフェースを使用してファイルの内容を検索します。

分類を実行すると、FSRM は各ファイルについて、そのファイルに適用でき (かつ FSRM にコミットされ)、有効になっているすべてのルールを評価します。レポートが有効になっている場合、FSRM は分類レポートも生成します。

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

メソッド 27

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

vtbl 7 HRESULT get_ClassificationReportFormats(SAFEARRAY** formats)

分類レポートを生成する形式の一覧です。(Get)

formatsSAFEARRAY**out分類レポートの出力形式の一覧を格納した SAFEARRAY を受け取るポインタである。
vtbl 8 HRESULT put_ClassificationReportFormats(SAFEARRAY* formats)

分類レポートを生成する形式の一覧です。(Put)

formatsSAFEARRAY*in分類レポートの出力形式として設定する一覧を格納した SAFEARRAY を指定する。
vtbl 9 HRESULT get_Logging(INT* logging)

分類ルールの実行時に行うログ記録の種類です。(Get)

loggingINT*out分類処理のログ記録動作を制御するフラグの組み合わせを受け取るポインタである。

解説(Remarks)

FsrmClassificationLoggingFlags_ClassificationsInLogFile および FsrmClassificationLoggingFlags_ErrorsInLogFile のログオプションのログファイルは、 レポートディレクトリに格納されます。 FsrmClassificationLoggingFlags_ClassificationsInLogFile のログファイル名は "ClassifierName-FsrmServerName(FQDN)-TimeStamp.xml" です。 このログファイルには、特定のファイルへのプロパティ割り当てごとに 1 つのエントリが記録されます。各ログエントリには次の情報が含まれます。

FsrmClassificationLoggingFlags_ErrorsInLogFile のログファイル名は "ClassifierNameErrors-FQDNServerName-TimeStamp.xml" です。 このログファイルには、エラーごとに 1 つのエントリが記録されます。各ログエントリには次の情報が含まれます。
vtbl 10 HRESULT put_Logging(INT logging)

分類ルールの実行時に行うログ記録の種類です。(Put)

loggingINTin分類処理のログ記録動作を制御するフラグの組み合わせを指定する。

解説(Remarks)

FsrmClassificationLoggingFlags_ClassificationsInLogFile および FsrmClassificationLoggingFlags_ErrorsInLogFile のログオプションのログファイルは、 レポートディレクトリに格納されます。 FsrmClassificationLoggingFlags_ClassificationsInLogFile のログファイル名は "ClassifierName-FsrmServerName(FQDN)-TimeStamp.xml" です。 このログファイルには、特定のファイルへのプロパティ割り当てごとに 1 つのエントリが記録されます。各ログエントリには次の情報が含まれます。

FsrmClassificationLoggingFlags_ErrorsInLogFile のログファイル名は "ClassifierNameErrors-FQDNServerName-TimeStamp.xml" です。 このログファイルには、エラーごとに 1 つのエントリが記録されます。各ログエントリには次の情報が含まれます。
vtbl 11 HRESULT get_ClassificationReportMailTo(LPWSTR* mailTo)

分類レポートの送信先メールアドレスです (指定する場合)。(Get)

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

解説(Remarks)

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

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

vtbl 12 HRESULT put_ClassificationReportMailTo(LPWSTR mailTo)

分類レポートの送信先メールアドレスです (指定する場合)。(Put)

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

解説(Remarks)

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

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

vtbl 13 HRESULT get_ClassificationReportEnabled(VARIANT_BOOL* reportEnabled)

分類レポートが有効かどうかを決定します。(Get)

reportEnabledVARIANT_BOOL*out分類レポートの生成が有効かどうかを示す VARIANT_BOOL を受け取るポインタである。

解説(Remarks)

分類がスケジュール実行された場合 (タスクスケジューラを使用) でも、オンデマンドで実行された場合 ( IFsrmClassificationManager::RunClassification を使用) でも、レポートの生成を制御します。

vtbl 14 HRESULT put_ClassificationReportEnabled(VARIANT_BOOL reportEnabled)

分類レポートが有効かどうかを決定します。(Put)

reportEnabledVARIANT_BOOLin分類レポートの生成を有効にするかどうかを指定する VARIANT_BOOL である。

解説(Remarks)

分類がスケジュール実行された場合 (タスクスケジューラを使用) でも、オンデマンドで実行された場合 ( IFsrmClassificationManager::RunClassification を使用) でも、レポートの生成を制御します。

vtbl 15 HRESULT get_ClassificationLastReportPathWithoutExtension(LPWSTR* lastReportPath)

前回分類を実行したときにレポートが格納されたローカルディレクトリのパスです。

lastReportPathLPWSTR*out最後に生成された分類レポートの拡張子を除いたパスを受け取る文字列ポインタである。

解説(Remarks)

レポートの生成に失敗した場合は、レポートが格納されるはずだったパスになります。このディレクトリには、失敗が発生する前に正常に完了したレポートが含まれていることがあります。パスは、 IFsrmReportManager::SetOutputDirectory に渡された値 (指定した場合) と、レポートのコンテキストによって決まります。

vtbl 16 HRESULT get_ClassificationLastError(LPWSTR* lastError)

前回分類を実行したときのエラーメッセージです。

lastErrorLPWSTR*out最後の分類処理で発生したエラーメッセージを受け取る文字列ポインタである。

解説(Remarks)

このプロパティは、 IFsrmClassificationManager::RunClassification を使用して手動で分類を実行した後、またはタスクスケジューラによってスケジュール実行された後に設定されます。

vtbl 17 HRESULT get_ClassificationRunningStatus(FsrmReportRunningStatus* runningStatus)

分類の実行状態です。

runningStatusFsrmReportRunningStatus*out分類処理の現在の実行状態を示す FsrmReportRunningStatus 列挙値を受け取るポインタである。

解説(Remarks)

分類がスケジュール実行された場合 (タスクスケジューラを使用) でも、オンデマンドで実行された場合 ( IFsrmClassificationManager::RunClassification を使用) でも使用されます。

vtbl 18 HRESULT EnumPropertyDefinitions(FsrmEnumOptions options, IFsrmCollection** propertyDefinitions)

プロパティ定義を列挙します。

optionsFsrmEnumOptionsinプロパティ定義を列挙するための 1 つ以上のオプション。指定できる値については、 FsrmEnumOptions 列挙型を参照してください。
propertyDefinitionsIFsrmCollection**out

プロパティ定義のコレクションを含む IFsrmCollection インターフェース。コレクション内の各項目は VT_DISPATCH 型の VARIANT です。バリアントの pdispVal メンバーに対して IFsrmPropertyDefinition インターフェースをクエリしてください。

このコレクションにはコミット済みのプロパティ定義のみが含まれます。新しく作成されたがコミットされていないプロパティ定義は含まれません。

戻り値

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

vtbl 19 HRESULT CreatePropertyDefinition(IFsrmPropertyDefinition** propertyDefinition)

プロパティ定義を作成します。

propertyDefinitionIFsrmPropertyDefinition**out新しいプロパティ定義への IFsrmPropertyDefinition インターフェース。プロパティ定義を保存するには、 IFsrmPropertyDefinition::Commit メソッドを呼び出します。

戻り値

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

解説(Remarks)

ファイルの分類に使用するプロパティを定義するために、プロパティ定義を作成します。1 つ以上の分類ルールでそのプロパティを指定できます。FSRM サーバーでは、プロパティ定義の数は 100 個に制限されています。

ルールまたはレポートジョブから参照されているプロパティは削除できません。

vtbl 20 HRESULT GetPropertyDefinition(LPWSTR propertyName, IFsrmPropertyDefinition** propertyDefinition)

指定されたプロパティ定義を取得します。

propertyNameLPWSTRin取得するプロパティ定義の名前。
propertyDefinitionIFsrmPropertyDefinition**out取得されたプロパティ定義への IFsrmPropertyDefinition インターフェース。

戻り値

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

vtbl 21 HRESULT EnumRules(FsrmRuleType ruleType, FsrmEnumOptions options, IFsrmCollection** Rules)

指定された種類のルールを列挙します。

ruleTypeFsrmRuleTypein

列挙するルールの種類。指定できる値については、 FsrmRuleType 列挙型を参照してください。

メモ FsrmRuleType_Generic は、このメソッドでは有効な種類ではありません。
optionsFsrmEnumOptionsin

プロパティ定義を列挙するための 1 つ以上のオプション。指定できる値については、 FsrmEnumOptions 列挙型を参照してください。

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

分類ルールのコレクションを含む IFsrmCollection インターフェース。コレクション内の各項目は VT_DISPATCH 型の VARIANT です。バリアントの pdispVal メンバーに対して IFsrmRule インターフェースをクエリしてください。その後、 IFsrmRule.RuleType プロパティを使用してルールの種類を判別できます。使用するルールのインターフェースを得るには、 IFsrmRule インターフェースに対してクエリします。たとえば、RuleTypeFsrmRuleType_Classification の場合は、 IFsrmRule インターフェースに対して IFsrmClassificationRule インターフェースをクエリします。

このコレクションにはコミット済みのルールのみが含まれます。新しく作成されたがコミットされていないルールは含まれません。

戻り値

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

vtbl 22 HRESULT CreateRule(FsrmRuleType ruleType, IFsrmRule** Rule)

指定された種類のルールを作成します。

ruleTypeFsrmRuleTypein作成するルールの種類。このパラメーターには FsrmRuleType_Classification を設定します。 詳細については、FsrmRuleType を参照してください。
RuleIFsrmRule**out

新しいルールへの IFsrmRule インターフェース。 IFsrmRule インターフェースに対してクエリして、 IFsrmClassificationRule インターフェースを取得します。

ルールを保存するには、IFsrmRule::Commit メソッドを呼び出します。

戻り値

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

解説(Remarks)

作成できるルールの数に制限はありません。 IFsrmRule.ModuleDefinitionName プロパティを使用して、ルールを分類モジュールに関連付けます。

FSRM は、ルールが実行される順序を保証しません。

vtbl 23 HRESULT GetRule(LPWSTR ruleName, FsrmRuleType ruleType, IFsrmRule** Rule)

指定されたルールを取得します。

ruleNameLPWSTRin取得するルールの名前。長さは 100 文字以内である必要があります。
ruleTypeFsrmRuleTypein

取得するルールの種類。指定できる種類については、 FsrmRuleType 列挙型を参照してください。

メモ FsrmRuleType_Generic は、このメソッドではサポートされていません。
RuleIFsrmRule**out取得されたルールへの IFsrmRule インターフェース。指定した種類に対応するインターフェースを得るには、 IFsrmRule インターフェースに対してクエリします。たとえば、ruleTypeFsrmRuleType_Classification の場合は、 IFsrmRule インターフェースに対して IFsrmClassificationRule インターフェースをクエリします。

戻り値

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

vtbl 24 HRESULT EnumModuleDefinitions(FsrmPipelineModuleType moduleType, FsrmEnumOptions options, IFsrmCollection** moduleDefinitions)

指定された種類のモジュール定義を列挙します。

moduleTypeFsrmPipelineModuleTypein列挙するモジュールの種類。指定できる値については、 FsrmPipelineModuleType 列挙型を参照してください。
optionsFsrmEnumOptionsin

モジュールを列挙するための 1 つ以上のオプション。指定できる値については、 FsrmEnumOptions 列挙型を参照してください。

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

モジュール定義のコレクションを含む IFsrmCollection インターフェース。コレクション内の各項目は VT_DISPATCH 型の VARIANT です。バリアントの pdispVal メンバーに対して IFsrmPipelineModuleDefinition インターフェースをクエリしてください。その後、 IFsrmPipelineModuleDefinition.ModuleType プロパティを使用してモジュールの種類を判別できます。使用するモジュールのインターフェースを得るには、 IFsrmPipelineModuleDefinition インターフェースに対してクエリします。たとえば、 ModuleTypeFsrmPipelineModuleType_Classifier の場合は、 IFsrmPipelineModuleDefinition インターフェースに対して IFsrmClassifierModuleDefinition インターフェースをクエリします。

このコレクションにはコミット済みのモジュール定義のみが含まれます。新しく作成されたがコミットされていないモジュール定義は含まれません。

戻り値

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

vtbl 25 HRESULT CreateModuleDefinition(FsrmPipelineModuleType moduleType, IFsrmPipelineModuleDefinition** moduleDefinition)

指定された種類のモジュール定義を作成します。

moduleTypeFsrmPipelineModuleTypein作成するモジュールの種類 (分類モジュールやストレージモジュールなど)。指定できる種類については、 FsrmPipelineModuleType 列挙型を参照してください。
moduleDefinitionIFsrmPipelineModuleDefinition**out

新しいモジュール定義への IFsrmPipelineModuleDefinition インターフェース。指定したモジュールに対応するインターフェースを得るには、 IFsrmPipelineModuleDefinition インターフェースに対してクエリします。たとえば、moduleTypeFsrmPipelineModuleType_Classifier の場合は、 IFsrmPipelineModuleDefinition インターフェースに対して IFsrmClassifierModuleDefinition インターフェースをクエリします。

モジュール定義を保存するには、 IFsrmPipelineModuleDefinition::Commit メソッドを呼び出します。

戻り値

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

解説(Remarks)

定義できるモジュールの数に制限はありません。

FSRM でモジュールを定義するだけでなく、そのクラスを COM に登録する必要もあります。この登録は、モジュールの種類に応じて IFsrmClassifierModuleImplementation または IFsrmStorageModuleImplementation を実装する COM クラスの登録である必要があります。

FSRM には、次の組み込みの分類モジュールが用意されています。Folder Classifier と Content Classifier です。Folder Classifier は、ファイルが格納されているフォルダーに基づいてファイルを分類します。Content Classifier は、Windows のテキスト抽出機能を使用してファイル内の文字列や正規表現を検索することで分類します。

FSRM には、次の 3 つの組み込みストレージモジュールが用意されています。

vtbl 26 HRESULT GetModuleDefinition(LPWSTR moduleName, FsrmPipelineModuleType moduleType, IFsrmPipelineModuleDefinition** moduleDefinition)

指定されたモジュール定義を取得します。

moduleNameLPWSTRin取得するモジュールの名前。長さは 100 文字以内である必要があります。
moduleTypeFsrmPipelineModuleTypein取得するモジュールの種類。指定できる種類については、 FsrmPipelineModuleType 列挙型を参照してください。
moduleDefinitionIFsrmPipelineModuleDefinition**out取得されたモジュール定義への IFsrmPipelineModuleDefinition インターフェース。指定したモジュールに対応するインターフェースを得るには、 IFsrmPipelineModuleDefinition インターフェースに対してクエリします。たとえば、moduleTypeFsrmPipelineModuleType_Classifier の場合は、 IFsrmPipelineModuleDefinition インターフェースに対して IFsrmClassifierModuleDefinition インターフェースをクエリします。

戻り値

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

vtbl 27 HRESULT RunClassification(FsrmReportGenerationContext context, LPWSTR reserved)

分類ルールを実行し、分類レポートを生成します。

contextFsrmReportGenerationContextin分類レポートの書き込み先となるレポートのサブディレクトリを指定します。指定できる値については、 FsrmReportGenerationContext 列挙型を参照してください。 レポートディレクトリを設定するには、 IFsrmReportManager::SetOutputDirectory メソッドを呼び出します。
reservedLPWSTRinNULL である必要があります。

戻り値

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

解説(Remarks)

分類を実行するには、少なくとも 1 つのプロパティが定義されており、定義済みプロパティのいずれかを参照するルールが少なくとも 1 つ存在し、分類モジュールが登録されている必要があります。

このメソッドを呼び出したときに分類が既にキューに入っているか実行中の場合、このメソッドはエラーを返します。分類が実行中かどうかを確認するには、 IFsrmClassificationManager.ClassificationRunningStatus プロパティを参照します。分類が成功したかどうかを確認するには、 ClassificationLastError プロパティを参照します。

分類レポートは、レポートが有効になっている場合にのみ生成されます ( IFsrmClassificationManager.ClassificationReportEnabled プロパティを参照)。

分類をスケジュール実行するには、タスクスケジューラを使用します。バージョン 1.0 のタスクを作成してください。実行するコマンドは C:\Windows\System32\StorRept.exe です。StorRept.exe の引数には "classification run" を指定します。StorRept.exe は FsrmReportGenerationContext_ScheduledReport のレポートコンテキストを使用します。

ルール、ファイル、キャッシュが有効で変更されていない場合、FSRM は分類ルールを適用しません。

vtbl 28 HRESULT WaitForClassificationCompletion(INT waitSeconds, VARIANT_BOOL* completed)

指定した時間が経過するまで、または分類の実行が完了するまで待機します。

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

戻り値

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

解説(Remarks)

分類を実行するには、 IFsrmClassificationManager::RunClassification メソッドを呼び出します。

WaitForClassificationCompletion から制御が返された後、 IFsrmClassificationManager.ClassificationLastError プロパティを参照して、レポートが正常に完了したかどうかを確認します。

vtbl 29 HRESULT CancelClassification()

分類が実行中の場合、それをキャンセルします。

戻り値

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

解説(Remarks)

IFsrmClassificationManager::RunClassification メソッドを使用して手動で開始された分類、またはスケジュールによって開始された分類をキャンセルします (スケジュールによる分類の実行の詳細については、 RunClassification を参照してください)。

vtbl 30 HRESULT EnumFileProperties(LPWSTR filePath, FsrmGetFilePropertyOptions options, IFsrmCollection** fileProperties)

指定されたファイルのプロパティを列挙します。

filePathLPWSTRin列挙するプロパティを含むファイル。ファイルへの絶対パスを指定する必要があります。ファイル共有は指定できません。
optionsFsrmGetFilePropertyOptionsinファイルのプロパティを列挙する際に使用するオプション。指定できる値については、 FsrmGetFilePropertyOptions 列挙型を参照してください。
filePropertiesIFsrmCollection**outファイルプロパティのコレクションを含む IFsrmCollection インターフェース。コレクション内の各項目は VT_DISPATCH 型の VARIANT です。バリアントの pdispVal メンバーに対して IFsrmProperty インターフェースをクエリしてください。

戻り値

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

解説(Remarks)

FSRM は、指定されたストレージモジュール (options パラメーターを参照) に対して、それぞれが担当するファイルのすべてのプロパティを返すよう要求します。プロパティをファイルに埋め込むストレージモジュールの場合、この一覧にはファイルに埋め込まれているすべてのプロパティ (FSRM で定義されたものだけではありません) が含まれます。

options パラメーターに FsrmGetFilePropertyOptions_None を指定した場合、FSRM は正しい値が返されるようにファイルの分類を再実行します。

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

vtbl 31 HRESULT GetFileProperty(LPWSTR filePath, LPWSTR propertyName, FsrmGetFilePropertyOptions options, IFsrmProperty** property)

ファイルまたはフォルダーから指定されたプロパティを取得します。

filePathLPWSTRin取得するプロパティを含むファイル。ファイルへの絶対パスを指定する必要があります。ファイル共有は指定できません。
propertyNameLPWSTRin取得するプロパティの名前。長さは 100 文字以内である必要があります。
optionsFsrmGetFilePropertyOptionsinファイルのプロパティを取得する際に使用するオプション。指定できる値については、 FsrmGetFilePropertyOptions 列挙型を参照してください。
propertyIFsrmProperty**out取得されたプロパティへの IFsrmProperty インターフェース。

戻り値

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

解説(Remarks)

FSRM は、指定されたストレージモジュール (options パラメーターを参照) に対して、ファイルからプロパティを取得するよう要求します。options パラメーターに FsrmGetFilePropertyOptions_None を指定した場合、FSRM は正しい値が返されるようにファイルの分類を再実行します。

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

vtbl 32 HRESULT SetFileProperty(LPWSTR filePath, LPWSTR propertyName, LPWSTR propertyValue)

ファイルまたはフォルダー内の指定されたプロパティの値を設定します。

filePathLPWSTRin設定するプロパティを含むファイル。ファイルへの絶対パスを指定する必要があります。ファイル共有は指定できません。
propertyNameLPWSTRin値を設定するプロパティの名前。
propertyValueLPWSTRin指定したプロパティに設定する値。

戻り値

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

解説(Remarks)

このメソッドは、プロパティ値がそのプロパティの型として有効かどうかを検証します。たとえば、順序付きリストや複数選択リストの場合は値がリストのメンバーであること、Boolean プロパティの場合は値が文字列 "0" または "1" であること、日付の場合は値が文字列として表現された 64 ビットの 10 進値であることを確認します。

SetFileProperty は、 AppliesTo プロパティに FsrmPropertyDefinitionAppliesTo_Files (1) ビットが設定されている、サーバー上で利用可能なプロパティ定義のみをサポートします。

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

vtbl 33 HRESULT ClearFileProperty(LPWSTR filePath, LPWSTR property)

指定されたプロパティをファイルまたはフォルダーから削除しようとします。

filePathLPWSTRin削除するプロパティを含むファイル。ファイルへの絶対パスを指定する必要があります。ファイル共有は指定できません。
propertyLPWSTRinファイルから削除するプロパティの名前。

戻り値

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

解説(Remarks)

ストレージモジュールがプロパティを削除できる場合、プロパティはファイルから削除されます。削除できない場合は、次の表の値を使用してプロパティの値がクリアされます。

プロパティの型 クリア後の値
Boolean
Date
Hierarchy
Integer
Multiple choice list
Single choice list
Multi-string
Ordered list
String 空文字列
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IFsrmClassificationManager "{D2DC89DA-EE91-48A0-85D8-CC72A56F7D04}"
#usecom global IFsrmClassificationManager IID_IFsrmClassificationManager "{B15C0E47-C391-45B9-95C8-EB596C853F3A}"
#comfunc global IFsrmClassificationManager_get_ClassificationReportFormats                   7 var
#comfunc global IFsrmClassificationManager_put_ClassificationReportFormats                   8 var
#comfunc global IFsrmClassificationManager_get_Logging                                       9 var
#comfunc global IFsrmClassificationManager_put_Logging                                       10 int
#comfunc global IFsrmClassificationManager_get_ClassificationReportMailTo                    11 var
#comfunc global IFsrmClassificationManager_put_ClassificationReportMailTo                    12 wstr
#comfunc global IFsrmClassificationManager_get_ClassificationReportEnabled                   13 var
#comfunc global IFsrmClassificationManager_put_ClassificationReportEnabled                   14 int
#comfunc global IFsrmClassificationManager_get_ClassificationLastReportPathWithoutExtension  15 var
#comfunc global IFsrmClassificationManager_get_ClassificationLastError                       16 var
#comfunc global IFsrmClassificationManager_get_ClassificationRunningStatus                   17 var
#comfunc global IFsrmClassificationManager_EnumPropertyDefinitions                           18 int,sptr
#comfunc global IFsrmClassificationManager_CreatePropertyDefinition                          19 sptr
#comfunc global IFsrmClassificationManager_GetPropertyDefinition                             20 wstr,sptr
#comfunc global IFsrmClassificationManager_EnumRules                                         21 int,int,sptr
#comfunc global IFsrmClassificationManager_CreateRule                                        22 int,sptr
#comfunc global IFsrmClassificationManager_GetRule                                           23 wstr,int,sptr
#comfunc global IFsrmClassificationManager_EnumModuleDefinitions                             24 int,int,sptr
#comfunc global IFsrmClassificationManager_CreateModuleDefinition                            25 int,sptr
#comfunc global IFsrmClassificationManager_GetModuleDefinition                               26 wstr,int,sptr
#comfunc global IFsrmClassificationManager_RunClassification                                 27 int,wstr
#comfunc global IFsrmClassificationManager_WaitForClassificationCompletion                   28 int,var
#comfunc global IFsrmClassificationManager_CancelClassification                              29
#comfunc global IFsrmClassificationManager_EnumFileProperties                                30 wstr,int,sptr
#comfunc global IFsrmClassificationManager_GetFileProperty                                   31 wstr,wstr,int,sptr
#comfunc global IFsrmClassificationManager_SetFileProperty                                   32 wstr,wstr,wstr
#comfunc global IFsrmClassificationManager_ClearFileProperty                                 33 wstr,wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。