<?xml version="1.0" encoding="UTF-8"?>
<?mso-infoPathSolution solutionVersion="1.0.0.188" PIVersion="1.0.0.0" href="file:///PerfSignature.xsn" name="urn:schemas-microsoft-com:office:infopath:PerfSig:" language="en-us" productVersion="12.0.0" ?>
<?mso-application progid="InfoPath.Document" versionProgid="InfoPath.Document.2"?>
<PerformanceSignature SchemaVersion="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2010-02-10T03:14:31" xmlns:xd="http://schemas.microsoft.com/office/infopath/2003">
  <SignatureId>3E2140E1-9B57-431B-BFBA-4D8D284DDE75</SignatureId>
  <Title>WaitAnalysisWorkItemExceptionss</Title>
  <AuthorAlias>xperf</AuthorAlias>
  <SignatureType>Basic</SignatureType>
  <Description>Wait Analysis Work Item Exception Stacks</Description>
  <TraceType>
    <Type>Common</Type>
  </TraceType>
  <Category>Wait (All Wait Classes) [Wait]</Category>
  <Component></Component>
  <Recognition>
    <Wait>
      <ReadyThreadStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>MSHTML.DLL!CVSyncProvider::PostVSyncNotification</Frame>
        </FrameBlocks>
      </ReadyThreadStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <ReadyThreadStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>MSHTML.DLL!CVSyncProvider::Run</Frame>
          <Frame>win32k.sys!_PostMessageExtended</Frame>
        </FrameBlocks>
      </ReadyThreadStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <ReadyThreadStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>win32k.sys!zzzBltValidBits</Frame>
          <Frame>win32k.sys!zzzSetFMouseMoved</Frame>
        </FrameBlocks>
      </ReadyThreadStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <ReadyThreadStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>MSHTML.DLL!CTimerMan::ThreadExec</Frame>
        </FrameBlocks>
      </ReadyThreadStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <CSwitchStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>nt!ExpWaitForResource</Frame>
        </FrameBlocks>
      </CSwitchStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <CSwitchStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>ntdll.dll!EnterCrit</Frame>
        </FrameBlocks>
      </CSwitchStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <ReadyThreadStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>win32k.sys!RawInputThread</Frame>
        </FrameBlocks>
      </ReadyThreadStack>
    </Wait>
  </Recognition>
  <Recognition>
    <!-- Win7 TimerExpiration stack-->
    <Wait>
      <ReadyThreadStack>
        <FrameBlocks>
          <AllowSkippingFrames>false</AllowSkippingFrames>
          <Frame>nt!KiTimerExpiration</Frame>
          <Frame>nt!KiProcessExpiredTimerList</Frame>
          <Frame>nt!KiReadyThread</Frame>
        </FrameBlocks>
      </ReadyThreadStack>
    </Wait>
  </Recognition>
  <Recognition>
    <!-- Win8 TimerExpiration stack-->
    <Wait>
      <ReadyThreadStack>
        <FrameBlocks>
          <AllowSkippingFrames>false</AllowSkippingFrames>
          <Frame>nt!KiTimerExpiration</Frame>
          <Frame>nt!KiExpireTimerTable</Frame>
          <Frame>nt!KiProcessExpiredTimerList</Frame>
        </FrameBlocks>
      </ReadyThreadStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <ReadyThreadStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>nt!MmAccessFault</Frame>
        </FrameBlocks>
      </ReadyThreadStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <CSwitchStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>user32.dll!RealMsgWaitForMultipleObjectsEx</Frame>
        </FrameBlocks>
      </CSwitchStack>
      <ReadyThreadStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>win32k.sys!ProcessQueuedMouseEvents</Frame>
        </FrameBlocks>
      </ReadyThreadStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <CSwitchStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>nt!EtwpStackWalkApc</Frame>
        </FrameBlocks>
      </CSwitchStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <CSwitchStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>user32.dll!RealMsgWaitForMultipleObjectsEx</Frame>
        </FrameBlocks>
      </CSwitchStack>
      <ReadyThreadStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>user32.dll!BroadcastSystemMessageW</Frame>
        </FrameBlocks>
      </ReadyThreadStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <CSwitchStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>nt!MmAccessFault</Frame>
        </FrameBlocks>
      </CSwitchStack>
    </Wait>
  </Recognition>
  <AdditionalComments>This signature identifies stacks that will NOT be treated as work items.  Note that the purpose of the this file is to overrides hits from WaitWorkItem.xml</AdditionalComments>
</PerformanceSignature>
