Freigeben über


INF AddEventProvider-Direktive

Eine AddEventProvider-Direktive wird in einem INF DDInstall verwendet. Abschnitt "Ereignisse". Es gibt Merkmale der ETW-Anbieter ( Event Tracing for Windows ) an, die Treibern zugeordnet sind. Diese Direktive wird für Windows 10 Version 1809 und höher unterstützt.

[DDInstall.Events] 

AddEventProvider={ProviderGUID},event-provider-install-section
...

Einträge

AnbieterGUID
Gibt den GUID-Wert an, der den Anbieter identifiziert. Dies kann als expliziter GUID-Wert des Formulars {nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn} oder als %strkey%-Token ausgedrückt werden, das {nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn} in einem Strings-Abschnitt der INF-Datei definiert ist.

event-provider-install-section
Verweist auf einen inF-Writer definierten Abschnitt, der Informationen zum Registrieren des Anbieters für dieses Gerät (oder die Geräte) enthält. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise" .

Hinweise

Die systemdefinierten erweiterungen und ohne Beachtung der Groß-/Kleinschreibung können in einen DDInstall eingefügt werden. Ereignisabschnitt, der eine AddEventProvider-Anweisung in betriebssystemübergreifenden und/oder plattformübergreifenden INF-Dateien enthält, um plattformspezifische oder betriebssystemspezifische Installationen anzugeben.

Jeder vom INF-Writer erstellte Abschnittsname muss innerhalb der INF-Datei eindeutig sein und den allgemeinen Regeln zum Definieren von Abschnittsnamen entsprechen. Weitere Informationen zu diesen Regeln finden Sie unter Allgemeine Syntaxregeln für INF-Dateien.

Eine AddEventProvider-Direktive muss an anderer Stelle in der INF-Datei auf einen benannten event-provider-install-section verweisen. Jeder dieser Abschnitte hat das folgende Formular:

[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])
...

Jeder Event-provider-install-section muss ProviderName und ResourceFile enthalten. Geben Sie optional eine Liste von Kanälen für den Anbieter an, indem Sie eine beliebige Kombination aus ImportChannel(s) und AddChannel(s) verwenden, die jeweils in einer separaten Zeile enthalten sind. Weitere Informationen zu Kanallisten in einer INF-Datei finden Sie weiter unten unter Angeben einer Kanalliste . Weitere Informationen zu Windows-Ereignisprotokollkanälen finden Sie unter Definieren von Kanälen.

Einträge und Werte des Abschnitts "Event-Provider-Install"

Providername=Namen
Gibt den Namen des Anbieters an. Der Name darf nicht länger als 255 Zeichen sein und darf die Zeichen "", ">", "<&", "", "|", "", "", "", ":", "", "", "?", "*" oder Zeichen mit ASCII-Werten von weniger als 31 enthalten. Darüber hinaus muss der Name den allgemeinen Einschränkungen für Datei- und Registrierungsschlüsselnamen entsprechen. Diese Einschränkungen finden Sie unter Benennen einer Datei - und Registrierungselementgröße.

ResourceFile=Pfad zu Datei
Gibt den Pfad zu der exe oder DLL an, die die Metadatenressourcen des Anbieters enthält, ausgedrückt als %dirid%\filename.

Die Diridnummer ist entweder ein benutzerdefinierter Verzeichnisbezeichner oder einer der systemdefinierte Verzeichnisbezeichner, die unter Using Dirids beschrieben werden.

MessageFile=Pfad zu Datei
Gibt optional den Pfad zur EXE oder DLL an, die die lokalisierten Nachrichtenressourcen des Anbieters enthält, ausgedrückt als %dirid%\filename.

ParameterFile=Pfad zu Datei
Gibt optional den Pfad zur EXE oder DLL an, die die Parameterzeichenfolgenressourcen des Anbieters enthält, ausgedrückt als %dirid%\filename.

ImportChannel=Kanalname
Gibt optional einen Kanal an, der von einem anderen Anbieter definiert wurde. Weitere Informationen finden Sie im abschnitt Angeben einer Kanalliste .

AddChannel=channel-name,channel-type[,channel-install-section]
Gibt optional einen Kanal mit einer Unterdirektive an, die optional auf einen inF-writer-defined channel-install-section an anderer Stelle in der INF-Datei verweist. Weitere Informationen finden Sie im abschnitt Angeben einer Kanalliste .

Angeben einer Kanalliste

Sie können eine Liste von Kanälen für den Anbieter im Abschnitt event-provider-install-angeben. Sie können einen Kanal importieren oder der Liste einen Kanal hinzufügen, und die Reihenfolge dieser Kanäle bleibt erhalten. Weitere Informationen finden Sie unter Definieren von Kanälen.

Der Kanalname muss innerhalb der Liste der Kanäle, die der Anbieter verwendet, eindeutig sein. Der Kanalname muss weniger als 255 Zeichen lang sein und darf die folgenden Zeichen nicht enthalten: '>', '<', '&', '', '', '', '', '', '', '', '', '*' oder Zeichen mit ASCII-Werten kleiner als 31.

Der Kanaltyp kann als einer der folgenden numerischen Werte angegeben werden, der entweder als Dezimalwert oder, wie in der folgenden Liste gezeigt, in hexadezimaler Notation ausgedrückt wird.

0x1 (Admin)
Admin Typkanäle unterstützen Ereignisse, die sich an Endbenutzer, Administratoren und Supportmitarbeiter richten. Ereignisse, die in die Admin Kanäle geschrieben werden, sollten über eine klar definierte Lösung verfügen, für die der Administrator handeln kann.

0x2 (betriebsbereit)
Betriebstypkanäle unterstützen Ereignisse, die zum Analysieren und Diagnostizieren eines Problems oder Auftretens verwendet werden. Sie können zum Auslösen von Tools oder Aufgaben anhand des Problems oder des Vorkommens verwendet werden.

0x3 (Analyse)
Analysetypkanäle unterstützen Ereignisse, die in hoher Lautstärke veröffentlicht werden. Sie beschreiben Programmvorgänge und geben Probleme an, die nicht durch Benutzereingriffe behoben werden können.

0x4 (Debuggen)
Debugtypkanäle unterstützen Ereignisse, die ausschließlich von Entwicklern zur Diagnose eines Problems für das Debuggen verwendet werden.

Eine AddChannel-Unterdirektive kann auch an anderer Stelle in der INF-Datei auf einen Kanalinstallationsabschnitt verweisen. Jeder dieser Abschnitte hat das folgende Formular:

[channel-install-section]

[Isolation=isolation-type]
[Access=access-string]
[Enabled=0|1]
[Value=value]
[LoggingMaxSize=max-size]
[LoggingRetention=retention-type]
[LoggingAutoBackup=0|1]

Weitere Informationen zu Kanalattributen finden Sie unter ChannelType defined in EventManifest Schema.

Channel-Install Abschnittseinträge und -werte

Isolation=Isolationstyp
Gibt optional die Standardzugriffsberechtigungen für den Kanal als einen der folgenden numerischen Werte an, die entweder als Dezimalwert oder, wie in der folgenden Liste gezeigt, in hexadezimaler Notation ausgedrückt werden. Wenn nicht angegeben, wird standardmäßig 0x1 (Anwendung) angegeben.

0x1 (Anwendung)

0x2 (System)

0x3 (Benutzerdefiniert)

Zugriff=access-string
Gibt optional einen SDDL-Zugriffsdeskriptor (Security Descriptor Definition Language ) an, der den Zugriff auf die Protokolldatei steuert, die den Kanal unterstützt.

Diese Zeichenfolge steuert den Lesezugriff auf die Datei (die Schreibberechtigungen werden ignoriert), wenn die Isolation auf 0x1 (Anwendung) oder 0x2 (System) festgelegt ist, während sie den Schreibzugriff auf den Kanal und den Lesezugriff auf die Datei steuert, wenn das Isolationsattribut auf 0x3 (Benutzerdefiniert) festgelegt ist.

Aktiviert=0|1
Gibt optional an, ob der Kanal aktiviert ist. Wenn nicht angegeben, ist dies standardmäßig 0 (deaktiviert).

Da es sich bei 0x3 (Analytic) und 0x4 (Debug) um Kanäle mit hoher Lautstärke handelt, sollten Sie Aktiviert nur dann auf 1 festlegen, wenn Sie ein Problem mit einer Komponente untersuchen, die in diesen Kanal schreibt. Jedes Mal, wenn Sie einen 0x3 (Analyse) und 0x4 Kanal (Debug) aktivieren, löscht der Dienst die Ereignisse aus dem Kanal.

Wert=Wert
Gibt optional einen numerischen Bezeichner an, der den Kanal innerhalb der Liste der Kanäle eindeutig identifiziert, die der Anbieter definiert.

LoggingMaxSize=Maximale Größe
Gibt optional die maximale Größe der Protokolldatei in Bytes an. Der Standardwert (und der Mindestwert) beträgt 1 MB.

LoggingRetention=Aufbewahrungstyp
Gibt optional an, ob die Protokolldatei 0x1 (kreisförmig) oder 0x2 (sequenziell) ist. Der Standardwert ist 0x1 (kreisförmig) für 0x1 (Admin) und 0x2 (Operational) Kanaltyp und 0x2 (sequenziell) für 0x3 (Analyse) und 0x4 (Debug).

LoggingAutoBackup=0|1
Gibt optional an, ob eine neue Protokolldatei erstellt werden soll, wenn die aktuelle Protokolldatei ihre maximale Größe erreicht. Legen Sie auf 1 fest, um anzufordern, dass der Dienst eine neue Datei erstellt, wenn die Protokolldatei ihre maximale Größe erreicht. andernfalls 0. Sie können LoggingAutoBackup nur auf 1 festlegen, wenn loggingRetention auf 0x2 (sequenziell) und nur für 0x1 (Admin) und 0x2 (Operational) festgelegt ist.

Beispiele

Dieses Beispiel zeigt die Abschnitte des Ereignisanbieters, auf die von den AddEventProvider-Direktiven verwiesen wird, wie bereits weiter oben im Beispiel für DDInstall gezeigt. Ereignisse.

[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

Weitere Informationen

DDInstall. Ereignisse