2012-11-12 93 views
1

我試圖讓我的Windows事件跟蹤(ETW)提供程序清單註冊正確的渠道名稱。當我使用清單(下面包含)時,我得到以下結果。但是,當我檢查清單與註冊表中存儲的所有用戶安裝代理清單(存儲在HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ WINEVT)中的結果之間的差異時,我看不到任何理由鍵與Foo-Bat-TestApp /前綴一起顯示。我如何擺脫前綴?我無法將它們從name屬性中刪除,因爲已經有一個使用「Operational」名稱的操作系統組件(它是註冊表中的一個扁平列表)。ETW提供商的渠道名稱

Event Viewer Snapshot

我的示例清單如下:

<?xml version="1.0" encoding="utf-16"?> 
<instrumentationManifest 
    xmlns="http://schemas.microsoft.com/win/2004/08/events" 
    xmlns:win="http://manifests.microsoft.com/win/2004/08/windows/events" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <instrumentation> 
    <events> 
     <provider name="Foo-Bar-TestApp" 
       guid="{C5C633DC-FB7E-4EA0-80EC-C683FA52561C}" 
       symbol="EtwProvider" 
       resourceFileName="C:\Projects\ETWTest\bin\Debug\ETWTest..dll" 
       messageFileName="C:\Projects\ETWTest\bin\Debug\ETWTest.dll"> 
     <channels> 
      <channel name="Foo-Bar-TestApp/Admin" 
        chid="Admin" 
        type="Admin" 
        enabled="true" /> 
      <channel name="Foo-Bar-TestApp/Operational" 
        chid="Operational" 
        type="Operational" 
        enabled="true" /> 
      <channel name="Foo-Bar-TestApp/Debug" 
        chid="Debug" 
        type="Debug" 
        enabled="false" /> 
     </channels> 
     <keywords> 
      <keyword name="KeywordA" symbol="READ_KEYWORD" mask="0x1" /> 
      <keyword name="KeywordB" symbol="WRITE_KEYWORD" mask="0x2" /> 
     </keywords> 
     <events> 
      <event version="1" 
       value="1" 
       symbol="SampleEvent" 
       channel="Operational" 
       level="win:Informational" 
       message="$(string.Event.SampleEvent)" 
       keywords="KeywordA" /> 
     </events> 
     </provider> 
    </events> 
    </instrumentation> 
    <localization> 
    <resources culture="en-US"> 
     <stringTable> 
     <string id="Event.SampleEvent" value="This is a sample event"/> 
     </stringTable> 
    </resources> 
    </localization> 
</instrumentationManifest> 

回答

0

爲了實現所需的功能,你必須在通道定義使用符號屬性。看下面的例子:
<channel name="Admin" symbol="Foo-Bar-TestApp-Admin" chid="Admin" type="Admin" enabled="true" />