Win32 API 日本語リファレンス
ホームSystem.Performance › IDataManager

IDataManager

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

公式ドキュメント

データコレクターによって生成されたデータを管理します。これにはレポート生成、データ保持ポリシー、データ転送が含まれます。このインターフェイスを取得するには、IDataCollectorSet::DataManager プロパティにアクセスします。

解説(Remarks)

IDataCollectorSet::SetXml メソッドを呼び出してこのオブジェクトを初期化する際に使用できる XML の例については、IDataCollectorSet の「解説」セクションを参照してください。オブジェクトを作成するための XML を指定するときは、設定したいプロパティに対応する要素のみを指定できます。プロパティを指定しない場合、PLA は既定値を提供します。セットの XML を取得すると、その XML にはすべての要素が含まれます。

メソッド 25

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

vtbl 7 HRESULT get_Enabled(VARIANT_BOOL* pfEnabled)

データマネージャーが実行可能かどうかを示す値を取得または設定します。(Get)

pfEnabledVARIANT_BOOL*outデータ管理が有効かどうかを受け取るポインタである。
vtbl 8 HRESULT put_Enabled(VARIANT_BOOL fEnabled)

データマネージャーが実行可能かどうかを示す値を取得または設定します。(Put)

fEnabledVARIANT_BOOLinデータ管理を有効にするかどうかを指定する。
vtbl 9 HRESULT get_CheckBeforeRunning(VARIANT_BOOL* pfCheck)

データを収集する前に、データマネージャーが最小空きディスク容量などの課された制限をチェックすべきかどうかを示す値を取得または設定します。(Get)

pfCheckVARIANT_BOOL*out実行前にチェックを行うかどうかを受け取るポインタである。
vtbl 10 HRESULT put_CheckBeforeRunning(VARIANT_BOOL fCheck)

データを収集する前に、データマネージャーが最小空きディスク容量などの課された制限をチェックすべきかどうかを示す値を取得または設定します。(Put)

fCheckVARIANT_BOOLin実行前にチェックを行うかどうかを指定する。
vtbl 11 HRESULT get_MinFreeDisk(DWORD* MinFreeDisk)

データ収集を開始する前に必要となる最小空きディスク容量を取得または設定します。(Get)

MinFreeDiskDWORD*out必要な最小空きディスク容量を受け取るポインタである。

解説(Remarks)

この最小値は、IDataCollectorSet::RootPath プロパティで指定されたフォルダーに適用されます。IDataManager::CheckBeforeRunning プロパティがこの制限をチェックします。データマネージャーは実行時にもこの制限をチェックします。

vtbl 12 HRESULT put_MinFreeDisk(DWORD MinFreeDisk)

データ収集を開始する前に必要となる最小空きディスク容量を取得または設定します。(Put)

MinFreeDiskDWORDin必要な最小空きディスク容量を指定する。

解説(Remarks)

この最小値は、IDataCollectorSet::RootPath プロパティで指定されたフォルダーに適用されます。IDataManager::CheckBeforeRunning プロパティがこの制限をチェックします。データマネージャーは実行時にもこの制限をチェックします。

vtbl 13 HRESULT get_MaxSize(DWORD* pulMaxSize)

セット内のすべてのデータコレクターが使用する最大ディスク容量を取得または設定します。(Get)

pulMaxSizeDWORD*out保持データの最大サイズを受け取るポインタである。

解説(Remarks)

この最大値は、IDataCollectorSet::RootPath プロパティで指定されたパスの下にあるすべてのサブフォルダー内のすべてのファイルに適用されます。

この値は、データマネージャーによって次のタイミングで使用されます。

パフォーマンスカウンターログの収集では、最大サイズの値は無視されます。この問題を回避するには、次の 2 つの方法のいずれかを実行できます。
vtbl 14 HRESULT put_MaxSize(DWORD ulMaxSize)

セット内のすべてのデータコレクターが使用する最大ディスク容量を取得または設定します。(Put)

ulMaxSizeDWORDin保持データの最大サイズを指定する。

解説(Remarks)

この最大値は、IDataCollectorSet::RootPath プロパティで指定されたパスの下にあるすべてのサブフォルダー内のすべてのファイルに適用されます。

この値は、データマネージャーによって次のタイミングで使用されます。

パフォーマンスカウンターログの収集では、最大サイズの値は無視されます。この問題を回避するには、次の 2 つの方法のいずれかを実行できます。
vtbl 15 HRESULT get_MaxFolderCount(DWORD* pulMaxFolderCount)

セット内のすべてのデータコレクターが使用するフォルダーの最大数を取得または設定します。(Get)

pulMaxFolderCountDWORD*out保持する最大フォルダ数を受け取るポインタである。

解説(Remarks)

この最大値は、IDataCollectorSet::RootPath プロパティで指定されたパスの下にあるすべてのサブフォルダーに適用されます。IDataManager::CheckBeforeRunning プロパティがこの制限をチェックします。データマネージャーは実行時にもこの制限をチェックします。

vtbl 16 HRESULT put_MaxFolderCount(DWORD ulMaxFolderCount)

セット内のすべてのデータコレクターが使用するフォルダーの最大数を取得または設定します。(Put)

ulMaxFolderCountDWORDin保持する最大フォルダ数を指定する。

解説(Remarks)

この最大値は、IDataCollectorSet::RootPath プロパティで指定されたパスの下にあるすべてのサブフォルダーに適用されます。IDataManager::CheckBeforeRunning プロパティがこの制限をチェックします。データマネージャーは実行時にもこの制限をチェックします。

vtbl 17 HRESULT get_ResourcePolicy(ResourcePolicy* pPolicy)

ディスクリソースの制限のいずれかを超えた場合に実行するアクションを取得または設定します。(Get)

pPolicyResourcePolicy*out現在のリソースポリシーを受け取るポインタである。

解説(Remarks)

フォルダーは、ディスクリソースの条件が満たされるまで、リソースポリシーに基づいて削除されます。たとえば、最大サイズが 7 MB で現在のサイズが 10 MB の場合、PLA は現在のサイズが 7 MB 以下になるまでフォルダーを削除します。最初に削除されるフォルダーが 3 MB の場合、PLA はそのフォルダーを削除した後、現在のサイズが最大サイズと等しくなるため、フォルダーの削除を停止します。最初に削除されるフォルダーが 9 MB の場合、PLA はそのフォルダーを削除した後、現在のサイズが 1 MB になり、これも条件を満たすため、フォルダーの削除を停止します。

vtbl 18 HRESULT put_ResourcePolicy(ResourcePolicy Policy)

ディスクリソースの制限のいずれかを超えた場合に実行するアクションを取得または設定します。(Put)

PolicyResourcePolicyin設定するリソースポリシーを表す ResourcePolicy を指定する。

解説(Remarks)

フォルダーは、ディスクリソースの条件が満たされるまで、リソースポリシーに基づいて削除されます。たとえば、最大サイズが 7 MB で現在のサイズが 10 MB の場合、PLA は現在のサイズが 7 MB 以下になるまでフォルダーを削除します。最初に削除されるフォルダーが 3 MB の場合、PLA はそのフォルダーを削除した後、現在のサイズが最大サイズと等しくなるため、フォルダーの削除を停止します。最初に削除されるフォルダーが 9 MB の場合、PLA はそのフォルダーを削除した後、現在のサイズが 1 MB になり、これも条件を満たすため、フォルダーの削除を停止します。

vtbl 19 HRESULT get_FolderActions(IFolderActionCollection** Actions)

経過時間とサイズの条件が満たされたときに、データコレクターセット内の各フォルダーに対して実行するアクションを管理するために使用するコレクションを取得します。

ActionsIFolderActionCollection**out現在のフォルダアクションのコレクションを受け取るポインタである。
vtbl 20 HRESULT get_ReportSchema(LPWSTR* ReportSchema)

TraceRpt.exe アプリケーションが生成するレポートをカスタマイズするために使用するスキーマを取得または設定します。(Get)

ReportSchemaLPWSTR*out現在のレポートのスキーマを受け取るポインタである。
vtbl 21 HRESULT put_ReportSchema(LPWSTR ReportSchema)

TraceRpt.exe アプリケーションが生成するレポートをカスタマイズするために使用するスキーマを取得または設定します。(Put)

ReportSchemaLPWSTRinレポートのスキーマを設定する。
vtbl 22 HRESULT get_ReportFileName(LPWSTR* pbstrFilename)

IDataManager::RuleTargetFileName プロパティのファイルを XML から HTML に変換した結果として得られる HTML ファイルの名前を取得または設定します。(Get)

pbstrFilenameLPWSTR*outレポートファイル名を受け取るポインタである。

解説(Remarks)

詳細については、DataManagerSteps 列挙型の plaCreateHtml 値を参照してください。

vtbl 23 HRESULT put_ReportFileName(LPWSTR pbstrFilename)

IDataManager::RuleTargetFileName プロパティのファイルを XML から HTML に変換した結果として得られる HTML ファイルの名前を取得または設定します。(Put)

pbstrFilenameLPWSTRin設定するレポートファイル名を指定する。

解説(Remarks)

詳細については、DataManagerSteps 列挙型の plaCreateHtml 値を参照してください。

vtbl 24 HRESULT get_RuleTargetFileName(LPWSTR* Filename)

TraceRpt.exe アプリケーションが作成するレポートファイルの名前を取得または設定します。(IDataManager.get_RuleTargetFileName)

FilenameLPWSTR*outルール適用対象のファイル名を受け取るポインタである。

解説(Remarks)

PLA は、IDataManager::Run メソッドの Steps パラメーターに DataManagerSteps 列挙型の plaCreateReport 値を含めた場合にのみ、このファイル名を使用します。

レポートの内容を指定するには、IDataManager::ReportSchema プロパティを使用します。レポートの作成後にその内容を変更するには、IDataManager::Rules プロパティを使用します。

vtbl 25 HRESULT put_RuleTargetFileName(LPWSTR Filename)

TraceRpt.exe アプリケーションが作成するレポートファイルの名前を取得または設定します。(IDataManager.put_RuleTargetFileName)

FilenameLPWSTRinルール適用対象のファイル名を指定する。

解説(Remarks)

PLA は、IDataManager::Run メソッドの Steps パラメーターに DataManagerSteps 列挙型の plaCreateReport 値を含めた場合にのみ、このファイル名を使用します。

レポートの内容を指定するには、IDataManager::ReportSchema プロパティを使用します。レポートの作成後にその内容を変更するには、IDataManager::Rules プロパティを使用します。

vtbl 26 HRESULT get_EventsFileName(LPWSTR* pbstrFilename)

イベントファイルの名前を取得または設定します。(Get)

pbstrFilenameLPWSTR*outイベントファイル名を受け取るポインタである。

解説(Remarks)

PLA は、IDataManager::Run メソッドの Steps パラメーターに DataManagerSteps 列挙型の plaCreateReport 値を含め、かつデータ収集セットにトレースデータコレクターが含まれている場合にのみ、このファイル名を使用します。

vtbl 27 HRESULT put_EventsFileName(LPWSTR pbstrFilename)

イベントファイルの名前を取得または設定します。(Put)

pbstrFilenameLPWSTRin設定するイベントファイル名を指定する。

解説(Remarks)

PLA は、IDataManager::Run メソッドの Steps パラメーターに DataManagerSteps 列挙型の plaCreateReport 値を含め、かつデータ収集セットにトレースデータコレクターが含まれている場合にのみ、このファイル名を使用します。

vtbl 28 HRESULT get_Rules(LPWSTR* pbstrXml)

レポートに適用するルールを取得または設定します。(Get)

pbstrXmlLPWSTR*outルールを定義する XML を受け取るポインタである。

解説(Remarks)

ルールは、レポートの生成後にその内容を変更します。TraceRpt が生成する内容を指定するには、IDataManager::ReportSchema を参照してください。

次のスキーマは、指定できるルールを定義します。Rules 要素がルートノードです。1 つ以上の Group 要素を指定でき、各 Group 要素には 1 つ以上の Rule 要素を含めることができます。Help 要素は省略可能なユーザー定義要素です。Step 要素は、一連の条件と、その条件が満たされた場合に実行される関連アクションを定義します。

<Rules>
    <Include name="" fatal="true|false"/>
    <Group name="" enabled="true|false">
        <Rule name="" enabled="true|false">
            <Help/>
            <Step/>
        </Rule>
    </Group>
</Rules>
<Step select="" fatal="true|false" sortType="first|max|min" sortValue="" sortDataType="">
    <UserInput/>
    <Exists>
        <When/>
        <Otherwise/>
    </Exists>
    <Otherwise/>
</Step>
<UserInput name="" expression="">
    <Description/>
</UserInput>
<When expression="" matchRE="">
    <Action/>
</When>
...
<Otherwise>
    <Action/>
</Otherwise>
<Variable name="" expression="">
</Variable>

<Warning name="">
</Warning>

<Notify type="" code="" severity="" title="">
</Notify>

<Insert select="">
    <Attribute name="" value=""/>
    <Node axis=""/>
</Insert>
vtbl 29 HRESULT put_Rules(LPWSTR bstrXml)

レポートに適用するルールを取得または設定します。(Put)

bstrXmlLPWSTRinルールを定義する XML を指定する。

解説(Remarks)

ルールは、レポートの生成後にその内容を変更します。TraceRpt が生成する内容を指定するには、IDataManager::ReportSchema を参照してください。

次のスキーマは、指定できるルールを定義します。Rules 要素がルートノードです。1 つ以上の Group 要素を指定でき、各 Group 要素には 1 つ以上の Rule 要素を含めることができます。Help 要素は省略可能なユーザー定義要素です。Step 要素は、一連の条件と、その条件が満たされた場合に実行される関連アクションを定義します。

<Rules>
    <Include name="" fatal="true|false"/>
    <Group name="" enabled="true|false">
        <Rule name="" enabled="true|false">
            <Help/>
            <Step/>
        </Rule>
    </Group>
</Rules>
<Step select="" fatal="true|false" sortType="first|max|min" sortValue="" sortDataType="">
    <UserInput/>
    <Exists>
        <When/>
        <Otherwise/>
    </Exists>
    <Otherwise/>
</Step>
<UserInput name="" expression="">
    <Description/>
</UserInput>
<When expression="" matchRE="">
    <Action/>
</When>
...
<Otherwise>
    <Action/>
</Otherwise>
<Variable name="" expression="">
</Variable>

<Warning name="">
</Warning>

<Notify type="" code="" severity="" title="">
</Notify>

<Insert select="">
    <Attribute name="" value=""/>
    <Node axis=""/>
</Insert>
vtbl 30 HRESULT Run(DataManagerSteps Steps, LPWSTR bstrFolder, IValueMap** Errors)

データマネージャーを手動で実行します。

StepsDataManagerStepsinフォルダーアクションとリソースポリシーを適用するかどうか、およびレポートの生成方法を決定します。指定可能なステップについては、DataManagerSteps 列挙型を参照してください。
bstrFolderLPWSTRinレポートの生成に使用されるファイルを含む、IDataCollectorSet::RootPath プロパティの下のフォルダー。NULL の場合、PLA はコレクション内のすべてのファイルを使用します。このフォルダーは、Steps パラメーターに plaCreateReport または plaRunRules が含まれる場合にのみ使用されます。
ErrorsIValueMap**out発生したエラーを取得するために使用する IValueMap インターフェイス。この値マップには、エラーが発生したディレクトリの一覧とエラーコードを含めることができます。エラーがなかった場合、IValueMap::Count プロパティは 0 になります。

戻り値

成功した場合は S_OK を返します。

解説(Remarks)

データ管理は現在のプロセス内で実行され、データ管理のステップが完了するまでブロックします。

データコレクターセットの実行が終了したときにデータマネージャーを自動的に実行するには、IDataManager::Enabled プロパティを VARIANT_TRUE に設定します。

vtbl 31 HRESULT Extract(LPWSTR CabFilename, LPWSTR DestinationPath)

指定した CAB ファイルを展開します。

CabFilenameLPWSTRin展開する CAB ファイルの名前。
DestinationPathLPWSTRinCAB ファイルを配置するパス。

戻り値

成功した場合は S_OK を返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IDataManager "{03837541-098B-11D8-9414-505054503030}"
#usecom global IDataManager IID_IDataManager "{}"
#comfunc global IDataManager_get_Enabled             7 var
#comfunc global IDataManager_put_Enabled             8 int
#comfunc global IDataManager_get_CheckBeforeRunning  9 var
#comfunc global IDataManager_put_CheckBeforeRunning  10 int
#comfunc global IDataManager_get_MinFreeDisk         11 var
#comfunc global IDataManager_put_MinFreeDisk         12 int
#comfunc global IDataManager_get_MaxSize             13 var
#comfunc global IDataManager_put_MaxSize             14 int
#comfunc global IDataManager_get_MaxFolderCount      15 var
#comfunc global IDataManager_put_MaxFolderCount      16 int
#comfunc global IDataManager_get_ResourcePolicy      17 var
#comfunc global IDataManager_put_ResourcePolicy      18 int
#comfunc global IDataManager_get_FolderActions       19 sptr
#comfunc global IDataManager_get_ReportSchema        20 var
#comfunc global IDataManager_put_ReportSchema        21 wstr
#comfunc global IDataManager_get_ReportFileName      22 var
#comfunc global IDataManager_put_ReportFileName      23 wstr
#comfunc global IDataManager_get_RuleTargetFileName  24 var
#comfunc global IDataManager_put_RuleTargetFileName  25 wstr
#comfunc global IDataManager_get_EventsFileName      26 var
#comfunc global IDataManager_put_EventsFileName      27 wstr
#comfunc global IDataManager_get_Rules               28 var
#comfunc global IDataManager_put_Rules               29 wstr
#comfunc global IDataManager_Run                     30 int,wstr,sptr
#comfunc global IDataManager_Extract                 31 wstr,wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。