Projekte > Optische Laufwerke > Anhang

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