| |
Fortgeschrittene ProgrammierungIDE Aktivität | | | Autor: itscha | Datum: 22.09.03 12:42 |
| Hallo Ihr Lieben
Nochmal ich
Ich suche ne Möglichkeit zur Überwachung der IDE-Aktivität (Ide 1 und 2).
Wie die LED's am Rechnergehäuse. Mehr nich.
Jemand ne Idee?
Gruß,
Itscha | |
Re: IDE Aktivität | | | Autor: Kenjiro | Datum: 22.09.03 20:52 |
| Hallo,
Du musst schon mal genauer sagen was Du meinst...........
Willst Du die aktivität mit einem Programm überwachen und
die Software die Aktivität melden lassen, oder willst Du ein
Stück Hardware steuern...........?
Genauer bitte....
Gr??e Kenjiro
| |
Re: IDE Aktivität | | | Autor: itscha | Datum: 22.09.03 23:43 |
| Hi Kenjiro
Reines Monitoring. Nur sehen, ob Aktivität vorhanden ist.
Ich habe nämlich keine LED's für die IDE-Aktivitäten an meinen Rechnern. Und da die Festplatte nicht zu hören ist, will ich sehen, ob diese, oder andere am IDE-Port vorhandene Datenträger Aktivität aufzeigen.
ne Idee?
Gruß.
Itscha | |
Re: IDE Aktivität | | | Autor: itscha | Datum: 23.09.03 20:11 |
| Ist das etwa zu schwierig? | |
Re: IDE Aktivität | | | Autor: dbayer | Datum: 23.09.03 20:32 |
| Nein, das ist wohl nicht zu schwierig, aber es braucht wohl was, sich in die Hardware einzulesen.
Dazu muss man wissen, wie die Hardware funktioniert. Ich gehe mal davon aus, dass Du dich vor dem Stellen der Frage schon ausgiebig mit der Hardware-Problematik beschäftigt hast. Die LED's werden von der Elektronik des Platten-Controllers gesteuert. Dieses Stück der Hardware ist somit eine Blackbox, in die man weder per BIOS noch über eine Programmiersprache gelangen kann.
Da bleibt nur der Weg, dies über das Betriebsystem (oder OS-nahe Programme) zu machen. Ein Weg dazu wäre, einen Dienst zu programmieren, der die Plattenzugriffe per LED anzeigt. In der Platform SDK werden Wege beschrieben, um mittels WMI (suche nach 'disk' 'activity') so etwas zu realisieren. Dies hier alles aufzuführen, sprengt den Rahmen einer Antwort und würde eher in einen Workshop Hardwarenahes Programmieren mittels WMI münden.
dbayerTo be is to do (Rene Descartes)To do is to be (Kant / Nietzsche / Sartre u.a.)Do be do be dooo (Frank Sinatra, Strangers in the Night) | |
Re: IDE Aktivität | | | Autor: That | Datum: 23.09.03 20:46 |
| Ich weiß nicht, ob ich dich richtig verstehe, aber dir geht es einfach nur darum zu sehen, ob gerade irgendein Prozess etwas tut, oder?
____________________________________
| |
Hmmm - | | | Autor: JennyB | Datum: 24.09.03 00:34 |
| vielleicht sehe ich das ja falsch, aber ich würde mir bei meinem Elektronikhändler um die Ecke oder bei einem der Versandhändler, 2 Leuchtidioten (mit Halterung ?) und einige Meter Draht bestellen (evtl. gibt's ja fertige Teile *g*) und die entsprechend montieren und an die entsprechenden Anschlüsse am Motherboard klemmen.
Wenn Du die Aussparungen für die LEDs nicht zu gross machst, dann brauchst Du diese nur reinstecken und kannst Dir die Halterung sparen, oder fixierst sie mit etwas Heisskleber.
Und für ein Loch in die Plastik-Blende des Gehäuses zu machen, werden Deine handwerklichen Fähigkeiten noch ausreichen - oder ? *gg*
cu
JennyB
___________________________________________________________________
Some days are diamond - some days are stone ...
| |
Re: Hmmm - | | | Autor: itscha | Datum: 24.09.03 00:46 |
| HI Jenny B
Du bist süß. Wirklich.
Iss nicht möglich. Es ist kein Rechner, der neben, unter oder sonstwo in der Nähe steckt.
Es sind mehrere, die ich nicht einsehen kann. Demnach nützen LED's wenig. Außer ich nehme ein paar Meter leitung... doch dann leuchten die LED's auch nicht mehr wegen des Leitungswiderstandes.
Aber trotzdem Danke
Itscha | |
Re: IDE Aktivität | | | Autor: itscha | Datum: 24.09.03 00:48 |
| Hi That
Nein. Die Prozesse, die laufen interessieren nicht. Ich möchte einfach nur wissen, ob Aktivität an den IDE-Schnittstellen vorliegt.
hab schon das ganze Web abgesucht. Nüx
Und jetzt will ich's erst recht !
Itscha | |
Re: IDE Aktivität | | | Autor: itscha | Datum: 24.09.03 00:51 |
| Hi Dbayer
Danke für Deine Antwort. Wenns per WMI geht, kanns ja gar net soooo Hardwarenah sein
Ich dachte schon, ich muss meine Assembler-Bücher wieder rauskramen.
Ich schau mal nach unter WMI.
Oder hast Du so etwas schon einmal als Code gesehen?
Ich war bis jetzt nämlich nicht fündig
Gruß,
Itscha | |
Danke - | | | Autor: JennyB | Datum: 24.09.03 01:11 |
| aber worauf bezieht sich das süss ? *gg*
Aber im ernst - das konnte keine(r) ahnen, dass es sich nicht um einen 'ordinären' Standard-PC handelt -
Du solltest Dir evtl. angewöhnen, derartig 'unwichtige' Details mit in Deine Fragestellung aufzunehmen, dann erspart Frau (Mann) sich unnötige Postings.
cu
JennyB
___________________________________________________________________
Some days are diamond - some days are stone ...
| |
Zwar kein Code - | | | Autor: JennyB | Datum: 24.09.03 01:24 |
| aber sollte den Zweck erfüllen -
http://www.webattack.com/get/hdi.shtml
oder
http://www.mipug.org/DesktopDefault.aspx?tabid=100&showlogin=1
cu
JennyB
___________________________________________________________________
Some days are diamond - some days are stone ...
| |
Iss das die Lösung? | | | Autor: itscha | Datum: 24.09.03 02:46 |
| Hi Jenny B
vielen Dank für die Mühe. Siehse... das meine ich mit süß!
Hmmja.. die apps sind für 200/xp only. Ich brauch was, was auch auf 98/me läuft.
Ausserdem brauche ich kein programm. Sondern den Code, da es in einem eigenem Programmlaufen soll.
Ich habe aber was gefunden:
WMI Win32_IDEControllerDevice
sollte das eigentlich machen, oder?
folgende webseite :http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/win32_idecontrollerdevice.asp
jetzt kratze ich mir am kopf und frage mich, wie ich das wohl umsetzen soll.
folgende seite dazu (kjanns selber nicht öfffnen):http://www.pwpsquared.net/WMI.htm
kann mir das jemand in verständlicher form erklären?
und ich dachte, ich könnte proggen
Gruß,
Itscha | |
Re: Iss das die Lösung? | | | Autor: dbayer | Datum: 24.09.03 07:21 |
| Das allergrösste Problem wird sein, dass man die Plattenzugriffe überhaupt mitbekommt. Wenn man nicht gerade 5 Giga kopiert sind die Plattenzugriffe so schnell, bei Platten mit viel Cache im Millisekundenbereich, dass ein Programm, das dies dokumentieren soll, die ganze Rechenleistung auffrisst.
Worin soll denn eigentlich der Sinn dieser Übung bestehen? Plattenfunktion, Performance, Überwachung?
dbayerTo be is to do (Rene Descartes)To do is to be (Kant / Nietzsche / Sartre u.a.)Do be do be dooo (Frank Sinatra, Strangers in the Night) | |
Re: Iss das die Lösung? | | | Autor: itscha | Datum: 24.09.03 13:12 |
| HI Dbayer
THX für die Antwort.
Ich habe keine Anzeige,ob eine Festplatte oder CD-Laufwerk ( was auch immer) gerade in funktion ist und rödelt, oder nicht. Da es manchmal vorkommt, daß das system kurz freezed, würde ein Blick darauf schon reichen, um sicherzugehen, daß das System noch da ist und arbeitet.
Außerdem ist es zum testen einiger Programme geeignet, ob wirklich Zugriffe stattfinden, oder nicht.
Es würde reichen, alle 200 ms mal nachzuschauen, ob aktivität vorliegt. Und die Anzeige kann dann um diese 200ms leuchten.
Aber: Ich hatte mal mit Interupts programmiert. Sobald bei dem Interupt aktivität vorlag, wurde eine Funktion gestartet. Ansonsten blieb das Proggi still und kostete so gut wie keine Rechen-Leistung. War aber nich in VB. Das müßte es doch auch für VB geben , oder?
Grüße aus Dssd
Itscha | |
Re: Iss das die Lösung? | | | Autor: dbayer | Datum: 24.09.03 16:35 |
| Ich hab mir mal die Mühe gemacht, auf meinen Serverboard, dass etwas teurer ist und die Möglichkeit der Fernabfrage bietet, die HD/CD-ROM Zugriffszeiten protokollieren zu lassen. Diese liegen selbst bei grösseren Transfers im oberen Miilisekundenbereich. Die LED leuchtet länger, was ich auf die Trägheit der LED zurückführe. Bei einem Polling von 200ms bekommt man mit üblichen Programmiermitteln einen grossen Teil der Zugriffe nicht mit, verbraucht aber schon bei einen Dual-Xeon für die Protokollierung 60% der Rechenzeit eines Prozessors. Lösungsmöglichkeiten sind also entweder den PC näher heranzuholen oder in (sehr) teure Hardware zu investieren.
dbayerTo be is to do (Rene Descartes)To do is to be (Kant / Nietzsche / Sartre u.a.)Do be do be dooo (Frank Sinatra, Strangers in the Night) | |
Re: Iss das die Lösung? | | | Autor: itscha | Datum: 24.09.03 17:10 |
| Danke für Deine Antwort, Dbayer
Hmm.... kann ich gar net glauben.
Es gibt da einige freeware-programme, die sogar einzelne laufwerke beobachten.
Siehe Webseiten von JennyB.
Demnach MUSS es wohl eine Möglichkeit geben. Würde etwas wie eine Interrupt-Funktion funktionieren? Dadurch wäre die Rechenzeit deutlich niedriger.
Ich würde ja gerne rumprobieren, weiß aber 1. nich, was ich mit dem WMI Win32_IDE... (siehe einige Threads vorher) anstellen soll, weil keine Erfahrung und im Netz ist nix zu fidnen 2. wie eine Interrupt-Programmierung (aus Pascal/Assembler/Delphi) in VB funktioniert... falls überhaupt.
Damit wäre ich schon auf dem richtigen weg.... denke ich
Grüße
Itscha | |
WMI Library | | | Autor: itscha | Datum: 25.09.03 12:46 |
| Wo finde ich die WMI Library zum Nachrüsten für WIn98se?
Auf der Microsoft-Seite hab ich das richtige noch nicht gefunden.
Itscha | |
Ich habs... oder? | | | Autor: itscha | Datum: 25.09.03 18:51 |
| Hallo Ihr Lieben.
Ich denke, ich habs soweit. Zumindest Schritt 1.
Folgendes habe ich gefunden:
Set wmi = GetObject("winmgmts:root/CIMV2")
wql = "select * from Win32_IDEControllerDevice"
Set result = wmi.ExecQuery(wql)
For Each instance In result
wert = instance.AccessState
If IsNull(wert) Then wert = "(leer)"
If IsArray(wert) Then wert = "Variablenfeld:" & vbCrLf & Join(wert, vbCrLf)
response = MsgBox(wert, vbOKCancel)
If response = vbCancel Then Exit For
Next
[aus CIM_ControlledBy] Die Eigenschaft "AccessState" gibt an, ob der Controller das Gerät steuert oder darauf zugreift (Wert=1) oder nicht (Wert=2). Es kann auch der Wert "Unbekannt" (0) definiert werden. Diese Informationen sind erforderlich, wenn ein logisches Gerät von mehreren Controllern gesteuert werden kann.
Das dumme ist nur, ich habe den Automatisierungsfehler -2147217392 (...).
???
Ich habe das WMI 1.1 installiert. Kann der das nich?
Pleaz help. Nur noch ein letzter Schritt. Ich poste dann auch das Ergebnis, da es sonst nirgends gibt.
Itscha | |
Re: Ich habs... oder? | | | Autor: dbayer | Datum: 25.09.03 19:12 |
| Die mit XP-Prof und Win2K gelieferte Version liefert mit diesem Source korrekte Werte ohne Fehler. Bei NT4 und Win9x gibt es mit der WMI manchmal 'überraschende' Fehler, was aber auf diese Uraltversionen zurückzuführen ist.
dbayerTo be is to do (Rene Descartes)To do is to be (Kant / Nietzsche / Sartre u.a.)Do be do be dooo (Frank Sinatra, Strangers in the Night) | |
Re: Ich habs... oder? | | | Autor: itscha | Datum: 25.09.03 19:17 |
| Thx Dbayer
Uraltversionen? Meinst du die OS oder die WMI-Version?
Itscha | |
Re: Ich habs... oder? | | | Autor: dbayer | Datum: 25.09.03 19:20 |
| Ich meine die Betriebsysteme NT4 (Ursprünge in der frühen Win3.1 Zeit) und Win9x (ähnlich alt, aber schlechter gemacht)
dbayerTo be is to do (Rene Descartes)To do is to be (Kant / Nietzsche / Sartre u.a.)Do be do be dooo (Frank Sinatra, Strangers in the Night) | |
Re: Ich habs... oder? | | | Autor: itscha | Datum: 25.09.03 19:24 |
| Hmmm...
dabei gibst das extra zum nachrüsten ab OSR 2.0.
siehe:http://www.microsoft.com/downloads/details.aspx?familyid=afe41f46-e213-4cbf-9c5b-fbf236e0e875&languageid=f49e8428-7071-4979-8a67-3cffcb0c2524&displaylang=en
und
http://www.scriptinternals.de/content/ref/wmi/Leseprobe/kap130.htm
Hmm. Aber ich sehe grade, ich habe die version 1.1 runtergeladen.
Auf der MSDN-Seite bekomme ich doe Core 1.5 Version für 95/98/NT4/>=SP4
Meinste das kanns?
Itscha | |
Re: Ich habs... oder? | | | Autor: itscha | Datum: 25.09.03 19:35 |
| *G*
Noch was, Dbayer.
Hab Grade mal nen Tut von Mircodoof geönnet ... HÖLLE!!!!
Core Model und so.... Mann.. echt interessant. Wieso habe ich mich nicht rüher damit beschäftigt?!
Ok. Letzte Frage. hast Du meinen Source ausprobiert? Wenn ja, dann müßte ich ja nur noch n geeignetes Core erwischen. Wenn nicht, stimmt grundsätzlich was nicht.
Wäre dankbar für eine Verifikation.
Itscha | |
Re: Ich habs... oder? | | | Autor: dbayer | Datum: 25.09.03 19:56 |
| Ich hab es an meinem Kommunikationsserver (da sitze ich auch gerade) ausprobiert und wie erwartet für 10 Laufwerke eine Meldung erhalten (2*Busy, da ich gerade 20MB kopiert habe)
dbayerTo be is to do (Rene Descartes)To do is to be (Kant / Nietzsche / Sartre u.a.)Do be do be dooo (Frank Sinatra, Strangers in the Night) | |
Re: Ich habs... oder? | | | Autor: itscha | Datum: 25.09.03 22:54 |
| super!
Danke Dir
Gruß.
Itscha
p.s.: Bei mir funzt es jetzt auch. Core1.5 für 95/98/NT4 2000 / XP
Yessss | |
Re: hier: | | | Autor: itscha | Datum: 25.09.03 22:56 |
| THX Elwod
Itscha | |
Core Version auf XP/2000 | | | Autor: itscha | Datum: 26.09.03 14:04 |
| Hallöchen
Alles funzt sehr fein. Außer daß ich vom Win32_IDEControllerDevice das AccessState auslesen kann. Kann das mit dem Typ (uint16) zu tun haben?
Oder welche Core Version besitzt Win2000/XP? Vielleicht gehts ja wirklich nicht unter 98/NT4.
Itscha | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevPopUp 2.0
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|