![]() |
winhexapi unformatierter USB Datenträger
Moin
Ich hab folgendes Problem: Ich soll sobald ein USB Datenträger angesteckt wird und er eine spezielle Bezeichnung trägt, diesen mit der Winhex API auslesen, weil dort Daten direkt ohne Filesystem gespeichert sind. Nun ist mein Problem das die Winhex api in open folgendes erwartet: Zitat:
|
AW: winhexapi unformatierter USB Datenträger
mal schnell geraten über WMI >> LogicalDisk
gegf. auch per WMDeviceChange |
AW: winhexapi unformatierter USB Datenträger
Ok und wie genau?
Hab mal grad gegoogelt und nix was mir hilft gefunden. |
AW: winhexapi unformatierter USB Datenträger
Wie kommst du denn an die Bezeichnung des Datenträgers?
WinHexAPI? Nja, man könnte einfach via CreateFile/TFileStream nacheinander auf auf alle \\.\PHYSICALDRIVE%d zugegreifen, jeweils über dieses Handle auch den Kardwarenamen auslesen und hätte auch sofort das Handle für den Zugriff. :angle2: |
AW: winhexapi unformatierter USB Datenträger
Ja winhexapi ist halt Vorgabe deswegen kann ich nicht aus.
Ich hab mir bis jetzt auch noch keine Gedanken gemacht wie ich an die Bezeichnung des Datenträgers komm... |
AW: winhexapi unformatierter USB Datenträger
Liste der Anhänge anzeigen (Anzahl: 1)
das wäre ein Auszug einer Ausgabe bei:
Delphi-Quellcode:
GetWMIstring('.', 'root\CIMV2', 'SELECT * FROM CIM_MediaAccessDevice',sl);
Code:
instance of Win32_DiskDrive
{ BytesPerSector = 512; Capabilities = {3, 4, 7}; CapabilityDescriptions = {"Random Access", "Supports Writing", "Supports Removable Media"}; Caption = "Kingston DataTraveler G3 USB Device"; ConfigManagerErrorCode = 0; ConfigManagerUserConfig = FALSE; CreationClassName = "Win32_DiskDrive"; Description = "Laufwerk"; DeviceID = "\\\\.\\PHYSICALDRIVE1"; FirmwareRevision = "PMAP"; Index = 1; InterfaceType = "USB"; Manufacturer = "(Standardlaufwerke)"; MediaLoaded = TRUE; MediaType = "Removable Media"; Model = "Kingston DataTraveler G3 USB Device"; Name = "\\\\.\\PHYSICALDRIVE1"; Partitions = 1; PNPDeviceID = "USBSTOR\\DISK&VEN_KINGSTON&PROD_DATATRAVELER_G3&REV_PMAP\\001372982BA9BA91150F0158&0"; SectorsPerTrack = 63; SerialNumber = ""; Signature = 3272027672; Size = "8003197440"; Status = "OK"; SystemCreationClassName = "Win32_ComputerSystem"; SystemName = "BUMMOB6"; TotalCylinders = "973"; TotalHeads = 255; TotalSectors = "15631245"; TotalTracks = "248115"; TracksPerCylinder = 255; };
Delphi-Quellcode:
ergäbe u.a. ....
GetWMIstring('.', 'root\CIMV2', 'SELECT * FROM CIM_LogicalDisk',sl);
Code:
instance of Win32_LogicalDisk
{ Access = 0; Caption = "G:"; Compressed = FALSE; CreationClassName = "Win32_LogicalDisk"; Description = "Wechseldatenträger"; DeviceID = "G:"; DriveType = 2; FileSystem = "FAT32"; FreeSpace = "6257410048"; MaximumComponentLength = 255; Name = "G:"; Size = "8004993024"; SupportsDiskQuotas = FALSE; SupportsFileBasedCompression = FALSE; SystemCreationClassName = "Win32_ComputerSystem"; SystemName = "BUMMOB6"; VolumeDirty = TRUE; VolumeName = "KINGSTON"; VolumeSerialNumber = "F51D9F89"; }; Den Code für GetWMIstring kann ich auf Wunsch Uploaden |
AW: winhexapi unformatierter USB Datenträger
Da wär ich sehr dankbar wenn du das machen könntest
Edit: Hab mir das mal angeschaut, das ist ganschön viel Holz, da muss es doch was "einfacheres" geben Edit2: himi ich hab mir jetzt den Code von dir in diesem Trhead angeschaut: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:51 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-2025 by Thomas Breitkreuz