<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v3" manifestVersion="1.0" copyright="Copyright (c) Microsoft Corporation. All Rights Reserved.">
  <assemblyIdentity name="Microsoft-Windows-MFReadWrite" version="10.0.10586.35" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" />
  <dependency discoverable="no" resourceType="Resources">
    <dependentAssembly>
      <assemblyIdentity name="Microsoft-Windows-MediaFoundation-MFReadWrite.Resources" version="10.0.10586.35" processorArchitecture="amd64" language="*" buildType="release" publicKeyToken="31bf3856ad364e35" />
    </dependentAssembly>
  </dependency>
  <file name="mfreadwrite.dll" destinationPath="$(runtime.system32)\" sourceName="mfreadwrite.dll" sourcePath=".\" importPath="$(build.nttree)\">
    <securityDescriptor name="WRP_FILE_DEFAULT_SDDL" />
    <signatureInfo xmlns="urn:schemas-microsoft-com:asm.v3">
      <signatureDescriptor PETrust="true" />
    </signatureInfo>
    <asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2">
      <dsig:Transforms xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
        <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
      </dsig:Transforms>
      <dsig:DigestMethod xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
      <dsig:DigestValue xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">H0tNq77TPcA/Rzo2qpeUkgnWYns+ivNAZbJ8W/pYUrY=</dsig:DigestValue>
    </asmv2:hash>
  </file>
  <registryKeys>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{48e2ed0f-98c2-4a37-bed5-166312ddd83f}\">
      <registryValue name="" valueType="REG_SZ" value="MFReadWrite Class Factory" />
      <securityDescriptor name="WRP_REGKEY_DEFAULT_SDDL" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{48e2ed0f-98c2-4a37-bed5-166312ddd83f}\InprocServer32\">
      <registryValue name="" valueType="REG_EXPAND_SZ" value="%SystemRoot%\System32\mfreadwrite.dll" />
      <registryValue name="ThreadingModel" valueType="REG_SZ" value="Both" />
    </registryKey>
  </registryKeys>
  <trustInfo>
    <security>
      <accessControl>
        <securityDescriptorDefinitions>
          <securityDescriptorDefinition name="WRP_FILE_DEFAULT_SDDL" sddl="O:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464G:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464D:P(A;;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;;GRGX;;;BA)(A;;GRGX;;;SY)(A;;GRGX;;;BU)(A;;GRGX;;;S-1-15-2-1)S:(AU;FASA;0x000D0116;;;WD)" operationHint="replace" description="Default SDDL for Windows Resource Protected file" />
          <securityDescriptorDefinition name="WRP_REGKEY_DEFAULT_SDDL" sddl="O:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464G:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464D:P(A;CI;GA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;CI;GR;;;SY)(A;CI;GR;;;BA)(A;CI;GR;;;BU)(A;CI;GR;;;S-1-15-2-1)" operationHint="replace" />
        </securityDescriptorDefinitions>
      </accessControl>
    </security>
  </trustInfo>
  <localization>
    <resources culture="en-US">
      <stringTable>
        <string id="EventProviderName" value="Microsoft-Windows-MediaFoundation-MFReadWrite" />
        <string id="MFReadWrite_Transform_Process.EventMessage" value="MFReadWrite_Transform_Process, only valid in 1-in/1-out mode" />
        <string id="SinkWriter_BeginWriting.EventMessage" value="SinkWriter_BeginWriting" />
        <string id="SinkWriter_BeginWriting.TaskMessage" value="SinkWriter_BeginWriting" />
        <string id="SinkWriter_EndOfSegment.EventMessage" value="SinkWriter_EndOfSegment" />
        <string id="SinkWriter_EndOfSegment.TaskMessage" value="SinkWriter_EndOfSegment" />
        <string id="SinkWriter_Error.EventMessage" value="SinkWriter_Error" />
        <string id="SinkWriter_Error.TaskMessage" value="SinkWriter_Error" />
        <string id="SinkWriter_Finalize.TaskMessage" value="SinkWriter_Finalize" />
        <string id="SinkWriter_Finalize_Begin.EventMessage" value="SinkWriter_Finalize_Begin" />
        <string id="SinkWriter_Finalize_End.EventMessage" value="SinkWriter_Finalize_End" />
        <string id="SinkWriter_Flush.EventMessage" value="SinkWriter_Flush" />
        <string id="SinkWriter_Flush.TaskMessage" value="SinkWriter_Flush" />
        <string id="SinkWriter_Marker.TaskMessage" value="SinkWriter_Marker" />
        <string id="SinkWriter_Marker_Fired.EventMessage" value="SinkWriter_Marker_Fired" />
        <string id="SinkWriter_Marker_Placed.EventMessage" value="SinkWriter_Marker_Placed" />
        <string id="SinkWriter_MediaSinkEvent.EventMessage" value="SinkWriter_MediaSinkEvent" />
        <string id="SinkWriter_MediaSinkEvent.TaskMessage" value="SinkWriter_MediaSinkEvent" />
        <string id="SinkWriter_ProcessSample.EventMessage" value="SinkWriter_ProcessSample" />
        <string id="SinkWriter_ProcessSample.TaskMessage" value="SinkWriter_ProcessSample" />
        <string id="SinkWriter_SetInputMediaType.TaskMessage" value="SinkWriter_SetInputMediaType" />
        <string id="SinkWriter_SetInputMediaType_Begin.EventMessage" value="SinkWriter_SetInputMediaType_Begin" />
        <string id="SinkWriter_SetInputMediaType_End.EventMessage" value="SinkWriter_SetInputMediaType_End" />
        <string id="SinkWriter_StateChange.EventMessage" value="SinkWriter_StateChange" />
        <string id="SinkWriter_StateChange.TaskMessage" value="SinkWriter_StateChange" />
        <string id="SinkWriter_StreamError.EventMessage" value="SinkWriter_StreamError" />
        <string id="SinkWriter_StreamSinkEvent.EventMessage" value="SinkWriter_StreamSinkEvent" />
        <string id="SinkWriter_StreamSinkEvent.TaskMessage" value="SinkWriter_StreamSinkEvent" />
        <string id="SinkWriter_StreamTick.EventMessage" value="SinkWriter_StreamTick" />
        <string id="SinkWriter_StreamTick.TaskMessage" value="SinkWriter_StreamTick" />
        <string id="SinkWriter_Throttle.TaskMessage" value="SinkWriter_Throttle" />
        <string id="SinkWriter_Throttle_Begin.EventMessage" value="SinkWriter_Throttle_Begin" />
        <string id="SinkWriter_Throttle_End.EventMessage" value="SinkWriter_Throttle_End" />
        <string id="SinkWriter_TransformChange.EventMessage" value="SinkWriter_TransformChange" />
        <string id="SinkWriter_TransformChange.TaskMessage" value="SinkWriter_TransformChange" />
        <string id="SinkWriter_WriteSample.EventMessage" value="SinkWriter_WriteSample" />
        <string id="SinkWriter_WriteSample.TaskMessage" value="SinkWriter_WriteSample" />
        <string id="SourceReader_CapturePluginCreated.EventMessage" value="SourceReader_CapturePluginCreated" />
        <string id="SourceReader_CapturePluginCreated.TaskMessage" value="SourceReader_CapturePluginCreated" />
        <string id="SourceReader_Error.EventMessage" value="SourceReader_Error" />
        <string id="SourceReader_Error.TaskMessage" value="SourceReader_Error" />
        <string id="SourceReader_Flush.TaskMessage" value="SourceReader_Flush" />
        <string id="SourceReader_Flush_Begin.EventMessage" value="SourceReader_Flush_Begin" />
        <string id="SourceReader_Flush_End.EventMessage" value="SourceReader_Flush_End" />
        <string id="SourceReader_MediaSourceEvent.EventMessage" value="SourceReader_MediaSourceEvent" />
        <string id="SourceReader_MediaSourceEvent.TaskMessage" value="SourceReader_MediaSourceEvent" />
        <string id="SourceReader_MediaStreamEvent.EventMessage" value="SourceReader_MediaStreamEvent" />
        <string id="SourceReader_MediaStreamEvent.TaskMessage" value="SourceReader_MediaStreamEvent" />
        <string id="SourceReader_ReadSample.TaskMessage" value="SourceReader_ReadSample" />
        <string id="SourceReader_ReadSample_Begin.EventMessage" value="SourceReader_ReadSample_Begin" />
        <string id="SourceReader_ReadSample_End.EventMessage" value="SourceReader_ReadSample_End" />
        <string id="SourceReader_RequestSample.EventMessage" value="SourceReader_RequestSample" />
        <string id="SourceReader_RequestSample.TaskMessage" value="SourceReader_RequestSample" />
        <string id="SourceReader_SetCurrentMediaType.TaskMessage" value="SourceReader_SetCurrentMediaType" />
        <string id="SourceReader_SetCurrentMediaType_Begin.EventMessage" value="SourceReader_SetCurrentMediaType_Begin" />
        <string id="SourceReader_SetCurrentMediaType_End.EventMessage" value="SourceReader_SetCurrentMediaType_End" />
        <string id="SourceReader_SetCurrentPosition.TaskMessage" value="SourceReader_SetCurrentPosition" />
        <string id="SourceReader_SetCurrentPosition_Begin.EventMessage" value="SourceReader_SetCurrentPosition_Begin" />
        <string id="SourceReader_SetCurrentPosition_End.EventMessage" value="SourceReader_SetCurrentPosition_End" />
        <string id="SourceReader_StateChange.EventMessage" value="SourceReader_StateChange" />
        <string id="SourceReader_StreamError.EventMessage" value="SourceReader_StreamError" />
        <string id="SourceReader_TransformChange.EventMessage" value="SourceReader_TransformChange" />
        <string id="SourceReader_TransformChange.TaskMessage" value="SourceReader_TransformChange" />
        <string id="Transform_Created.EventMessage" value="Transform_Created" />
        <string id="Transform_Created.TaskMessage" value="Transform_Created" />
        <string id="Transform_Destroyed.EventMessage" value="Transform_Destroyed" />
        <string id="Transform_Destroyed.TaskMessage" value="Transform_Destroyed" />
        <string id="Transform_Event.EventMessage" value="Transform_Event" />
        <string id="Transform_Event.TaskMessage" value="Transform_Event" />
        <string id="Transform_Process.TaskMessage" value="Transform_Process" />
        <string id="Transform_ProcessEvent.EventMessage" value="Transform_ProcessEvent" />
        <string id="Transform_ProcessEvent.TaskMessage" value="Transform_ProcessEvent" />
        <string id="Transform_ProcessInput.EventMessage" value="Transform_ProcessInput" />
        <string id="Transform_ProcessInput.TaskMessage" value="Transform_ProcessInput" />
        <string id="Transform_ProcessInputError.EventMessage" value="Transform_ProcessInputError" />
        <string id="Transform_ProcessMessage.EventMessage" value="Transform_ProcessMessage" />
        <string id="Transform_ProcessMessage.TaskMessage" value="Transform_ProcessMessage" />
        <string id="Transform_ProcessOutput.EventMessage" value="Transform_ProcessOutput" />
        <string id="Transform_ProcessOutput.TaskMessage" value="Transform_ProcessOutput" />
        <string id="Transform_ProcessOutputError.EventMessage" value="Transform_ProcessOutputError" />
        <string id="Transform_SetInputType.EventMessage" value="Transform_SetInputType" />
        <string id="Transform_SetInputType.TaskMessage" value="Transform_SetInputType" />
      </stringTable>
    </resources>
  </localization>
  <instrumentation>
    <events xmlns="http://schemas.microsoft.com/win/2004/08/events">
      <provider guid="{4b7eac67-fc53-448c-a49d-7cc6db524da7}" message="$(string.EventProviderName)" messageFileName="%SystemRoot%\system32\MFReadWrite.dll" name="Microsoft-Windows-MediaFoundation-MFReadWrite" resourceFileName="%SystemRoot%\system32\MFReadWrite.dll" symbol="Microsoft_Windows_MediaFoundation_MFReadWrite">
        <channels>
          <channel chid="chidSourceReader" isolation="Application" name="Microsoft-Windows-MediaFoundation-MFReadWrite/SourceReader" symbol="chidSourceReader" type="Analytic" />
          <channel chid="chidSinkWriter" isolation="Application" name="Microsoft-Windows-MediaFoundation-MFReadWrite/SinkWriter" symbol="chidSinkWriter" type="Analytic" />
          <channel chid="chidTransform" isolation="Application" name="Microsoft-Windows-MediaFoundation-MFReadWrite/Transform" symbol="chidTransform" type="Analytic" />
        </channels>
        <tasks>
          <task message="$(string.SourceReader_SetCurrentMediaType.TaskMessage)" name="SourceReader_SetCurrentMediaType" value="1" />
          <task message="$(string.SourceReader_SetCurrentPosition.TaskMessage)" name="SourceReader_SetCurrentPosition" value="2" />
          <task message="$(string.SourceReader_ReadSample.TaskMessage)" name="SourceReader_ReadSample" value="3" />
          <task message="$(string.SourceReader_Flush.TaskMessage)" name="SourceReader_Flush" value="4" />
          <task message="$(string.SourceReader_RequestSample.TaskMessage)" name="SourceReader_RequestSample" value="5" />
          <task message="$(string.SourceReader_MediaSourceEvent.TaskMessage)" name="SourceReader_MediaSourceEvent" value="6" />
          <task message="$(string.SourceReader_MediaStreamEvent.TaskMessage)" name="SourceReader_MediaStreamEvent" value="7" />
          <task message="$(string.SourceReader_Error.TaskMessage)" name="SourceReader_Error" value="8" />
          <task message="$(string.SinkWriter_SetInputMediaType.TaskMessage)" name="SinkWriter_SetInputMediaType" value="9" />
          <task message="$(string.SinkWriter_BeginWriting.TaskMessage)" name="SinkWriter_BeginWriting" value="10" />
          <task message="$(string.SinkWriter_WriteSample.TaskMessage)" name="SinkWriter_WriteSample" value="11" />
          <task message="$(string.SinkWriter_StreamTick.TaskMessage)" name="SinkWriter_StreamTick" value="12" />
          <task message="$(string.SinkWriter_Marker.TaskMessage)" name="SinkWriter_Marker" value="13" />
          <task message="$(string.SinkWriter_ProcessSample.TaskMessage)" name="SinkWriter_ProcessSample" value="14" />
          <task message="$(string.SinkWriter_Finalize.TaskMessage)" name="SinkWriter_Finalize" value="15" />
          <task message="$(string.SinkWriter_MediaSinkEvent.TaskMessage)" name="SinkWriter_MediaSinkEvent" value="16" />
          <task message="$(string.SinkWriter_StreamSinkEvent.TaskMessage)" name="SinkWriter_StreamSinkEvent" value="17" />
          <task message="$(string.SinkWriter_Throttle.TaskMessage)" name="SinkWriter_Throttle" value="18" />
          <task message="$(string.SinkWriter_Error.TaskMessage)" name="SinkWriter_Error" value="19" />
          <task message="$(string.SinkWriter_StateChange.TaskMessage)" name="SinkWriter_StateChange" value="20" />
          <task message="$(string.SinkWriter_EndOfSegment.TaskMessage)" name="SinkWriter_EndOfSegment" value="21" />
          <task message="$(string.SinkWriter_Flush.TaskMessage)" name="SinkWriter_Flush" value="22" />
          <task message="$(string.Transform_ProcessInput.TaskMessage)" name="Transform_ProcessInput" value="23" />
          <task message="$(string.Transform_ProcessOutput.TaskMessage)" name="Transform_ProcessOutput" value="24" />
          <task message="$(string.Transform_ProcessMessage.TaskMessage)" name="Transform_ProcessMessage" value="25" />
          <task message="$(string.Transform_Event.TaskMessage)" name="Transform_Event" value="26" />
          <task message="$(string.Transform_ProcessEvent.TaskMessage)" name="Transform_ProcessEvent" value="27" />
          <task message="$(string.SourceReader_CapturePluginCreated.TaskMessage)" name="SourceReader_CapturePluginCreated" value="28" />
          <task message="$(string.Transform_Created.TaskMessage)" name="Transform_Created" value="29" />
          <task message="$(string.Transform_Destroyed.TaskMessage)" name="Transform_Destroyed" value="30" />
          <task message="$(string.Transform_Process.TaskMessage)" name="Transform_Process" value="31" />
          <task message="$(string.Transform_SetInputType.TaskMessage)" name="Transform_SetInputType" value="32" />
          <task message="$(string.SinkWriter_TransformChange.TaskMessage)" name="SinkWriter_TransformChange" value="33" />
          <task message="$(string.SourceReader_TransformChange.TaskMessage)" name="SourceReader_TransformChange" value="34" />
        </tasks>
        <templates>
          <template tid="tid_Object">
            <data inType="win:Pointer" name="Object" />
          </template>
          <template tid="tid_ErrorCode">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="ErrorCode" outType="win:ErrorCode" />
          </template>
          <template tid="tid_ReadSample_Begin">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
            <data inType="win:UInt32" name="ControlFlags" outType="win:HexInt32" />
          </template>
          <template tid="tid_ReadSample_End">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="ErrorCode" outType="win:ErrorCode" />
            <data inType="win:UInt32" name="ActualStreamIndex" />
            <data inType="win:UInt32" name="StreamFlags" outType="win:HexInt32" />
            <data inType="win:Pointer" name="Sample" />
            <data inType="win:UInt64" name="Timestamp" />
            <data inType="win:UInt64" name="Duration" />
            <data inType="win:UInt32" name="Size" />
            <data inType="win:Boolean" name="Discontinuity" />
            <data inType="win:Boolean" name="CleanPoint" />
          </template>
          <template tid="tid_Stream_Begin">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
          </template>
          <template tid="tid_Stream_End">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
            <data inType="win:UInt32" name="ErrorCode" outType="win:ErrorCode" />
          </template>
          <template tid="tid_MediaType">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
            <data inType="win:GUID" name="MajorType" />
            <data inType="win:GUID" name="Subtype" />
          </template>
          <template tid="tid_MediaTypeExtended">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="TransformType" />
            <data inType="win:AnsiString" name="MediaType" />
          </template>
          <template tid="tid_Position">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:GUID" name="TimeFormat" />
            <data inType="win:UInt32" name="VariantType" />
            <data inType="win:UInt64" name="Position" />
          </template>
          <template tid="tid_WriteSample">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
            <data inType="win:Pointer" name="Sample" />
            <data inType="win:UInt64" name="Timestamp" />
            <data inType="win:UInt64" name="Duration" />
            <data inType="win:UInt32" name="Size" />
            <data inType="win:Boolean" name="Discontinuity" />
            <data inType="win:Boolean" name="CleanPoint" />
          </template>
          <template tid="tid_Sample">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
            <data inType="win:Pointer" name="Sample" />
            <data inType="win:UInt64" name="Timestamp" />
          </template>
          <template tid="tid_ProcessInput">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
            <data inType="win:Pointer" name="Transform" />
            <data inType="win:Pointer" name="Sample" />
            <data inType="win:UInt64" name="Timestamp" />
            <data inType="win:UInt64" name="Duration" />
            <data inType="win:UInt32" name="Size" />
            <data inType="win:Boolean" name="Discontinuity" />
            <data inType="win:Boolean" name="CleanPoint" />
            <data inType="win:UInt32" name="TransformType" />
          </template>
          <template tid="tid_ProcessEvent">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
            <data inType="win:Pointer" name="Transform" />
            <data inType="win:UInt32" name="EventType" />
          </template>
          <template tid="tid_ProcessOutput">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
            <data inType="win:Pointer" name="Transform" />
            <data inType="win:UInt32" name="OutputStreamIndex" />
            <data inType="win:Pointer" name="Sample" />
            <data inType="win:UInt64" name="Timestamp" />
            <data inType="win:UInt64" name="Duration" />
            <data inType="win:UInt32" name="Size" />
            <data inType="win:Boolean" name="Discontinuity" />
            <data inType="win:Boolean" name="CleanPoint" />
            <data inType="win:UInt32" name="TransformType" />
          </template>
          <template tid="tid_ProcessMessage">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
            <data inType="win:Pointer" name="Transform" />
            <data inType="win:UInt32" name="Message" outType="win:HexInt32" />
            <data inType="win:Pointer" name="Param" />
          </template>
          <template tid="tid_StreamTick">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
            <data inType="win:UInt64" name="Timestamp" />
          </template>
          <template tid="tid_EndOfSegment">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
          </template>
          <template tid="tid_Marker">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
            <data inType="win:Pointer" name="Context" />
          </template>
          <template tid="tid_Flush">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
          </template>
          <template tid="tid_Event">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="EventType" outType="win:HexInt32" />
            <data inType="win:UInt32" name="ErrorCode" outType="win:ErrorCode" />
          </template>
          <template tid="tid_StreamEvent">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
            <data inType="win:UInt32" name="EventType" outType="win:HexInt32" />
            <data inType="win:UInt32" name="ErrorCode" outType="win:ErrorCode" />
          </template>
          <template tid="tid_TransformEvent">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
            <data inType="win:Pointer" name="Transform" />
            <data inType="win:UInt32" name="EventType" outType="win:HexInt32" />
            <data inType="win:UInt32" name="ErrorCode" outType="win:ErrorCode" />
          </template>
          <template tid="tid_TransformErrorCode">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
            <data inType="win:Pointer" name="Transform" />
            <data inType="win:UInt32" name="ErrorCode" outType="win:ErrorCode" />
          </template>
          <template tid="tid_StateChange">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="OldState" />
            <data inType="win:UInt32" name="NewState" />
            <data inType="win:UInt32" name="ErrorCode" outType="win:ErrorCode" />
          </template>
          <template tid="tid_Throttle_Begin">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
            <data inType="win:UInt32" name="Threshold" />
            <data inType="win:UInt64" name="ClockTime" />
            <data inType="win:UInt64" name="Timestamp" />
          </template>
          <template tid="tid_Throttle_End">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
            <data inType="win:UInt32" name="Delay" />
          </template>
          <template tid="tid_CapturePluginCreated">
            <data inType="win:Pointer" name="Object" />
            <data inType="win:UInt32" name="StreamIndex" />
            <data inType="win:Pointer" name="MFT" />
            <data inType="win:GUID" name="CLSID" />
            <data inType="win:Pointer" name="vtable" />
          </template>
        </templates>
        <events>
          <event channel="chidSourceReader" level="win:Informational" message="$(string.SourceReader_SetCurrentMediaType_Begin.EventMessage)" opcode="win:Start" symbol="MFReadWrite_SourceReader_SetCurrentMediaType_Begin" task="SourceReader_SetCurrentMediaType" template="tid_MediaType" value="0" version="0" />
          <event channel="chidSourceReader" level="win:Informational" message="$(string.SourceReader_SetCurrentMediaType_End.EventMessage)" opcode="win:Stop" symbol="MFReadWrite_SourceReader_SetCurrentMediaType_End" task="SourceReader_SetCurrentMediaType" template="tid_Stream_End" value="1" version="0" />
          <event channel="chidSourceReader" level="win:Informational" message="$(string.SourceReader_SetCurrentPosition_Begin.EventMessage)" opcode="win:Start" symbol="MFReadWrite_SourceReader_SetCurrentPosition_Begin" task="SourceReader_SetCurrentPosition" template="tid_Position" value="2" version="0" />
          <event channel="chidSourceReader" level="win:Informational" message="$(string.SourceReader_SetCurrentPosition_End.EventMessage)" opcode="win:Stop" symbol="MFReadWrite_SourceReader_SetCurrentPosition_End" task="SourceReader_SetCurrentPosition" template="tid_ErrorCode" value="3" version="0" />
          <event channel="chidSourceReader" level="win:Informational" message="$(string.SourceReader_ReadSample_Begin.EventMessage)" opcode="win:Start" symbol="MFReadWrite_SourceReader_ReadSample_Begin" task="SourceReader_ReadSample" template="tid_ReadSample_Begin" value="4" version="0" />
          <event channel="chidSourceReader" level="win:Informational" message="$(string.SourceReader_ReadSample_End.EventMessage)" opcode="win:Stop" symbol="MFReadWrite_SourceReader_ReadSample_End" task="SourceReader_ReadSample" template="tid_ReadSample_End" value="5" version="0" />
          <event channel="chidSourceReader" level="win:Informational" message="$(string.SourceReader_Flush_Begin.EventMessage)" opcode="win:Start" symbol="MFReadWrite_SourceReader_Flush_Begin" task="SourceReader_Flush" template="tid_Stream_Begin" value="6" version="0" />
          <event channel="chidSourceReader" level="win:Informational" message="$(string.SourceReader_Flush_End.EventMessage)" opcode="win:Stop" symbol="MFReadWrite_SourceReader_Flush_End" task="SourceReader_Flush" template="tid_Stream_Begin" value="7" version="0" />
          <event channel="chidSourceReader" level="win:Informational" message="$(string.SourceReader_RequestSample.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SourceReader_RequestSample" task="SourceReader_RequestSample" template="tid_Object" value="8" version="0" />
          <event channel="chidSourceReader" level="win:Informational" message="$(string.SourceReader_MediaSourceEvent.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SourceReader_MediaSourceEvent" task="SourceReader_MediaSourceEvent" template="tid_Event" value="9" version="0" />
          <event channel="chidSourceReader" level="win:Informational" message="$(string.SourceReader_MediaStreamEvent.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SourceReader_MediaStreamEvent" task="SourceReader_MediaStreamEvent" template="tid_StreamEvent" value="10" version="0" />
          <event channel="chidSourceReader" level="win:Error" message="$(string.SourceReader_Error.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SourceReader_Error" task="SourceReader_Error" template="tid_ErrorCode" value="11" version="0" />
          <event channel="chidSourceReader" level="win:Informational" message="$(string.SourceReader_CapturePluginCreated.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SourceReader_CapturePluginCreated" task="SourceReader_CapturePluginCreated" template="tid_CapturePluginCreated" value="12" version="0" />
          <event channel="chidSourceReader" level="win:Informational" message="$(string.SourceReader_TransformChange.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SourceReader_TransformChange" task="SourceReader_TransformChange" value="13" version="0" />
          <event channel="chidSourceReader" level="win:Error" message="$(string.SourceReader_StreamError.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SourceReader_StreamError" task="SourceReader_Error" template="tid_Stream_End" value="14" version="0" />
          <event channel="chidSinkWriter" level="win:Informational" message="$(string.SinkWriter_SetInputMediaType_Begin.EventMessage)" opcode="win:Start" symbol="MFReadWrite_SinkWriter_SetInputMediaType_Begin" task="SinkWriter_SetInputMediaType" template="tid_MediaType" value="100" version="0" />
          <event channel="chidSinkWriter" level="win:Informational" message="$(string.SinkWriter_SetInputMediaType_End.EventMessage)" opcode="win:Stop" symbol="MFReadWrite_SinkWriter_SetInputMediaType_End" task="SinkWriter_SetInputMediaType" template="tid_Stream_End" value="101" version="0" />
          <event channel="chidSinkWriter" level="win:Informational" message="$(string.SinkWriter_BeginWriting.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SinkWriter_BeginWriting" task="SinkWriter_BeginWriting" template="tid_Object" value="102" version="0" />
          <event channel="chidSinkWriter" level="win:Informational" message="$(string.SinkWriter_WriteSample.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SinkWriter_WriteSample" task="SinkWriter_WriteSample" template="tid_WriteSample" value="103" version="0" />
          <event channel="chidSinkWriter" level="win:Informational" message="$(string.SinkWriter_StreamTick.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SinkWriter_StreamTick" task="SinkWriter_StreamTick" template="tid_StreamTick" value="104" version="0" />
          <event channel="chidSinkWriter" level="win:Informational" message="$(string.SinkWriter_Marker_Placed.EventMessage)" opcode="win:Start" symbol="MFReadWrite_SinkWriter_Marker_Placed" task="SinkWriter_Marker" template="tid_Marker" value="105" version="0" />
          <event channel="chidSinkWriter" level="win:Informational" message="$(string.SinkWriter_Marker_Fired.EventMessage)" opcode="win:Stop" symbol="MFReadWrite_SinkWriter_Marker_Fired" task="SinkWriter_Marker" template="tid_Marker" value="106" version="0" />
          <event channel="chidSinkWriter" level="win:Informational" message="$(string.SinkWriter_ProcessSample.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SinkWriter_ProcessSample" task="SinkWriter_ProcessSample" template="tid_Sample" value="107" version="0" />
          <event channel="chidSinkWriter" level="win:Informational" message="$(string.SinkWriter_Finalize_Begin.EventMessage)" opcode="win:Start" symbol="MFReadWrite_SinkWriter_Finalize_Begin" task="SinkWriter_Finalize" template="tid_Object" value="108" version="0" />
          <event channel="chidSinkWriter" level="win:Informational" message="$(string.SinkWriter_Finalize_End.EventMessage)" opcode="win:Stop" symbol="MFReadWrite_SinkWriter_Finalize_End" task="SinkWriter_Finalize" template="tid_ErrorCode" value="109" version="0" />
          <event channel="chidSinkWriter" level="win:Informational" message="$(string.SinkWriter_MediaSinkEvent.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SinkWriter_MediaSinkEvent" task="SinkWriter_MediaSinkEvent" template="tid_Event" value="110" version="0" />
          <event channel="chidSinkWriter" level="win:Informational" message="$(string.SinkWriter_StreamSinkEvent.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SinkWriter_StreamSinkEvent" task="SinkWriter_StreamSinkEvent" template="tid_StreamEvent" value="111" version="0" />
          <event channel="chidSinkWriter" level="win:Informational" message="$(string.SinkWriter_Throttle_Begin.EventMessage)" opcode="win:Start" symbol="MFReadWrite_SinkWriter_Throttle_Begin" task="SinkWriter_Throttle" template="tid_Throttle_Begin" value="112" version="0" />
          <event channel="chidSinkWriter" level="win:Informational" message="$(string.SinkWriter_Throttle_End.EventMessage)" opcode="win:Stop" symbol="MFReadWrite_SinkWriter_Throttle_End" task="SinkWriter_Throttle" template="tid_Throttle_End" value="113" version="0" />
          <event channel="chidSinkWriter" level="win:Error" message="$(string.SinkWriter_Error.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SinkWriter_Error" task="SinkWriter_Error" template="tid_ErrorCode" value="114" version="0" />
          <event channel="chidSinkWriter" level="win:Error" message="$(string.SinkWriter_StreamError.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SinkWriter_StreamError" task="SinkWriter_Error" template="tid_Stream_End" value="115" version="0" />
          <event channel="chidSinkWriter" level="win:Informational" message="$(string.SinkWriter_StateChange.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SinkWriter_StateChange" task="SinkWriter_StateChange" template="tid_StateChange" value="116" version="0" />
          <event channel="chidSinkWriter" level="win:Informational" message="$(string.SinkWriter_EndOfSegment.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SinkWriter_EndOfSegment" task="SinkWriter_EndOfSegment" template="tid_EndOfSegment" value="117" version="0" />
          <event channel="chidSinkWriter" level="win:Informational" message="$(string.SinkWriter_Flush.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SinkWriter_Flush" task="SinkWriter_Flush" template="tid_Flush" value="118" version="0" />
          <event channel="chidSinkWriter" level="win:Informational" message="$(string.SinkWriter_TransformChange.EventMessage)" opcode="win:Info" symbol="MFReadWrite_SinkWriter_TransformChange" task="SinkWriter_TransformChange" value="119" version="0" />
          <event channel="chidTransform" level="win:Informational" message="$(string.Transform_ProcessInput.EventMessage)" opcode="win:Info" symbol="MFReadWrite_Transform_ProcessInput" task="Transform_ProcessInput" template="tid_ProcessInput" value="200" version="0" />
          <event channel="chidTransform" level="win:Informational" message="$(string.Transform_ProcessInputError.EventMessage)" opcode="win:Info" symbol="MFReadWrite_Transform_ProcessInputError" task="Transform_ProcessInput" template="tid_TransformErrorCode" value="201" version="0" />
          <event channel="chidTransform" level="win:Informational" message="$(string.Transform_ProcessOutput.EventMessage)" opcode="win:Info" symbol="MFReadWrite_Transform_ProcessOutput" task="Transform_ProcessOutput" template="tid_ProcessOutput" value="202" version="0" />
          <event channel="chidTransform" level="win:Informational" message="$(string.Transform_ProcessOutputError.EventMessage)" opcode="win:Info" symbol="MFReadWrite_Transform_ProcessOutputError" task="Transform_ProcessOutput" template="tid_TransformErrorCode" value="203" version="0" />
          <event channel="chidTransform" level="win:Informational" message="$(string.Transform_ProcessMessage.EventMessage)" opcode="win:Info" symbol="MFReadWrite_Transform_ProcessMessage" task="Transform_ProcessMessage" template="tid_ProcessMessage" value="204" version="0" />
          <event channel="chidTransform" level="win:Informational" message="$(string.Transform_Event.EventMessage)" opcode="win:Info" symbol="MFReadWrite_Transform_Event" task="Transform_Event" template="tid_TransformEvent" value="205" version="0" />
          <event channel="chidTransform" level="win:Informational" message="$(string.Transform_ProcessEvent.EventMessage)" opcode="win:Info" symbol="MFReadWrite_Transform_ProcessEvent" task="Transform_ProcessEvent" template="tid_ProcessEvent" value="206" version="0" />
          <event channel="chidTransform" level="win:Informational" message="$(string.Transform_Created.EventMessage)" opcode="win:Info" symbol="MFReadWrite_Transform_Created" task="Transform_Created" template="tid_CapturePluginCreated" value="207" version="0" />
          <event channel="chidTransform" level="win:Informational" message="$(string.Transform_Destroyed.EventMessage)" opcode="win:Info" symbol="MFReadWrite_Transform_Destroyed" task="Transform_Destroyed" template="tid_CapturePluginCreated" value="208" version="0" />
          <event channel="chidTransform" level="win:Verbose" message="$(string.MFReadWrite_Transform_Process.EventMessage)" opcode="win:Start" symbol="MFReadWrite_Transform_Process_Start" task="Transform_Process" template="tid_ProcessInput" value="209" version="0" />
          <event channel="chidTransform" level="win:Verbose" message="$(string.MFReadWrite_Transform_Process.EventMessage)" opcode="win:Stop" symbol="MFReadWrite_Transform_Process_End" task="Transform_Process" template="tid_ProcessOutput" value="210" version="0" />
          <event channel="chidTransform" level="win:Informational" message="$(string.Transform_SetInputType.EventMessage)" opcode="win:Info" symbol="MFReadWrite_Transform_SetInputType" task="Transform_SetInputType" template="tid_MediaTypeExtended" value="211" version="0" />
        </events>
      </provider>
    </events>
  </instrumentation>
</assembly>