Freigeben über


[Newsletter-Archiv ^] [< Band 2, Nummer 3] [Band 2, Nummer 5 >]

Systems Internals-Newsletter Band 2, Nummer 4

www.sysinternals.com
Copyright © 2000 Mark Russinovich


30. August 2000 – In dieser Ausgabe:

  1. LEITARTIKEL

  2. NEUIGKEITEN BEI SYSINTERNALS

    • ListDlls v2.23
    • HandleEx v2.26
    • ElogList v2.02
    • LoggedOn v1.1
    • Bluescreen v2.21
    • PageDefrag v2.01
    • LoadOrder v1.1
    • ClockRes v1.0
    • BgInfo v1.0
    • Inside Windows 2000, dritte Auflage
    • Sysinternals bei Microsoft
  3. INTERNALS-INFORMATIONEN

    • Das Potenzial der DEBUG-Berechtigung
    • Neue APIs in Win2K SP1?
    • WinDev 2000 West
  4. BALD VERFÜGBAR

    • Tokenmon

CO-SPONSOR: WINTERNALS SOFTWARE

Der Sysinternals-Newsletter wird von Winternals Software gesponsert (im Web unter www.winternals.com). Winternals Software ist der führende Entwickler und Anbieter von erweiterten Systemtools für Windows NT/2K. Zu den Produkten von Winternals Software zählen FAT32 für Windows NT 4.0, NTFSDOS Professional Edition (ein NTFS-Treiber mit Lese-/Schreibzugriff für DOS) und Remote Recover.

ERD Commander 2000 von Winternals Software ist das neueste Release der preisgekrönten ERD Commander-Produktlinie. ERD Commander 2000 ist dank der neuen Features, zu denen integrierte Registrierungs- und Datei-Editoren zählen, das fortschrittlichste Windows NT- und Windows 2000-Wiederherstellungstool auf dem Markt. Sie können ERD Commander 2000 auf Disketten, einer CD-ROM und sogar der Festplatte eines Systems installieren, um schnell darauf zuzugreifen, und der Installations-Assistent macht das Hinzufügen von SCSI- und anderen Massenspeichertreibern von Drittanbieter*innen zu einem Kinderspiel. ERD Commander 2000 kostet 349 USD oder nur 49 USD für vorhandene ERD Commander Professional-Besitzer*innen. Besuchen Sie www.winternals.com/products/erdcommander2000.shtml, um mehr zu erfahren und die Testversion herunterzuladen.

CO-SPONSOR: WINDOWS 2000-MAGAZIN

Das Windows 2000-Magazin enthält praktische Lösungen für Menschen, die täglich mit Windows NT/2000 arbeiten. Bestellen Sie jetzt ohne Risiko eine kostenlose Beispielausgabe. Wenn Sie sich entscheiden, Ihr Abonnement fortzusetzen, erhalten Sie 13 weitere Ausgaben mit 40 % Rabatt auf den Preis im Einzelverkauf. Abonnieren Sie noch heute unter: http://www.win2000mag.com/sub.cfm?code=fs00inhs13

Guten Tag,

Willkommen beim Sysinternals-Newsletter. Der Newsletter hat aktuell 25.000 Abonnenten.

Ich arbeite viel mit Regmon, Filemon und DebugView, Tools, die Bryce und ich bei Sysinternals entwickelt haben. Regmon ist ein Registrierungszugriffsmonitor (www.sysinternals.com/regmon.htm), Filemon ein Dateizugriffsmonitor (www.sysinternals.com/filemon.htm) und DebugView ein Debugausgabemonitor (www.sysinternals.com/dbgview.htm). Gelegentlich stoße ich auf Anwendungen oder Gerätetreiber, die auf einem meiner verschiedenen Systeme installiert sind und kontinuierliche Aktivitäten generieren, die in einem dieser Tools sichtbar sind. Ich spreche hierbei nicht von notwendigen Aktivitäten. Die von der Software ausgeführten Aktionen wiederholen sich in der Regel jedoch, und die Untersuchung der Ausgabeablaufverfolgungen zeigt, dass die Software eine Abruftechnik verwendet, bei der die Verwendung eines anderen weniger intrusiven Mechanismus möglich ist.

Beispielsweise fragen verschiedene kommerzielle Virenscanner ihre Virussignaturdatei mehrmals pro Sekunde ab, um festzustellen, ob diese aktualisiert wurde. Eines meiner Systeme verfügt über einen Druckertreiber von einem*r großen Druckerhersteller*in, der kontinuierlich Debuganweisungen ausgibt, die das Wort „polling“ enthalten, d. h. einen Abruf durchführen. Eines meiner Lieblingsbeispiele ist ein Hilfsprogramm, das von einem*r großen Hilfsprogrammhersteller*in als Tool zur Verbesserung der Systemleistung beworben wird und mehrmals pro Sekunde mehrere Registrierungsschlüssel des*der Herstellers*in abfragt. Ein Beispiel für eine andere Art der schlampigen Codierung ist im Netzwerkadapter von einem*r großen Hersteller*in von Netzwerktechnologie zu finden. Dieser enthält eine Softwarekomponente im Benutzermodus mit eingebetteten Debugbreakpoints, die während der Ausführung der Software kontinuierlich ausgelöst werden. Wenn eine Anwendung eine Änderung an einer Datei erkennen muss, kann sie eine Benachrichtigung über Verzeichnisänderungen anfordern. Ebenso kann sie, wenn sie Änderungen an einem Registrierungsschlüssel erkennen muss, eine Benachrichtigung über Schlüsseländerungen anfordern, und kommerzielle Software sollte niemals Debugausgaben oder Debugbreakpoints enthalten, die standardmäßig aktiviert sind.

Das vielleicht ungeheuerlichste Beispiel ist jedoch der Microsoft Windows Media-Programmdienst, der mit Windows 2000 Server gebündelt ist (\Winnt\System32\Windows Media\Server\Npsm.exe): Er liest die ersten 2 KB von \Winnt\System32\Windows Media\Server\ASDB\mdsas.mdb mit einer Rate von etwa 60 Lesevorgängen pro Sekunde auf einem System, auf dem ansonsten keine Aktivität stattfindet (auch keine Medienbereitstellung). Dafür gibt es keine Entschuldigung, zumal sich dies negativ auf die Gesamtleistung des Servers auswirken kann.

Wenn Sie Regmon, Filemon oder DebugView für einige Zeit verwendet haben, sind Sie wahrscheinlich selbst auf ähnliche Beispiele gestoßen. Wenn Sie ein solches Beispiel sehen, dann sollten Sie nicht einfach nur einen Filter festlegen und das Ganze dann vergessen. Schreiben Sie eine E-Mail an den*die Hersteller*in, und beschweren Sie sich über die schlampige Programmierung.

Bitte leiten Sie den Newsletter an alle Personen weiter, für die diese Informationen von Interesse sein könnten.

Vielen Dank!

– Mark

NEUIGKEITEN BEI SYSINTERNALS

LISTDLLS V2.23

ListDLLs ist ein Befehlszeilenprogramm, das detaillierte Informationen zu den DLLs anzeigt, die von Prozessen geladen wurden. ListDLLs zeigt beispielsweise die Basisspeicheradresse, die Größe, die Version und den vollständigen Pfad jeder DLL an. In dieser neuen Version wird die Befehlszeile angezeigt, die zum Starten eines Prozesses verwendet wurde, einschließlich aller Parameter, die über die Befehlszeile übergeben wurden. Dies kann Ihnen helfen, zwischen mehreren Prozessen zu unterscheiden und Probleme im Zusammenhang mit bestimmten Befehlszeilenoptionen zu beheben.

Sie können ListDLLs v2.23 unter www.sysinternals.com/listdlls.htm herunterladen.

HANDLEEX V2.26

HandleEx ist eine Anwendung, die Informationen zu den Handles und DLLs anzeigt, die von Prozessen geöffnet oder geladen wurden. Die Anzeige besteht aus zwei Unterfenstern. Das obere Fenster zeigt immer eine Liste der aktuell aktiven Prozesse, einschließlich der Namen der besitzenden Konten, während die Informationen im unteren Fenster vom Modus abhängen, in dem sich HandleEx befindet: Wenn sich HandleEx im Handle-Modus befindet, werden die Handles angezeigt, die der im oberen Fenster ausgewählte Prozess geöffnet hat. Befindet sich HandleEx im DLL-Modus, sehen Sie die DLLs und im Speicher abgebildeten Dateien, die der Prozess geladen hat.

Das aktuelle Release von HandleEx enthält mehrere neue Features. Zunächst zeigt die Anwendung jetzt wie ListDLLs die zum Starten eines Prozesses verwendete Befehlszeile an, wenn Sie die Eigenschaften des Prozesses anzeigen.

Vor dieser Version bestand einer der Mängel von HandleEx darin, dass die Anwendung zwar den Namen des Kontos anzeigte, in dem Systemprozesse und Prozesse Ihrer Anmeldesitzung ausgeführt wurden, aber das Windows NT-/2000-Sicherheitsmodell nicht umgehen konnte, um die Besitzer*innen von Prozessen anzuzeigen, die über andere Benutzerkonten gestartet wurden (diese Einschränkung gilt auch für das Pview-Programm aus den Windows NT/2000 Resource Kits). Nur zu offensichtlich war dies in NT 4-Terminalserver- und Windows 2000-Terminaldiensteumgebungen, in denen HandleEx angab, dass die Besitzer*innen von Prozessen, die über andere Benutzersitzungen gestartet wurden, unbekannt waren. HandleEx v2.26 implementiert einen Trick, mit dem es das besitzende Konto ohne Ausnahme für alle Prozesse bestimmen kann, und ist dadurch das ideale Tool für Terminaldiensteumgebungen.

Das letzte neue Feature von HandleEx v2.26 ermöglicht es Ihnen, das Schließen aller geöffneten Handles zu erzwingen. Ich habe dieses Feature hinzugefügt, nachdem es immer wieder angefordert wurde. Ich empfehle jedoch, das Feature mit äußerster Vorsicht zu verwenden. Anwendungen erwarten in der Regel nicht, dass Handles plötzlich ungültig werden, und Anwendungen mit Handles, die erzwungenermaßen geschlossen werden, können sich fehlerhaft verhalten oder abstürzen.

Sie können HandleEx v2.26 unter www.sysinternals.com/handleex.htm herunterladen.

ELOGLIST V2.02

Das Windows 2000 Resource Kit enthält ein Tool namens ELogDump, mit dem Sie Datensätze aus einem Ereignisprotokoll auf dem lokalen Computer oder auf einem Remotecomputer sichern können. ELogList ist leistungsfähiger als ElogDmp, da Sie damit auch einen optionalen Kontonamen und ein optionales Kennwort angeben können, sodass Sie mit einem anderen Konto als dem, über das Sie das Tool ausführen, auf die Ereignisprotokolle eines Computers zugreifen können. Während das ElogDmp-Tool Ereignisprotokolleinträge unformatiert anzeigt, sodass die Ausgabe schwer zu interpretieren ist, formatiert dieses ElogList-Update Ereignisprotokolleinträge, um Text so darzustellen wie er in der Windows NT-/2000-Ereignisanzeige angezeigt wird. Selbst wenn Sie Ereignisprotokolle von Remotesystemen anzeigen, verwendet ElogList die richtigen Nachrichtendateien auf dem Remotesystem für seine Formatierungszeichenfolgendaten.

Sie können ElogList v2.02 unter www.sysinternals.com/eloglist.htm herunterladen.

LOGGEDON V1.1

LoggedOn ist ein Befehlszeilen-Applet, das anzeigt, wer lokal oder über Ressourcenfreigaben bei einem bestimmten Computer angemeldet ist. Mit dem Update der Version 1.1 können Sie Ihr Netzwerk nach Anmeldesitzungen durchsuchen, die bestimmten Benutzer*innen zugeordnet sind. Dieses Feature ist in Situationen nützlich, in denen Sie Updates für ein Benutzerkonto durchführen möchten und sicherstellen müssen, dass die jeweiligen Benutzer*innen derzeit nicht angemeldet sind.

Sie können LoggedOn v1.1 mit dem vollständigen Quellcode unter www.sysinternals.com/misc.htm herunterladen.

BLUESCREEN V2.21

Zweifellos kennen die meisten von Ihnen den berühmten Bluescreen-Bildschirmschoner von Sysinternals, der eine exakte Darstellung eines Windows NT- oder Windows 2000-Absturzes und -Neustarts zeigt. Seit seiner ersten Veröffentlichung habe ich laufend Anfragen von Windows 9x-Benutzer*innen erhalten, die den Bildschirmschoner auf ihren Computern ausführen möchten, sodass ich ihn schließlich zu Windows 9x portiert habe. Unter Windows 9x simuliert er einen Absturz und Neustart von Windows 2000.

Die einzige Voraussetzung für die Verwendung des Bluescreen-Bildschirmschoners von Sysintenals unter Windows 9x ist, dass Sie eine Kopie der Windows 2000-Datei „Ntoskrnl.exe“ abrufen und im Verzeichnis \Windows\System ablegen. Der Bluescreen-Bildschirmschoner benötigt diese Datei für den Windows 2000-Begrüßungsbildschirm.

Jetzt können Sie ahnungslose Windows 9x-Benutzer*innen aus der Fassung bringen, die zu ihrem Computer zurückkehren, nur um festzustellen, dass er in einem Windows 2000-Absturz- und Neustartzyklus hängen geblieben ist.

Sie können den Bluescreen-Bildschirmschoner v2.21 unter www.sysinternals.com/bluescreen.htm herunterladen.

PAGEDEFRAG V2.01

PageDefrag ist ein Defragmentierungsprogramm, das zur Startzeit ausgeführt wird, um die Auslagerungsdateien und Registrierungsstrukturen Ihres Systems zu defragmentieren. PageDefrag war das erste Hilfsprogramm, das Registrierungsstrukturen defragmentieren konnte. Seit seiner Veröffentlichung wurde diese Funktion jedoch mehreren kommerziellen Defragmentierungsprogrammen hinzugefügt. PageDefrag ist jedoch weiterhin kostenlos, und Version 2.01 funktioniert sowohl unter Windows 2000 als auch Windows NT 4.

Wenn Sie an der von Windows NT 4 und Windows 2000 bereitgestellten Defragmentierungsschnittstelle interessiert sind, besuchen Sie www.sysinternals.com/defrag.htm, um mehr zu erfahren und den Quellcode in eine interaktive Dateidefragmentierung herunterzuladen. Sysinternals dokumentierte die Defragmentierungsschnittstelle schon seit Jahren, bevor sie von Microsoft in das Platform SDK aufgenommen wurde, und etliche kommerzielle Defragmentierungen nutzten unsere Dokumentation und den Beispielcode.

Sie können PageDefrag v2.01 unter www.sysinternals.com/pagedfrg.htm herunterladen. Die Dokumentation zur Defragmentierungsschnittstelle finden Sie unter www.sysinternals.com/defrag.htm.

LOADORDER V1.1

Haben Sie sich jemals gefragt, in welcher Reihenfolge Gerätetreiber und Dienste geladen und initialisiert werden? Jetzt können Sie dies ganz einfach herausfinden. LoadOrder ist ein Hilfsprogramm, das die Informationen unter HKLM\System\CurrentControlSet\Services verarbeitet, um ein Bild der Treiber- und Dienstladereihenfolge zu erstellen.

Sie können LoadOrder v1.1 unter www.sysinternals.com/misc.htm herunterladen.

CLOCKRES V1.0

In meinen Artikeln zur Planung habe ich darüber geschrieben, dass Windows NT-/2000-Threadquanten (die Länge der Ausführung eines Threads auf einer CPU) auf der Auflösung der Systemuhr basieren. Die Auflösung der Uhr wirkt sich auch auf die Latenz von timerbasierten Windows-Ereignissen aus. Im Artikel unter www.sysinternals.com/timer.htm wird sogar erläutert, wie die Anwendungen die Auflösung der Uhr beeinflussen können. Bei den meisten SMP-Prozessoren (symmetrisches Multiprocessing) beträgt die Auflösung 15 ms und bei Uniprozessoren 10 ms. Diese Werte werden von den standardmäßigen SMP- und Uniprozessor-HALs (Hardware Abstraction Layer, Hardwareabstraktionsschicht) festgelegt.

Die meisten Systeme verwenden die oben aufgeführten allgemeinen Werte. Doch wie können Sie die tatsächliche Auflösung der Uhr auf Ihren Computern ermitteln? Die Antwort ist die Win32-API GetSystemTimeAdjustment, die Ihnen mitteilt, ob das System eine regelmäßige Anpassung der aktuellen Uhrzeit anwendet. Diese API gibt zufälligerweise auch das Intervall der Uhr zurück. Das ClockRes-Applet verwendet die API, um Ihnen die Auflösung der Uhr eines Systems mitzuteilen.

Sie können ClockRes sowie den Quellcode unter www.sysinternals.com/misc.htm herunterladen.

BGINFO V1.0

Wenn Sie als Administrator*in für mehrere Server verantwortlich sind, wenden Sie wahrscheinlich viel Zeit für die verschiedenen Informationsdialogfelder auf, die geöffnet werden, um Sie an die Werte verschiedener Systemeigenschaften zu erinnern, z. B. die installierte Service Pack-Version, IP-Adressen, Computernamen, die Arbeitsspeichergröße und die Prozessorgeschwindigkeit. Jetzt können Sie all diese Informationen mit dem von Bryce entwickelten Hilfsprogramm BgInfo in einer einfachen Ansicht auf dem Desktop jedes Servers anzeigen.

Wenn Sie das Hilfsprogramm ausführen, erstellt BgInfo einen Desktophintergrund, auf dem automatisch verschiedene nützliche Systemmerkmale angezeigt werden. Sie können BgInfo in Ihren Startordner einfügen, sodass Ihnen die Informationen bei jeder Anmeldung zur Verfügung stehen, und Sie können die von BgInfo angezeigten Daten ändern und sogar eigene Daten hinzufügen. Wenn BgInfo auf Ihren Servern installiert ist, ersparen Sie sich den Zeitaufwand für die wiederholte Suche nach Informationen, die leicht in Vergessenheit geraten können.

Sie können BgInfo v1.0 unter www.sysinternals.com/misc.htm herunterladen.

INSIDE WINDOWS 2000, DRITTE AUFLAGE

Das offizielle Buch zu den Interna von Windows 2000 ist jetzt verfügbar! Diese Ausgabe, die von David Solomon (www.solsem.com) und Mark Russinovich gemeinsam verfasst wurde, ist um mehr als 40 % umfangreicher als die vorherige und behandelt nun auch Netzwerke, Plug & Play, Energieverwaltung, Dienste, die Registrierung, die Windows-Verwaltungsinstrumentation (Windows Management Instrumentation, WMI), Start und Herunterfahren sowie Speicher. Es enthält auch eine CD mit mehreren leistungsstarken Tools zum Untersuchen der Windows 2000 Internals, die nirgendwo sonst verfügbar sind.

Werfen Sie einen Blick auf das Inhaltsverzeichnis des Buchs, und bestellen Sie es gleich jetzt über www.sysinternals.com/insidew2k.htm.

SYSINTERNALS BEI WWW.MICROSOFT.COM

Es gibt keine neuen KB-Artikel, in denen auf Sysinternals verwiesen wird, über die ich berichten könnte. Microsoft hat jedoch einige ziemlich hochkarätige Links zu Sysinternals im TechNet-Teil seiner Website hinzugefügt. Den ersten dieser Links finden Sie in der Spalte „Stellen Sie uns Fragen zu... Sicherheit“ auf www.microsoft.com/TechNet/security/au022800.asp. Dort warnt der Kolumnist Joel Scambray Leser*innen, dass NTFSDOS (www.sysinternals.com/ntfspro.htm) von böswilligen Benutzer*innen verwendet werden kann, um den Inhalt des Active Directory-Verzeichnisses eines Windows 2000-Domänencontrollers zu ändern.

Den zweiten Link finden Sie in der Spalte „Inside Microsoft“ unter www.microsoft.com/technet/inside/default.asp. Die Spalte ist im F & A-Stil verfasst und beginnt mit zwei Fragen, bei denen es um die Ermittlung der Anwendung geht, von der eine bestimmte Datei geöffnet wurde. In der Antwort, in der die Leser*innen auf HandleEx (www.sysinternals.com/handleex.htm) und NtHandle (www.sysinternals.com/nthandle.htm) verwiesen werden, sagt der*die Autor*in des Artikels („the Mole“ oder auf Deutsch „der Maulwurf“) Folgendes zu Sysinternals: „Es gibt eine Vielzahl großartiger Hilfsprogramme, die Sie keinen Cent kosten“. Sogar „Mole“ verweist von Zeit zu Zeit auf Sysinternals (Was? Dachten Sie vielleicht, der Maulwurf hat all diese Informationen stets in seinem Kopf parat?). Wie so oft ist seine*ihre Antwort eher vage: „Dies kommt einer offiziellen Bestätigung der Website durch Microsoft so nahe, wie wir es bestenfalls erwarten konnten“.

INTERNALS-INFORMATIONEN

DAS POTENZIAL DER DEBUG-BERECHTIGUNG

Im Gegensatz zu anderen Debugausgabemonitoren (einschließlich dbmon) erfordert mein DebugView-Debugausgabemonitor (www.sysinternals.com/dbgview.htm) lokale Administratorrechte für die Ausführung, da das Tool einen Gerätetreiber installiert, der die Debugausgabe im Kernelmodus erfasst. Ich habe in der Folge Dutzende von E-Mails von Entwickler*innen erhalten, die sich beschwerten, weil ihnen ihr Management keine lokalen Administratorrechte, sondern nur die Debugberechtigung gewährt. Als Argument wird angeführt, dass es die Debugberechtigung aus einem bestimmten Grund gibt und sie das einzige Recht ist, das Anwendungsentwickler*innen zum Entwickeln benötigen. Diese Entwickler*innen bitten mich, DebugView so zu ändern, dass es den Treiber nur installiert, wenn die Benutzer*innen über Administratorrechte verfügen, und andernfalls nur die Win32-Debugausgabe erfasst.

Diese Anfragen lassen mich immer schmunzeln, weil diejenigen, die mit der Debugberechtigung argumentieren, nicht begreifen, dass diese Berechtigung die Tür für lokale Administratorrechte öffnet. Mithilfe der Debugberechtigung können Entwickler*innen einen Debugger an den LSASS-Prozess (Local Security Authority Subsystem Service, Subsystemdienst für die lokale Sicherheitsautorität) anfügen und so bearbeiten, dass er ihnen bei der nächsten Anmeldung lokale Administratorrechte erteilt. Sie können auch in jedem unter dem Systemkonto ausgeführten Prozess Code einfügen, der ihr Konto der lokalen Administratorgruppe hinzufügt. Wenn ich das den Entwickler*innen erkläre, die sich beschweren, antworten sie manchmal, dass dieses Argument bei ihrem Management nicht zieht. Bis jetzt hatte ich nichts vorzuweisen, was sie ihrem Management als Argumente liefern könnten, eine kürzliche Zunahme dieser E-Mails hat mich jedoch dazu veranlasst, aktiv zu werden.

LogonEx, ein Hilfsprogramm, das Sie unter www.sysinternals.com/logonex.zip herunterladen können, stellt die Schlagkraft der Debugberechtigung grafisch dar. LogonEx funktioniert unter Windows NT und Windows 2000. Um die Funktion des Hilfsprogramms bestmöglich zu demonstrieren, erstellen Sie ein Konto, bei dem es sich um ein normales Benutzerkonto handelt, außer dass Sie ihm die Berechtigung zum Debuggen von Programmen hinzufügen. Melden Sie sich ab und unter diesem Konto erneut an, und führen Sie LogonEx aus. Sie benötigen die Symboldatei(en) für „msv1_0.dll“ für Ihre spezifische Installation (Entwickler*innen haben Systemsymbole in der Regel auf ihrem System installiert), die LogonEx verwendet, um den Einstiegspunkt der MsvpPasswordValidate-Funktion zu finden und zu reparieren. Nachdem LogonEx die Reparatur vorgenommen hat, können Sie sich mit einem beliebigen Konto beim System anmelden, ohne ein Kennwort anzugeben. Schließen Sie die Demonstration ab, indem Sie sich als Administrator*in anmelden und das von Ihnen erstellte Konto der lokalen Administratorgruppe hinzufügen.

LogonEx ist nur eines der Beispiele dafür, wie die Debugberechtigung es Entwickler*innen ermöglicht, die Kontrolle über ein System zu übernehmen. Ich hoffe, dass LogonEx das Management davon überzeugt, dass es keinen Sinn macht, Entwickler*innen keine lokalen Administratorrechte zu gewähren. (Beachten Sie jedoch, dass ich hierbei nicht über Domänenadministratorrechte spreche, was eine andere Geschichte ist. Lokale Administrator*innen können nur über ihre eigenen Computer uneingeschränkt herrschen, nicht über andere, während Domänenadministrator*innen Rechte für ein Netzwerk besitzen).

NEUE APIS IN WIN2K SP1?

Nachdem bei vielen Benutzer*innen Probleme mit NT 4 Service Packs (SP) aufgetreten sind, die neue Fehler verursachen, hat Microsoft die Richtlinie eingeführt, dass keine neue Funktionen in SPs aufgenommen werden. Dadurch soll die Wahrscheinlichkeit minimiert werden, dass neue Probleme auftreten, während noch alte Probleme behoben werden. So dachten wir zumindest. Windows 2000 SP 1 wurde kürzlich veröffentlicht und schien keine neuen Funktionen zu enthalten. Eine genauere Untersuchung von „Ntoskrnl.exe“, der Datei, die die Ausführungs- und Kernelkomponenten von Windows 2000 enthält, und „Ntdll.dll“, der Bibliothek, die die native API und das native Ladeprogramm enthält, zeigt jedoch, dass in SP 1 eine neue API eingeführt wurde.

Die neue API besteht aus den folgenden Funktionen:

   RtlTraceDatabaseAdd
   RtlTraceDatabaseCreate
   RtlTraceDatabaseDestroy
   RtlTraceDatabaseEnumerate
   RtlTraceDatabaseFind
   RtlTraceDatabaseLock
   RtlTraceDatabaseUnlock
   RtlTraceDatabaseValidate

Aus den recht aussagekräftigen Namen der Funktionen lässt sich schließen, dass es sich um eine API zum Protokollieren von Ereignissen handelt. Ein interessanter Aspekt der API ist, dass die Implementierung in „Ntdll“ und „Ntoskrnl“ dupliziert wird. Dies unterscheidet sich von anderen Ntdll-APIs, die die Dienste einer Implementierung in „Ntoskrnl“ aufrufen.

Die Überprüfung der API-Implementierung zeigt, dass sie wie folgt verwendet wird: Eine Anwendung erstellt eine Ablaufverfolgungsdatenbank, die im virtuellen Speicher der Anwendung gespeichert wird, und fügt der Datenbank Einträge hinzu. Irgendwann kann die Anwendung den Inhalt der Datenbank aufzählen, und wenn sie mit der Verarbeitung der Datenbank fertig ist, löscht sie diese. Seltsamerweise scheint es keine Möglichkeit zu geben, Datenbankeinträge zu löschen.

Wer oder was nutzt diese neue API? Keine der Komponenten, die auf meiner mit fast allen Features ausgestatteten Windows 2000 Advanced Server-Installation installiert sind. Daher ist nicht klar, welche Funktion diese API hat. Möglicherweise handelte es sich dabei um eine Debug-API, die versehentlich im SP 1-Releasecode enthalten war.

Veröffentlicht am Mittwoch, den 30. August 2000 um 19:07 Uhr von ottoh

[Newsletter-Archiv ^] [< Band 2, Nummer 3] [Band 2, Nummer 5 >]