AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi IOCTL_DISK_GET_DRIVE_LAYOUT will nicht!?
Thema durchsuchen
Ansicht
Themen-Optionen

IOCTL_DISK_GET_DRIVE_LAYOUT will nicht!?

Ein Thema von Mattze · begonnen am 31. Mär 2009 · letzter Beitrag vom 17. Mär 2010
 
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#1

IOCTL_DISK_GET_DRIVE_LAYOUT will nicht!?

  Alt 31. Mär 2009, 12:48
Hallo,

ich versuche mich ja nun schon eine Weile an deviceIOcontrol.
Nch viel hin und her funktioniert nun auch neiniges.
Aber IOCTL_DISK_GET_DRIVE_LAYOUT will nicht.
Kann mir jemand helfen:

Delphi-Quellcode:
var
  i : Integer;
  Device : string;
  hDevice : Cardinal;
  dummy : DWORD;
  bigBuf : DWord;
  r : DRIVE_LAYOUT_INFORMATION;

begin
  hDevice := CreateFile(PChar('\\.\PHYSICALDRIVE0'), GENERIC_WRITE or GENERIC_READ,
                        FILE_SHARE_READ or FILE_SHARE_WRITE,
                        nil, OPEN_EXISTING, 0, 0);

  if hDevice <> INVALID_HANDLE_VALUE then begin
    bigbuf:=sizeof(DRIVE_LAYOUT_INFORMATION) + 15 * sizeof(PARTITION_INFORMATION);
    if not DeviceIOControl(hDevice, IOCTL_DISK_GET_DRIVE_LAYOUT, nil, 0, @r,
                       bigbuf, dummy, nil) then begin
      showmessage(SysErrorMessage( GetLastError )+' '+inttostr(getlasterror));
    end
  end;
  CloseHandle(hDevice);
end;
Ohne "GENERIC_WRITE or GENERIC_READ" in CreateFile kommt
Nr. 5: Zugriff verweigert.

Mit kommt:
Nr. 122: Der an einen Systemaufruf übergebene Bereich ist zu klein.

Ich habe bigbuf natürlich vergrößert. Ab einer gewissen Größe kommt das CPU-Fenster, davor der gleiche Fehler.

Was mache ich falsch?

Gruß
Mattze
  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 04:15 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