AW: Partition zu phys. LW?
Liste der Anhänge anzeigen (Anzahl: 2)
... Admin-Rechte bei mir notwendig ...
aber warum wird mein USb-Stick (K - 32GU2) zur Floppy ? (siehe Anhang) |
AW: Partition zu phys. LW?
Delphi-Quellcode:
Das TDriveType muss noch mit der WinApi Ersetzt werden, mein Fehler!! Danke. Auch für testen wegen Admin-Rechte!
FUNCTION GetDriveTypeString(CONST DriveType: TDriveType): STRING;
BEGIN CASE DriveType OF dtFloppy : RESULT := 'Floppy'; dtFixed : RESULT := 'Fixed'; dtNetwork: RESULT := 'Network'; dtCDROM : RESULT := 'CDROM'; dtRAM : RESULT := 'RAM'; ELSE RESULT := 'Unknown' END END; Frage: Hast Du die .exe per Source per IDE aufgerufen oder einfach im Explorer mein Kompilat? Weil Eigentlich CD/DVD/BD-Laufwerke eine 255 haben sollten (Wert -1). |
AW: Partition zu phys. LW?
hab' das Kompilat benutzt.
|
AW: Partition zu phys. LW?
Danke für diese Information, dann sinds zwei Baustellen, ich werde es fixen.
|
AW: Partition zu phys. LW?
Zitat:
Da ist einiges im argen. gruss |
AW: Partition zu phys. LW?
Liste der Anhänge anzeigen (Anzahl: 1)
Fixed.
Delphi-Quellcode:
Du kannst Byte mit Cardinal austauschen, es sollte aber nicht nötig sein. (Byte 1 - 6 sind gültige Ziele, alles andere ist noch nicht in Delphi 2009 vorhanden und MSDN gibt auch 6 als höchsten Zähler an, beim Api Aufruf nutze ich ein Cardinal und als Laufwerk sollte 26 die Höchste Zahl sein wenn ich mich nicht Irre?)
function GetDriveTypeString(DriveByte: Byte): String;
begin case GetDriveType(PChar(Chr(DriveByte + Ord('A')) + ':\')) of DRIVE_UNKNOWN: Result := 'Unknown'; DRIVE_NO_ROOT_DIR: Result := 'not Mounted'; DRIVE_REMOVABLE: Result := 'Removable'; DRIVE_FIXED: Result := 'Fixed'; DRIVE_REMOTE: Result := 'Network'; DRIVE_CDROM: Result := 'CDROM'; DRIVE_RAMDISK: Result := 'RAM'; else Result := 'Other'; end; end; Bitte testen, Danke! |
AW: Partition zu phys. LW?
Zitat:
Korrekt ist das nicht. gruss |
AW: Partition zu phys. LW?
Von welcher Zeile im Code redest Du? Poste bitte was alles falsch sein soll, ich kann das gerade nicht zuordnen, vielen Dank für mühe!
|
AW: Partition zu phys. LW?
Zitat:
Delphi-Quellcode:
gruss
function GetPhysicalDiskNumber(Drive: Char): Integer; // Integer
function GetLD(Drive: Char): Cardinal; // Result Cardinal var Buffer : String; begin Buffer := Format('\\.\%s:',[Drive]); Result := CreateFile(PChar(Buffer), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0); // Result Cardinal Win32Check(Result <> INVALID_HANDLE_VALUE); // Result Cardinal end; //... DiskExtents := AllocMem(Max_Path); try DeviceIOControl(LD,IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS,nil,0,DiskExtents,Max_Path,BytesReturned,nil); If DiskExtents^.NumberOfDiskExtents > 0 Then begin DiskExtent := DiskExtents^.Extents[0]; Result := DiskExtent.DiskNumber; // Result Cardinal und du gibst Integer zurück! end; finally FreeMem(DiskExtents); end; |
AW: Partition zu phys. LW?
ahhhh ok, habs jetzt gerafft!
Code:
So ist es nu aber fixed, oder?
function GetPhysicalDiskNumber(Drive: Char): Cardinal;
und PS: Vielen lieben Dank fürs draufschauen und vor allem bemerken, da das Record ja passte, flüchtigkeitsfehler tut mir leid! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:52 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