次の方法で共有


目的領域ファイルを作成する

目的領域ファイルは、以下のノードを含む有効な XML ファイルです。

  • InstrumentationManifest

  • インストルメンテーション

  • リージョン

  • RegionsRoot。定義されているすべてのリージョンのコンテナー

  • 1 つまたは複数のリージョン ノード

Note

地域の定義では、XML 宣言の version 属性 (version='1.0' など) は省略可能です。

単純な領域を定義する、完全な目的領域ファイルの例を次に示します。 Region 内の属性とノードについては、この例の後に説明します。

<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<?Copyright (c) Microsoft Corporation. All rights reserved.?>
<InstrumentationManifest>
   <Instrumentation>
      <Regions>
         <RegionRoot Guid="{EFA7A927-BAE3-48F6-92E1-000000000000}"
                     Name="Sample Region File Root"
                     FriendlyName="Root">
            <Region Guid="{d8d639a0-cf4c-45fb-976a-000111000100}"
                    Name="FastStartup-Suspend-UserSession-Shutdown"
                    FriendlyName="User Session Shutdown">
               <Start>
                  <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="301" Version="0" />
               </Start>
               <Stop>
                  <Event Provider="{331c3b3a-2005-44c2-ac5e-77220c37d6b4}" Id="22" Version="0" />
               </Stop>
            </Region>
         </RegionRoot>
      </Regions>
   </Instrumentation>
</InstrumentationManifest>

領域の定義

領域の定義には、Region ノードの次の属性が含まれています。

  • Guid (必須)。領域の GUID。

  • Name (必須)。領域の一意の名前。 Name に推奨される形式は Root-GrandparentName-ParentName-RegionName です。

  • FriendlyName (省略可能)。領域の代替名。

領域の種類

領域の開始方法と停止方法に基づいて、次の種類の領域を作成できます。

イベントに基づく領域

最も一般的な種類の領域は、開始点と停止点がイベントによって定義されているものです。

イベントを開始点または停止点として指定するには、次の属性を指定する必要があります。

  • Provider。イベントのプロバイダー ID を指定する GUID。

  • Id。イベントの ID を指定する unsigned short。

  • Version。イベントのバージョンを指定する unsigned char。

さらに、1 つ以上の PayloadIdentifier ノードを追加して、定義をさらに詳細に設定することができます。 これらのタグには、イベントに含まる必要のあるフィールドを指定する FieldName および FieldValue という 2 つの文字列属性が含まれています。 PayloadIdentifier タグの詳細については、「ペイロードフィールドを使用したイベントの識別」で説明されています。

この種類の領域の基本的な例を次に示します。

<Region Guid="{d8d639a0-cf4c-45fb-976a-000111000100}"
        Name="FastStartup-Suspend-UserSession-Shutdown"
        FriendlyName="User Session Shutdown">
   <Start>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="301" Version="0" />
   </Start>
   <Stop>
      <Event Provider="{331c3b3a-2005-44c2-ac5e-77220c37d6b4}" Id="22" Version="0" />
   </Stop>
</Region>

次の例では、指定されたイベントに Stop という値を持つ StartOrStop という名前のフィールドが含まれている場合にのみ、領域が終了します。

<Region Guid="{d8d639a0-cf4c-45fb-976a-000111000100}"
        Name="FastStartup-Suspend-UserSession-Shutdown"
        FriendlyName="User Session Shutdown">
   <Start>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="301" Version="0" />
   </Start>
   <Stop>
      <Event Provider="{331c3b3a-2005-44c2-ac5e-77220c37d6b4}" Id="22" Version="0" />
      <PayloadIdentifier FieldName="StartOrStop" FieldValue="Stop" />
   </Stop>
</Region>

期間に基づく領域

多くの ETW イベントは、duration ペイロード フィールドを持つ 1 つの停止イベントとして定義されます。 開始点を計算するには、stop イベント時間から duration を減算します。

Duration タグを Start タグまたは Stop タグ内で使用して、duration 情報の取得元となるペイロード フィールドを指定できます。 開始点に対して期間を定義すると、その期間が停止点から減算されます。 同様に、停止点に対して期間を定義すると、その期間が開始点に加算されます。

Duration ノードは次の属性を持つことができます。

  • Provider。ペイロード フィールドを含むイベントのプロバイダー ID を指定する GUID。

  • Id。ペイロード フィールドを含むイベントの ID を指定する unsigned short。

  • Version。ペイロード フィールドを含むイベントのバージョンを指定する unsigned char。

  • Duration。ペイロード フィールドの名前を指定する文字列。

  • Multiplier。 WPA では、期間をナノ秒単位にする必要があります。 既定の乗数は 1000000 (100 万) で、ミリ秒からナノ秒に変換されます。

開始点に対して期間を定義すると、その期間が停止点から減算されます。 同様に、停止点に対して期間を定義すると、その期間が開始点に加算されます。

次の例では、別の領域が開始すると停止する領域を定義します。 開始点を計算するために、停止点から期間を減算します。 期間は、HiberHiberFileTime ペイロード フィールドにあります。 次に、期間を 1,000,000 で乗算してナノ秒に変換し、停止点からそれを減算します。

<Region Guid="{7D6BA3F6-BC04-4776-8A7F-93CF7F4E2B6D}"
   Name="FastStartup-Suspend-WriteHiberFile"
   FriendlyName="Subscribers for Create Session">
   <Region Guid="{93783B2C-A67F-49cb-89BC-BF305D7E2CEA}"
         Name="FastStartup-Suspend-Winlogon-CreateSession-Subscribers-Child"
         FriendlyName="Hiberfile Write">
      <Start>
         <Duration Provider="{331c3b3a-2005-44c2-ac53-77220c37d6b4}" 
                   Id="117"
                   Version="0"
                   Duration="HiberHiberFileTime"
                   Multiplier="1000000" />
      </Start>
      <Stop>
         <Region RegionGuid="{EC1BB2D9-4AA8-4d82-84AA-6042FF4CFBE3}" />
      </Stop>
   </Region>
</Region>

その他の領域に基づく領域

Start ノードまたは Stop ノード内の Region ノードを使用して、他の領域によって開始点と停止点が定義されている領域を定義できます。 この Region ノードには、ターゲット領域の GUID を指定する 1 つの必須属性 RegionGuid があります。

既定では、開始点が別の領域に基づいている領域は、開始点の領域が停止すると開始されます。 同様に、停止点が別の領域に基づいている領域は、停止点の領域が開始すると停止します。 この既定の動作は、オプションの属性 Endpoint を Region ノードに追加することでオーバーライドできます。 Endpoint には、Start または Stop の値を指定することができ、これにより、開始イベントまたは停止イベントに使用する領域のエンドポイントが指定されます。

次の領域定義には、他の領域によって定義されている開始点と停止点が含まれています。

<Region Guid="{93783B2C-A67F-49cb-89BC-BF305D7E2CEA}"
        Name="FastStartup-Suspend-HiberInitTime"
        FriendlyName="Hiberfile Initialization">
   <Start>
      <Region RegionGuid="{5E81D74C-0CCC-43f9-8119-953F827BCD12}" />
   </Start>
   <Stop>
      <Region RegionGuid="{7D6BA3F6-BC04-4776-8A7F-93CF7F4E2B6D}" />
   </Stop>
</Region>

他の領域のコンテナーである領域

他の領域を含む領域、コンテナーと呼ばれます。 コンテナーは、含まれている領域の最初のインスタンスが開始すると開始され、最後のインスタンスが停止すると停止します。 これらの領域には、その他の属性はありません。

RegionRoot は、定義するすべての領域のコンテナーです。 そのため、RegionRoot は領域の最初のインスタンスが開始すると開始し、領域の最後のインスタンスが停止すると停止します。

コンテナー領域を定義するには、開始点も停止点も含まない領域を定義するだけです。

次の例では、Subscribers for Create SessionChild of Subscribers of Create Session のコンテナーです。 Subscribers for Create Session には開始点も停止点もないことがわかります。 子領域の最初のインスタンスが開始すると開始し、子領域の最後のインスタンスが停止すると停止します。

<Region Guid="{A75D8F5D-E8F8-40b8-B453-5CC70DEAC06F}"
   Name="FastStartup-Suspend-Winlogon-CreateSession-Subscribers"
   FriendlyName="Subscribers for Create Session">
   <Region Guid="{93783B2C-A67F-49cb-89BC-BF305D7E2CEA}"
           Name="FastStartup-Suspend-Winlogon-CreateSession-Subscribers-Child"
           FriendlyName="Child of Subscribers for Create Session">
      <Start>
         <Region RegionGuid="{5E81D74C-0CCC-43f9-8119-953F827BCD12}" />
      </Start>
      <Stop>
         <Region RegionGuid="{7D6BA3F6-BC04-4776-8A7F-93CF7F4E2B6D}" 
                 Endpoint="Stop" />
      </Stop>
   </Region>
</Region>

ペイロード フィールドを使用したイベントの識別

多くの場合、イベント ID プロパティ (プロセス ID、スレッド ID、アクティビティ ID) は、特定のシナリオを特定するのに十分ではありません。 たとえば、サービスが開始されると、どのサービスが開始されたかを特定できない汎用イベントが発生します。 これが生じると、ペイロード フィールドを利用して追加情報を得る必要があります。 この場合、追加のフィールドの 1 つにサービス名が含まれている必要があります。 この情報を使用して、領域の開始点と停止点をさらに指定できます。

追加のイベント識別子としてペイロード フィールドを使用するには、1 つ以上の PayloadIdentifier ノードを Start ノードまたは Stop ノードに追加します。

PayloadIdentifier ノードには、次の属性があります。

  • FieldName (必須)。ペイロード フィールドの名前です。

  • FieldValue (必須)。ペイロードの値です。

  • FieldValueRelationship (省略可能)。 イベントにペイロード値が含まれている必要があるように指定するには、IsEqual を使用します。 イベントにペイロード値が含まれてはならないように指定するには、DoesNotContain を使用します。 この属性が指定されていない場合、既定値は IsEqual です。

Note

ペイロード フィールドでは大文字と小文字が区別され、XML 定義はペイロードの値と完全に一致する必要があります。 たとえば、ペイロード フィールドの値が 00000 の場合、領域定義もペイロード値として 00000 を指定する必要があります。

次の例には、開始点と停止点の両方に対して PayloadIdentifier ノードが含まれています。

<Region Guid="{AB719FB1-D863-4305-AE8E-F21281899A85}"
        Name="FastStartup-ConsoleSessionDisconnect"
        FriendlyName="Console Session Disconnect">
   <Start>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="801" Version="0" />
      <PayloadIdentifier FieldName="Event" FieldValue="8" />
      <PayloadIdentifier FieldName="Key" FieldValue="00000" />
   </Start>
   <Stop>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="802" Version="0" />
      <PayloadIdentifier FieldName="Event"
                         FieldValue="20"
                         FieldValueRelationship="DoesNotContain" />
   </Stop>
</Region>

領域のイベント照合

WPA は、開始イベントと停止イベントを照合して、イベント照合と呼ばれるプロセスで領域を形成します。 イベント レベルでは、WPA は、プロバイダー ID、イベント ID、イベントのバージョン、およびその他の指定されたペイロード フィールドに基づいて、1 つの開始イベントまたは停止イベントの照合を試みます。

また、照合は、開始点と停止点の両方で満たす必要がある条件を指定できる領域レベルまで拡張することもできます。 リージョン レベルでは、両方の点に一致するスレッド ID、プロセス ID、およびアクティビティ ID があることを要求できます。 さらに、領域レベルでペイロードの条件を定義することもできます。

Region ノード内に Match ノードを含めることで、領域レベルの照合を使用できます。 Match ノードには子ノードである Event が含まれており、次の属性を任意に組み合わせて使用できます。

  • TID="true" – スレッド ID の照合に必要です

  • PID="true" – プロセス ID の照合に必要です

  • AID="true" – アクティビティ ID の照合に必要です

Event ノードには、FieldName 属性が含まれるオプションの Payload 子ノードを含めることができます。 このノードでは、開始ノードと停止ノードの両方に、指定された FieldName の一致するペイロード値が含まれている必要があります。

あるいは、Payload ノードにオプションの属性 TargetFieldName を含めることもできます。 この属性が指定されている場合、FieldName は開始ノードでのみペイロード フィールドに対応し、TargetFieldName は停止ノードでペイロード フィールドに対応します。

次の例では、停止ノードのペイロード フィールド Client と値が一致するペイロード フィールド SubscriberName が開始イベントに含まれている場合に、領域を形成します。 開始イベントと停止イベントは、スレッド ID も一致している必要があります。

<Region Guid="{A75D8F5D-E8F8-40b8-B453-5CCC70DEAC06F}"
        Name="FastStartup-Suspend-Winlogon-CreateSession-Subscribers"
        FriendlyName="Subscribers for Create Session">
   <Start>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="805" Version="0" />
      <PayloadIdentifier FieldName="Event" FieldValue="0" />
   </Start>
   <Stop>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="806" Version="0" />
      <PayloadIdentifier FieldName="Event" FieldValue="0" />
   </Stop>
   <Match>
      <Event TID="true">
         <Payload FieldName="SubscriberName" TargetFieldName="Client" />
      </Event>
   </Match>
</Region>

条件に基づいた領域のフィルター処理

WPA では、条件、つまり、トリガーに基づいて領域を含めたり、除外したりすることができます。トリガーはイベントまたは別の領域にすることができます。 トリガーは Filter 要素に指定され、Filter を含む領域が target になります。

トリガーが領域である場合、Filter にはその領域の ID が含まれている必要があります。

トリガーがイベントである場合、Filter には、ETW プロバイダーの ProviderId が指定された Event 要素と、IdVersionOpCode、および Type 属性の中から 1 つ以上の属性が含まれている必要があります。

IdVersion については、前の「領域の種類」で説明しています。 OpCode には、任意の値を選択できます。 Type は、次の表に示されている条件に基づいて、ターゲット領域を含めるか除外するようにフィルター処理を行うモードを指定します。

フィルターの種類 説明
アウト トリガー イベントまたはトリガー領域が見つかったときに、ターゲット領域を除外します。
OutPost 直近のトリガー イベントまたはトリガー領域の後にターゲット領域が発生した場合、そのターゲット領域を除外します。
OutPrev 最初のトリガー イベントまたはトリガー領域の前にターゲット領域が発生した場合、そのターゲット領域を除外します。
/ トリガー イベントまたはトリガー領域が見つかったときにのみ、ターゲット領域を含めます。
InPost 直近のトリガー イベントまたはトリガー領域の後にターゲット領域が発生した場合にのみ、そのターゲット領域を含めます。
InPrev 最初のトリガー イベントまたはトリガー領域の前にターゲット領域が発生した場合にのみ、そのターゲット領域を含めます。

親子関係

別の領域内に領域を定義し、親と子の関係を作成できます。 領域を親にするには、その領域の開始時間が、子領域の開始時間以前である必要があります。 また、親領域の停止時間は、子領域の停止時間以降である必要もあります。 これらの条件が満たされていない場合、親子関係を形成することはできません。

親領域に対して追加条件を指定するには、Match ノード内の Parent ノードを使用します。 Parent ノードには、領域レベルの照合で使用された Event ノードと同じ属性と子ノードが含まれています。 親領域と子領域が同じスレッド ID、プロセス ID、アクティビティ ID、および任意の数の一致するペイロード フィールドを持つ必要があるように指定できます。

ペイロード フィールドを使用する場合に、FieldName 属性のみを指定するときは、親領域と子領域の両方で、そのフィールドに対して一致するペイロード値が必要です。 TargetFieldName 属性も指定する場合、TargetFieldName 属性は親と子に適用されます。つまり、子領域の FieldName フィールドのペイロード値が、親領域の TargetFieldName フィールドのペイロード値と一致する必要があります。

1 つの子に複数の潜在的な親がある場合は、開始時間が最も早い親が選択されます。

次の例は、親の条件を定義しています。 親には、一致するスレッド ID が必要です。また、子の SubscriberName フィールドのペイロード値は、親の Client フィールドの値と一致する必要があります。

<Region Guid="{A75D8F5D-E8F8-40b8-B453-5CC70DEAC06F}"
        Name="FastStartup-Suspend-Winlogon-CreateSession-Subscribers"
        FriendlyName="Subscribers for Create Session">
   <Start>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="805" Version="0" />
      <PayloadIdentifier FieldName="Event" FieldValue="0" />
   </Start>
   <Stop>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="806" Version="0" />
      <PayloadIdentifier FieldName="Event" FieldValue="0" />
   </Stop>
   <Match>
      <Event TID="true">
         <Payload FieldName="SubscriberName" TargetFieldName="Client" />
      </Event>
      <Parent TID="true">
         <Payload FieldName="SubscriberName" TargetFieldName="Client" />
      </Parent>
   </Match>
</Region>

自己入れ子になった領域

自己入れ子は、親子関係を最適化するオプションの機能です。

自己入れ子になった領域とは、その期間が兄弟領域の存続期間内に完全に含まれるものです。 この領域は、実質的により長く続いている兄弟の子になります。

たとえば、次の領域に対して自己入れ子が有効になっているとします。

  • 親領域 A

  • 子領域 B1。時刻 0 から開始し、時刻 6 で停止します

  • 子領域 B2。時刻 2 から開始し、時刻 5 で停止します

  • 子領域 B3。時刻 3 から開始し、時刻 4 で停止します

この例では、B2 は B1 の子領域になり、B3 は B2 の子領域になります。 この種類の親子関係を作成すると、開始時刻が子の開始時刻に最も近い親が選択されます。

自己入れ子を有効にするには、Match ノード内に SelfNest ノードを追加します。

SelfNest ノードには必須パラメーターはありません。 ただし、通常の親子関係の作成に使用するものと同じ一致するパラメーターを使用することができます。 詳細については、このトピックで前述した「親子関係」を参照してください。

次の例は、単純に自己入れ子を呼び出す Match タグを定義しています。

<Match>
   <SelfNest />
</Match>

次の例は、一致するスレッド ID とペイロード フィールドを必要とする、より複雑な自己入れ子のシナリオを定義しています。

<Match>
   <SelfNest TID="true">
      <Payload FieldName="SubscriberName" />
   </SelfNest>
</Match>

インスタンス名

Naming ノードを使用して、一致する領域の各インスタンスに一意の名前を割り当てることができます。 Naming は、同じ領域のインスタンスの数が多い場合や、他の条件に基づいて領域を分類する必要がある場合に便利です。 インスタンス名は、ペイロード フィールド、または他の領域との関係に基づいて作成できます。

インスタンスには、Naming ノード内の PayloadBased ノードを使用して、ペイロード値に基づいて名前を付けることができます。 PayloadBased ノードには NameField という必須属性が 1 つあります。これは、インスタンス名として使用する値を含むペイロード フィールドを指定します。 これらのペイロード フィールドは、領域の開始点または停止点のいずれかに配置できます。

ペイロード ベースの Naming ノードを持つ領域の例を以下に示します。

<Region Guid="{9261872F-D3A7-4d80-BDE3-8479CC920639}"
        Name="FastStartup-Suspend-Winlogon-EndShell-CallSubscriber"
        FriendlyName="Call Subscriber for End Shell">
   <Start>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="811" Version="0" />
      <PayloadIdentifier FieldName="Event" FieldValue="13" />
   </Start>
   <Stop>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="812" Version="0" />
      <PayloadIdentifier FieldName="Event" FieldValue="13" />
   </Stop>
   <Match>
      <Event PID="true" />
      <Parent PID="true" />
   </Match>
   <Naming>
      <PayloadBased NameField="SubscriberName" />
   </Naming>
</Region>

前の例では、Naming ノードは、開始イベントまたは停止イベントに SubscriberName という名前のペイロードフィールドが含まれていることを示しています。 作成された領域の各インスタンスについて、インスタンス名は、関連付けられているペイロード値になります。

Note

領域インスタンスに名前を付けるとき、WPA は最初に、一致するペイロード フィールドの開始イベントをチェックします。 見つからない場合、WPA はペイロード フィールドで停止イベントを検索します。 どちらのイベントにも一致が見つからない場合は、エラーがコンソールに出力されます。

ペイロードの情報が、必要な情報だけではない場合もあります。 たとえば、含まれているペイロードの情報がデバイス ID である場合、この情報をデバイスの説明と名前にマップし直すことができます。 サポートされている Type 属性は次のとおりです。

  • Device。名前と説明を関連付けます

  • GUID。GUID を領域に関連付けます

  • CLSID。クラス名をクラス ID に関連付けます

  • PID。プロセス名を領域に関連付けます

<Naming>
   <PayloadBased NameField="SubscriberName" Type="Device" />
</Naming>

ペイロード値が開始点と停止点の両方で見つかる可能性がある場合は、省略可能な InstanceEndpoint 属性を使用して、使用する点を指定できます。 InstanceEndpoint に使用可能な値は Start および Stop です。

<Naming>
   <PayloadBased NameField="SubscriberName" InstanceEndpoint="Start" />
</Naming>

また、他の領域との関係に基づいて、領域の名前を指定することもできます。 別の領域と関連付けるには、RegionBased ノードを Naming ノードに追加します。 RegionBased ノードには、次の 4 つの必須属性があります。

  • RegionGuid。関連付けられた領域の GUID。

  • Relation。定義する領域と、関連付ける領域間のリレーションシップを示す条件付きの値。 現在サポートされているリレーションシップは IsPresent のみです。つまり、関連付けられた領域がトレース内のどこかで見つかると、条件は true になります。

  • IfRelationTrueRelation で記述されたリレーションが true の場合にインスタンス名として使用される文字列値。

  • IfRelationFalseRelation で記述されたリレーションが false の場合にインスタンス名として使用される文字列値。

次の例は、領域に基づく名前付けを持つ領域を定義します。 一致する GUID を持つ領域がトレース内のどこかに見つかった場合は、Launch の各インスタンスに Warm という名前が付けられます。 それ以外の場合、各インスタンスには Cold という名前が付けられます。

<Region Guid="{C99EFA90-F645-4A24-9576-740351171BD0}"
        Name="WinStoreAppActivationDuration"
        FriendlyName="Launch">
   <Start>
      <Event Provider="{315a8872-923e-4ea2-9889-33cd4754bf64}" Id="5901" Version="0" />
      <PayloadIdentifier FieldName="SqmableContractID" FieldValue="Windows.Launch" />
   </Start>
   <Stop>
      <Event Provider="{315a8872-923e-43a2-9889-33cd4754bf64}" Id="5902" Version="0" />
      <PayloadIdentifier FieldName="SqmableContractID" FieldValue="Windows.Launch" />
   </Stop>
   <Match>
      <Event PID="true" />
   </Match>
   <Naming>
      <RegionBased RegionGuid="{1539A93E-129C-4602-A011-431E7F73A353}" Relation="IsPresent" IfRelationTrue="Warm" IfRelationFalse="Cold" />
   </Naming>
</Region>

Note

目的領域グラフで領域インスタンスの上にマウスを置くと、WPA でインスタンス名を確認できます。

Metadata

Metadata ノード内に含まれているメタデータの形式で、領域定義にさらに情報を追加できます。 たとえば、領域の条件を説明するメタデータに情報を含めて、別のユーザーがその領域の目的をより簡単に理解できるようにすることができます。 メタデータは単なる追加データであり、領域の処理には影響しません。

WPA は、このメタデータを、目的領域グラフのグラフ ビューの各領域インスタンスに追加します。 WPA で一致したイベントのメタデータを表示するには、グラフ ビューで領域を展開し、目的のメタデータまでスクロールだけです。 WPA では、メタデータに一意の番号が割り当てられ、ノードの名前が列情報として表示されます。

次の例では、領域定義に Metadata ノードが含まれています。

<Region Guid="{F466EE67-192C-4772-B13D-052CCD2D70B3}"
        Name="FastStartup-Suspend-Winlogon-Logoff-Subscribers"
        FriendlyName="Subscribers for Logoff">
   <Start>
      <Event Provider="{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}" Id="805" Version="0" />
      <PayloadIdentifier FieldName="Event" FieldValue="3" />
   </Start>
   <Stop>
      <Event Provider="{db39b383-7cf3-4331-91cc-a3cb16a3b538}" Id="806" Version="0" />
      <PayloadIdentifier FieldName="Event" FieldValue="3" />
   </Stop>
   <Match>
      <Event>
         <Payload FieldName="Event" />
      </Event>
   </Match>
   <Naming>
      <PayloadBased NameField="SubscriberName" />
   </Naming>
   <Metadata>
      <FAS.TestNode>yes</FAS.TestNode>
   </Metadata>
</Region>

目的領域

WPA の機能