﻿<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<instrumentationManifest
    xmlns="http://schemas.microsoft.com/win/2004/08/events"
    xmlns:trace="http://schemas.microsoft.com/win/2004/08/events/trace"
    xmlns:win="http://manifests.microsoft.com/win/2004/08/windows/events"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://schemas.microsoft.com/win/2004/08/events/eventman.xsd"
    >
  <instrumentation>
    <events>
      <provider
          guid="{02F83FA6-C651-4821-ADF4-118AFA98C1F6}"
          messageFileName="%windir%\system32\drivers\WdiTestMP.sys"
          name="Wdi-Test-Miniport-ETW-Tracing-Provider"
          resourceFileName="%windir%\system32\drivers\WdiTestMP.sys"
          symbol="WDI_TEST_EVT_GUID"
          >
        <templates>
          <template tid="tidNetRawStatus">
            <data
                inType="win:UInt16"
                name="PortId"
                />
            <data
                inType="win:UInt32"
                name="StatusCode"
                />
          </template>
          <template tid="tidNetProcessOID">
            <data
                inType="win:UInt16"
                name="PortId"
                />
            <data
                inType="win:UInt32"
                name="OID"
                />
            <data
                inType="win:UInt32"
                name="StatusCode"
                />
          </template>
          <template tid="tidEtwEventControl">
            <data
                inType="win:GUID"
                name="SourceId"
                />
            <data
                inType="win:UInt32"
                name="ControlCode"
                />
            <data
                inType="win:UInt8"
                name="Level"
                />
            <data
                inType="win:UInt64"
                name="MatchAny"
                />
            <data
                inType="win:UInt64"
                name="MatchAll"
                />
          </template>
        </templates>
        <events>
          <event
              level="win:Informational"
              message="$(string.WdiTestMiniport.event.RawStatus.message)"
              symbol="WdiTestMiniportRawStatus"
              template="tidNetRawStatus"
              value="1"
              version="1"
              />
          <event
              level="win:Informational"
              message="$(string.WdiTestMiniport.event.CompleteDirectOID.message)"
              symbol="WdiTestMiniportCompleteDirectOID"
              template="tidNetProcessOID"
              value="2"
              version="1"
              />
          <event
              level="win:Informational"
              message="$(string.WdiTestMiniport.event.NonWdiOIDRequest.message)"
              symbol="WdiTestMiniportNonWdiOIDRequest"
              template="tidNetProcessOID"
              value="3"
              version="1"
              />
          <event
              level="win:Informational"
              message="$(string.WdiTestMiniport.event.OIDRequest.message)"
              symbol="WdiTestMiniportOIDRequest"
              template="tidNetProcessOID"
              value="4"
              version="1"
              />
          <event
              level="win:Informational"
              message="$(string.WdiTestMiniport.event.DirectOIDRequest.message)"
              symbol="WdiTestMiniportDirectOIDRequest"
              template="tidNetProcessOID"
              value="5"
              version="1"
              />
          <event
              level="win:Informational"
              message="$(string.WdiTestMiniport.event.CompleteOID.message)"
              symbol="WdiTestMiniportCompleteOID"
              template="tidNetProcessOID"
              value="6"
              version="1"
              />
          <event
              level="win:Informational"
              message="$(string.WdiTestMiniport.event.EtwEventControl.message)"
              symbol="WdiTestMiniportEtwEventControl"
              template="tidEtwEventControl"
              value="7"
              version="1"
              />
        </events>
      </provider>
    </events>
  </instrumentation>
  <localization>
    <resources culture="en-US">
      <stringTable>
        <string
            id="WdiTestMiniport.event.EtwEventControl.message"
            value="ETW event control callback - SourceId: %1 ControlCode: %2, Level: %3, MatchAny: %4, MatchAll: %5"
            />
        <string
            id="WdiTestMiniport.event.CompleteOID.message"
            value="Complete OID: %2 PortId: %1, Status: %3"
            />
        <string
            id="WdiTestMiniport.event.DirectOIDRequest.message"
            value="Direct OID Request: %2 PortId: %1, Status: %3"
            />
        <string
            id="WdiTestMiniport.event.OIDRequest.message"
            value="OID Request: %2 PortId: %1, Status: %3"
            />
        <string
            id="WdiTestMiniport.event.NonWdiOIDRequest.message"
            value="Non-WDI OID Request: %2 PortId: %1, Status: %3"
            />
        <string
            id="WdiTestMiniport.event.CompleteDirectOID.message"
            value="Complete Direct OID: %2 PortId: %1, Status: %3"
            />
        <string
            id="WdiTestMiniport.event.RawStatus.message"
            value="Raw Status: PortId: %1, Status: %2"
            />
        <string
            id="OperationalChannel.Name"
            value="Wdi-Test-Miniport-ETW-Tracing-Provider/Operational"
            />
        <string
            id="DiagnosticChannel.Name"
            value="Wdi-Test-Miniport-ETW-Tracing-Provider/Diagnostic"
            />
      </stringTable>
    </resources>
  </localization>
</instrumentationManifest>
