Freigeben über


Format eines Textprotokollabschnittstexts

Ein Textprotokollabschnittstext enthält null oder mehr Protokolleinträge, die für den Vorgang gelten, der einem Textprotokollabschnitt zugeordnet ist. Das Format eines Abschnittstextprotokolleintrags umfasst wie folgt ein entry_prefix Feld, ein time_stamp Feld, ein event_category Feld, ein Einzugsfeld und ein formatted_message Feld:

entry_prefix time_stamp event_category Einzug formatted_message
Die maximale Länge eines Abschnittstextprotokolleintrags in Zeichen beträgt 336.

entry_prefix Feld
Gibt an, ob der Protokolleintrag eine Fehlermeldung, eine Warnmeldung oder eine Informationsmeldung ist. Das Feld entry_prefix ist immer vorhanden und enthält eine der Zeichenfolgen, die in der folgenden Tabelle aufgeführt sind:

Entry_prefix Feld Typ der Nachricht
"!!!    " Eine Fehlermeldung
"!      " Eine Warnmeldung
" " Andere Informationsmeldung als eine Fehlermeldung oder eine Warnmeldung

time_stamp Feld
Gibt die Systemzeit an, zu der das protokollierte Ereignis aufgetreten ist. Das Feld time_stamp ist optional, und SetupAPI enthält standardmäßig keinen Zeitstempel. SetupWriteTextLog unterstützt jedoch das Einschließen eines Zeitstempels in einen Protokolleintrag. Das Format des time_stamp Felds entspricht dem Format des time_stamp Felds, das unter Format eines Textprotokollabschnittsheaders beschrieben wird.

event_category Feld
Gibt die Kategorie des SetupAPI-Vorgangs an, der den Protokolleintrag erstellt hat. Das Feld event_category ist in der Regel vorhanden, aber nicht erforderlich. Wenn das feld event_category vorhanden ist, enthält es eine der Zeichenfolgen, die in der folgenden Tabelle aufgeführt sind:

Event_category Feldzeichenfolgen SetupAPI-Vorgang
"...: " Vom Anbieter bereitgestellter Vorgang
"bak: " Sicherungsdaten
"cci: " Klasseninstallations- oder Co-Installer-Betrieb
"cpy: " Kopieren von Dateien
"dvi: " Geräteinstallation
"flq: " Verwalten von Dateiwarteschlangen
"inf: " Verwalten von INF-Dateien
"ndv: " Assistent für neue Geräte
"prp: " Verwalten von Geräte- und Treibereigenschaften
"reg: " Verwalten von Registrierungseinstellungen
"set: " Allgemeine Einrichtung
"sig: " Überprüfen digitaler Signaturen
"sto: " Verwalten des Treiberspeichers
"ui : " Dialogfelder "Benutzeroberfläche verwalten"
"ump: " PnP-Manager im Benutzermodus

Einzugsfeld
Besteht aus einer Sequenz von 0 oder mehr Einzugseinheiten, wobei eine Einzugseinheit eine monospace-Zeichenfolge ist, die fünf Leerzeichen enthält. Das Einzugsfeld ist optional, und SetupAPI enthält standardmäßig keinen Einzug. SetupWriteTextLog unterstützt das Ändern der Anzahl von Einzugseinheiten, die in einem Protokolleintrag enthalten sind.

formatted_message Feld
Enthält die spezifischen Informationen, die für den Protokolleintrag gelten.

Die protokollierten Abschnittstexteinträge hängen von der Ereignisebene ab, die für das Protokoll festgelegt ist, und den Kategorieebenen, die für das Protokoll aktiviert sind. Weitere Informationen zu diesen Einstellungen finden Sie unter SetupAPI-Protokollierungsregistrierungseinstellungen.

Wenn SetupAPI einen Abschnitt erstellt, in dem Vorgänge gruppiert werden, die für eine Geräteinstallation gelten, werden auch Textprotokolleinträge des Abschnitts in Unterabschnitten rekursiv gruppiert. SetupAPI unterscheidet Unterabschnitte durch die Art und Weise, wie Protokolleinträge kommentiert und eingezogen werden. Ein solcher Unterabschnitt befindet sich im folgenden Auszug aus einem typischen Geräteinstallationsabschnitt. Der Unterabschnitt beginnt mit dem Protokolleintrag "dvi: {Build Driver List}" und endet mit dem Protokolleintrag "dvi: {Build Driver List - exit(0x00000000)}". Dieser Unterabschnitt zeigt eine typische Sequenz von Protokolleinträgen, die die Felder entry_prefix, event_category, Einzug und formatted_message enthalten. Die SetupAPI-Vorgänge, die die Protokolleinträge geschrieben haben, haben auch den Einzug erstellt und den Inhalt der formatierten Nachrichten bereitgestellt. Die Ereignisebene für dieses Beispiel wurde auf TXTLOG_DETAILS festgelegt, und für dieses Beispiel wurden alle Kategorieebenen aktiviert.

>>>  [Device Install - PCI\VEN_104C&DEV_8019&SUBSYS_8010104C&REV_00\3&61aaa01&0&38]
>>>  2005/02/13 22:06:28.109: Section start
...
 Additional section body log entries
...
     dvi: {Build Driver List}
     dvi:      Enumerating all INFs...
     dvi:      Found driver match:
     dvi:           HardwareID - PCI\VEN_104C&DEV_8019
     dvi:           InfName    - C:\WINDOWS\inf\1394.inf
     dvi:           DevDesc    - Texas Instruments OHCI Compliant IEEE 1394 Host Controller
     dvi:           DrvDesc    - Texas Instruments OHCI Compliant IEEE 1394 Host Controller
     dvi:           Provider   - Microsoft
     dvi:           Mfg        - Texas Instruments
     dvi:           InstallSec - TIOHCI_Install
     dvi:           ActualSec  - TIOHCI_Install.NT
     dvi:           Rank       - 0x00002001
     dvi:           DrvDate    - 10/01/2002
     dvi:           Version    - 6.0.5033.0 
!!!  inf:      InfCache: Error flagging 1394.inf for match string pci\ven_104c&dev_8019
     dvi: {Build Driver List - exit(0x00000000)}
...
 Additional section body log entries 
...
<<<  [2005/02/13 22:06:29.000: Section end]
<<<  [Exit Status(0x00000000)]