Ein USB-Laufwerk erscheint als Laufwerksbuchstabe . Mit der GetDriveType
API können Sie feststellen, dass es sich um ein USB-Gerät handelt. Dies sagt jedoch nur, dass es entfernbar ist, nicht, dass es tatsächlich ein USB-Laufwerk ist. Um dies festzustellen, müssen Sie möglicherweise die Funktion SetupDiGetDeviceRegistryProperty (Referenz von der GetDriveType
MSDN-Referenz) betrachten. Es ist auch möglich, Festplatten zu installieren, die keine Laufwerksbuchstaben sind, oder Laufwerksbuchstaben, die keine Laufwerkshalterungen darstellen. Um also alle USB-Laufwerke zu finden, sollten Sie sich einige der anderen SetupDi ... -Funktionen ansehen.
Da es sich um einen Laufwerksbuchstaben handelt, besteht die übliche Methode zum Lesen und Schreiben auf einem USB-Laufwerk darin, Dateisystemfunktionen wie oder Windows CreateFile
zu verwenden. Wenn Sie direkt wie im Speicher schreiben möchten, können Sie eine Datei erstellen, die sich über das gesamte Gerät erstreckt, und dann die Datei im Speicher abbilden. Allerdings würde ich das nicht empfehlen, außer in spezialisierten Anwendungen, denn wenn es einen E/A-Fehler gibt (einschließlich z. B. das Entfernen des Laufwerks durch den Benutzer), dann erhält Ihr Programm eine SEH-Ausnahme, und das bringt viele Komplikationen mit sich am besten vermieden.