![]() |
wuApi.dll ErrorCodes
Hi,
ich hab mal folgende Frage, ich schreib grad ein kleines Demo, welches auf die Windows Update Agent Api zugreift und es halt ermöglicht, nach Updates zu suchen, diese herunterzuladen und oder zu installieren. Nun würde ich gerne, wenn es z.B. zu einem OleSysError kommt, mir den Event, die Fehlerbeschreibung und den Fehlercode in ein sep. Tree wegschreiben (ne art DebugTree, für das Demo) Problem 1: Die Fehlercodes, der wua sind leider nirgends mehr zu finden, ausser in einem alten SDK (Windows 2003, wuerror.h) Deshalb kann ich leider die Fehler, Beschreibungen usw nicht extrahieren. Im "neuen" SDK gibt es das nicht mehr. Frage: Ich suche jetzt eine Möglichkeit, oder sagen wir die beste Möglichkeit, um wie oben Beschrieben, die Fehlermeldungen mit Beschreibung wegschreiben zu können, ins besagte Tree... Es gab bei mir mehrere Ansätze, z.B. eigene MessageTable erstellen (mc.exe usw...) Fehlerklasse erstellen? Ich hab mal, von der MSDN Seite, alle Codes mit Beschreibung in eine Datei geschrieben, ein Auszug: Result String Result Code Description WU_S_SERVICE_STOP = $240001; // Windows Update Agent was stopped successfully. Naja vielleicht hat jemand eine Idee dazu, bin für alles offen... Viele Grüsse s! |
Re: wuApi.dll ErrorCodes
*push*
|
Re: wuApi.dll ErrorCodes
Untersuche mal die
![]() |
Re: wuApi.dll ErrorCodes
Leider nicht sonst hätte Chris mir das bereits mitgeteilt :-)
Gruß s! |
Re: wuApi.dll ErrorCodes
Ich hab' mir mal die DLL wuapi.dll angeschaut; das ist doch eine ActiveX DLL!!
Man braucht doch nur die TLB importieren und hat alles was man braucht :-) Einfach die "WUAPI 2.0 Type Library" importieren und alle Konstanten, Interfaces und CoKlassen sind verfügbar. |
Re: wuApi.dll ErrorCodes
Hehehe, hast du die mal importiert und Dir den Inhalt mal angesehen? Da gibts keine Fehlercodes drin!
Ich arbeite mit der TLB, sorry hatte ich nicht erwähnt. Grob geschätzt gibt es zu der Api ca. 200 Fehlerconstanten und die sind leider nicht auffindbar. Ich versuchs nochmal anders zu erklären: Am liebsten wäre mir folgendes: Man baut eine DLL, die enthält als Resource: 1. Fehlercode z.b. $8024F001 2. Fehlertype z.b. WU_E_REPORTER_EVENTCACHECORRUPT 3. Fehlerbeschreibung z.b. The event cache file was defective. Jetzt sagen wir mal passiert folgendes: In der Anwendung wird eine Suchanfrage nach Updates gestartet, jetzt kommt es z.B. zu einem OleSysError, man müsste sich den E.ErrorCode nun nehmen, und mit denen in der Resource.DLL vergleichen lassen, sollte dieser innerhalb der DLL gefunden werden, müsste eine Function nun: 1. Den Fehlertype extrahieren und die Beschreibung dazu, so das ich nun diese 3 Sachen, Fehlercode, Fehlertype ssowie Beschreibung in mein Tree wegschreiben könnte. Nur wie wirds gemacht mit der DLL und dem Extrahieren? Gruß s! |
Re: wuApi.dll ErrorCodes
Hi stOrM
mal ehrlich, so richtig verstehe ich deine Frage nicht. Rekapitulieren wir: WSUS-Demo Stand ? Ab WSUS 2.0 = DotNet 2.0, ab WSUS 3.0 = DotNet 3.0. ErrorCodes = (Zusammengefasst == Fehlanzeige) Richtig? wuerror.h = SDK v5.0, danach Empty. Richtig? Falls beide Fragen mit Ja beantwortet werden und du so etwas wie Visual Express C#, VB, C++ oder das aktuelle SDK hast, schau unter WSUS in der Dokumentation nach und such dir (leider) die Werte zusammen. Etwas Fertiges wird dir bei diesem Thema kaum einer liefern können. Andererseits: Mache es OpenSource, suche dir ein paar Verbündete und füge es dem JEDI-Projekt hinzu, ob als Demo oder Designstudie, wie belieben. So, habe nochmals den letzten Beitrag gelesen: Irgendwo in der DP tauchte die Frage auf wie man eine DotNet-Framework-DLL in eine Delphi-Anwendung einbinden kann(ohne das Ergebnis zu kennen), wenn dies geht wozu eine eigene 'DLL'?, ist doch schon alles in 'MICROSOFT.UPDATESERVICES.ADMINISTRATION' enthalten. Beste Grüsse und viel Erfolg Alter Mann |
Re: wuApi.dll ErrorCodes
Zitat:
ich dachte meine Frage, wäre diesmal leichter zu verstehen. Du hast es ja eigentlich auch richtig vestanden, die Fehlercodes und deren Beschreibungen, hab ich mir leider schon zusammensuchen müssen. Der Grund für eine eigene DLL wäre dieser gewesen: Punkt1. Ich wollte darin, als MessageTable die Fehlercodes zuwie die Beschreibungen dazu als Resource in der DLL speichern um dann später über FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER...... . usw. diese dann wieder zu extrahieren, so hätte ich eventuell auch das Eventlog benutzen können von Windows... Punkt2. Das Demo ist für Jedi und bereits fast fertig, es geht halt nur um eine saubere Lösung, dass man halt beim Olesyserror, anhand des Errocodes dem User eine Beschreibung dazu liefern kann. Im Moment benutz ich halt Konstanten und ein Array... Gruß s! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz