AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi unverständliches Verhalten von ReadFile
Thema durchsuchen
Ansicht
Themen-Optionen

unverständliches Verhalten von ReadFile

Offene Frage von "p80286"
Ein Thema von p80286 · begonnen am 30. Okt 2009 · letzter Beitrag vom 3. Nov 2009
 
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

unverständliches Verhalten von ReadFile

  Alt 30. Okt 2009, 11:05
Hallo zusammen,

ich bastele z.Zt. nebenbei an einer Möglichkeit eine CD-ROM zulesen. Dafür hab ich mich an einer Leseroutine für denm MBR bedient.

Delphi-Quellcode:
var
  nBytesRead ,
  fHandle : Cardinal;
  
  errc : dword;
  vbuffer : array of byte;
begin
  fHandle := CreateFile(PChar('\\.\'+lw), // ...PHYSICALDRIVE0 <--<< first Harddisk ( Primary Master )
                        GENERIC_READ, // ...read only
                        FILE_SHARE_WRITE+FILE_SHARE_WRITE, // ...Wichtig, nicht das es Probleme gibt
                        nil,
                        OPEN_EXISTING, // ...ist klar warum
                        0,
                        0);

  if fHandle = INVALID_HANDLE_VALUE then
  begin
    errc:=GetLastError;
    ShowMessage('CreateFile - Error: Invalid Handle'#13#10'LastErrcode:'+inttostr(errc)+' '+syserrorMessage(errc));
    exit;
  end;
  { secsize ist mit 512 vorbelegt }
  SetLength(vBuffer,secsize);
  if not ReadFile(fHandle,vBuffer[0],secsize,nBytesRead,nil) then .....
Wenn ich diesen code unter XP Prof/Vista home loslasse, dann wird der Zugriff auf C: mit dem Fehler 5 (Zugriff verweigert) belohnt, was ja zu erwarten ist. Das es unter XPProf beim Zugriff auf USB-Sticks eine 5 gibt, aber unter Vista alles problemlos funktioniert schiebe ich mal auf unterschiedliche Zugriffsrechte.

Beim Zugriff auf die CD-ROM (daten sind vorhanden und lesbar!) erhalte ich folgende Ergebnisse:
XPProf
Audio-CD Fehler: 0 GeleseneBytes: 0
Daten-CD Fehler: 0 GeleseneBytes: 512

Vista Home
in beiden Fällen Fehler 87 (ungültiger Parameter)

zum einen frage ich mich warum auf einmal ein "ungültiger Parameter" auftaucht, (und welcher bitte ist es??)

zum anderen, warum werden von einer Daten-CD auch Daten gelesen und von einer Audio-CD nicht?

Habt Ihr eine Erklärung für mich?

Gruß
K-H
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23: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