<?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>7CA7BEE8-25E0-4967-9EAD-7DBD6C99A3EB</SignatureId>
  <Title>WaitAnalysisWorkItems</Title>
  <SignatureType>Basic</SignatureType>
  <Description>Wait Analysis Work Item Stacks</Description>
  <TraceType>
    <Type>Common</Type>
  </TraceType>
  <Category>Wait (All Wait Classes) [Wait]</Category>
  <Component></Component>
  <AuthorAlias>xperf</AuthorAlias>
  <Recognition>
    <Wait>
      <CSwitchStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>nt!KeRemoveQueueEx</Frame>
        </FrameBlocks>
      </CSwitchStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <CSwitchStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>user32.dll!RealMsgWaitForMultipleObjectsEx</Frame>
        </FrameBlocks>
      </CSwitchStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <CSwitchStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>user32.dll!MsgWaitForMultipleObjectsEx</Frame>
        </FrameBlocks>
      </CSwitchStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <CSwitchStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>ntdll.dll!TppWaiterpThread</Frame>
          <Frame>ntdll.dll!ZwWaitForMultipleObjects</Frame>
        </FrameBlocks>
      </CSwitchStack>
      <ReadyThreadStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>nt!KiProcessThreadWaitList</Frame>
        </FrameBlocks>
      </ReadyThreadStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <CSwitchStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>win32k.sys!NtUserGetMessage</Frame>
          <Frame>win32k.sys!xxxRealSleepThread</Frame>
          <Frame>nt!KeWaitForSingleObject</Frame>
        </FrameBlocks>
      </CSwitchStack>
      <ReadyThreadStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>win32k.sys!_PostMessageCheckIL</Frame>
          <Frame>win32k.sys!_PostMessageExtended</Frame>
          <Frame>win32k.sys!SetWakeBit</Frame>
        </FrameBlocks>
      </ReadyThreadStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <CSwitchStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>win32k.sys!NtUserGetMessage</Frame>
          <Frame>win32k.sys!xxxRealSleepThread</Frame>
          <Frame>nt!KeWaitForSingleObject</Frame>
        </FrameBlocks>
      </CSwitchStack>
      <ReadyThreadStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>win32k.sys!_PostMessageExtended</Frame>
          <Frame>nt!KeSetEvent</Frame>
        </FrameBlocks>
      </ReadyThreadStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <CSwitchStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>SHELL32.DLL!CEnumTask::_IncrEnumFolder</Frame>
          <Frame>nt!KeWaitForSingleObject</Frame>
        </FrameBlocks>
      </CSwitchStack>
      <ReadyThreadStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>SHELL32.DLL!CEventResult::SignalDone</Frame>
          <Frame>nt!KeSetEvent</Frame>
        </FrameBlocks>
      </ReadyThreadStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <CSwitchStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>win32k.sys!NtUserWaitMessage</Frame>
          <Frame>win32k.sys!xxxRealSleepThread</Frame>
          <Frame>nt!KeWaitForSingleObject</Frame>
        </FrameBlocks>
      </CSwitchStack>
      <ReadyThreadStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>win32k.sys!_PostMessageExtended</Frame>
          <Frame>nt!KeSetEvent</Frame>
        </FrameBlocks>
      </ReadyThreadStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
      <CSwitchStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>win32k.sys!NtUserWaitAvailableMessageEx</Frame>
          <Frame>win32k.sys!xxxSleepThread</Frame>
          <Frame>win32k.sys!xxxRealSleepThread</Frame>
          <Frame>nt!KeWaitForSingleObject</Frame>
        </FrameBlocks>
      </CSwitchStack>
      <ReadyThreadStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>win32k.sys!_PostMessageExtended</Frame>
          <Frame>nt!KeSetEvent</Frame>
        </FrameBlocks>
      </ReadyThreadStack>
    </Wait>
  </Recognition>
  <Recognition>
    <Wait>
	  <CSwitchStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>dxgmms1.sys!VidSchiWorkerThread</Frame>
          <Frame>nt!KeWaitForMultipleObjects</Frame>
        </FrameBlocks>
	  </CSwitchStack>
      <ReadyThreadStack>
        <FrameBlocks>
          <AllowSkippingFrames>true</AllowSkippingFrames>
          <Frame>nt!PopFxPluginWork</Frame>
          <Frame>dxgkrnl.sys!DxgkPowerRuntimeComponentActiveCallback</Frame>
          <Frame>dxgkrnl.sys!DXGADAPTER::PowerRuntimeComponentActiveCallback</Frame>
          <Frame>dxgmms1.sys!VidSchSetNodePowerState</Frame>
        </FrameBlocks>
      </ReadyThreadStack>
    </Wait>
  </Recognition> 
  <AdditionalComments>This signature identifies stacks that will be treated as work items.</AdditionalComments>
</PerformanceSignature>