이벤트 유형을 분류하는 데 사용되는 키워드 정의
ETW 키워드(keyword) 이벤트 범주 집합에서 이벤트의 멤버 자격을 나타내는 데 사용되는 64비트 비트 마스크입니다. 키워드(keyword) 각 비트는 범주에 해당합니다. 이벤트의 키워드(keyword) 비트 집합이 있는 경우 이벤트는 해당 비트에 해당하는 이벤트 범주에 속합니다.
키워드(keyword) 하위 48비트(비트 마스크 0x0000FFFFFFFFFFFF)는 이벤트 공급자(매니페스트의 작성자)에 의해 정의됩니다. 상위 16비트 키워드(keyword)(비트 마스크 0xFFFF000000000000)은 Microsoft에서 정의합니다.
winmeta.xml
Microsoft 정의 키워드의 정의는 또는 Windows Kits include 폴더를 참조 winmeta.h
하세요.
공급자는 키워드를 사용하여 다양한 유형의 이벤트를 분류합니다. 예를 들어 키워드(keyword) 비트 0(키워드(keyword) 값0x1
)을 읽기 범주로 정의한 다음 파일 또는 레지스트리에서 읽기와 같은 읽기 작업을 수행하는 모든 이벤트에 읽기 키워드(keyword) 적용할 수 있습니다. 그런 다음 소비자는 키워드(keyword) 비트 값을 사용하여 다양한 이벤트 분류를 필터링할 수 있습니다. 예를 들어 소비자는 이벤트 컬렉션 세션의 MatchAnyKeyword 속성을 로 설정하여 0x1
세션이 읽기 범주의 이벤트만 수집하도록 할 수 있습니다.
ETW 이벤트 컬렉션 세션은 키워드를 사용하여(수준을 사용하는 것과 동일한 방식으로) ETW 서비스가 이벤트 추적 로그 파일에 쓰는 이벤트를 제한할 수 있습니다. 추적 세션은 이벤트의 키워드(keyword) 비트가 이 마스크에 설정된 비트와 일치하는 경우 이벤트가 기록되는 "MatchAnyKeyword" 비트 마스크라는 두 개의 키워드(keyword) 비트 마스크 집합을 사용하여 공급자를 사용하도록 설정할 수 있습니다. 및 "MatchAllKeyword" 비트 마스크 - "MatchAnyKeyword" 케이스와 일치하는 이벤트의 경우 이벤트는 "MatchAllKeyword" 마스크의 모든 비트가 이벤트에 있는 경우에만 기록됩니다. 비트 마스크를 키워드(keyword).
예를 들어 공급자가 읽기 키워드(keyword)(비트 0 = 0x1
) 및 로컬 액세스 키워드(keyword)(비트 1 = 0x2
)를 지정하는 이벤트와 읽기 키워드(keyword)(비트 0 = ) 및 원격 액세스 키워드(keyword)(비트 2 = 0x1
0x4
)를 지정하는 두 번째 이벤트를 정의하는 경우 이벤트 컬렉션 세션의 "MatchAnyKeyword" 비트 마스크 0x1
를 로 설정할 수 있습니다. (읽기) 및 "MatchAllKeyword" 비트 마스크를 0x0
(none)로 설정하여 모든 읽기 이벤트를 받거나 "MatchAnyKeyword" 비트 마스크를 0x1
로 설정하고 "MatchAllKeyword" 비트 마스크를 0x3
(읽기 + 로컬)로 설정하여 로컬 읽기만 받을 수 있습니다.
공급자에 대한 키워드(keyword) 정의하려면 키워드(keyword) 요소를 사용합니다. 공급자에 대해 키워드(keyword) 정의되면 이벤트 요소의키워드 특성을 사용하여 공급자의 이벤트에 키워드(keyword) 할당할 수 있습니다.
키워드(keyword) 이름과마스크 특성을 지정해야 합니다. 마스크는 비트 0과 비트 47 사이의 비트 집합이 있는 정수여야 합니다(예: mask="256"
또는 mask="0x100"
)는 키워드(keyword) 비트 8을 설정합니다. 비트 48~63은 Microsoft(또는 winmeta.xml
참조winmeta.h
)에서 정의되며 키워드(keyword) 요소에서 사용할 수 없습니다.
기호 및 메시지 특성은 선택 사항입니다.
다음 예제에서는 키워드(keyword) 정의하는 방법을 보여줍니다.
<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="Microsoft-Windows-SampleProvider"
guid="{1db28f2e-8f80-4027-8c5a-a11f7f10f62d}"
symbol="PROVIDER_GUID"
resourceFileName="<path to the exe or dll that contains the metadata resources>"
messageFileName="<path to the exe or dll that contains the string resources>"
message="$(string.Provider.Name)">
. . .
<keywords>
<keyword name="Read" mask="0x1" symbol="READ_KEYWORD"/>
<keyword name="Write" mask="0x2" symbol="WRITE_KEYWORD"/>
<keyword name="Local" mask="0x4" symbol="LOCAL_KEYWORD"/>
<keyword name="Remote" mask="0x8" symbol="REMOTE_KEYWORD"/>
</keywords>
. . .
</provider>
</events>
</instrumentation>
<localization>
<resources culture="en-US">
<stringTable>
<string id="Provider.Name" value="Sample Provider"/>
</stringTable>
</resources>
</localization>
</instrumentationManifest>