Windows Event Log Event IDs - was ist relevant und was nicht?
-
Die Event IDs im Windows Event Log sind ja gleich aufgebaut wie Windows Status Codes.
D.h. die Bits 31 und 30 sind ein "Severity Code" (Success/Information/Warning/Error).
Dann kommt ein "Customer Bit", und ein "Reserved Bit".
Dann kommen 12 Bits "Facility Code" und zuletzt 16 Bits die einfach nur mit "Code" beschrieben sind.Frage: wenn ich nun bestimmte Events "erkennen" will, also z.B. Logon, Logoff, System Start/Shutdown etc., was muss ich dann alles vergleichen, und was sollte ich ignorieren?
Speziell: muss/sollte ich den Facility-Code mit vergleichen?
Ich finde dazu leider keine brauchbare Doku...
-
Von was sprichst Du hier?
HRESULT Definitionen stehen in der winerror.h
Die Facility Codes etc und Kombinationen stehen alle in diesem Header direkt am Kopf.
http://msdn.microsoft.com/en-us/library/ms819773.aspx
-
Nönö, nix HRESULT, Windows Status Codes. Aber egal

Um was es mir geht sind die Werte, die in EVENTLOGRECORD::EventID stehen. Und die sind so aufgebaut:
http://msdn.microsoft.com/en-us/library/aa363651(VS.85).aspx
Und meine Frage ist: welche "Teile" von so einem EVENTLOGRECORD::EventID soll/darf ich vergleichen, wenn ich bestimmt Events erkennen will.
Beispiel: der Windows Event Log Viewer zeit mir Code 7036 (0x1B7C) für einen "state change" bei einem Service an ("The ... service entered the ... state.").
In EVENTLOGRECORD::EventID steht aber 1073748860 (0x40001B7C) drinnen, weil der "severity" Wert auf 1 (Informational) ist.Wenn ich also EVENTLOGRECORD::EventID einfach nur mit dem vergleiche, was mir der Windows Event Log Viewer anzeigt, funktioniert es nicht.
Und nun weiss ich nicht welche Bits ich beim Vergleich alle ausmaskieren soll/muss, damit es "passt".