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 - DriveHandleRead

DriveHandleRead

Für die Funktionen, in welchem Microsofts CD-ROM I/O Control Codes und keine Multimedia Commands verwendet werden, genügt diese Funktion. Hier werden keine Schreibrechte benötigt.

  functionDriveHandleRead : 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.DriveHandleRead: THandle;
  {*******************************************************************************
  *  Das Handle zum Lesen und Schreiben auf das aktive Laufwerk holen.
  }
  var
    dwDesiredAccess : Cardinal;
    dwShareMode     : Cardinal;
  begin
    dwDesiredAccess := GENERIC_READ;
    dwShareMode     := FILE_SHARE_READ;

    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);

DriveHandleReadWrite > DriveHandleRead > GET_SCSI_PASS_THROUGH_DIRECT