Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi "Unzulässiges Entfernen des Geräts" (https://www.delphipraxis.net/55526-unzulaessiges-entfernen-des-geraets.html)

adrian4321 22. Okt 2005 16:07


"Unzulässiges Entfernen des Geräts"
 
Hi,

Ihr kennt sicher das Fehlerfenster "Unzulässiges Entfernen des Geräts" welches erscheint wenn man z.B. einen USB-Speicher unter Win2k einfach herauszieht.

Meine Frage nun: weiss jemand wie ich dieses Fenster entweder unterdruecke (Schliessen nachdem es auftaucht ist kein Problem, aber nicht sehr elegant), oder, was noch eleganter waere, in meinem Fall den USB Speicher automatisiert zu deaktivieren sodass Windows garkeine Meldung beim Entfernen mehr macht.

ciao,
adrian

juergen 22. Okt 2005 16:58

Re: "Unzulässiges Entfernen des Geräts"
 
Hallo adrian,
ich meine mich zu erinnern, dass man das im Gerätemanger unter dem USB-Controller und dort jeweils bei den "universellen Hostcontrollern" deaktivieren kann.
Dort jeweils über Rechtsklick kommt man auf "Eigenschaften".
Hier das Register "Erweitert" anwählen.
Hier nun kann man die Checkbox -> "USB Fehler nicht anzeigen" aktivieren.
Probiers mal, könnte klappen.

Grüße Jürgen

adrian4321 22. Okt 2005 18:24

Re: "Unzulässiges Entfernen des Geräts"
 
Hallo Juergen,

habs gerade ausprobiert, die erwaehnte Fehlermeldung wird aber leider nicht unterdrueckt.
Ich wuerde natuerlich einen Befehl zum ordnungsgemaessen Deaktivieren bevorzugen, habe dazu aber bisher nirgendwo etwas finden koennen....

Danke trotzdem!

himitsu 22. Okt 2005 18:37

Re: "Unzulässiges Entfernen des Geräts"
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also, ich hab da was nettes neben der Uhr rumliegen.

Da drücke ich doppelt drauf und dann saust ein Fenster "Hardware sicher entfernen" hoch.
Dort kann ich dann einfach das gewünschte auswählen.
Das Ausgewählte wird dann ordnungsgemäß deaktiviert und ich kann meine Hardware ohne Probleme abziehen ^^

adrian4321 22. Okt 2005 19:05

Re: "Unzulässiges Entfernen des Geräts"
 
Danke fuer den Hinweis, da waere ich jetzt sonst garnicht drauf gekommen....

Vielleicht koennte man es darueber mit Mausklicksimulation schaffen, fuer einen zuverlaessigen automatisierten Betrieb ist das jedoch wohl kaum geeignet! Braucht ja nur wer mit der echten Maus dazwischenzupfuschen....

ciao,
adrian

juergen 22. Okt 2005 19:10

Re: "Unzulässiges Entfernen des Geräts"
 
Hallo adrian,
hattest du nach den Änderungen im Gerätemanager bei allen Hostcontrollern den Rechner dann auch neu gebootet?

adrian4321 22. Okt 2005 20:01

Re: "Unzulässiges Entfernen des Geräts"
 
Nein, Reboot habe ich noch nicht gemacht... Werde ich nachher machen und das Ergebnis hier posten!

ciao,
adrian

himitsu 22. Okt 2005 21:29

Re: "Unzulässiges Entfernen des Geräts"
 
Ich weiß ja nicht, was dat Fensterchen genau macht, aber wenn das mit'm Booten nicht geht, dann könnte man ja mal versuchen rauszufendwen was es macht und dieses dann mit'm eigenem Programm einfach nachmachen?

PS: bei mir kamen früher auch ständig diese Meldungen (übers unzulässige Entfernen),
aber seit 'ner Weile nicht mehr/kaum noch ... beim W-LAN-Dongle ist das jetzt total ruhig
und beim Memory-Stick wird nur noch ganz selten was gesagt ... aber was und warum das jetzt anderes ist, weiß ich nicht -.-''
(hatte durch diese Meldung ja auch 'ne ganze Weile immer brav abgemeldet und jetzt brauch ich das fast nicht mehr zu machen)

Martin K 22. Okt 2005 22:45

Re: "Unzulässiges Entfernen des Geräts"
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo

also ich verwende Windows XP und ziehe meine USB Datenträger immer einfach so ab (ohne sicheres Entfernen) und hab noch nie eine Fehlermeldung erhalten.
Bei XP wir automatisch bei jedem USB Datenträger unter Eigenschaften -> Richtlinien der Eintrag "Für schnelles Entfernen optimieren" aktiviert.
Nun weiß ich aber nicht, wie das bei einer anderen Windows-Version ist.
Vielleicht kann man dort auch unter Eigenschaften -> Richtlinien "Für schnelles entfernen optimieren" außwählen.
Dann wird auf jeden Fall keine Fehlermeldung mehr angezeigt.

s. Screenshot

adrian4321 22. Okt 2005 23:59

Re: "Unzulässiges Entfernen des Geräts"
 
@juergen: bin grad zurueck mit Reboot, hat nichts genuetzt....

@himitsu: super Idee, wenn Du mir jetzt noch die Befehle nennen koenntest waers echt Top ;)
Zitat:

(hatte durch diese Meldung ja auch 'ne ganze Weile immer brav abgemeldet und jetzt brauch ich das fast nicht mehr zu machen)
Ich kann allerdings nicht so wirklich nachvollziehen wie Du das Geraet mittels der aufgrund unzulaessigen Entfernens ausgeloesten Meldung brav abgemeldet haben willst...?!

@Martin K: Ich weiss, ich habs auch mit WinXP getestet. Ob XP da nun wirklich fehlertoleranter ist, oder ob es nur so tut, weiss wohl wahrscheinlich nichtmal MS ganz genau. Auf jeden Fall waere es schoener, ordnungsgemaess zu trennen, hin und wieder kommt es dann naemlich doch zu unschoenen Fehlermeldungen falls noch irgendeine Operation mit dem angeschlossenen Geraet durchgefuehrt wurde.


Ich kann mir kaum vorstellen dass es dazu keinen direkten Befehl gibt wie z.B. zum Oeffnen der CD-Schublade etc., aber ich finde ihn nicht....

ciao,
adrian

himitsu 23. Okt 2005 00:09

Re: "Unzulässiges Entfernen des Geräts"
 
Zitat:

Zitat von adrian4321
Ich kann allerdings nicht so wirklich nachvollziehen wie Du das Geraet mittels der aufgrund unzulaessigen Entfernens ausgeloesten Meldung brav abgemeldet haben willst...?!

Da hab ich mich wohl etwas missverständlich ausgedrückt -.-''
Ich meinte, daß ich anfangs auch mal diese Fehlermeldung (Unzulässiges ...) hatte.
Daher bin ich dann über dieses "Hardware sicher entfernen" gegangen.
Allerdings hatte ich es 'ne Weile später abunzu mal vergessen und dabei ist mir aufgefallen, daß es plötzlich auch ohne diese Fehlermeldung geht :gruebel:

w3seek 23. Okt 2005 00:22

Re: "Unzulässiges Entfernen des Geräts"
 
Euch ist hoffentlich aber schon klar, dass wenn man einen USB stick ohne "sicheres Entfernen" einfach rauszieht, die Gefahr besteht, dass nicht alle aenderungen physikalisch auf den USB stick geschrieben wurden. Nur durch "sicheres Entfernen" ist garantiert, dass der Cache geflushed wird, d.h. alle Aenderungen die im Arbeitsspeicher zwischengespeichert wurden werden dadurch garantiert auf den Stick geschrieben. Bei USB Sticks ist wird wesentlich mehr gecached und nicht so schnell geschrieben, der Grund ist, dass ein USB Stick nur eine begrenzte Anzahl an Schreiboperationen verkraftet.

himitsu 23. Okt 2005 00:29

Re: "Unzulässiges Entfernen des Geräts"
 
Aus diesem Grund gibt es zumindestens die Möglichkeit den Cache abzuschalten, dann wandern die Daten direkt auf den USB-Stick, ohne über einen Zwischenspeicher umgeleitet zu werden ;)

Und ich hab anfangs auch öfters mal ungläubig die Daten geprüft, aber einen Datenverlust konnte ich bisher noch nicht feststellen :)

Christian Seehase 23. Okt 2005 00:32

Re: "Unzulässiges Entfernen des Geräts"
 
Moin Himitsu,

Zitat:

Zitat von himitsu
aber einen Datenverlust konnte ich bisher noch nicht feststellen

Datenverlust ist nicht alles, was passieren kann.
Im ungünstigsten Falle kann es dazu führen, dass der USB-Stick irreparabel beschädigt wird, wenn durch das abziehen Verwaltungsdaten nicht (richtig) geschrieben werden können.

w3seek 23. Okt 2005 01:06

Re: "Unzulässiges Entfernen des Geräts"
 
Zitat:

Zitat von himitsu
Aus diesem Grund gibt es zumindestens die Möglichkeit den Cache abzuschalten, dann wandern die Daten direkt auf den USB-Stick, ohne über einen Zwischenspeicher umgeleitet zu werden ;)

Wenn jede Schreiboperation ungecached auf den USB stick geschrieben wuerde, koenntest du ihn nicht lange benutzen

Robert Marquardt 23. Okt 2005 05:46

Re: "Unzulässiges Entfernen des Geräts"
 
von http://www.sf.net/projects/jedi-apilib die Module scapi und win32api herunterladen.
In scapi habe ich ein Beispiel namens SafeRemoval das die Volumes enumeriert, sie mit den Laufwerksbuchstaben in Verbindung bringt,
den Seriennummernstring des USB Geraets anzeigt und das Safe Removal ohne Dialog durchfuehrt.

himitsu 3. Nov 2005 16:53

Re: "Unzulässiges Entfernen des Geräts"
 
Zitat:

Zitat von w3seek
Wenn jede Schreiboperation ungecached auf den USB stick geschrieben wuerde, koenntest du ihn nicht lange benutzen

Warum das?
Ob nun die Daten sofort, oder erst ein paar Sekunden(Minuten später auf dem Stick gespeichet werden, sollte doch egal sein, schließlich muß es ja so, oder so abgespeichert werden.

Robert Marquardt 3. Nov 2005 18:00

Re: "Unzulässiges Entfernen des Geräts"
 
Safe removal ist ein Trick von Microsoft besonders die USB Sticks schneller zu machen.
Natuerlich spielt auch eine Rolle das Flash bei den Schreibzyklen beschraenkt ist. Die Haltbarkeit ist halt begrenzt.
MS erlaubt dem Treiber selbst zu puffern. die Konsequenz ist das man flushen koennen muss, sprich dem Treiber sagen das er jetzt wegzuschreiben hat.
Natuerlich hat MS bei der Implementierung gepatzt. Es ist z. B. moeglich Safe Removal erfolgreich auf eine Maus aufzurufen.
Das duerfte eigentlch nicht funktionieren, da die Maus ja vom Betriebssystem geoeffnet ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz