INF AddEventProvider 지시문
AddEventProvider 지시문은 INF DDInstall 내에서 사용됩니다. 이벤트 섹션. 드라이버와 연결된 ETW( Windows용 이벤트 추적 ) 공급자의 특성을 지정합니다. 이 지시문은 Windows 10 버전 1809 이상에서 지원됩니다.
[DDInstall.Events]
AddEventProvider={ProviderGUID},event-provider-install-section
...
항목
ProviderGUID
공급자를 식별하는 GUID 값을 지정합니다. 폼의 명시적 GUID 값으로 표현하거나 INF 파일의 {nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}
Strings 섹션에서 에 정의된 {nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}
%strkey% 토큰으로 표현할 수 있습니다.
event-provider-install-section
이 디바이스(또는 디바이스)에 대한 공급자를 등록하기 위한 정보가 포함된 INF 기록기 정의 섹션을 참조합니다. 자세한 내용은 다음 설명 섹션을 참조 하세요 .
설명
시스템 정의 및 대/소문자를 구분하지 않는 확장을 DDInstall에 삽입할 수 있습니다. 플랫폼별 또는 OS별 설치를 지정하기 위해 운영 체제 간 및/또는 플랫폼 간 INF 파일의 AddEventProvider 지시문을 포함하는 이벤트 섹션입니다.
INF 작성기에서 만든 각 섹션 이름은 INF 파일 내에서 고유해야 하며 섹션 이름을 정의하기 위한 일반적인 규칙을 따라야 합니다. 이러한 규칙에 대한 자세한 내용은 INF 파일에 대한 일반 구문 규칙을 참조하세요.
AddEventProvider 지시문은 INF 파일의 다른 곳에서 명명된 event-provider-install-section을 참조해야 합니다. 이러한 각 섹션의 형식은 다음과 같습니다.
[event-provider-install-section]
ProviderName=name
ResourceFile=path-to-file
[MessageFile=path-to-file]
[ParameterFile=path-to-file]
(ImportChannel=channel-name) |
(AddChannel=channel-name,channel-type[,channel-install-section])
...
각 event-provider-install-section 은 ProviderName 및 ResourceFile을 제공해야 합니다. 필요에 따라 각각 별도의 줄에 있는 ImportChannel 및 AddChannel의 조합을 사용하여 공급자에 대한 채널 목록을 지정합니다. INF 파일의 채널 목록에 대한 자세한 내용은 아래 채널 목록 지정을 참조하세요. Windows 이벤트 로그 채널에 대한 자세한 내용은 채널 정의를 참조하세요.
Event-Provider-Install 섹션 항목 및 값
ProviderName=이름
공급자의 이름을 지정합니다. 이름은 255자를 초과할 수 없으며 '', '', '<&', '>'', '|', '', ':', '', '?', '?', '*' 또는 ASCII 값이 31보다 작은 문자를 포함할 수 없습니다. 또한 이름은 파일 및 레지스트리 키 이름에 대한 일반적인 제약 조건을 따라야 합니다. 이러한 제약 조건은 파일 및 레지스트리 요소 크기 제한이름 지정에서 찾을 수 있습니다.
ResourceFile=path-to-file
%dirid%\filename으로 표현된 공급자의 메타데이터 리소스를 포함하는 exe 또는 dll의 경로를 지정합니다.
dirid 번호는 사용자 지정 디렉터리 식별자 또는 Dirids 사용에 설명된 시스템 정의 디렉터리 식별자 중 하나입니다.
MessageFile=path-to-file
필요에 따라 %dirid%\filename으로 표현된 공급자의 지역화된 메시지 리소스를 포함하는 exe 또는 dll의 경로를 지정합니다.
ParameterFile=path-to-file
필요에 따라 %dirid%\filename으로 표현된 공급자의 매개 변수 문자열 리소스가 포함된 exe 또는 dll의 경로를 지정합니다.
ImportChannel=channel-name
필요에 따라 다른 공급자가 정의한 채널을 지정합니다. 자세한 내용은 다음 채널 목록 지정 섹션을 참조하세요.
AddChannel=channel-name,channel-type[,channel-install-section]
필요에 따라 INF 파일의 다른 위치에서 INF-writer 정의 channel-install-section을 참조하는 하위 지시문이 있는 채널을 지정합니다. 자세한 내용은 다음 채널 목록 지정 섹션을 참조하세요.
채널 목록 지정
event-provider-install-section 내에서 공급자에 대한 채널 목록을 지정할 수 있습니다. 채널을 가져오거나 목록에 채널을 추가할 수 있으며 이러한 채널의 순서는 유지됩니다. 자세한 내용은 채널 정의를 참조하세요.
채널 이름은 공급자가 사용하는 채널 목록 내에서 고유해야 합니다. channel-name은 255자 미만이어야 하며 '', '', '><&', ''', '|', '', ':', '', '?', '?', '*' 또는 ASCII 값이 31보다 작은 문자를 포함할 수 없습니다.
채널 형식은 10진수로 표현되거나 다음 목록에 표시된 대로 16진수 표기법으로 표현되는 다음 숫자 값 중 하나로 지정할 수 있습니다.
0x1(관리)
관리 형식 채널은 최종 사용자, 관리자 및 지원 담당자를 대상으로 하는 이벤트를 지원합니다. 관리 채널에 기록된 이벤트에는 관리자가 작업할 수 있는 잘 정의된 솔루션이 있어야 합니다.
0x2 (운영)
운영 유형 채널은 문제 또는 발생을 분석하고 진단하는 데 사용되는 이벤트를 지원합니다. 이러한 이벤트를 사용하여 문제 또는 항목에 따라 도구 또는 작업을 트리거할 수 있습니다.
0x3 (분석)
분석 유형 채널은 대량으로 게시된 이벤트를 지원합니다. 이러한 이벤트는 프로그램 작업을 설명하고, 사용자가 개입하여 처리할 수 없는 문제를 나타냅니다.
0x4 (디버그)
디버그 유형 채널은 디버깅 문제를 진단하기 위해 개발자만 사용하는 이벤트를 지원합니다.
AddChannel 하위 지시문은 INF 파일의 다른 곳에서 channel-install-section을 참조할 수도 있습니다. 이러한 각 섹션의 형식은 다음과 같습니다.
[channel-install-section]
[Isolation=isolation-type]
[Access=access-string]
[Enabled=0|1]
[Value=value]
[LoggingMaxSize=max-size]
[LoggingRetention=retention-type]
[LoggingAutoBackup=0|1]
채널 특성에 대한 자세한 내용은 EventManifest 스키마 내에 정의된 ChannelType을 참조하세요.
섹션 항목 및 값 Channel-Install
격리=isolation-type
필요에 따라 채널에 대한 기본 액세스 권한을 10진수 또는 다음 목록에 표시된 대로 16진수 표기법으로 표현된 다음 숫자 값 중 하나로 지정합니다. 생략하면 기본값은 0x1 (애플리케이션)입니다.
액세스=access-string
필요에 따라 채널을 백업하는 로그 파일에 대한 액세스를 제어하는 SDDL( 보안 설명자 정의 언어 ) 액세스 설명자를 지정합니다.
이 문자열은 격리가 0x1(애플리케이션) 또는 0x2(시스템)로 설정된 경우 파일에 대한 읽기 액세스를 제어하고 격리 특성이 0x3(사용자 지정)으로 설정된 경우 파일에 대한 읽기 액세스를 제어합니다.
사용=0|1
필요에 따라 채널을 사용할 수 있는지 여부를 지정합니다. 생략하면 기본값은 0(사용 안 함)입니다.
0x3(분석) 및 0x4(디버그) 채널 형식은 대용량 채널이므로 해당 채널에 쓰는 구성 요소와 관련된 문제를 조사할 때만 사용을 1로 설정해야 합니다. 0x3(분석) 및 0x4(디버그) 채널을 사용하도록 설정할 때마다 서비스는 채널에서 이벤트를 지웁니다.
값=값
필요에 따라 공급자가 정의하는 채널 목록 내의 채널을 고유하게 식별하는 숫자 식별자를 지정합니다.
LoggingMaxSize=max-size
필요에 따라 로그 파일의 최대 크기(바이트)를 지정합니다. 기본값(및 최소값)은 1MB입니다.
LoggingRetention=retention-type
필요에 따라 로그 파일이 0x1 (순환) 또는 0x2 (순차적)인지 여부를 지정합니다. 기본값은 0x3(분석) 및 0x4(디버그) 채널 형식에 대한 0x1(관리) 및 0x2(운영) 채널 형식 및 0x2(순차적)에 대한 0x1(순환)입니다.
LoggingAutoBackup=0|1
필요에 따라 현재 로그 파일이 최대 크기에 도달할 때 새 로그 파일을 만들지 여부를 지정합니다. 로그 파일이 최대 크기에 도달하면 서비스에서 새 파일을 만들도록 요청하려면 1로 설정합니다. 그렇지 않으면 0입니다.
LoggingAutoBackup은 LoggingRetention이 0x2(순차적)로 설정된 경우에만 1로 설정하고 0x1(관리) 및 0x2(운영) 채널 형식에 대해서만 설정할 수 있습니다.
예제
이 예제에서는 DDInstall 예제의 앞부분에서 설명한 대로 AddEventProvider 지시문에서 참조하는 event-provider-install 섹션을 보여 줍니다. 이벤트.
[foo_Event_Provider_Inst]
ProviderName = FooCollector
ResourceFile = %13%\FooResource.dll
MessageFile = %13%\FooMessage.exe
[bar_Event_Provider_Inst]
ProviderName = BarCollector
ResourceFile = %13%\BarResource.exe
MessageFile = %13%\BarMessage.dll
ParameterFile = %13%\BarParameter.dll
ImportChannel = Microsoft-Windows-BaseProvider/Admin
AddChannel = Bar-Provider/Admin,0x1,bar_Channel2_Inst ; Admin type
ImportChannel = Microsoft-Windows-BaseProvider/Operational
ImportChannel = Microsoft-Windows-SampleProvider/Admin
AddChannel = Bar-Provider/Debug,0x4 ; Debug type
[bar_Channel2_Inst]
Isolation = 2 ; System isolation
Enabled = 1
Value = 17
LoggingMaxSize = 20971520
LoggingRetention = 2 ; Sequential
LoggingAutoBackup = 1