AW: Externe Netzwerkfestplatte
Habe noch was gefunden
Interne Kartenleser von Desktop-PCs sind meist USB-Geräte. Im USB-Standard ist nichts vorgesehen, das es einem USB-Gerät erlaubt zu sagen "Ich bin ein internes Gerät und kann nicht entfernt werden". Deshalb werden interne USB-Kartenleser immer unter "Hardware sicher entfernen" aufgeführt.
Gleiches gilt für interne SATA-Laufwerke, wenn der SATA-Treiber sie als "entfernbar" meldet. Soweit bekannt, werden bei "Hardware sicher entfernen" Geräte gelistet, die als "entfernbar" (removable) und nicht fürs 'überraschende Entfernen geeignet' (surprise removal ok) sind.
Das sind in der cfgmgr32.h definierte, bit-kodierte Flags:
#define CM_DEVCAP_REMOVABLE (0x00000004)
#define CM_DEVCAP_SURPRISEREMOVALOK (0x00000080)
Der zuständige Wert in der Registry heißt "Capabilities" und findet sich für jedes Gerät. Geräte stehen unter
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum
Weiter geht es mit der Hardware-ID, bei USB-Geräten sowas wie USB\VID_1758&PID_2004\050712014270000083 Die findet sich im Geräte-Manager im Tab 'Details'. Dieser wurde bis XP-SP1 nur angezeigt, wenn die Umgebungsvariable DEVMGR_SHOW_DETAILS=1 gesetzt ist:
Folgende Datei herunterladen und doppelklicken:
Sie müssen registriert sein, um Links zu sehen.
Ab dem nächsten Login wird die Variable wirksam. Die Datei setzt auch gleich DEVMGR_SHOW_NONPRESENT_DEVICES=1, um derzeit nicht angeschlossene Geräte sichtbar zu machen, wenn die Option "Ausgeblendete Geräte anzeigen" aktiv ist.
Wenn man beim Wert "Capabilities" die 4 wegnimmt oder 80h addiert, verschwindet das Gerät aus der Liste (nach einem Refresh, z.B. durch hin- und herschalten der Checkbox).
Der Wert wird aber jedesmal neu geschrieben wenn der Treiber startet. Man könnte den Wert exportieren und bei jedem Neustart importieren, etwa so:
regedit /s xxx.reg
Zum Schreiben des Wertes werden Admin-Rechte benötigt, unter Vista darf es auch der Admin nicht.
Unter Windows 7 kann das "Hardware sicher entfernen" beides, 'sicher entfernen' und 'auswerfen'. Mit dem hier beschriebenen Vorgehen bekommt man deshalb Wechseldatenträger nicht mehr aus der Liste entfernt, es wird aber nur noch 'Auswerfen' angeboten.
Mein
Sie müssen registriert sein, um Links zu sehen.
(USBDLM) hat als Windows-Dienst mit Berechtigungen kein Problem. Um interne Cardreader aus der Liste zu bekommen, kann er genau die oben beschriebene Änderung machen (das Removalble-Bit wegnehmen). Die aktuelle Version kann das auch für beliebige andere Geräte, siehe Hilfe-Datei unter Konfiguration -> Sonstiges -> "Gerät unter Hardware sicher entfernen".