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

IDataCollectorSet

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

公式ドキュメント

セット内のすべてのデータコレクターオブジェクトに共通する構成情報を管理します。セットへのデータコレクターの追加や削除、およびデータ収集の開始を行います。これは主に使用する PLA インターフェイスです。

解説(Remarks)

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

既存のデータコレクターセットを取得するには、データコレクターセットオブジェクトのインスタンスを作成し、IDataCollectorSet::Query メソッドを呼び出して、以前に永続化されたデータコレクターセットのプロパティをクエリします。

セットを作成するには、データコレクターセットオブジェクトのインスタンスを作成し、必要に応じてプロパティを設定します。プロパティは個別に設定することも、プロパティ値を含む XML を IDataCollectorSet::SetXml メソッドに渡すこともできます。

新しいデータコレクターオブジェクトをセットに追加するには、IDataCollectorSet::DataCollectors プロパティからコレクションを取得します。データコレクターセットを永続化するには、IDataCollectorSet::Commit メソッドを呼び出します。

データコレクターを手動で開始するには IDataCollectorSet::Start メソッドを使用し、自動的に開始するには IDataCollectorSet::Schedules プロパティを使用します。あるいは、IAlertDataCollector::TriggerDataCollectorSet プロパティが設定されている場合は、アラートによって収集の実行をトリガーできます。

収集したデータを管理する場合は、IDataCollectorSet::DataManager プロパティから IDataManager インターフェイスを取得します。

次の例は、データコレクターセットの XML 要素を示しています。詳細については、対応するプロパティを参照してください。

<DataCollectorSet>
    <DataManager>
        <Enabled/>              <!-- 0 (false), nonzero (true) -->
        <CheckBeforeRunning/>   <!-- 0 (false), nonzero (true) -->
        <MinFreeDisk/>
        <MaxSize/>
        <MaxFolderCount/>
        <ResourcePolicy/>
        <ReportFileName/>
        <RuleTargetFileName/>
        <EventsFileName/>
        <FolderAction>          <!-- Include a <FolderAction> element for -->
            <Actions/>          <!-- each action to take. -->
            <Age/>
            <SendCabTo/>
            <Size/>
        </FolderAction>
    </DataManager>
    <Description/>
    <DescriptionUnresolved/>    <!-- Output only -->
    <DisplayName/>
    <DisplayNameUnresolved/>    <!-- Output only -->
    <Duration/>  
    <Keyword/>                  <!-- Specify for each keyword -->
    <LatestOutputLocation/>     
    <Name/>                     <!-- Output only -->
    <OutputLocation/>           <!-- Output only -->
    <RootPath/>
    <Segment/>
    <SegmentMaxDuration/> 
    <SegmentMaxSize/> 
    <SerialNumber/>
    <Server/>                   <!-- Output only -->
    <Status/>                   <!-- Output only -->
    <Subdirectory/>
    <SubdirectoryFormat/>
    <SubdirectoryFormatPattern/>
    <Task/>
    <TaskArguments/>
    <TaskRunAsSelf/>            <!-- 0 (false), -1 (true) -->
    <TaskUserTextArguments/>
    <Schedule>
        <Days/>
        <EndDate/>              <!-- mm/dd/yyyy -->
        <StartDate/>            <!-- mm/dd/yyyy -->
        <StartTime/>            <!-- hh:mm:ss (use 24-hour clock) -->
    </Schedule>
    <SchedulesEnabled/>         <!-- 0 (false), nonzero (true) -->
    <Security/>                 <!-- Security Descriptor Definition Language -->
    <StopOnCompletion/>         <!-- 0 (false), nonzero (true) -->
    <UserAccount/>              <!-- Output only. Set using SetCredentials --></DataCollectorSet>

セットの XML を取得するために IDataCollectorSet::Xml を呼び出したときに、そのセットにデータコレクターが含まれている場合、XML にはセット内の各データコレクターの XML 要素も含まれます。

データコレクターセットの要素を使用してデータコレクターセットのプロパティ値を初期化するには、SetXml メソッドを呼び出します。XML の内容はセットの既存の内容を上書きします。次に、アラートデータコレクターの要素を含める方法を示します。

<DataCollectorSet>

    <!-- Data collector set elements go here. -->

    <AlertDataCollector>
        <Alert/>  <!-- Specify an <Alert> element for each alert -->
        <EventLog/>
        <SampleInterval/>
        <Task/>
        <TaskArguments/>
        <TaskRunAsSelf/>            <!-- 0 (false), nonzero (true) -->
        <TaskUserTextArguments/>
        <TriggerDataCollectorSet/>

        <!-- Data collector elements go here. -->
    </AlertDataCollector>
</DataCollectorSet>

設定したいプロパティの要素だけを指定できます。プロパティを指定しない場合、PLA は既定値を提供します。セットの XML を取得すると、XML にはセットに含まれるデータコレクターの要素を含め、すべての要素が含まれます(データコレクターのプロパティの詳細については、各データコレクターインターフェイスを参照してください)。ただし、スケジュールおよびフォルダーアクションの要素は、セットに対して定義されていない場合は含まれません。

メソッド 60

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

vtbl 7 HRESULT get_DataCollectors(IDataCollectorCollection** collectors)

このセットに含まれるデータコレクターの一覧を取得します。

collectorsIDataCollectorCollection**outデータコレクターセットに含まれるデータコレクターのコレクションを受け取るポインタである。
vtbl 8 HRESULT get_Duration(DWORD* seconds)

データコレクターセットが実行される継続時間を取得または設定します。(Get)

secondsDWORD*out現在のデータコレクターセットの実行継続時間(秒)を受け取るポインタである。
vtbl 9 HRESULT put_Duration(DWORD seconds)

データコレクターセットが実行される継続時間を取得または設定します。(Put)

secondsDWORDinデータコレクターセットの実行継続時間(秒)を設定する。
vtbl 10 HRESULT get_Description(LPWSTR* description)

データコレクターセットの説明を取得または設定します。この説明はメタデータとしてすべての出力ファイルに追加され、Performance Data Helper のログにコメントとして挿入されます。(Get)

descriptionLPWSTR*out現在の説明文を受け取るポインタである。

解説(Remarks)

バイナリからローカライズされた文字列を使用するには、@binary,#id の形式で説明を指定します。ここで binary はローカライズされたリソース文字列を含む EXE または DLL、id は文字列リソース識別子です。

説明を @binary,#id の形式で設定した場合、説明を取得するとローカライズされた文字列が返されます。設定した説明文字列を取得するには、IDataCollectorSet::DescriptionUnresolved プロパティにアクセスします。

vtbl 11 HRESULT put_Description(LPWSTR description)

データコレクターセットの説明を取得または設定します。この説明はメタデータとしてすべての出力ファイルに追加され、Performance Data Helper のログにコメントとして挿入されます。(Put)

descriptionLPWSTRin説明文を設定する。

解説(Remarks)

バイナリからローカライズされた文字列を使用するには、@binary,#id の形式で説明を指定します。ここで binary はローカライズされたリソース文字列を含む EXE または DLL、id は文字列リソース識別子です。

説明を @binary,#id の形式で設定した場合、説明を取得するとローカライズされた文字列が返されます。設定した説明文字列を取得するには、IDataCollectorSet::DescriptionUnresolved プロパティにアクセスします。

vtbl 12 HRESULT get_DescriptionUnresolved(LPWSTR* Descr)

データコレクターセットの説明を元の形式で取得します。

DescrLPWSTR*out変数展開前の説明文を受け取るポインタである。

解説(Remarks)

このプロパティは、IDataCollectorSet::Description プロパティで最初に設定したとおりの説明を返します。通常、@binary,#id の形式で説明を設定した場合にこのプロパティを使用します。

vtbl 13 HRESULT get_DisplayName(LPWSTR* DisplayName)

データコレクターセットの表示名を取得または設定します。(Get)

DisplayNameLPWSTR*out現在の表示名を受け取るポインタである。

解説(Remarks)

バイナリからローカライズされた文字列を使用するには、@binary,#id の形式で表示名を指定します。ここで binary はローカライズされたリソース文字列を含む EXE または DLL、id は文字列リソース識別子です。

表示名を @binary,#id の形式で設定した場合、表示名を取得するとローカライズされた文字列が返されます。設定した表示名文字列を取得するには、IDataCollectorSet::DisplayNameUnresolved プロパティにアクセスします。

vtbl 14 HRESULT put_DisplayName(LPWSTR DisplayName)

データコレクターセットの表示名を取得または設定します。(Put)

DisplayNameLPWSTRin表示名を設定する。

解説(Remarks)

バイナリからローカライズされた文字列を使用するには、@binary,#id の形式で表示名を指定します。ここで binary はローカライズされたリソース文字列を含む EXE または DLL、id は文字列リソース識別子です。

表示名を @binary,#id の形式で設定した場合、表示名を取得するとローカライズされた文字列が返されます。設定した表示名文字列を取得するには、IDataCollectorSet::DisplayNameUnresolved プロパティにアクセスします。

vtbl 15 HRESULT get_DisplayNameUnresolved(LPWSTR* name)

データコレクターセットの表示名を元の形式で取得します。

nameLPWSTR*out変数展開前の表示名を受け取るポインタである。

解説(Remarks)

このプロパティは、IDataCollectorSet::DisplayName プロパティで最初に設定したとおりの表示名を返します。通常、@binary,#id の形式で表示名を設定した場合にこのプロパティを使用します。

vtbl 16 HRESULT get_Keywords(SAFEARRAY** keywords)

データコレクターセットを説明するキーワードを取得または設定します。キーワードの一覧はメタデータとして出力ファイルに追加されます。(Get)

keywordsSAFEARRAY**out現在のキーワードの一覧を受け取るポインタである。

解説(Remarks)

キーワードはファイルの検索時に使用でき、Windows エクスプローラーにも表示されます。

vtbl 17 HRESULT put_Keywords(SAFEARRAY* keywords)

データコレクターセットを説明するキーワードを取得または設定します。キーワードの一覧はメタデータとして出力ファイルに追加されます。(Put)

keywordsSAFEARRAY*inキーワードの一覧を設定する。

解説(Remarks)

キーワードはファイルの検索時に使用でき、Windows エクスプローラーにも表示されます。

vtbl 18 HRESULT get_LatestOutputLocation(LPWSTR* path)

PLA が最後にログを書き込んだ際に使用した、完全に装飾されたフォルダー名を取得または設定します。(IDataCollectorSet.get_LatestOutputLocation)

pathLPWSTR*out現在の最新の出力先パスを受け取るポインタである。

解説(Remarks)

通常、このプロパティは設定しません。データコレクターが開始すると、PLA は IDataCollectorSet::OutputLocation プロパティの値を使用してこのプロパティを設定します。

フォルダーが削除されている場合は、このプロパティを空に設定できます。

vtbl 19 HRESULT put_LatestOutputLocation(LPWSTR path)

PLA が最後にログを書き込んだ際に使用した、完全に装飾されたフォルダー名を取得または設定します。(IDataCollectorSet.put_LatestOutputLocation)

pathLPWSTRin最新の出力先パスを設定する。

解説(Remarks)

通常、このプロパティは設定しません。データコレクターが開始すると、PLA は IDataCollectorSet::OutputLocation プロパティの値を使用してこのプロパティを設定します。

フォルダーが削除されている場合は、このプロパティを空に設定できます。

vtbl 20 HRESULT get_Name(LPWSTR* name)

データコレクターセットを識別するために使用される一意の名前を取得します。

nameLPWSTR*out現在の名前を受け取るポインタである。

解説(Remarks)

名前は、IDataCollectorSet::Commit メソッドを呼び出したときに設定されます。

vtbl 21 HRESULT get_OutputLocation(LPWSTR* path)

PLA が今フォルダーを作成する場合に使用する、装飾されたフォルダー名を取得します。

pathLPWSTR*out現在の出力先パスを受け取るポインタである。

解説(Remarks)

IDataCollectorSet::LatestOutputLocation プロパティには、コレクターが最後に実行されたときに使用された装飾済みのファイル名が格納されます。

vtbl 22 HRESULT get_RootPath(LPWSTR* folder)

サブディレクトリが作成される基準パスを取得または設定します。(Get)

folderLPWSTR*out現在のルートパス(基準フォルダ)を受け取るポインタである。

解説(Remarks)

このプロパティを既定値から変更する場合は、IDataCollectorSet::Start メソッドを呼び出す前に、指定したディレクトリが存在している必要があります。

vtbl 23 HRESULT put_RootPath(LPWSTR folder)

サブディレクトリが作成される基準パスを取得または設定します。(Put)

folderLPWSTRinルートパス(基準フォルダ)を設定する。

解説(Remarks)

このプロパティを既定値から変更する場合は、IDataCollectorSet::Start メソッドを呼び出す前に、指定したディレクトリが存在している必要があります。

vtbl 24 HRESULT get_Segment(VARIANT_BOOL* segment)

データコレクターセットが停止する前に最大サイズまたはセグメントの継続時間に達した場合に、PLA が新しいログを作成するかどうかを示す値を取得または設定します。(Get)

segmentVARIANT_BOOL*out現在のセグメント分割を行うかどうかを受け取るポインタである。

解説(Remarks)

たとえば、現在のログファイルが 100 MB に達したときに新しいログファイルへの書き込みを開始したい場合は、セグメント化を有効にします。新しいログに使用される名前は、IDataCollector::FileNameFormat プロパティによって決まります。

データコレクターセットに関連付けられたタスクは、セグメントが作成されるたびに起動されます。

VARIANT_TRUE の場合、PLA は設定されていれば IDataCollectorSet::SegmentMaxSize プロパティと IDataCollectorSet::SegmentMaxDuration プロパティの両方を使用して、ログをセグメント化するタイミングを判断します。いずれかの制限に達すると、PLA はログをセグメント化します。ログをセグメント化した後、PLA は制限のカウンターをリセットします。

VARIANT_FALSE の場合、PLA は SegmentMaxSizeSegmentMaxDuration を無視します。

vtbl 25 HRESULT put_Segment(VARIANT_BOOL segment)

データコレクターセットが停止する前に最大サイズまたはセグメントの継続時間に達した場合に、PLA が新しいログを作成するかどうかを示す値を取得または設定します。(Put)

segmentVARIANT_BOOLinセグメント分割を行うかどうかを設定する。

解説(Remarks)

たとえば、現在のログファイルが 100 MB に達したときに新しいログファイルへの書き込みを開始したい場合は、セグメント化を有効にします。新しいログに使用される名前は、IDataCollector::FileNameFormat プロパティによって決まります。

データコレクターセットに関連付けられたタスクは、セグメントが作成されるたびに起動されます。

VARIANT_TRUE の場合、PLA は設定されていれば IDataCollectorSet::SegmentMaxSize プロパティと IDataCollectorSet::SegmentMaxDuration プロパティの両方を使用して、ログをセグメント化するタイミングを判断します。いずれかの制限に達すると、PLA はログをセグメント化します。ログをセグメント化した後、PLA は制限のカウンターをリセットします。

VARIANT_FALSE の場合、PLA は SegmentMaxSizeSegmentMaxDuration を無視します。

vtbl 26 HRESULT get_SegmentMaxDuration(DWORD* seconds)

データコレクターセットが新しいログファイルへの書き込みを開始するまでに実行できる継続時間を取得または設定します。(Get)

secondsDWORD*out現在の1 セグメントあたりの最大継続時間(秒)を受け取るポインタである。

解説(Remarks)

このプロパティを有効にするには、IDataCollectorSet::Segment プロパティを有効にする必要があります。

この継続時間は、IDataCollectorSet::Duration または ISchedule::EndDate プロパティよりも短くする必要があります。

vtbl 27 HRESULT put_SegmentMaxDuration(DWORD seconds)

データコレクターセットが新しいログファイルへの書き込みを開始するまでに実行できる継続時間を取得または設定します。(Put)

secondsDWORDin1 セグメントあたりの最大継続時間(秒)を設定する。

解説(Remarks)

このプロパティを有効にするには、IDataCollectorSet::Segment プロパティを有効にする必要があります。

この継続時間は、IDataCollectorSet::Duration または ISchedule::EndDate プロパティよりも短くする必要があります。

vtbl 28 HRESULT get_SegmentMaxSize(DWORD* size)

データコレクターセット内の任意のログファイルの最大サイズを取得または設定します。(Get)

sizeDWORD*out現在の1 セグメントあたりの最大サイズを受け取るポインタである。

解説(Remarks)

IDataCollectorSet::Segment プロパティが有効な場合、最大サイズに達すると、PLA は書き込み先となる新しいログファイルを作成します。

PLA はログファイルのサイズをこの値に制限しようとしますが、実際のログファイルのサイズはこの値よりわずかに大きくなる場合があります。

vtbl 29 HRESULT put_SegmentMaxSize(DWORD size)

データコレクターセット内の任意のログファイルの最大サイズを取得または設定します。(Put)

sizeDWORDin1 セグメントあたりの最大サイズを設定する。

解説(Remarks)

IDataCollectorSet::Segment プロパティが有効な場合、最大サイズに達すると、PLA は書き込み先となる新しいログファイルを作成します。

PLA はログファイルのサイズをこの値に制限しようとしますが、実際のログファイルのサイズはこの値よりわずかに大きくなる場合があります。

vtbl 30 HRESULT get_SerialNumber(DWORD* index)

このデータコレクターセットが開始された回数(セグメントを含む)を取得または設定します。(Get)

indexDWORD*out現在のシリアル番号(インデックス)を受け取るポインタである。

解説(Remarks)

IDataCollectorSet::SubdirectoryFormat プロパティが plaSerialNumber に設定されている場合に、このプロパティを使用します。

PLA はシリアル番号を使用した後にインクリメントします。

vtbl 31 HRESULT put_SerialNumber(DWORD index)

このデータコレクターセットが開始された回数(セグメントを含む)を取得または設定します。(Put)

indexDWORDinシリアル番号(インデックス)を設定する。

解説(Remarks)

IDataCollectorSet::SubdirectoryFormat プロパティが plaSerialNumber に設定されている場合に、このプロパティを使用します。

PLA はシリアル番号を使用した後にインクリメントします。

vtbl 32 HRESULT get_Server(LPWSTR* server)

データコレクターセットが実行されるサーバーの名前を取得します。

serverLPWSTR*out現在のサーバー名を受け取るポインタである。

解説(Remarks)

名前は、IDataCollectorSet::Commit メソッドを呼び出したときに設定されます。

vtbl 33 HRESULT get_Status(DataCollectorSetStatus* status)

データコレクターセットの状態を取得します。

statusDataCollectorSetStatus*out現在のデータコレクターセットの状態を受け取るポインタである。
vtbl 34 HRESULT get_Subdirectory(LPWSTR* folder)

データコレクターセットの次のインスタンスがログを書き込む、ルートパスの基準サブディレクトリを取得または設定します。(Get)

folderLPWSTR*out現在のサブディレクトリ名を受け取るポインタである。

解説(Remarks)

IDataCollectorSet::SubdirectoryFormat プロパティで書式設定オプションを事前に指定していた場合、実際に使用されるサブディレクトリの名前は異なることがあります。IDataCollectorSet::LatestOutputLocation プロパティには、実際に使用されたフォルダー名が格納されます。

場所が指定されていない場合、ファイルは IDataCollectorSet::RootPath プロパティで指定されたパスに書き込まれます。

PLA は、サブディレクトリパスのフォルダーが存在しない場合はそれらを作成します。フォルダーはルートパスから ACL を継承しないことに注意してください。IDataCollectorSet::UserAccount プロパティで指定されたユーザーと Administrators グループのユーザーは、フォルダーに対する読み取りおよび書き込みアクセス権を持ちます。Performance Log Users グループおよび Performance Monitor Users グループのユーザーは、読み取り専用アクセス権を持ちます。

vtbl 35 HRESULT put_Subdirectory(LPWSTR folder)

データコレクターセットの次のインスタンスがログを書き込む、ルートパスの基準サブディレクトリを取得または設定します。(Put)

folderLPWSTRinサブディレクトリ名を設定する。

解説(Remarks)

IDataCollectorSet::SubdirectoryFormat プロパティで書式設定オプションを事前に指定していた場合、実際に使用されるサブディレクトリの名前は異なることがあります。IDataCollectorSet::LatestOutputLocation プロパティには、実際に使用されたフォルダー名が格納されます。

場所が指定されていない場合、ファイルは IDataCollectorSet::RootPath プロパティで指定されたパスに書き込まれます。

PLA は、サブディレクトリパスのフォルダーが存在しない場合はそれらを作成します。フォルダーはルートパスから ACL を継承しないことに注意してください。IDataCollectorSet::UserAccount プロパティで指定されたユーザーと Administrators グループのユーザーは、フォルダーに対する読み取りおよび書き込みアクセス権を持ちます。Performance Log Users グループおよび Performance Monitor Users グループのユーザーは、読み取り専用アクセス権を持ちます。

vtbl 36 HRESULT get_SubdirectoryFormat(AutoPathFormat* format)

サブディレクトリ名を装飾する方法を示すフラグを取得または設定します。(Get)

formatAutoPathFormat*out現在のサブディレクトリ名の自動生成形式を受け取るポインタである。

解説(Remarks)

PLA は装飾をフォルダー名に付加します。たとえば、plaMonthDayHour を指定すると、PLA は現在の月、日、時の値をフォルダー名に付加します。フォルダー名が MyFile の場合、結果は MyFile110816 のようになります。

vtbl 37 HRESULT put_SubdirectoryFormat(AutoPathFormat format)

サブディレクトリ名を装飾する方法を示すフラグを取得または設定します。(Put)

formatAutoPathFormatinサブディレクトリ名の自動生成形式を設定する。

解説(Remarks)

PLA は装飾をフォルダー名に付加します。たとえば、plaMonthDayHour を指定すると、PLA は現在の月、日、時の値をフォルダー名に付加します。フォルダー名が MyFile の場合、結果は MyFile110816 のようになります。

vtbl 38 HRESULT get_SubdirectoryFormatPattern(LPWSTR* pattern)

フォルダー名を装飾するときに使用する書式パターンを取得または設定します。(Get)

patternLPWSTR*out現在のサブディレクトリ名の生成パターンを受け取るポインタである。

解説(Remarks)

IDataCollectorSet::SubdirectoryFormat プロパティが plaPattern に設定されている場合にのみ、PLA はこのパターンを使用します。

ファイル名に付加する独自のパターンを定義するには、次のパターン文字を使用します。たとえば、パターン "MMMM d, yyyy \a\t h:mmTt" は "January 31, 2005 at 4:20AM" のようになります。

パターン 説明
D 年間通算日。
DDD 年間通算日(必要に応じて先頭にゼロを付加)。
d 日(月内)。
dd 日(月内。必要に応じて先頭にゼロを付加)。
ddd 曜日の省略名(例: 火曜日は Tue)。
dddd 曜日の正式名。
M 月。
MM 月(必要に応じて先頭にゼロを付加)。
MMM 月の省略名(例: 1 月は Jan)。
MMMM 月の正式名。
y 世紀を含まない年。
yy 世紀を含まない年(必要に応じて先頭にゼロを付加)。
yyyy 世紀を含む年。
h 12 時間制の時。
hh 12 時間制の時(必要に応じて先頭にゼロを付加)。
H 24 時間制の時。
HH 24 時間制の時(必要に応じて先頭にゼロを付加)。
m 分。
mm 分(必要に応じて先頭にゼロを付加)。
S 秒。
Ss 秒(必要に応じて先頭にゼロを付加)。
T A.M./P.M. 指定子の最初の文字。
Tt A.M./P.M. 指定子。
Z タイムゾーンのオフセット。
Zz タイムゾーンのオフセット(必要に応じて先頭にゼロを付加)。
N シリアル番号。先頭のゼロの数は文字数によって定義されます。たとえば、シリアル番号が 32 でパターンが NNN の場合、使用されるシリアル番号は 032 になります。
\c エスケープ文字。c は任意の文字です。エスケープされていない、認識できない文字(空白を除く)はエラーになります。
vtbl 39 HRESULT put_SubdirectoryFormatPattern(LPWSTR pattern)

フォルダー名を装飾するときに使用する書式パターンを取得または設定します。(Put)

patternLPWSTRinサブディレクトリ名の生成パターンを設定する。

解説(Remarks)

IDataCollectorSet::SubdirectoryFormat プロパティが plaPattern に設定されている場合にのみ、PLA はこのパターンを使用します。

ファイル名に付加する独自のパターンを定義するには、次のパターン文字を使用します。たとえば、パターン "MMMM d, yyyy \a\t h:mmTt" は "January 31, 2005 at 4:20AM" のようになります。

パターン 説明
D 年間通算日。
DDD 年間通算日(必要に応じて先頭にゼロを付加)。
d 日(月内)。
dd 日(月内。必要に応じて先頭にゼロを付加)。
ddd 曜日の省略名(例: 火曜日は Tue)。
dddd 曜日の正式名。
M 月。
MM 月(必要に応じて先頭にゼロを付加)。
MMM 月の省略名(例: 1 月は Jan)。
MMMM 月の正式名。
y 世紀を含まない年。
yy 世紀を含まない年(必要に応じて先頭にゼロを付加)。
yyyy 世紀を含む年。
h 12 時間制の時。
hh 12 時間制の時(必要に応じて先頭にゼロを付加)。
H 24 時間制の時。
HH 24 時間制の時(必要に応じて先頭にゼロを付加)。
m 分。
mm 分(必要に応じて先頭にゼロを付加)。
S 秒。
Ss 秒(必要に応じて先頭にゼロを付加)。
T A.M./P.M. 指定子の最初の文字。
Tt A.M./P.M. 指定子。
Z タイムゾーンのオフセット。
Zz タイムゾーンのオフセット(必要に応じて先頭にゼロを付加)。
N シリアル番号。先頭のゼロの数は文字数によって定義されます。たとえば、シリアル番号が 32 でパターンが NNN の場合、使用されるシリアル番号は 032 になります。
\c エスケープ文字。c は任意の文字です。エスケープされていない、認識できない文字(空白を除く)はエラーになります。
vtbl 40 HRESULT get_Task(LPWSTR* task)

データコレクターセットが停止するたびに(セグメント間を含む)開始するタスクスケジューラジョブの名前を取得または設定します。(Get)

taskLPWSTR*out現在の完了時に実行するタスクを受け取るポインタである。

解説(Remarks)

タスクのコマンドライン引数を指定するには、IDataCollectorSet::TaskArguments および IDataCollectorSet::TaskUserTextArguments を参照してください。

PLA がデータを収集しているディレクトリでタスクを開始するには、タスクの Start in フィールドを $(Arg1) に設定します。

vtbl 41 HRESULT put_Task(LPWSTR task)

データコレクターセットが停止するたびに(セグメント間を含む)開始するタスクスケジューラジョブの名前を取得または設定します。(Put)

taskLPWSTRin完了時に実行するタスクを設定する。

解説(Remarks)

タスクのコマンドライン引数を指定するには、IDataCollectorSet::TaskArguments および IDataCollectorSet::TaskUserTextArguments を参照してください。

PLA がデータを収集しているディレクトリでタスクを開始するには、タスクの Start in フィールドを $(Arg1) に設定します。

vtbl 42 HRESULT get_TaskRunAsSelf(VARIANT_BOOL* RunAsSelf)

タスクをデータコレクターセットのユーザーとして実行するか、タスクで指定されたユーザーとして実行するかを決定する値を取得または設定します。(IDataCollectorSet.get_TaskRunAsSelf)

RunAsSelfVARIANT_BOOL*out現在のタスクを自身の資格情報で実行するかどうかを受け取るポインタである。
vtbl 43 HRESULT put_TaskRunAsSelf(VARIANT_BOOL RunAsSelf)

タスクをデータコレクターセットのユーザーとして実行するか、タスクで指定されたユーザーとして実行するかを決定する値を取得または設定します。(IDataCollectorSet.put_TaskRunAsSelf)

RunAsSelfVARIANT_BOOLinタスクを自身の資格情報で実行するかどうかを設定する。
vtbl 44 HRESULT get_TaskArguments(LPWSTR* task)

IDataCollectorSet::Task プロパティで指定されたタスクスケジューラジョブに渡すコマンドライン引数を取得または設定します。(Get)

taskLPWSTR*out現在のタスクに渡す引数を受け取るポインタである。

解説(Remarks)

PLA には、引数文字列に含めることができる次の置換変数が用意されています。タスクがトリガーされると、PLA が置換変数の値を提供します。中かっこはエスケープする必要があります(例: {name})。

変数 説明
{key} IDataCollectorSet::SetValue メソッドを使用して指定されたキー値の、スペース区切りの一覧。
{logs} 現在のデータコレクターファイルへのフルパスの、スペース区切りの一覧。
{state} セットが実行中かどうかを示します(実行中は 1、停止中は 0)。
{usertext} IDataCollectorSet::TaskUserTextArguments プロパティの文字列。

通常、置換変数を使用する場合は、中かっこをエスケープする必要のない TaskUserTextArguments でそれらを指定し、このプロパティでは {usertext} を指定します。

vtbl 45 HRESULT put_TaskArguments(LPWSTR task)

IDataCollectorSet::Task プロパティで指定されたタスクスケジューラジョブに渡すコマンドライン引数を取得または設定します。(Put)

taskLPWSTRinタスクに渡す引数を設定する。

解説(Remarks)

PLA には、引数文字列に含めることができる次の置換変数が用意されています。タスクがトリガーされると、PLA が置換変数の値を提供します。中かっこはエスケープする必要があります(例: {name})。

変数 説明
{key} IDataCollectorSet::SetValue メソッドを使用して指定されたキー値の、スペース区切りの一覧。
{logs} 現在のデータコレクターファイルへのフルパスの、スペース区切りの一覧。
{state} セットが実行中かどうかを示します(実行中は 1、停止中は 0)。
{usertext} IDataCollectorSet::TaskUserTextArguments プロパティの文字列。

通常、置換変数を使用する場合は、中かっこをエスケープする必要のない TaskUserTextArguments でそれらを指定し、このプロパティでは {usertext} を指定します。

vtbl 46 HRESULT get_TaskUserTextArguments(LPWSTR* UserText)

IDataCollectorSet::TaskArguments プロパティ内の {usertext} 置換変数に置き換えられるコマンドライン引数を取得または設定します。(Get)

UserTextLPWSTR*out現在のタスクに渡すユーザー定義テキスト引数を受け取るポインタである。

解説(Remarks)

これらの引数は、TaskArguments プロパティに {usertext} 置換変数が含まれている場合にのみ、タスクスケジューラジョブに渡されるコマンドライン引数に含められます。

PLA には、引数文字列に含めることができる次の置換変数が用意されています。タスクがトリガーされると、PLA が置換変数の値を提供します。中かっこはエスケープしません。

変数 説明
{key} IDataCollectorSet::SetValue メソッドを使用して指定されたキー値の、スペース区切りの一覧。
{logs} 現在のデータコレクターファイルへのフルパスの、スペース区切りの一覧。
{state} セットが実行中かどうかを示します(実行中は 1、停止中は 0)。
vtbl 47 HRESULT put_TaskUserTextArguments(LPWSTR UserText)

IDataCollectorSet::TaskArguments プロパティ内の {usertext} 置換変数に置き換えられるコマンドライン引数を取得または設定します。(Put)

UserTextLPWSTRinタスクに渡すユーザー定義テキスト引数を設定する。

解説(Remarks)

これらの引数は、TaskArguments プロパティに {usertext} 置換変数が含まれている場合にのみ、タスクスケジューラジョブに渡されるコマンドライン引数に含められます。

PLA には、引数文字列に含めることができる次の置換変数が用意されています。タスクがトリガーされると、PLA が置換変数の値を提供します。中かっこはエスケープしません。

変数 説明
{key} IDataCollectorSet::SetValue メソッドを使用して指定されたキー値の、スペース区切りの一覧。
{logs} 現在のデータコレクターファイルへのフルパスの、スペース区切りの一覧。
{state} セットが実行中かどうかを示します(実行中は 1、停止中は 0)。
vtbl 48 HRESULT get_Schedules(IScheduleCollection** ppSchedules)

データコレクターセットがいつ実行されるかを決定するスケジュールの一覧を取得します。

ppSchedulesIScheduleCollection**out現在のスケジュールのコレクションを受け取るポインタである。

解説(Remarks)

データコレクターセットのインスタンスは一度に 1 つしか実行できません。既に 1 つが実行中に 2 つ目が開始しようとすると、2 つ目は失敗し、1 つ目は続行します。

スケジュールを有効にするには、IDataCollectorSet::SchedulesEnabled プロパティを呼び出します。

データコレクターセットを手動で開始するには、IDataCollectorSet::Start メソッドを呼び出します。

vtbl 49 HRESULT get_SchedulesEnabled(VARIANT_BOOL* enabled)

スケジュールが有効かどうかを示す値を取得または設定します。(Get)

enabledVARIANT_BOOL*out現在のスケジュールが有効かどうかを受け取るポインタである。

解説(Remarks)

このプロパティを使用して、スケジュールに基づくデータ収集セットの実行を一時的に中断できます。

vtbl 50 HRESULT put_SchedulesEnabled(VARIANT_BOOL enabled)

スケジュールが有効かどうかを示す値を取得または設定します。(Put)

enabledVARIANT_BOOLinスケジュールが有効かどうかを設定する。

解説(Remarks)

このプロパティを使用して、スケジュールに基づくデータ収集セットの実行を一時的に中断できます。

vtbl 51 HRESULT get_UserAccount(LPWSTR* user)

データコレクターセットが実行されるユーザーアカウントを取得します。

userLPWSTR*out現在の実行に使用するユーザーアカウントを受け取るポインタである。

解説(Remarks)

ユーザー名は、IDataCollectorSet::SetCredentials メソッドを使用して設定されます。

vtbl 52 HRESULT get_Xml(LPWSTR* xml)

データコレクターセットのプロパティの値(セットに含まれるデータコレクターのプロパティを含む)を記述する XML 文字列を取得します。

xmlLPWSTR*out現在のXML 表現を受け取るポインタである。

解説(Remarks)

XML 文字列に含まれるプロパティ要素の詳細については、IDataCollectorSet の「解説」セクションと個々のデータコレクターを参照してください。

vtbl 53 HRESULT get_Security(LPWSTR* pbstrSecurity)

このデータコレクターセットにアクセスできるユーザーを決定するアクセス制御情報を取得または設定します。(Get)

pbstrSecurityLPWSTR*out現在のセキュリティ記述子(SDDL)を受け取るポインタである。

解説(Remarks)

既定では、ユーザーは完全な特権を持ち、Administrators グループは読み取り、書き込み、実行の特権を持ち、Performance Log Users グループは読み取りおよび実行の特権を持ちます。

vtbl 54 HRESULT put_Security(LPWSTR bstrSecurity)

このデータコレクターセットにアクセスできるユーザーを決定するアクセス制御情報を取得または設定します。(Put)

bstrSecurityLPWSTRin設定するセキュリティ記述子(SDDL)を指定する。

解説(Remarks)

既定では、ユーザーは完全な特権を持ち、Administrators グループは読み取り、書き込み、実行の特権を持ち、Performance Log Users グループは読み取りおよび実行の特権を持ちます。

vtbl 55 HRESULT get_StopOnCompletion(VARIANT_BOOL* Stop)

セット内のすべてのデータコレクターが完了状態になったときにデータコレクターセットを停止するかどうかを決定する値を取得または設定します。(Get)

StopVARIANT_BOOL*out現在の完了時に自動停止するかどうかを受け取るポインタである。

解説(Remarks)

データコレクターセットは、セット内のすべてのデータコレクターが完了した後にのみ停止します。次の表は、各データコレクターがいつ完了するかを示しています。

コレクター 完了する条件
Configuration すべての構成情報が収集されたとき。
Performance Counter and Event Tracing セグメントの継続時間セグメントのサイズの両方が 0 の場合は直ちに完了します。それ以外の場合、セグメントの継続時間またはセグメントのサイズのいずれかが指定されていると、いずれかのセグメント条件が満たされた後にのみセットが完了します。Performance Counter については、レコードの最大数のセグメントも考慮されます。
Alert and API Tracing 直ちに完了します。
vtbl 56 HRESULT put_StopOnCompletion(VARIANT_BOOL Stop)

セット内のすべてのデータコレクターが完了状態になったときにデータコレクターセットを停止するかどうかを決定する値を取得または設定します。(Put)

StopVARIANT_BOOLin完了時に自動停止するかどうかを設定する。

解説(Remarks)

データコレクターセットは、セット内のすべてのデータコレクターが完了した後にのみ停止します。次の表は、各データコレクターがいつ完了するかを示しています。

コレクター 完了する条件
Configuration すべての構成情報が収集されたとき。
Performance Counter and Event Tracing セグメントの継続時間セグメントのサイズの両方が 0 の場合は直ちに完了します。それ以外の場合、セグメントの継続時間またはセグメントのサイズのいずれかが指定されていると、いずれかのセグメント条件が満たされた後にのみセットが完了します。Performance Counter については、レコードの最大数のセグメントも考慮されます。
Alert and API Tracing 直ちに完了します。
vtbl 57 HRESULT get_DataManager(IDataManager** DataManager)

このデータコレクターセットに関連付けられたデータマネージャーを取得します。

DataManagerIDataManager**out現在のデータマネージャーを受け取るポインタである。
vtbl 58 HRESULT SetCredentials(LPWSTR user, LPWSTR password)

データコレクターセットが実行されるユーザーアカウントを指定します。

userLPWSTRinデータコレクターセットの実行に使用するユーザーアカウント。ユーザー名は domain\user または user@domain の形式で指定します。
passwordLPWSTRinユーザーアカウントのパスワード。

戻り値

成功した場合、このプロパティは S_OK を返します。

解説(Remarks)

ユーザー資格情報をクリアするには、両方のパラメーターを NULL に設定します。

資格情報を指定しない場合、現在のユーザーが administrator グループのメンバーであれば、PLA はセットを LocalSystem として実行しようとします。

vtbl 59 HRESULT Query(LPWSTR name, LPWSTR server)

指定されたデータコレクターセットを取得します。

nameLPWSTRin取得するデータコレクターセットの名前。名前は大文字と小文字を区別せず、[Namespace]Name の形式です。省略可能な名前空間の詳細については、「解説」を参照してください。
serverLPWSTRinoptionalセットが存在するコンピューター。コンピューター名、完全修飾ドメイン名、または IP アドレス(IPv4 または IPv6 形式)を指定できます。NULL の場合、セットはローカルコンピューターから取得されます。

戻り値

成功した場合は S_OK を返します。次の表に、発生する可能性のあるエラー値を示します。

リターンコード/値 説明
PLA_E_DCS_NOT_FOUND
0x80300002
指定されたデータコレクターセットが見つかりませんでした。
E_NOINTERFACE
0x80300002
データコレクターセットは、空のインスタンス、または同じ名前空間を使用するインスタンスに取得する必要があります。
HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE)
RPC サーバーを利用できません。このメソッドはデータコレクターセットをリモートでクエリできません。Windows Vista を実行しているリモートコンピューターからデータコレクターセットをクエリするには、そのリモートコンピューターの Windows ファイアウォールの設定で Performance Logs and Alerts を有効にします。
HRESULT_FROM_WIN32(ERROR_BAD_NETPATH)
リモートコンピューターが見つかりません。

解説(Remarks)

取得したデータコレクターセットの内容は、このインスタンスの内容を上書きします。インスタンスは空(新規作成)であるか、同じ名前空間のものである必要があります。

セットを保存するために IDataCollectorSet::Commit メソッドを呼び出したときに指定したのと同じ name および server パラメーター値を指定します。

name パラメーターには省略可能な名前空間を含めることができますが、常に名前空間を指定する必要があります。名前空間を指定しない場合、PLA は Windows Vista を実行しているコンピューターでは "Service"、Windows Vista より前のオペレーティングシステムを実行しているコンピューターでは "Legacy" を使用します。次の表に、指定可能な名前空間の値を示します。

名前空間 説明
Autosession ETW AutoLogger セッションを含みます。コレクターはコンピューターの起動時に開始し、停止できず、状態は未定義です。
Legacy Service と同じですが、Windows Vista より前のオペレーティングシステムを実行しているコンピューター上のものです。
Service ユーザーが作成したすべてのデータコレクターセットを含みます。これらのセットはスケジュール設定でき、任意のユーザーとして実行するように設定できます(ユーザーにはバッチログオンアカウント権利が必要です)。資格情報を指定しない場合、セットは(ユーザーが管理者であれば)LocalSystem として実行されます。
Session Event Tracing for Windows(ETW)トレースセッションを含みます。これらのセットはスケジュール設定できません。この名前空間を使用する場合、セットにはデータコレクターが 1 つだけ含まれ、それはトレースデータコレクターである必要があります。
System スケジュール設定できない読み取り専用のデータコレクターセットを含みます。ただし、これらのセットは手動で開始できます。資格情報を指定しない場合、セットは現在のユーザーとして実行されます。

Windows Vista より前のオペレーティングシステムを実行しているコンピューターでは、Legacy 名前空間の代わりに Service 名前空間を使用できることに注意してください。

コンピューター上のコミット済みのすべてのセットをクエリするには、IDataCollectorSetCollection::GetDataCollectorSets メソッドを呼び出します。

vtbl 60 HRESULT Commit(LPWSTR name, LPWSTR server, CommitMode mode, IValueMap** validation)

データコレクターセットを保存、更新、または検証します。このメソッドを使用して、トレースセッションをフラッシュすることもできます。

nameLPWSTRinデータコレクターセットを保存するために使用する一意の名前。名前は [Namespace]Name の形式です。詳細については、「解説」を参照してください。
serverLPWSTRinoptionalセットを保存するコンピューター。コンピューター名、完全修飾ドメイン名、または IP アドレス(IPv4 または IPv6 形式)を指定できます。NULL の場合、セットはローカルコンピューターに保存されます。
modeCommitModeinデータコレクターセットを保存、更新、フラッシュ、または検証するかどうかを示します。指定可能な値については、CommitMode 列挙型を参照してください。
validationIValueMap**out値が有効でない、または無視される各プロパティの検証エラーを取得するために使用する IValueMap インターフェイス。エラーや警告がなかった場合、IValueMap::Count プロパティは 0 になります。

戻り値

メソッドの呼び出しが成功した場合は S_OK を返します。値マップにエラーがないか確認する必要があります(「解説」を参照)。メソッドが S_OK を返し、検証エラーがない場合、セットは正常にコミットされています。次の表に、このメソッドを呼び出したときに発生する可能性のあるエラー値を示します。

リターンコード/値 説明
E_ACCESSDENIED
ユーザーは管理者として実行している必要があります。
E_NOINTERFACE
指定された名前空間はサポートされていません(たとえば、Windows Vista より前のオペレーティングシステムを実行しているコンピューターでデータコレクターセットをコミットするときに System 名前空間を指定した場合など)。
HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE)
RPC サーバーを利用できません。このメソッドはデータコレクターセットをリモートで保存できません。Windows Vista を実行しているコンピューターにリモートでコミットするには、そのリモートコンピューターの Windows ファイアウォールの設定で Performance Logs and Alerts を有効にします。
PLA_E_DCS_ALREADY_EXISTS
0x803000B7
新しいセットをコミットしようとしていますが、指定された名前のセットが既に存在します。

解説(Remarks)

セットを保存する場合は、セットを取得するために IDataCollectorSet::Query メソッドを呼び出すときに、指定した name および server パラメーター値を使用します。

name パラメーターには省略可能な名前空間を含めることができますが、常に名前空間を指定する必要があります。名前空間を指定しない場合、PLA は Windows Vista を実行しているコンピューターでは "Service"、Windows Vista より前のオペレーティングシステムを実行しているコンピューターでは "Legacy" を使用します。次の表に、指定可能な名前空間の値を示します。

名前空間 説明
Autosession ETW AutoLogger セッションを含みます。コレクターはコンピューターの起動時に開始し、停止できず、状態は未定義です。
Legacy Service と同じですが、Windows Vista より前のオペレーティングシステムを実行しているコンピューター上のものです。
Service ユーザーが作成したすべてのデータコレクターセットを含みます。これらのセットはスケジュール設定でき、任意のユーザーとして実行するように設定できます。ユーザーには バッチジョブとしてログオン のアカウント権利が必要です(管理ツール、ローカルセキュリティポリシー、ローカルポリシー、ユーザー権利の割り当てを参照)。資格情報を指定しない場合、セットは(ユーザーが管理者であれば)LocalSystem として実行されます。
Session Event Tracing for Windows(ETW)トレースセッションを含みます。これらのセットはスケジュール設定できません。この名前空間を使用する場合、セットにはデータコレクターが 1 つだけ含まれ、それはトレースデータコレクターである必要があります。
System スケジュール設定できない読み取り専用のデータコレクターセットを含みます。ただし、これらのセットは手動で開始できます。資格情報を指定しない場合、セットは現在のユーザーとして実行されます。

Windows Vista より前のオペレーティングシステムを実行しているコンピューターでは、Legacy 名前空間の代わりに Service 名前空間を使用できることに注意してください。

発生した検証エラーを特定するには、値マップコレクション内の各エラーについて IValueMapItem インターフェイスを取得します。IValueMapItem::Key プロパティにはエラーが発生した要素の XPath が格納されます(例: /AlertDataCollector/TaskArguments)。IValueMapItem::Value プロパティには HRESULT 値が格納され、これはエラーまたは警告(成功コード)のいずれかです。IValueMapItem::Description プロパティにはエラーに関連付けられたメッセージテキストが格納されます。

通常、発生するエラーは、値マップコレクション内の次の HRESULT 値のいずれかになります。

エラー 説明
PLA_S_PROPERTY_IGNORED プロパティは使用されません。PLA はこの警告を使用して UI 内の項目を無効にし、プロパティが無視されていることをユーザーに知らせます。
PLA_E_PROPERTY_CONFLICT プロパティが別のプロパティと競合しています。たとえば、LogAppendLogCircular の両方が VARIANT_TRUE になっている場合などです。
vtbl 61 HRESULT Delete()

セットが実行中でない場合に、データコレクターセットの永続化されたコピーを削除します。

戻り値

成功した場合は S_OK を返します。次の表に、発生する可能性のあるエラー値を示します。

リターンコード 説明
HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE)
RPC サーバーを利用できません。このメソッドはデータコレクターセットをリモートで削除できません。Windows Vista を実行しているリモートコンピューター上でデータコレクターセットを削除するには、そのリモートコンピューターの Windows ファイアウォールの設定で Performance Logs and Alerts を有効にします。
vtbl 62 HRESULT Start(VARIANT_BOOL Synchronous)

データコレクターセットを手動で開始します。

SynchronousVARIANT_BOOLin

データ収集は別のプロセスで実行されます。この値によって、メソッドがいつ戻るかが決まります。

データ収集プロセスの開始または開始失敗の後にメソッドを戻すには、VARIANT_TRUE に設定します。戻り値は、セットが正常に開始したか開始に失敗したかを示します。

セットが実行キューに入れられた後に戻すには、VARIANT_FALSE に設定します。戻り値は、セットが正常にキューに入れられたかどうかを示します。詳細については、「解説」を参照してください。

戻り値

成功した場合は S_OK を返します。次の表に、発生する可能性のあるエラー値を示します。

リターンコード 説明
E_INVALIDARG
収集を開始する前に、セットを永続化する必要があります(Commit メソッドを参照)。
HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND)
指定されたパスが見つかりません。このエラーは、RootPath プロパティが存在しないディレクトリを指定している場合に発生します。
HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS)
サブディレクトリまたはログファイルが既に存在します。ファイルを一意に識別する書式を使用してみてください。

解説(Remarks)

収集の状態を確認するには、IDataCollectorSet::Status プロパティにアクセスします。

収集プロセスが完了すると、PLA は有効になっていればデータマネージャーを実行します。

スケジュールに従ってデータ収集を自動的に開始するには、IDataCollectorSet::Schedules を参照してください。

セットを非同期に開始した場合、収集プロセスが開始したか(イベント 1003)、または失敗したか(イベント 1004)を示すイベントが Microsoft-Windows-Diagnosis-PLA/Operational イベントログに書き込まれます。

vtbl 63 HRESULT Stop(VARIANT_BOOL Synchronous)

データコレクターセットを手動で停止します。

SynchronousVARIANT_BOOLin

データ収集は別のプロセスで実行されます。この値によって、メソッドがいつ戻るかが決まります。

データコレクターセットが停止するか停止に失敗した後にメソッドを戻すには、VARIANT_TRUE に設定します。戻り値は、セットが正常に停止したか停止に失敗したかを示します。

メソッドがセットに停止要求を送信した後に戻すには、VARIANT_FALSE に設定します。戻り値は、要求がセットに正常に送信されたかどうかを示します。セットの停止に失敗した場合は、イベントログにイベントが書き込まれます。

戻り値

成功した場合は S_OK を返します。次の表に、発生する可能性のあるエラー値を示します。

リターンコード/値 説明
PLA_E_DCS_NOT_RUNNING
0x80300104
データコレクターセットが実行されていません。

解説(Remarks)

このメソッドは、セットが停止したときに、既に収集されたデータを保存します。

Synchronous パラメーターが VARIANT_TRUE の場合、データ管理と収集後に実行されるタスクが完了するまでメソッドは戻らないことに注意してください。

vtbl 64 HRESULT SetXml(LPWSTR xml, IValueMap** validation)

XML に含まれるプロパティのプロパティ値を設定します。(IDataCollectorSet.SetXml)

xmlLPWSTRin設定するプロパティを含む XML。XML 文字列の指定の詳細については、IDataCollectorSet の「解説」セクションを参照してください。
validationIValueMap**out値が有効でない各プロパティの検証エラーを取得するために使用する IValueMap インターフェイス。エラーがなかった場合、IValueMap::Count プロパティは 0 になります。

戻り値

メソッドの呼び出しが成功した場合は S_OK を返します。値マップにエラーがないか確認する必要があります。メソッドが S_OK を返し、検証エラーがない場合、セットは正常に初期化されています。

解説(Remarks)

XML の構文が有効であれば、1 つ以上のプロパティが無効であっても、この API は S_OK を返します。値が有効なプロパティは設定されます。値が無効なプロパティは既定値に設定されます。

発生したエラーを特定するには、各エラーについて IValueMapItem インターフェイスを取得します。IValueMapItem::Key プロパティにはエラーが発生した要素の XPath が格納され(例: /AlertDataCollector/TaskArguments)、IValueMapItem::Value プロパティにはエラーに関連付けられた HRESULT が格納され、IValueMapItem::Description プロパティにはエラーに関連付けられたメッセージテキストが格納されます。

通常、発生するエラーは次の HRESULT 値のいずれかになります。

エラー 説明
PLA_S_PROPERTY_IGNORED データコレクターに指定されたプロパティが含まれていないため、PLA はそのプロパティ要素を無視しました。
PLA_E_PROPERTY_CONFLICT プロパティが別のプロパティと競合しています。たとえば、LogAppendLogCircular の両方が VARIANT_TRUE になっている場合などです。
vtbl 65 HRESULT SetValue(LPWSTR key, LPWSTR value)

ユーザー定義値を設定します。

keyLPWSTRin値の名前。
valueLPWSTRinキーに関連付けられた値。

戻り値

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

解説(Remarks)

1 つ以上のユーザー定義値を指定できます。現在存在するキーを指定した場合、現在の値は上書きされます。値を削除するには、pValue パラメーターを NULL に設定します。

IDataCollectorSet::TaskArguments プロパティで変数の置換を実行したい場合は、キー値を使用します。

vtbl 66 HRESULT GetValue(LPWSTR key, LPWSTR* value)

ユーザー定義値を取得します。

keyLPWSTRin取得する値のキー。
valueLPWSTR*outキーに関連付けられた値。

戻り値

成功した場合は 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_IDataCollectorSet "{03837520-098B-11D8-9414-505054503030}"
#usecom global IDataCollectorSet IID_IDataCollectorSet "{03837521-098B-11D8-9414-505054503030}"
#comfunc global IDataCollectorSet_get_DataCollectors             7 sptr
#comfunc global IDataCollectorSet_get_Duration                   8 var
#comfunc global IDataCollectorSet_put_Duration                   9 int
#comfunc global IDataCollectorSet_get_Description                10 var
#comfunc global IDataCollectorSet_put_Description                11 wstr
#comfunc global IDataCollectorSet_get_DescriptionUnresolved      12 var
#comfunc global IDataCollectorSet_get_DisplayName                13 var
#comfunc global IDataCollectorSet_put_DisplayName                14 wstr
#comfunc global IDataCollectorSet_get_DisplayNameUnresolved      15 var
#comfunc global IDataCollectorSet_get_Keywords                   16 var
#comfunc global IDataCollectorSet_put_Keywords                   17 var
#comfunc global IDataCollectorSet_get_LatestOutputLocation       18 var
#comfunc global IDataCollectorSet_put_LatestOutputLocation       19 wstr
#comfunc global IDataCollectorSet_get_Name                       20 var
#comfunc global IDataCollectorSet_get_OutputLocation             21 var
#comfunc global IDataCollectorSet_get_RootPath                   22 var
#comfunc global IDataCollectorSet_put_RootPath                   23 wstr
#comfunc global IDataCollectorSet_get_Segment                    24 var
#comfunc global IDataCollectorSet_put_Segment                    25 int
#comfunc global IDataCollectorSet_get_SegmentMaxDuration         26 var
#comfunc global IDataCollectorSet_put_SegmentMaxDuration         27 int
#comfunc global IDataCollectorSet_get_SegmentMaxSize             28 var
#comfunc global IDataCollectorSet_put_SegmentMaxSize             29 int
#comfunc global IDataCollectorSet_get_SerialNumber               30 var
#comfunc global IDataCollectorSet_put_SerialNumber               31 int
#comfunc global IDataCollectorSet_get_Server                     32 var
#comfunc global IDataCollectorSet_get_Status                     33 var
#comfunc global IDataCollectorSet_get_Subdirectory               34 var
#comfunc global IDataCollectorSet_put_Subdirectory               35 wstr
#comfunc global IDataCollectorSet_get_SubdirectoryFormat         36 var
#comfunc global IDataCollectorSet_put_SubdirectoryFormat         37 int
#comfunc global IDataCollectorSet_get_SubdirectoryFormatPattern  38 var
#comfunc global IDataCollectorSet_put_SubdirectoryFormatPattern  39 wstr
#comfunc global IDataCollectorSet_get_Task                       40 var
#comfunc global IDataCollectorSet_put_Task                       41 wstr
#comfunc global IDataCollectorSet_get_TaskRunAsSelf              42 var
#comfunc global IDataCollectorSet_put_TaskRunAsSelf              43 int
#comfunc global IDataCollectorSet_get_TaskArguments              44 var
#comfunc global IDataCollectorSet_put_TaskArguments              45 wstr
#comfunc global IDataCollectorSet_get_TaskUserTextArguments      46 var
#comfunc global IDataCollectorSet_put_TaskUserTextArguments      47 wstr
#comfunc global IDataCollectorSet_get_Schedules                  48 sptr
#comfunc global IDataCollectorSet_get_SchedulesEnabled           49 var
#comfunc global IDataCollectorSet_put_SchedulesEnabled           50 int
#comfunc global IDataCollectorSet_get_UserAccount                51 var
#comfunc global IDataCollectorSet_get_Xml                        52 var
#comfunc global IDataCollectorSet_get_Security                   53 var
#comfunc global IDataCollectorSet_put_Security                   54 wstr
#comfunc global IDataCollectorSet_get_StopOnCompletion           55 var
#comfunc global IDataCollectorSet_put_StopOnCompletion           56 int
#comfunc global IDataCollectorSet_get_DataManager                57 sptr
#comfunc global IDataCollectorSet_SetCredentials                 58 wstr,wstr
#comfunc global IDataCollectorSet_Query                          59 wstr,wstr
#comfunc global IDataCollectorSet_Commit                         60 wstr,wstr,int,sptr
#comfunc global IDataCollectorSet_Delete                         61
#comfunc global IDataCollectorSet_Start                          62 int
#comfunc global IDataCollectorSet_Stop                           63 int
#comfunc global IDataCollectorSet_SetXml                         64 wstr,sptr
#comfunc global IDataCollectorSet_SetValue                       65 wstr,wstr
#comfunc global IDataCollectorSet_GetValue                       66 wstr,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。