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