Home | Kontakt | Sitemap

Start

Über mich

Kontakt

Sitemap

Lizenz

Anleitungen

DVD, miniDVD

SVCD

Audio, Audio-CD (CD-DA)

AVI

Software

Von Freunden und Bekannten

Eigene Programme

Programmierung

Delphi

Lazarus

Delphi/Lazarus

Projekte

MPEG-1/2 Video

Optische Laufwerke

Audio-CD (CDDA)

Raspberry Pi Dashcam

Verschiedenes

MPEG 2 Schnitt

Project X

VCD Easy

Hardlinks

Windows

Links

Software

Projekte | Optische Laufwerke - Anhang - DriveHandleReadWrite

DriveHandleReadWrite

In den Kapiteln sind Beispielfunktionen enthalten, welchen immer ein Handle übergeben wird. Dies erfolgt weil in den Demos mehrere Funktionen hintereinander ausgeführt werden und so nur einmal ein Handle geholt werden muss. Bei diesem Handle werden Lese- und Schreibrechte angefordert.

  functionDriveHandleReadWrite: THandle;

Parameter

Der Funktion wird kein Parameter übergeben, weil das Laufwerk innerhalb der Klasse eingestellt wird. Es wird in der Funktion die entsprechende Variable verwendet.

Rückgabewert

Der Rückgabewert ist das Handle auf das Laufwerk. Seine Gültigkeit wird nicht geprüft.

Der Quelltext der Funktion

  function TOptDrives.DriveHandleReadWrite: THandle;
  {*******************************************************************************
  *  Das Handle zum Lesen und Schreiben auf das aktive Laufwerk holen.
  }
  var
    dwDesiredAccess : Cardinal;
    dwShareMode     : Cardinal;
  begin
    dwDesiredAccess := GENERIC_READ or GENERIC_WRITE;
    dwShareMode     := FILE_SHARE_READ or FILE_SHARE_WRITE;

    Result := CreateFileA(PAnsiChar(Format('\\.\%s:', [fDrive[fActive].Letter])),
                          dwDesiredAccess, dwShareMode, nil, OPEN_EXISTING, 0, 0);
  end;

Wenn das Handle nicht mehr benötigt wird, wird es wieder geschlossen:

  CloseHandle(hDevice);

Anhang > DriveHandleReadWrite > DriveHandleRead