AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CD-Laufwerkslade offen?

Ein Thema von Garfield · begonnen am 25. Nov 2006 · letzter Beitrag vom 25. Mär 2008
Antwort Antwort
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#1

Re: CD-Laufwerkslade offen?

  Alt 23. Dez 2006, 21:40
Bei der Durchsicht der Projekte habe ich im Projekt Freeburner/Burnlibrary eine Konstante dtMT_DOOROPEN = $71 bzw MT_DOOROPEN = $71; gefunden. Dazu habe ich bisher nur herausgefunden, dass es sich um ATAPI-Konstante handeln müsste.

Als Lösungsansätze kämen meiner Ansicht in Frage:

IODeviceControl
================


Verschiedene IOCTLs geben einen IO_Status_Block zurück. Desweiteren wird der Status stets als Ergebnis der Funktion DeviveIOControl zurückgegeben. Hier werden die Werte STATUS_SUCCESS (0 - Der Vorgang wurde erfolgreich beendet), STATUS_NO_MEDIA_IN_DEVICE und STATUS_DEVICE_NOT_READY (21 - Das Gerät ist nicht bereit) benötigt. Dafür bietet sich zum Beispiel IOCTL_CDROM_CHECK_VERIFY an.

Für die Funktion sind lediglich Leserechte notwendig, sodass sie auch bei eingeschränkten Usern funktionieren sollte.

Allerdings hat diese Funktion nicht den gewünschten Erfolg gebracht.

Mechanismus
===========


In der TIsoLib bin ich auf eine Funktion gestossen, welche den Status des Mechanismus eines Changers abfragt. Der MechanismStatus beinhaltet den MechanismStatusHeader mit dem Wert MechanismState_DoorOpen_CurrentSlot, welcher den Status der Schublade angibt.

Da die Funktion IOCTL_SCSI_PASS_THROUGH_DIRECT Schreibrechte (Burn Rights) benötigt, funktioniert es standardmäßig nur bei Administratoren. Eingeschränkten bzw Hauptbenutzern müssen die entsprechenden Rechte erteilt werden.

WMI
===


Bei Changern gibt es
Zitat:
WMI_CHANGER_PROBLEM_DEVICE_ERROR
- ChangerPerformDiagnostics
- CHANGER_DEVICE_PROBLEM_TYPE
- DeviceProblemDoorOpen = Indicates the changer's door is open.
Damit kann ich allerdings im Moment wenig anfangen.

Die Sourcen anbei. Kompiliert mit Turbo Delphi Win32 Explorer unter Win2000.
Angehängte Dateien
Dateityp: rar cdromdoor_mech_713.rar (174,6 KB, 33x aufgerufen)
Dateityp: rar cdromdoor_ioctl_424.rar (173,2 KB, 28x aufgerufen)
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:21 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