Freigeben über


Optisch – Logo-Test – DVD-RW RO

Dieser Test überprüft, ob das optische Gerät den Standards entspricht und die Windows-Anforderungen an optische Laufwerke erfüllt.

Testdetails

   
Spezifikationen
  • Device.Storage.Optical.CdRawRecording
  • Device.Storage.Optical.CommandPerformance
  • Device.Storage.Optical.DriveDefinition
  • Device.Storage.Optical.Features
  • Device.Storage.Optical.Profiles
  • Device.Storage.Optical.RealTimeStreaming
  • Device.Storage.Optical.MmcVersion
  • Device.Storage.Optical.Sata.AsynchronousNotification
Plattformen
  • Windows 10, Client-Editionen (x86)
  • Windows 10, Client-Editionen (x64)
  • Windows Server 2016 (x64)
Unterstützte Versionen
  • Windows 10
  • Windows 10, Version 1511
  • Windows 10, Version 1607
  • Windows 10, Version 1703
  • Windows 10, Version 1709
  • Windows 10, Version 1803
  • Windows 10, Version 1809
  • Windows 10, Version 1903
  • Nächstes Update auf Windows 10
Voraussichtliche Laufzeit (in Minuten) 120
Kategorie Szenario
Zeitüberschreitung (in Minuten) 7200
Neustart erforderlich false
Erfordert eine spezielle Konfiguration false
Typ automatic

 

Zusätzliche Dokumentation

Tests in diesem Funktionsbereich enthalten möglicherweise zusätzliche Dokumentation, einschließlich Informationen zu Voraussetzungen, Einrichtung und Fehlerbehebung, die in den folgenden Themen zu finden sind:

Ausführen des Tests

Bevor Sie den Test ausführen, vervollständigen Sie die Testeinrichtung wie in den Testanforderungen beschrieben: Voraussetzungen für das Testen von optischen Laufwerken.

Der Test zeigt ein Konfigurationsdialogfeld zum Abrufen der primären und sekundären Laufwerkseinschubkonfiguration. Der Benutzer muss das identische sekundäre Laufwerk aus der Laufwerksliste im Dialogfeld „Writer-Laufwerk“ auswählen und sollte die Laufwerkfachfunktionen auswählen, ob es das automatische Auswerfen und automatische Laden des Fachs unterstützt.

Hinweis

   Die E/A-intensiven Anwendungen, die auf dem Testcomputer ausgeführt werden, können die Leistungsmessungsszenarien für den optischen Logotest stören. Bitte stellen Sie sicher, dass keine anderen Anwendungen auf dem Testcomputer ausgeführt werden, wenn der Test ausgeführt wird.

 

Problembehandlung

Informationen zur allgemeinen Problembehandlung bei HLK-Testfehlern finden Sie unter Problembehandlung bei Windows HLK-Testfehlern.

Informationen zur Fehlerbehebung finden Sie unter Fehlerbehebung bei Device.Storage-Tests.

Die folgenden Probleme sind in Bezug auf diesen Test bekannt:

  • Bus-Reset-Testszenario standardmäßig deaktiviert.

    Standardmäßig validiert der Test nicht das ordnungsgemäße Geräteverhalten beim Zurücksetzen des Busses.

    Wenn ein Bus-Reset auftritt, wird erwartet, dass sich das Laufwerk selbst ordnungsgemäß zurücksetzt, wieder online geht und normal funktionieren sollte. Einige defekte Laufwerke setzen sich nicht richtig zurück und funktionieren nach dem Bus-Reset nicht. Dies ist keine ordnungsgemäße Implementierung. Wenn dieses spezifische Testszenario aktiviert ist, senden die Testfälle für die Befehlsüberprüfung (sowohl Geräte- als auch Profiltestfälle) die Befehle mit einem falschen SRB-Datenrichtungs-Flag. Dies wird normalerweise den Bus anhalten und schließlich dazu führen, dass der Port-Treiber den Bus nach einer bestimmten Timeout-Periode zurücksetzt.

    Die meisten Speichercontroller unterstützen dieses Testszenario nicht richtig. Die falsch implementierten Speichercontroller werden nach dem Zurücksetzen des Busses nicht wiederhergestellt. In diesem Fall kann der Testfall aufgrund des Speichercontrollers fehlschlagen, selbst wenn das Gerät ordnungsgemäß implementiert wurde. Dieser Test ist nicht in der Lage, Geräteausfälle von Speichercontrollerausfällen zu unterscheiden. Daher ist das Testen dieses speziellen Szenarios standardmäßig deaktiviert. Um das Testen dieses speziellen Szenarios zu ermöglichen, sollte die ausführbare Testdatei mit der Befehlszeilenoption „RunDataDirectionFlagScenario“ ausgeführt werden.

Weitere Informationen

Das Laufwerk soll die folgenden Befehle unterstützen:

  • Konfiguration abrufen (ohne Medien)

  • Ereignisstatusbenachrichtigung abrufen

  • Anfrage

  • Mechanismusstatus

  • Modus Sinn

  • Mediumentfernung zulassen verhindern

  • Sinn anfordern

  • Einheit starten

  • Testeinheit bereit

Das Laufwerk muss die folgenden Befehle unterstützen, wenn sie für die unterstützten Funktionen und Profile obligatorisch sind.

  • Konfiguration abrufen (mit Medien)

  • Holen Sie sich Leistung

  • Pufferkapazität lesen

  • Kapazität lesen

  • Lesen Sie die Disc-Informationen

  • Lesen Sie Formatkapazitäten

  • Lesen Sie Toc Pma Atip

  • Senden Sie OPC-Informationen

  • Stellen Sie die CD-Geschwindigkeit ein

  • Read10

Das Laufwerk unterstützt die folgenden Szenarien, wenn die diesen Szenarien zugeordneten Befehle für die unterstützten Funktionen und Profile obligatorisch sind.

  • Benachrichtigung zum Ereignisstatus

  • Schreiben

    • Sequenzieller Modus

    • Paketmodus

    • Eingeschränktes Überschreiben

    • Multi-Session-Unterstützung

  • Audiomedien (Audiospuren schreiben)

  • Leer

  • Eindeutige Seriennummer des Laufwerks

  • Echtzeitstreaming

  • Lückenlose Rohaufzeichnung von Audiomedien

Testfälle werden in die folgenden drei Gruppen eingeteilt:

  • Testfälle für Geräte. Die folgenden Testfälle zur Befehlsverifizierung, die für das Gerät gelten:

    • KONFIGURATION ERHALTEN (OHNE MEDIEN)

    • EREIGNISSTATUS-BENACHRICHTIGUNG ERHALTEN

    • ANFRAGE

    • MECHANISMUSSTATUS

    • MODUS SINN

    • ENTFERNEN DES MEDIUMS VERHINDERN

    • SINN ANFORDERN

    • START STOP EINHEIT

    • TESTGERÄT BEREIT

  • Testfälle profilieren. Die folgenden Testfälle zur Befehlsverifizierung werden mit allen anwendbaren Profilen getestet:

    • KONFIGURATION ERHALTEN

    • LEISTUNG ERHALTEN

    • LESEKAPAZITÄT

    • PUFFERKAPAZITÄT LESEN

    • DISKETTE LESEN

    • LESEN SIE FORMATKAPAZITÄTEN

    • LESEN SIE DAS TOC PMA ATIP

    • OPC-INFORMATIONEN SENDEN

    • CD-GESCHWINDIGKEIT EINSTELLEN

    • READ10

  • Testfälle für Nutzungsszenarien. Die folgenden Szenarien werden mit den IMAPI-Brennmodulschnittstellen getestet:

    • EREIGNISSTATUS-BENACHRICHTIGUNG

    • BLANK

    • SCHREIBEN/MULTISESSION

    • AUDIOMEDIEN

    • BESCHREIBEN SIE DUAL-LAYER-MEDIEN

    • FAHRZEUG-SERIENNUMMER

    • NUR LESEN-LAUFWERK

    • Echtzeit-Streaming

    • AUDIOMEDIEN GAPLESS RAW-AUFNAHME

Dieser Test umfasst die folgenden Testfälle:

  • KONFIGURATIONSBEFEHL ERHALTEN (OHNE MEDIEN)

  • BEFEHL EREIGNISSTATUS-BENACHRICHTIGUNG ERHALTEN

  • ANFRAGEBEFEHL

  • MECHANISMUSSTATUSBEFEHL

  • MODE SENSE-BEFEHL

  • BEFEHL ZUR ENTFERNUNG MITTELS VERHINDERN ERLAUBEN

  • SENSE-BEFEHL ANFORDERN

  • BEFEHLE STARTEN STOPPEN EINHEIT, & LEISTUNG AUSWERFEN

  • BEFEHL TESTEN EINHEIT BEREIT

  • KONFIGURATIONSBEFEHL ERHALTEN

  • LEISTUNG ERHALTEN

  • BEFEHL LESEKAPAZITÄT

  • BEFEHL PUFFERKAPAZITÄT LESEN

  • BEFEHL DISC-INFORMATION LESEN

  • BEFEHL FORMATKAPAZITÄTEN LESEN

  • BEFEHL TOC/PMA/ATIP LESEN

  • OPC-INFORMATIONSBEFEHL SENDEN

  • BEFEHL CD-GESCHWINDIGKEIT EINSTELLEN

  • READ10 BEFEHL

  • EVENT NOTIFICATION

  • TESTS SCHREIBEN

  • AUDIOMEDIEN (TONSPUREN SCHREIBEN)

  • BLANK

  • BESCHREIBEN SIE DUAL-LAYER-MEDIEN

  • NUR LESEN-LAUFWERK

  • FAHRZEUG-SERIENNUMMER

  • ECHTZEIT-STREAMING

  • SCHREIBGESCHWINDIGKEITSMESSUNG

  • AUDIOMEDIEN GAPLESS RAW-AUFNAHME

Befehl GET CONFIGURATION (ohne Medien)

Beschreibung: Dieser Test soll sicherstellen, dass das Laufwerk ordnungsgemäß auf den Befehl GET CONFIGURATION reagiert, wenn sich kein Medium im Fach befindet.

Anwendbare Medien: Alle Medien, die vom Gerät unterstützt werden

Testfallschritte:

  1. Werfen Sie das Fach aus, indem Sie den Befehl START STOP UNIT senden.

  2. Warten Sie, bis das Fach geöffnet ist.

  3. Senden Sie den Befehl GET CONFIGURATION mit einer Antwortdatenlänge von 4 Byte, um die Datenlänge des Feature-Headers zu erhalten. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und lassen Sie den Testfall fehlschlagen. Zweck: Ermöglichen Sie der Software, die Unterstützung des Befehls zu prüfen.

  4. Überprüfen Sie, ob der Antrieb kein aktuelles Profil im Feature-Header meldet. Wenn das Laufwerk das aktuelle Profil nicht als "kein aktuelles Profil" reproduziert, schlägt der Testfall fehl.

  5. Senden Sie den Befehl GET CONFIGURATION erneut mit RT=00b und mit der korrekten Datenlänge, die das Gerät in Schritt 3 zurückgegeben hat. Zweck: Ermöglichen Sie der Software, die gesamte Liste der vom Laufwerk unterstützten Funktionen abzurufen.

  6. Überprüfen Sie, ob der Antrieb kein aktuelles Profil im Feature-Header meldet. Wenn das Laufwerk das aktuelle Profil nicht als "kein aktuelles Profil" reproduziert, schlägt der Testfall fehl.

  7. Holen Sie sich den Merkmalsdeskriptor der Profilliste in der Antwort für das aktuelle Profilbit und lassen Sie den Testfall fehlschlagen, wenn bei einem der Profildeskriptoren das aktuelle Profilbit auf 1 gesetzt ist.

  8. Senden Sie den Befehl GET CONFIGURATION mit einer Antwortdatenlänge von 20 Bytes, RT=01b, Starting Feature Number=0010h (Random Readable Feature). Wenn der Befehl fehlschlägt oder wenn der Random Readable Feature-Deskriptor nicht zurückgegeben wird, drucke den Sense-Key entsprechend aus und lasse den Testfall fehlschlagen. Zweck: Ermöglichen Sie der Software, die Währung bestimmter Funktionen (nicht aktuell) zu prüfen.

  9. [Optional] Senden Sie den GET CONFIGURATION-Befehl mit auf „to the device“ gesetztem Datenrichtungs-Flag und mit einer Antwortdatenlänge von 4 Byte, um die Feature-Header-Datenlänge zu erhalten. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und lassen Sie den Testfall fehlschlagen. Zweck: Sicherstellen, dass das Gerät Befehle mit falscher Datenrichtung verarbeitet.

  10. Injizieren Sie das Fach.

  11. Warten Sie, bis das Gerät bereit ist

  12. Senden Sie den Befehl GET CONFIGURATION mit einer Antwortdatenlänge von 16 Bytes, RT=01b, Starting Feature Number=0003h (Removable Medium Feature). Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel entsprechend aus und bestehen den Testfall nicht. Wenn der Befehl erfolgreich ist:

    • Überprüfen Sie, ob das „Eject“-Bit gesetzt ist, wenn das Laufwerk den automatischen Auswurfmechanismus unterstützt.

    • Überprüfen Sie, ob das "Load"-Bit gesetzt ist, wenn das Laufwerk den Autoinject-Mechanismus unterstützt.

Ergebnis: Das Laufwerk sollte ordnungsgemäß auf den Befehl GET CONFIGURATION reagieren

Befehl GET EVENT STATUS NOTIFICATION

Beschreibung: Um zu überprüfen, ob das Laufwerk den Befehl GET EVENT STATUS NOTIFICATION unterstützt

Anwendbare Medien: Alle Medien, die vom Gerät unterstützt werden

Testfallschritte:

  1. Senden Sie den Get Event Status Notification-Befehl mit den folgenden Werten im CDB.

    • Notification Class Request = 0x7E (Operational Change, Power Management, External Anforderung, Media, Multi-Host, Device Busy),

    • Abgefragt = 1

    • Zuweisungslänge gleich der Größe des Antwortheaders (4 Byte)

  2. Schlägt der Befehl fehl, schlägt der Testfall fehl

  3. Überprüfen Sie in der Antwort, welche Ereignisse unterstützt werden

  4. [Optional] Senden Sie den Befehl „Get Event Status Notification“ mit dem auf „to the device“ gesetzten Datenrichtungs-Flag und den folgenden Werten in der CDB.

    • Notification Class Request = 0x7E (Operational Change, Power Management, External Anforderung, Media, Multi-Host, Device Busy),

    • Abgefragt = 1

    • Zuweisungslänge gleich der Größe des Antwortheaders (4 Byte)

  5. Schlägt der Befehl fehl, schlägt der Testfall fehl

  6. Überprüfen Sie in der Antwort, ob die Ereignisdatenlänge 0x6 ist, das NEA-Bit gelöscht ist, die Benachrichtigungsklasse ungleich Null ist und die unterstützten Ereignisklassen mit Schritt 3 identisch sind. Sonst scheitert der Testfall.

  7. Senden Sie den Get Event Status Notification-Befehl mit den folgenden Werten im CDB.

    • Benachrichtigungsklassenanforderung = 0x7E (Operational Change, Power Management, External Request, Media, Multi-Host, Device Busy).

    • Abgefragt = 1

    • Zuweisungslänge gleich der Größe des Antwortheaders (4 Byte)

  8. Schlägt der Befehl fehl, schlägt der Testfall fehl.

Ergebnis: Das Laufwerk sollte ordnungsgemäß auf den Befehl GET EVENT STATUS NOTIFICATION reagieren.

ANFRAGE-Befehl

Beschreibung: Um zu validieren, ob das Laufwerk den INQUIRY-Befehl unterstützt.

Anwendbare Medien: Alle Medien, die vom Gerät unterstützt werden

Testfallschritte:

  1. Senden Sie den INQUIRY-Befehl mit einer Zuweisungslänge von 08h. Zweck: Software erlauben, die erforderliche Antwortpuffergröße zu prüfen.

  2. Wenn der Befehl erfolgreich ist, überprüfen Sie die Antwort auf die zusätzliche Länge im Header. Die zusätzliche Länge muss 32d oder größer sein [MMC5r04 6.9.2].

  3. Senden Sie den INQUIRY-Befehl erneut, wobei die Zuweisungslänge auf 5 Byte mehr als die zusätzliche Länge aus Schritt 2 eingestellt ist.

  4. Wenn der Befehl erfolgreich ist, stellen Sie sicher, dass die Antwortdatenfelder mit den in MMC5r04-Tabelle 320 angegebenen Werten übereinstimmen.

  5. Stellen Sie sicher, dass Herstelleridentifikation, Produktidentifikation und Produktrevisionsstufe nicht null sind.

    • Zweck: Basic Identifikation durch Software.
  6. Überprüfen Sie, ob die folgenden Werte übereinstimmen:

    • Gerätetyp = 5

    • Gerätetypqualifizierer = 0

    • Wechselmedien = 1

    • Antwortdatenformat = 2

    • Hierarchieunterstützung = 0

    • Normaler ACA = 0

    • Schützen = 0

    • Drittanbieterkopie = 0

    • Zielportgruppenunterstützung = 0

    • Zugriffssteuerungskoordinator = 0

    • SCC unterstützt = 0

    • Addr16 = 0

    • Medienwechsler = 0

    • Multiport = 0

    • VS1 = 0

    • Gehäusedienste = 0

    • BQue = 0

    • VS2 = 0

    • Befehlswarteschlange = 0

    • Verknüpfte Befehle = 0

    • Synchron = 0

    • Wide16 = 0

  7. Senden Sie den INQUIRY-Befehl mit den folgenden Werten im CDB:

    • EVPD = 0

    • Zuweisungslänge = 240

  8. Senden Sie den INQUIRY-Befehl mit den folgenden Werten im CDB:

    • EVPD = 1

    • Zuweisungslänge = 240

  9. Wenn der Befehl erfolgreich ist, vergleichen Sie die Antworten aus Schritt 7 und Schritt 8. Wenn beide gleich sind, schlagen Sie im Testfall fehl.

  10. Senden Sie den INQUIRY-Befehl für eine zufällige Anzahl von Malen zwischen 10 und 25 mit zufälligen Zuordnungslängen. Wenn der Befehl fehlschlägt, schlagen Sie den Testfall fehl.

  11. [Optional] Senden Sie den INQUIRY-Befehl mit dem auf "to the device" gesetzten Datenrichtungs-Flag und mit den folgenden Werten im CDB

    • EVPD = 0

    • Zuweisungslänge = 240

Ergebnis: Das Laufwerk sollte ordnungsgemäß auf den INQUIRY-Befehl reagieren.

MECHANISM STATUS-Befehl

Beschreibung: Um zu validieren, ob das Laufwerk den Befehl MECHANISM STATUS unterstützt

Anwendbare Medien: Alle Medien, die vom Gerät unterstützt werden

Testfallschritte:

  1. Senden Sie den MECHANISM STATUS-Befehl mit einer Zuordnungslänge von 0 Bytes (Datensinn nicht spezifiziert). Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und lassen Sie den Testfall fehlschlagen.

    • Zweck: Ermöglichen Sie der Software, die Unterstützung des Befehls zu prüfen
  2. Werfen Sie das Fach aus.

  3. Warten Sie, bis das Gerät die Sense-Daten zurückgibt (Sense Key: 0x2, ASC: 0x3A, ASCQ: 0x02)

  4. Senden Sie den Befehl MECHANISM STATUS mit einer Zuweisungslänge von 8 Bytes.

  5. Überprüfen Sie, ob das Türöffnungsbit 1b ist.

    • Zweck: Ermöglichen Sie der Software zu erkennen, ob die Tür offen oder geschlossen (offen) ist.
  6. Injizieren Sie das Fach

  7. Warten Sie, bis das Gerät bereit ist

  8. Senden Sie den Befehl MECHANISM STATUS mit einer Zuweisungslänge von 8 Bytes.

  9. Überprüfen Sie, ob das Türöffnungsbit 0b ist.

    • Zweck: Ermöglichen Sie der Software zu erkennen, ob die Tür offen oder geschlossen (geschlossen) ist.
  10. Erstellen Sie einen 8-Byte-Puffer und füllen Sie ihn mit Zufallsdaten.

  11. [Optional] Senden Sie den MECHANISM STATUS-Befehl mit auf "zum Gerät" gesetztem Datenrichtungs-Flag und mit einer Zuweisungslänge von 8 Bytes. Übergeben Sie den Puffer aus Schritt 11 an das Gerät.

Ergebnis: Das Laufwerk sollte ordnungsgemäß auf den Befehl MECHANISM STATUS reagieren

MODE SENSE-Befehl

Beschreibung: Zur Validierung, ob das Laufwerk den Mode Sense-Befehl unterstützt.

Anwendbare Medien: Alle Medien, die vom Gerät unterstützt werden

Testfallschritte:

  1. Senden Sie den Befehl MODE SENSE mit den folgenden Werten in der CDB, um alle unterstützten Modusseiten zu erhalten:

    • Seitensteuerung = 0

    • Blockdeskriptoren deaktivieren = 1

    • Seitencode = 0x3F

    • Zuweisungslänge = 0x8000

  2. Überprüfen Sie die folgenden Werte in der Antwort:

    • Die Blockdeskriptorlänge im Header der Modusparameter ist Null

    • Die Seitenlänge für die Seitendaten jedes Modus entspricht dem in MMC5 dokumentierten Wert.

  3. Validieren Sie die Modusseitendaten für jede gemeldete Seite

  4. Senden Sie den Mode Sense-Befehl für jede gemeldete Seite mit den folgenden Werten in der CDB:

    • Seitensteuerung = 0

    • Blockdeskriptoren deaktivieren = 1

    • Zuweisungslänge = Seitenlänge, die vom Laufwerk in Schritt 2 gemeldet wurde

  5. Überprüfen Sie die folgenden Werte in der Antwort:

    • Die Blockdeskriptorlänge im Header der Modusparameter ist Null.

    • Der Seitencode in der Kopfzeile der Modusseite stimmt mit dem angeforderten Seitencode überein.

    • Die Seitenlänge im Modus Seitenkopf entspricht dem Wertdokument in MMC5.

  6. Senden Sie den Mode Sense-Befehl mit der Zuweisungslänge 0xFFF0

  7. Überprüfen Sie die folgenden Werte in der Antwort:

    • Die Blockdeskriptorlänge im Header der Modusparameter ist Null

    • Der Seitencode in der Kopfzeile der Modusseite stimmt mit dem angeforderten Seitencode überein

  8. Senden Sie den Mode Sense-Befehl mit der Zuweisungslänge 0x0A

  9. Überprüfen Sie, ob die Antwort Byte für Byte bis zur Antwortgröße (0x0A) mit der Antwort für die Zuweisungslänge gleich 0xFFF0 übereinstimmt.

  10. Senden Sie den Mode Sense-Befehl für eine zufällige Anzahl von Malen zwischen 10 und 25 mit zufälligen Zuweisungslängen zwischen 0x0A und 0xFFF0.

  11. Überprüfen Sie, ob die Antwort Byte für Byte bis zur Antwortgröße (Zufallswert zwischen 0x0A und 0xFFF0) mit der Antwort für die Zuweisungslänge gleich 0xFFF0 übereinstimmt.

  12. [Optional] Senden Sie den MODE SENSE-Befehl mit dem auf „to the device“ gesetzten Datenrichtungs-Flag und mit den folgenden Werten in der CDB, um alle unterstützten Modusseiten zu erhalten:

    • Seitensteuerung = 0

    • Blockdeskriptoren deaktivieren = 1

    • Seitencode = 0x3F

    • Zuweisungslänge = 0x8000

Ergebnis: Das Laufwerk sollte ordnungsgemäß auf den Befehl GET CONFIGURATION reagieren

Befehl PREVENT ALLOW MEDIUM REMOVAL

Beschreibung: Zur Validierung, ob das Laufwerk den Befehl PREVENT ALLOW MEDIUM REMOVAL unterstützt.

Anwendbare Medien: Alle Medien, die vom Gerät unterstützt werden

Testfallschritte:

  1. Senden Sie den Befehl PREVENT ALLOW MEDIUM REMOVAL mit auf 1 gesetztem Prevent-Bit und auf 0 gesetztem Persistent-Bit. Dies würde das Laufwerk sperren. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.

  2. Senden Sie den Start-Stopp-Einheit-Befehl mit dem LocEj-Bit auf 1 und dem Immediate-Bit auf 0 und dem Start-Bit auf Null. Dadurch wird versucht, die Disc auszuwerfen. Wenn das Laufwerk den Befehl mit den Prüfdaten 0x05, 0x53, 0x02 nicht ablehnt, liegt ein Fehler vor.

  3. Senden Sie den Befehl Test Unit ready und stellen Sie sicher, dass er erfolgreich ist.

  4. Bitten Sie den Benutzer, die Auswurftaste zu drücken, um das Medium auszuwerfen.

  5. Senden Sie den Befehl Testeinheit bereit und vergewissern Sie sich, dass er weiterhin erfolgreich ist (Tür sollte sich nicht öffnen).

  6. Senden Sie den Befehl Löschen des Mediums verhindern zulassen mit dem Bit Verhindern auf 0 und dem Bit Persistent auf 0 gesetzt. Dies würde das Laufwerk entsperren. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.

  7. Bitten Sie den Benutzer, die Auswurftaste zu drücken, um das Medium auszuwerfen

  8. Warten Sie, bis das Gerät die Tür öffnet – Senden Sie den Befehl Testeinheit bereit, wenn der Befehl erfolgreich ist, warten Sie 1 Sekunde und versuchen Sie es erneut, bis er mit (02/3A/02) fehlschlägt. Zeitüberschreitung nach 30 Sekunden.

  9. Wenn das Laufwerk den automatischen Lademechanismus unterstützt, führen Sie das Fach wieder in das Laufwerk ein, andernfalls bitten Sie den Benutzer, das Fach wieder in das Laufwerk einzusetzen.

  10. Warten Sie, bis das Gerät bereit ist

  11. [Optional] Senden Sie den Befehl PREVENT ALLOW MEDIUM REMOVAL, wobei das Datenrichtungs-Flag auf „zum Gerät“ gesetzt ist, und übergeben Sie die Zufallsdaten in einem Puffer mit zufälliger Größe.

Ergebnis: Das Laufwerk sollte ordnungsgemäß auf den Befehl PREVENT ALLOW MEDIUM REMOVAL reagieren.

ANFORDERUNG SENSE-Befehl

Beschreibung: Zur Validierung, ob das Laufwerk den Befehl ANFORDERUNG SENSE unterstützt.

Anwendbare Medien: Alle Medien, die vom Gerät unterstützt werden

Testfallschritte:

  1. Senden Sie den Befehl ANFORDERUNG SENSE, wobei das Deskriptorbit auf Null und die Zuweisungslänge auf 252 gesetzt ist. Das Laufwerk soll mit den Erfassungsdaten im festen Format antworten.

  2. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.

  3. Wenn der Antwortcode 0x70 oder 0x71 ist, wird der Test bestanden, andernfalls schlägt der Test fehl.

  4. [Optional] Senden Sie den ANFORDERUNG SENSE-Befehl, wobei das Datenrichtungs-Flag auf „zum Gerät“ gesetzt ist und das Deskriptor-Bit auf Null und die Zuweisungslänge auf 252 gesetzt ist. Das Laufwerk soll mit den Erfassungsdaten im festen Format antworten.

Ergebnis: Das Laufwerk sollte ordnungsgemäß auf den Befehl ANFORDERUNG SENSE reagieren.

Befehl START STOP UNIT, EJECT & LOAD PERFORMANCE

Beschreibung: Zur Überprüfung, ob das Laufwerk den Befehl START STOP UNIT unterstützt.

Anwendbare Medien: Alle Medien, die vom Gerät unterstützt werden

Testfallschritte:

  1. Senden Sie den Befehl START STOP UNIT mit den folgenden Werten im CDB

    • Sofort = 0, LoadEject = 0, Start = 0, PowerConditions = 0

    • Sofort = 0, LoadEject = 0, Start = 1, PowerConditions = 0

    • Sofort = 1, LoadEject = 0, Start = 0, PowerConditions = 0

    • Sofort = 1, LoadEject = 0, Start = 1, PowerConditions = 0

  2. Der Befehl soll für jede dieser Kombinationen erfolgreich sein.

  3. Wenn das Laufwerk das Auswerfen des Fachs unterstützt, senden Sie den Befehl START STOP UNIT mit den folgenden Werten im CDB, um das Fach auszuwerfen

    • Sofort = 1, LoadEject = 1, Start = 0, PowerConditions = 0
  4. Warten Sie, bis das Gerät die Tür öffnet - Senden Sie den Befehl TEST UNIT READY, wenn der Befehl erfolgreich ist, warten Sie 5 Sekunden und versuchen Sie es erneut, bis er mit (02/3A/02) fehlschlägt. Zeitüberschreitung nach 10 Sekunden.

  5. Wenn das Laufwerk das Laden des Fachs unterstützt (automatisches Einfügen), senden Sie den Befehl START STOP UNIT mit den folgenden Werten in der CDB, um das Fach einzufügen:

    • Sofort = 1, LoadEject = 1, Start = 1, PowerConditions = 0
  6. Wenn das Laufwerk das Laden des Fachs nicht unterstützt, bitten Sie den Benutzer, das Fach wieder in das Laufwerk einzusetzen.

  7. Warten Sie, bis das Gerät bereit ist – Senden Sie den Befehl TEST UNIT READY, wenn der Befehl mit einer Sense-Taste fehlschlägt, warten Sie 1 Sekunde und versuchen Sie es erneut, bis er erfolgreich ist. Zeitüberschreitung nach 30 Sekunden. PREMIUM-LOGO: Zeitüberschreitung: 20 Sekunden.

  8. Senden Sie den Befehl START STOP UNIT mit den folgenden Werten im CDB, um das Fach auszuwerfen:

    • Sofort = 0, LoadEject = 1, Start = 0, PowerConditions = 0
  9. Warten Sie, bis das Gerät die Tür öffnet - Senden Sie den Befehl TEST UNIT READY, wenn der Befehl erfolgreich ist, warten Sie 1 Sekunde und versuchen Sie es erneut, bis er mit (02/3A/02) fehlschlägt. Zeitüberschreitung nach 30 Sekunden.

  10. Bitten Sie den Benutzer, das Medium zu entfernen

  11. Wenn das Laufwerk das Laden des Fachs unterstützt (automatisches Einfügen), senden Sie den Befehl START STOP UNIT mit den folgenden Werten in der CDB, um das Fach einzufügen:

    • Sofort = 0, LoadEject = 1, Start = 1, PowerConditions = 0
  12. Stellen Sie sicher, dass der Befehl mit Not Ready / Medium not present / Tray closed (02/3A/01 fehlschlägt)

  13. Wenn das Laufwerk das Auswerfen des Fachs unterstützt, senden Sie den Befehl START STOP UNIT mit den folgenden Werten im CDB, um das Fach auszuwerfen:

    • Sofort = 0, LoadEject = 1, Start = 0, PowerConditions = 0
  14. Bitten Sie den Benutzer, das Medium in das Fach zu legen.

  15. Wenn das Laufwerk das Laden des Fachs nicht unterstützt, bitten Sie den Benutzer, das Fach wieder in das Laufwerk einzusetzen, und warten Sie, bis das Gerät bereit ist. Wenn das Laufwerk das Laden des Fachs unterstützt (automatisches Einfügen), senden Sie den Befehl START STOP UNIT mit den folgenden Werten in der CDB, um das Fach einzufügen, und warten Sie, bis das Gerät bereit ist.

    • Sofort = 0, LoadEject = 1, Start = 1, PowerConditions = 0
  16. [Optional] Senden Sie den Befehl START STOP UNIT, wobei das Datenrichtungs-Flag auf "zum Gerät" gesetzt ist. Puffer mit zufälliger Größe mit zufälligen Daten und mit den folgenden Werten in der CDB senden.

    • Sofort = 0, LoadEject = 0, Start = 0, PowerConditions = 0

Ergebnis: Das Laufwerk sollte ordnungsgemäß auf den Befehl START STOP UNIT reagieren.

Befehl EINHEIT BEREIT PRÜFEN

Beschreibung: Um zu validieren, ob das Laufwerk die TEST UNIT READY unterstützt.

Anwendbare Medien: Alle Medien, die vom Gerät unterstützt werden

Testfallschritte:

  1. Senden Sie den Befehl TEST UNIT READY.

  2. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl

  3. [Optional] Senden Sie den Befehl TEST UNIT READY, wobei das Datenrichtungs-Flag auf "zum Gerät" gesetzt ist und der Puffer mit zufälliger Größe mit zufälligen Daten gefüllt ist.

Ergebnis: Das Laufwerk sollte ordnungsgemäß auf den Befehl TEST UNIT READY reagieren.

GET CONFIGURATION-Befehl

Beschreibung: Um zu überprüfen, ob das Laufwerk den Befehl GET CONFIGURATION für das gemeldete Profil unterstützt.

Anwendbare Medien: Alle Medien, die vom Gerät unterstützt werden

Testfallschritte:

  1. Senden Sie den Befehl GET CONFIGURATION mit einer Antwortdatenlänge von 0 Bytes (Datensinn nicht angegeben). Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und lassen Sie den Testfall fehlschlagen.

    • Zweck: Ermöglichen Sie der Software, die Unterstützung des Befehls zu prüfen.
  2. Senden Sie den Befehl GET CONFIGURATION mit einer Antwortdatenlänge von 4 Byte, um die Datenlänge des Feature-Headers zu erhalten. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und lassen Sie den Testfall fehlschlagen.

    • Zweck: Ermöglichen Sie der Software, die Unterstützung des Befehls zu prüfen.
  3. Senden Sie den Befehl GET CONFIGURATION mit einer Antwortdatenlänge von 8 Bytes (um den Header zu erhalten), RT=00b, Starting Feature Number=0000h. Wenn der Befehl fehlschlägt oder wenn das aktuelle Profil gleich 00h ist, drucken Sie den Sense-Schlüssel entsprechend aus und bestehen Sie den Testfall.

    • Zwecke:

      • Ermöglichen Sie der Software, die erforderliche Antwortpuffergröße zu prüfen.

      • der Software erlauben, das aktuelle Profil zu untersuchen (ein Profil ist aktuell).

  4. Wenn der Befehl erfolgreich ist, überprüfen Sie Folgendes in der Antwort

    • Die Datenlänge im Header ist nicht Null und vier Bytes ausgerichtet

    • Die aktuelle Profilnummer stimmt mit dem im Laufwerk geladenen Medientyp überein

  5. Senden Sie den GET CONFIGURATION-Befehl mit der in Schritt 3 gelesenen Antwortdatenlänge, RT=00b, Starting Feature Number=0000h. Lesen Sie das aktuelle Profil und suchen Sie dann in der Liste der unterstützten Profile nach diesem Profilcode. Stellen Sie sicher, dass das aktuelle Profil mit dem Profiltyp des eingelegten Mediums übereinstimmt. Wenn der Befehl fehlschlägt oder wenn das aktuelle Profil in der Liste der unterstützten Profile nicht als aktuell gemeldet wird, geben Sie den Prüfschlüssel entsprechend aus und lassen Sie den Testfall fehlschlagen.

    • Zweck: Gewährleistung der Konsistenz der vom Laufwerk gemeldeten Informationen.
  6. Senden Sie den Befehl GET CONFIGURATION erneut mit RT=00b und mit der korrekten Datenlänge, die das Gerät in Schritt 3 zurückgibt, wenn die Länge auf 2 Bytes passt. Wenn die Länge 2 Bytes überschreitet, senden Sie den Befehl mit einer maximalen Datenlänge von 2 Bytes.

    • Zweck: Ermöglichen Sie der Software, die gesamte Liste der vom Laufwerk unterstützten Funktionen abzurufen.
  7. Wenn die Länge 2 Bytes überschreitet, lesen Sie die Feature-Nummer für den letzten vollständig zurückgegebenen Feature-Deskriptor und geben Sie den zusätzlichen Befehl GET CONFIGURATION mit RT=10b und mit der Start-Feature-Nummer gleich dieser Feature-Nummer plus 1 aus. Wiederholen Sie den Vorgang, bis die im Feature-Header zurückgegebene Datenlänge gleich oder kleiner als die zugewiesene Länge ist. Verketten Sie die resultierenden Feature-Deskriptoren zur Überprüfung in Schritt 10.

  8. Überprüfen Sie für alle Befehle, die den Schritten 3-6 folgen, ob die Datenlänge im Header der Antwort ein Vielfaches von 4 ist (4 Byte ausgerichtet). Fehler, wenn es nicht 4-Byte-ausgerichtet ist. Zweck: 4-Byte-Ausrichtung wird von der Software übernommen.

  9. Wenn der/die Befehl(e) erfolgreich waren, prüfen Sie außerdem, ob alle gemeldeten Feature-Versions- und Additional-Length-Felder gleich oder größer als die jeweiligen Werte für das angegebene Feature im MMC-5-Dokument sind. Beispiel: Die Version des Kernfeatures muss 0010b oder höher sein und seine zusätzliche Länge muss 8 oder größer sein. Zweck: Gewährleistung der Konsistenz der vom Laufwerk gemeldeten Informationen. Wenn die Funktion für Wechseldatenträger gemeldet wird, sollte die Versionsnummer 1 sein, wie im Befehl GET CONFIGURATION angegeben.

  10. Wenn der Befehl bzw. die Befehle erfolgreich waren, überprüfen Sie außerdem, ob alle obligatorischen Funktionen für das gemeldete unterstützte Profil gemeldet werden.

    • Zweck: Gewährleistung der Konsistenz der vom Laufwerk gemeldeten Metainformationen.
  11. Senden Sie den Befehl GET CONFIGURATION mit einer Antwortdatenlänge von 20 Bytes, RT=01b, Starting Feature Number=0010h (Random Readable Feature). Wenn der Befehl fehlschlägt oder wenn der Random Readable Feature-Deskriptor nicht zurückgegeben wird, drucke den Sense-Key entsprechend aus und lasse den Testfall fehlschlagen. Zweck: Ermöglichen Sie der Software, die Währung bestimmter Funktionen (aktuell) zu prüfen.

  12. [Optional] Senden Sie den Befehl GET CONFIGURATION, wobei das Datenrichtungs-Flag auf „zum Gerät“ gesetzt ist und der Puffer mit zufälliger Größe mit zufälligen Daten gefüllt ist. Folgende Werte werden im CDB gesetzt:

    • Allocation Length = Größe des Puffers, Starting Feature Number = 0000h, RT = 00b

Ergebnis: Das Laufwerk sollte den Befehl GET CONFIGURATION für die entsprechenden Medientypen ordnungsgemäß implementieren.

GET PERFORMANCE-Befehl

Beschreibung: Um zu überprüfen, ob das Laufwerk den Befehl GET PERFORMANCE für das gemeldete Profil unterstützt.

Anwendbare Medien: Eines der folgenden Medien:

  • CD-R

  • CD-ROM

  • CD-RW

  • DVD+R

  • DVD+R Dual Layer

  • DVD+RW

  • DVD-RW Eingeschränktes Überschreiben

  • DVD-RAM

  • DVD-R

  • DVD-R Dual Layer Seq

  • DVD-ROM

  • BD-R

  • BD-RE

  • BD-ROM

Testfallschritte:

  1. Senden Sie den Befehl GET CONFIGURATION, um die Funktion REAL TIME STREAMING zu erhalten. Überprüfen Sie die Antwort, wenn das Write Speed Performance Descriptor-Bit gesetzt ist. Wenn dies nicht festgelegt ist, unterstützt das Laufwerk keine Schreibgeschwindigkeitsbeschreibungen. Überspringen Sie die Schritte 6 bis 11, die die Schreibgeschwindigkeitsdeskriptoren validieren.

  2. Senden Sie den Befehl GET PERFORMANCE mit den folgenden Werten im CDB, um nominelle Leseleistungsdeskriptoren von null zu erhalten

    • Typ = 0

    • Start-LBA = 1

    • Max. Deskriptoren = 0

    • Datentyp = 0x10

  3. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl

  4. Senden Sie den Befehl GET PERFORMANCE mit den folgenden Werten im CDB, um einen nominalen Leseleistungsdeskriptor zu erhalten

    • Typ = 0

    • Start-LBA = 1

    • Max. Deskriptoren = 1

    • Datentyp = 0x10

  5. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl

  6. Senden Sie den Befehl GET PERFORMANCE mit den folgenden Werten in der CDB, um einen nominalen Schreibleistungsdeskriptor zu erhalten.

    • Typ = 0

    • Start-LBA = 1

    • Max. Deskriptoren = 1

    • Datentyp = 0x14

  7. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl

  8. Senden Sie den Befehl GET PERFORMANCE mit den folgenden Werten im CDB, um die Datenlänge für die Liste der Schreibgeschwindigkeitsdeskriptoren zu erhalten

    • Typ = 3

    • Start-LBA = 1

    • Max. Deskriptoren = 0

    • Datentyp = 0x14

  9. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.

  10. Senden Sie den Befehl GET PERFORMANCE mit den folgenden Werten im CDB, um die Liste der Schreibgeschwindigkeitsdeskriptoren abzurufen

    • Typ = 3

    • Start-LBA = 1

    • Max. Deskriptoren = 10

    • Datentyp = 0x14

  11. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.

  12. [Optional] Senden Sie den Befehl GET PERFORMANCE, wobei das Datenrichtungs-Flag auf „zum Gerät“ gesetzt ist und der Puffer mit zufälliger Größe mit zufälligen Daten gefüllt ist. Legen Sie die folgenden Werte in der CDB fest, um nominelle Leseleistungsdeskriptoren von null zu erhalten.

    • Typ = 0

    • Start-LBA = 1

    • Max. Deskriptoren = 0

    • Datentyp = 0x10

  13. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.

Ergebnis: Das Laufwerk sollte den Befehl GET PERFORMANCE für die entsprechenden Medientypen ordnungsgemäß implementieren.

READ CAPACITY-Befehl

Beschreibung: Um zu überprüfen, ob das Laufwerk den Befehl READ CAPACITY für das gemeldete Profil unterstützt.

Anwendbare Medien: Alle Medien, die vom Gerät unterstützt werden

Testfallschritte:

  1. Senden Sie den Befehl READ CAPACITY.

  2. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.

  3. Wenn die Blocklänge in Bytes nicht 2048 ist, schlägt der Testfall fehl.

  4. [Optional] Senden Sie den Befehl READ CAPACITY mit dem Datenrichtungs-Flag, das auf „zum Gerät“ gesetzt ist, und mit einem Puffer mit zufälliger Größe, der mit zufälligen Daten gefüllt ist.

  5. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.

Ergebnis: Das Laufwerk sollte den Befehl READ CAPACITY für die entsprechenden Medientypen ordnungsgemäß implementieren.

Befehl READ PUFFER CAPACITY

Beschreibung: Um zu überprüfen, ob das Laufwerk den Befehl READ BUFFER CAPACITY für das gemeldete Profil unterstützt.

Anwendbare Medien: Alle Medien, die vom Gerät unterstützt werden.

Testfallschritte:

  1. Senden Sie den Befehl GET CONFIGURATION, um die Funktion REAL TIME STREAMING zu erhalten. Überprüfen Sie die Antwort, wenn das Bit Read Buffer Capacity Block (RBCB) gesetzt ist. Wenn dies nicht festgelegt ist, unterstützt das Laufwerk den Befehl Read Buffer Capacity nicht. Überspringen Sie den Testfall.

  2. Senden Sie den Befehl READ BUFFER CAPACITY mit einem auf 0 gesetzten Blockbit und einer Zuordnungslänge, die gleich der Größe der Pufferkapazitätsstruktur ist.

  3. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.

  4. Wiederholen Sie Schritt 2, wobei das Block-Bit auf 1 gesetzt ist.

  5. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Befehl fehl.

  6. [Optional] Senden Sie den READ BUFFER CAPACITY-Befehl mit auf "to the device" gesetztem Datenrichtungs-Flag und mit mit zufälligen Daten gefülltem Puffer mit zufälliger Größe und auf Null gesetztem Blockbit.

  7. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.

Ergebnis: Das Laufwerk sollte den Befehl READ BUFFER CAPACITY für die entsprechenden Medientypen ordnungsgemäß implementieren.

Befehl READ DISC INFORMATION

Beschreibung: Um zu überprüfen, ob das Laufwerk den Befehl READ DISC INFORMATION für das gemeldete Profil unterstützt.

Anwendbare Medien: Eines der folgenden Medien:

  • DVD+R

  • DVD+RW

  • DVD-R

  • CD-R

  • CD-RW

Testfallschritte:

  1. Senden Sie den Befehl READ DISC INFORMATION mit der Zuordnungslänge 2, um die Standard-Disc-Informationsgröße zu erhalten.

  2. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.

  3. Rufen Sie die Disc-Informationslänge aus der Antwort ab. Wenn die Länge geringer ist als die Standardgröße des Disc-Informationsblocks (34), wird der Testfall nicht bestanden.

  4. Senden Sie den Befehl READ DISC INFORMATION, wobei die Zuweisungslänge gleich der Datenlänge aus Schritt 3 plus 2 ist.

  5. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.

  6. [Optional] Senden Sie den Befehl READ DISC INFORMATION mit auf „to the device“ gesetztem Datenrichtungs-Flag und mit Random-Size-Puffer, der mit zufälligen Daten gefüllt ist, und der Zuweisungslänge, die auf die Größe des Puffers gesetzt ist.

Ergebnis: Das Laufwerk sollte den Befehl READ DISC INFORMATION für die entsprechenden Medientypen ordnungsgemäß implementieren.

Befehl READ FORMAT CAPACITIES

Beschreibung: Um zu überprüfen, ob das Laufwerk den Befehl READ FORMAT CAPACITIES für das gemeldete Profil unterstützt.

Anwendbare Medien: Eines der folgenden Medien:

  • DVD+RW

  • DVD-RW Eingeschränktes Überschreiben

  • DVD-RAM

  • CD-RW

Testfallschritte:

  1. Senden Sie den Befehl READ FORMAT CAPACITIES mit der Zuordnungslänge gleich 4 (Header der Kapazitätsliste).

  2. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.

  3. Rufen Sie die Länge der Kapazitätsliste aus der Antwort ab

  4. Senden Sie den Befehl READ FORMAT CAPACITIES mit einer Zuordnungslänge gleich der Länge der Kapazitätsliste + 4 (Größe des Kapazitätslisten-Headers).

  5. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.

  6. Überprüfen Sie die Antwort, wenn die Länge der Kapazitätsliste ein Vielfaches von 8 ist.

  7. [Optional] Senden Sie den Befehl READ FORMAT CAPACITIES mit auf „to the device“ gesetztem Datenrichtungs-Flag und mit Random-Size-Puffer, der mit zufälligen Daten gefüllt ist, und der Zuweisungslänge, die auf die Größe des Puffers gesetzt ist.

Ergebnis: Das Laufwerk sollte den Befehl READ FORMAT CAPACITIES für die entsprechenden Medientypen ordnungsgemäß implementieren.

READ TOC/PMA/ATIP-Befehl

Beschreibung: Um zu überprüfen, ob das Laufwerk den Befehl READ TOC/PMA/ATIP für das gemeldete Profil unterstützt.

Anwendbare Medien: Eines der folgenden Medien:

  • CD-ROM

  • DVD-ROM

  • BD-ROM

Testfallschritte:

  1. Senden Sie den Befehl READ TOC/PMA/ATIP mit den folgenden Werten im CDB.

    • Format = 0, MSF = 0, Sitzungsnummer verfolgen = 1, Zuweisungslänge = 4
  2. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.

  3. [Optional] Senden Sie den READ TOC/PMA/ATIP-Befehl mit auf "to the device" gesetztem Datenrichtungs-Flag und mit mit Zufallsdaten gefülltem Puffer und auf die Größe des Puffers gesetzter Zuweisungslänge. Stellen Sie den CDB mit den folgenden Werten ein:

    • Format = 0, MSF = 0, Sitzungsnummer verfolgen = 1, Zuweisungslänge = 4

Ergebnis: Das Laufwerk sollte den Befehl READ TOC/PMA/ATIP für die entsprechenden Medientypen ordnungsgemäß implementieren

SEND OPC INFORMATION-Befehl

Beschreibung: [Dieser Inhalt ist noch nicht verfügbar.]

Anwendbare Medien: Eines der folgenden Medien:

  • DVD-RW Eingeschränktes Überschreiben

  • DVD-R

  • CD-RW

  • CD-R

Testfallschritte:

  1. Senden Sie den Befehl SEND OPC INFORMATION mit DoOpc auf 1 gesetzt

  2. Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.

  3. [Optional] Senden Sie den SEND OPC INFORMATION-Befehl mit DoOpc auf 1, Datenrichtungs-Flag auf "zum Gerät" und mit Zufallsgrößenpuffer, der mit Zufallsdaten gefüllt ist. Die Zuweisungslänge wird auf die Größe des Puffers festgelegt.

Ergebnis: Das Laufwerk sollte den Befehl SEND OPC INFORMATION für die entsprechenden Medientypen ordnungsgemäß implementieren.

SET CD SPEED-Befehl

Beschreibung: Um zu überprüfen, ob das Laufwerk den Befehl SET CD SPEED für das gemeldete Profil unterstützt.

Anwendbare Medien: Alle Medien, die vom Gerät unterstützt werden

Testfallschritte:

  1. Senden Sie den Befehl GET CONFIGURATION, um die Funktion REAL TIME STREAMING zu erhalten. Überprüfen Sie die Antwort, wenn das Bit Set CD Speed (SCS) gesetzt ist. Wenn dies nicht eingestellt ist, unterstützt das Laufwerk den Befehl SET CD SPEED nicht. Überspringen Sie den Testfall.

  2. Senden Sie den Befehl SET CD SPEED mit den folgenden Werten im CDB.

    • RotationalControl = 0, ReadSpeed = 0xFFFF, WriteSpeed = (((4* 75 * 2352) + 500) / 1000) Wenn der Befehl fehlschlägt, drucken Sie den Sense-Key und bestehen Sie den Testfall
  3. [Optional] Senden Sie den Befehl SET CD SPEED mit dem Datenrichtungs-Flag, das auf "zum Gerät" gesetzt ist, und mit einem Puffer mit zufälliger Größe, der mit zufälligen Daten gefüllt ist. Stellen Sie die folgenden Werte in der CDB ein.

    • RotationalControl = 0, ReadSpeed = 0xFFFF, WriteSpeed = (((4* 75 * 2352) + 500) / 1000)

Ergebnis: Das Laufwerk sollte den Befehl SET CD SPEED für die entsprechenden Medientypen ordnungsgemäß implementieren.

READ10-Befehl

Beschreibung: Um zu überprüfen, ob das Laufwerk den READ10-Befehl für das gemeldete Profil unterstützt.

Anwendbare Medien: Eines der folgenden Medien:

  • CD-ROM

  • DVD-ROM

Testfallschritte:

  1. Senden Sie den READ TOC/PMA/ATIP-Befehl mit einer Zuweisungslänge gleich der Größe des READ TOC-Antwortheaders (4 Bytes)

  2. Senden Sie den READ TOC/PMA/ATIP-Befehl mit einer Zuordnungslänge gleich der Größe des READ TOC-Antwortheaders (4 Bytes) + der Datenlänge aus dem Antwortheader aus Schritt 1.

  3. Überprüfen Sie alle formatierten Read TOC-Deskriptoren, wenn eines ihrer Steuerelemente auf 0x04 gesetzt ist

  4. Wenn nicht gefunden, schlägt der Testfall fehl

  5. Andernfalls holen Sie sich die Track-Startadresse aus dem formatierten Toc-Track-Deskriptor.

  6. Senden Sie den Read Capacity-Befehl mit auf Null gesetztem LBA-Feld, um die Blockgröße zu erhalten.

  7. Senden Sie den Lesebefehl mit der auf Null gesetzten Übertragungslänge und der LBA-Starteinstellung ab Schritt 5 an die LBA.

  8. Berechnen Sie die Anzahl der zu lesenden Blöcke

  9. Wenn die LBA in der Lesekapazitätsantwort kleiner als die LBA aus Schritt 5 ist, wird die Anzahl der zu lesenden Blöcke auf 0 gesetzt

  10. Wenn die LBA in der Antwort Lesekapazität größer ist als die LBA aus Schritt 5, dann setze die Anzahl der zu lesenden Blöcke gleich der Differenz zwischen der LBA aus der Antwort Lesekapazität und der LBA aus Schritt 5. Wenn dieser Wert größer als 50 ist, setzen Sie die Anzahl der zu lesenden Blöcke auf 50.

  11. Setzen Sie die Start-LBA in der Read 10 CDB auf die LBA aus Schritt 5

  12. Senden Sie den Befehl read10 mit einer auf 1 eingestellten Übertragungslänge

  13. 10 Millisekunden schlafen

  14. Inkrementieren Sie die Start-LBA in der Lese-10-CDB

  15. Wiederholen Sie die Schritte 12 bis 14, bis wir alle Blöcke gelesen haben.

  16. [Optional] Senden Sie den Befehl READ10, wobei das Datenrichtungs-Flag auf „zum Gerät“ gesetzt ist und der Puffer mit zufälliger Größe mit zufälligen Daten gefüllt ist. Stellen Sie die folgenden Werte in der CDB ein.

    • TransferLength = 1, Start-LBA = zufälliger LBA-Wert im LBA-Bereich der Anzahl der LBAs aus Schritt 8 mit Start-LBA aus Schritt 5

Ergebnis: Das Laufwerk sollte den READ10-Befehl für die entsprechenden Medientypen ordnungsgemäß implementieren.

Ereignisbenachrichtigung

Beschreibung: Um zu überprüfen, ob die Geräteereignisbenachrichtigung ordnungsgemäß an Windows PNP gemeldet wird.

Anwendbare Medien: Alle Medien, die vom Gerät unterstützt werden

Testfallschritte:

  1. Wenn das BusType-Feld der STORAGE_ADAPTER_DESCRIPTOR-Struktur des Laufwerks auf BusTypeSata gesetzt ist, dann sende IOCTL_ATA_PASS_THROUGH mit der Anforderung für Daten zur Identifizierung von Paketgeräteinformationen. Prüfen Sie in der Antwort, ob Bit 5 von Wort 78 (Asynchronous Notification feature is supported) und Bit 5 von Wort 79 (Asynchronous Notification feature is enabled) beide gesetzt sind. Anderenfalls besteht der Test nicht

  2. Melden Sie sich für das Operational Change Event an.

  3. Überprüfen Sie, ob das Medium vorhanden ist.

  4. Wenn das Medium vorhanden ist, werfen Sie das Medium aus.

  5. Warten Sie auf das Ereignis MEDIA REMOVAL. Wenn das Ereignis nicht innerhalb von 60 Sekunden generiert wird, schlägt der Testfall fehl.

  6. Legen Sie das Medium in das Laufwerk ein.

  7. Warten Sie auf das MEDIA ARRIVAL-Ereignis. Wenn das Ereignis nicht innerhalb von 60 Sekunden generiert wird, schlägt der Testfall fehl.

Ergebnis: Das Laufwerk sollte die Ereignisbenachrichtigungen ordnungsgemäß implementieren.

Tests schreiben

Beschreibung: Validiert die Schreibfähigkeiten des Laufwerks für den Dateninhalt im Kontext von IMAPI. Das Gerät wird mit verschiedenen vom Laufwerk gemeldeten Schreibgeschwindigkeiten getestet. Der Test bestätigt auch, dass die Multisession-Fähigkeiten des Geräts für die eingelegten Medien anwendbar sind

Anwendbare Medien: Eines der folgenden Medien (abhängig vom Betrieb des Laufwerks):

  • Sequentielles Schreiben:

    • CD-R

    • CD-RW

    • DVD+R

    • DVD-R

    • DVD-RAM

    • BD-R

    • BD-RE

  • Eingeschränktes Überschreiben:

    • DVD-RW
  • Paketmodus:

    • DVD+RW
  • Multisession:

    • CD-R

    • CD-RW

    • DVD-R

    • DVD+R

    • BD-R

Testfallschritte:

  1. Bitten Sie den Benutzer, leere Medien einzulegen.

  2. Rufen Sie die API IDiscFormat2Data::get_CurrentMediaStatus auf, um zu prüfen, ob das Medium leer ist.

  3. Wenn das Medium nicht leer ist und es sich um einen der folgenden wiederbeschreibbaren Medientypen handelt, löschen Sie das Medium, indem Sie den Befehl blank mit einer minimal leeren Option senden.

    • CD-RW

    • Sequentielle DVD-RW-Aufnahme

    • DVD-RW Eingeschränktes Überschreiben

    • DVD+RW

    • DVD-RAM

    • BD-RE

  4. Wenn es sich bei dem Medium nicht um ein wiederbeschreibbares Medium handelt, bitten Sie den Benutzer, das leere Medium einzulegen. Wiederholen Sie dies 3, andernfalls besteht der Testfall nicht.

  5. Wenn es sich bei dem Medium nicht um ein wiederbeschreibbares Medium handelt, bitten Sie den Benutzer, das leere Medium einzulegen. Wiederholen Sie dies 3, andernfalls besteht der Testfall nicht.

  6. Rufen Sie die Liste der Schreibgeschwindigkeitsdeskriptoren ab, indem Sie die API IDiscFormat2Data::get_SupportedWriteSpeedDescriptors aufrufen.

  7. Randomisieren Sie die Reihenfolge der gemeldeten Schreibgeschwindigkeiten

  8. Legen Sie die Schreibgeschwindigkeit fest, indem Sie die API IDiscFormat2Data::SetWriteSpeed mit einer der Schreibgeschwindigkeiten aus Schritt 6 aufrufen.

  9. Erstellen Sie eine zufällige Datengröße im Bereich von 10% des verfügbaren Speicherplatzes auf dem Medium. Füllen Sie den Puffer mit zufälligen Daten.

  10. Rufen Sie die Anzahl der freien Blöcke auf der Disc mit der API IDiscFormat2Data::get_FreeSectorsOnMedia ab.

  11. Rufen Sie die nächste beschreibbare Adresse mit der API IDiscFormat2Data::get_NextWritableAddress ab.

  12. Schreiben Sie den Datenpuffer aus Schritt 8 mit IDiscFormat2Data::Write.

  13. Wenn das Laufwerk den automatischen Auswurf-Einschub-Mechanismus unterstützt, werfen Sie das Medium aus und legen Sie es in das Fach ein.

  14. Wenn das Medium nicht DVD-RW, DVD+RW, DVD-RAM, BD-RE ist, dann:

    • Rufen Sie die Anzahl der freien Blöcke auf der Disc mit der API IDiscFormat2Data::get_FreeSectorsOnMedia ab.

    • Überprüfen Sie, ob die Anzahl der freien Sektoren um die Größe der Schreibdaten in Schritt 8 kleiner ist als der Wert aus Schritt 9.

    • Rufen Sie die nächste beschreibbare Adresse mit der API IDiscFormat2Data::get_NextWritableAddress ab.

    • Überprüfen Sie, dass die nächste beschreibbare Adresse um die Größe der Schreibdaten in Schritt 8 größer ist als die nächste beschreibbare Adresse aus Schritt 10.

    • Lesen Sie Daten von der Disc und vergleichen Sie, ob sie mit den Daten übereinstimmen, die in Schritt 11 auf das Medium geschrieben wurden.

  15. Holen Sie sich die letzten Track-Informationen

  16. Wenn es sich bei dem Medium nicht um eine DVD-RW handelt, überprüfen Sie, ob die logische Spurgröße größer oder gleich der Größe der von uns geschriebenen Daten ist.

  17. Überprüfen Sie, ob die logische Spurnummer korrekt ist.

  18. Rufen Sie die Seite Parametermodus schreiben auf.

  19. Überprüfen Sie, ob die vom Laufwerk gemeldeten Track-Informationen nicht Packet/Incremental sind, wenn die Seite Write parameters mode als Fixed packet meldet.

  20. Lesen Sie die Disc-Informationen und überprüfen Sie, ob die Anzahl der Sitzungen übereinstimmt.

  21. Wenn es sich bei dem Medium nicht um DVD-RW, DVD+RW und DVD-RAM handelt, wiederholen Sie die Schritte 7 bis 19 für jede Schreibgeschwindigkeit. Wenn das Laufwerk nur eine Schreibgeschwindigkeit zurückgegeben hat, wiederholen Sie die Schritte 7 bis 19 noch einmal, um der Disc eine weitere Sitzung hinzuzufügen, um die Multisession-Fähigkeiten zu validieren.

Ergebnis: Das Laufwerk sollte in der Lage sein, die Daten im Rahmen von IMAPI zu brennen.

AUDIOMEDIEN (TONSPUREN SCHREIBEN)

Beschreibung: Validieren Sie die Schreibfähigkeiten des Laufwerks für den Audioinhalt im Kontext von IMAPI.

Anwendbare Medien: Eines der folgenden Medien:

  • CD-R

  • CD-RW

Testfallschritte:

  1. Wenn das Medium nicht leer ist und es sich um einen CD-RW-Medientyp handelt, löschen Sie das Medium, indem Sie den Blank-Befehl mit einer minimal leeren Option senden.

  2. Wenn es sich bei dem Medium nicht um ein wiederbeschreibbares Medium handelt, bitten Sie den Benutzer, das leere Medium einzulegen. Wiederholen Sie dies 3, andernfalls besteht der Testfall nicht.

  3. Sperren Sie die Medien für exklusiven Zugriff, indem Sie DiscFormat2TrackAtOnce::PrepareMedia aufrufen.

  4. Rufen Sie die Liste der Schreibgeschwindigkeitsdeskriptoren ab, indem Sie die API IDiscFormat2TrackAtOnce::get_SupportedWriteSpeeds aufrufen.

  5. Wählen Sie eine zufällige Anzahl von Audiospuren zwischen 3 und 10.

  6. Randomisieren Sie die Reihenfolge der gemeldeten Schreibgeschwindigkeiten.

  7. Legen Sie die Schreibgeschwindigkeit fest, indem Sie die API IDiscFormat2TrackAtOnce::SetWriteSpeed aus Schritt 1 aufrufen.

  8. Rufen Sie die Anzahl der freien Blöcke auf der Disc mit der API IDiscFormat2Data::get_FreeSectorsOnMedia ab.

  9. Erstellen Sie Audiodaten beliebiger Größe von 1-Minuten-Audiodaten bis zu 10-Minuten-Audiodaten. Die Größe der Daten sollte ein Vielfaches von 2352 sein.

  10. Fügen Sie den Audiodatenstrom zu IDiscFormat2TrackAtOnce::AddAudioTrack hinzu.

  11. Holen Sie sich die letzten Titelinformationen

  12. Überprüfen Sie, ob die Größe der logischen Spur größer oder gleich der Größe der von uns geschriebenen Audiospur ist.

  13. Überprüfen Sie, ob die logische Spurnummer korrekt ist

  14. Rufen Sie die Anzahl der freien Sektoren auf dem Medium ab, indem Sie IDiscFormat2TrackAtOnce::FreeSectorsOnMedia aufrufen.

  15. Überprüfen Sie, ob die Anzahl der freien Sektoren aus Schritt 14 um die Größe der auf das Medium geschriebenen Audiospur kleiner ist als der Wert aus Schritt 8.

  16. Wiederholen Sie die Schritte 5 bis 15 für die Anzahl der Audiospuren aus Schritt 5

  17. Rufen Sie die Seite Parametermodus schreiben auf

  18. Überprüfen Sie, ob die vom Laufwerk gemeldeten Track-Informationen nicht Packet/Incremental sind, wenn die Seite Write parameters mode als Fixed packet meldet

  19. Wiederholen Sie die Schritte 1 bis 18 für jede Schreibgeschwindigkeit.

  20. Wenn das Laufwerk den automatischen Auswurf-Einschub-Mechanismus unterstützt, werfen Sie das Medium aus und legen Sie es in das Fach ein.

Ergebnis: Das Laufwerk sollte in der Lage sein, die Audiomedien im Rahmen von IMAPI zu brennen.

Leer

Beschreibung: Validiert die Formatierungs-/Leerzeichenfähigkeiten des Laufwerks im Zusammenhang mit IMAPI.

Anwendbare Medien: Eines der folgenden Medien:

  • CD-RW

  • DVD+RW

  • DVD-RW Eingeschränktes Überschreiben

  • BD-RE

Testfallschritte:

  1. Überprüfen Sie, ob es sich bei dem Medium um einen der folgenden Lese-/Schreibmedientypen handelt, indem Sie die API IDiscFormat2Data::CurrentPhysicalMediaType aufrufen

    • CD-RW

    • DVD-RW

    • DVD+RW

  2. Wenn das Medium kein Lese-Schreib-Medientyp ist, überspringen Sie den Testfall.

  3. Überprüfen Sie, ob es sich bei dem Medium um ein leeres Medium handelt, indem Sie die API IDiscFormat2Erase::MediaPhysicallyBlank aufrufen.

  4. Wenn das Medium leer ist, fahren Sie mit Schritt 7 fort.

  5. Erstellen Sie einen zufälligen Datenstrom von 25 MB.

  6. Schreiben Sie den Datenstrom mithilfe der API IDiscFormat2Data::Write auf die Disc.

  7. Überprüfen Sie, ob das Laufwerk die Medien als nicht leere Medien meldet, indem Sie die IDiscFormat2Data::get_CurrentMediaStatus-API aufrufen.

  8. Wenn das Laufwerk Medien immer noch als leer meldet, schlagen Sie den Testfall fehl

  9. Implementieren Sie den Löschereignishandler DDiscFormat2EraseEvents::Update.

  10. Rufen Sie die API IDiscFormat2Erase::put_FullErase auf und setzen Sie die Erase-Option auf false, damit ein minimales Leerzeichen entsteht.

  11. Senden Sie den leeren Befehl mithilfe der IDiscFormat2Erase::EraseMedia-API.

  12. Rufen Sie die API IDiscFormat2Data::get_CurrentMediaStatus auf, um zu prüfen, ob das Medium leer ist.

  13. Lesen Sie die Disc-Informationen und überprüfen Sie, ob die

    • Anzahl der gemeldeten Sitzungen ist 1.

    • Der erste Track in der letzten Session ist 1.

    • Der letzte Track in der letzten Session ist 1.

  14. Rufen Sie die API IDiscFormat2Erase::put_FullErase auf und setzen Sie die Löschoption auf vollständig leer. Wiederholen Sie die Schritte 9 bis 14.

Ergebnis: Das Laufwerk sollte in der Lage sein, die Medien im Zusammenhang mit IMAPI zu formatieren.

Schreiben Sie Dual-Layer-Medien

Beschreibung: Validiert die Schreibfähigkeiten des für Dual-Layer-Medien im Kontext von IMAPI. Das Gerät wird mit verschiedenen vom Laufwerk gemeldeten Schreibgeschwindigkeiten getestet.

Anwendbare Medien: Eines der folgenden Medien:

  • DVD+R DL

  • DVD-R DL

Testfallschritte:

  1. Bitten Sie den Benutzer, leere Medien einzulegen.

  2. Rufen Sie die API IDiscFormat2Data::get_CurrentMediaStatus auf, um zu prüfen, ob das Medium leer ist

  3. Wenn es sich bei dem Medium nicht um ein wiederbeschreibbares Medium handelt, bitten Sie den Benutzer, das leere Medium einzulegen. Wiederholen Sie dies 3, andernfalls besteht der Testfall nicht.

  4. Rufen Sie die Liste der Schreibgeschwindigkeitsdeskriptoren ab, indem Sie die API IDiscFormat2Data :: get_SupportedWriteSpeedDescriptors aufrufen.

  5. Randomisieren Sie die Reihenfolge der gemeldeten Schreibgeschwindigkeiten

  6. Legen Sie die Schreibgeschwindigkeit fest, indem Sie die API IDiscFormat2Data::SetWriteSpeed mit einer der Schreibgeschwindigkeiten aus Schritt 5 aufrufen.

  7. Erstellen Sie einen zufälligen Datenstrom mit zufälliger Größe von bis zu 50% des verfügbaren Speicherplatzes auf dem Medium. Füllen Sie den Puffer mit zufälligen Daten

  8. Schreiben Sie den Datenpuffer aus Schritt 7 mit IDiscFormat2Data :: Write.

  9. Wenn das Laufwerk den automatischen Auswurf-Einwurf-Mechanismus unterstützt, werfen Sie das Medium aus und legen Sie es in das Fach ein.

  10. Lesen Sie Daten von der Disc und vergleichen Sie, ob sie mit den Daten übereinstimmen, die in Schritt 9 auf das Medium geschrieben wurden.

  11. Holen Sie sich die letzten Track-Informationen.

  12. Überprüfen Sie, ob die logische Spurgröße größer oder gleich der Größe der von uns geschriebenen Daten ist.

  13. Überprüfen Sie, ob die logische Spurnummer korrekt ist

  14. Rufen Sie die Seite Parametermodus schreiben auf.

  15. Überprüfen Sie, ob die vom Laufwerk gemeldeten Track-Informationen nicht Packet/Incremental sind, wenn die Seite Write parameters mode als Fixed packet meldet.

  16. Lesen Sie die Disc-Informationen und überprüfen Sie, ob die Anzahl der Sitzungen übereinstimmt.

  17. Wiederholen Sie die Schritte 8 bis 16 mit einem zufälligen Datenstrom von zufälliger Größe bis zu 100% des verfügbaren Speicherplatzes auf dem Medium.

    Warnung

       Diese letzten Schritte dienen zum Testen, ob das Laufwerk die Daten ordnungsgemäß auf die Doppelschicht schreiben kann.

     

Ergebnis: Das Laufwerk sollte im Kontext von IMAPI in der Lage sein, die Daten auf beide Schichten des Dual Layer-Mediums zu brennen.

Nur-Lese-Laufwerk

Beschreibung: Testen Sie die Lesefähigkeit eines Nur-Lese-Laufwerks auf einer offenen (ergänzbaren) und einer geschlossenen (finalisierten) Disc.

Warnung

   Dieser Testfall erfordert ein sekundäres Schreiblaufwerk zum Erstellen der Testdaten-Disk für das entsprechende Testprofil.

 

Anwendbare Medien: Eines der folgenden Medien:

  • CD-ROM

  • DVD-ROM

  • BD-ROM

Testfallschritte:

  1. Werfen Sie die Laufwerksschublade des Brenners aus.

  2. Wenn das Testprofil ist

    • CD-ROM fordert den Benutzer auf, eine CD-R/CD-RW in das Brennerlaufwerk einzulegen.

    • DVD-ROM fordert den Benutzer auf, eine DVD+R/DVD-R/DVD+RW/DVD-RAM in das Brennerlaufwerk einzulegen.

    • BD-ROM fordert den Benutzer auf, eine BD-R/ BD-RE in das Brennerlaufwerk einzulegen.

  3. Spritzen Sie das Schreiblaufwerkfach ein.

  4. Rufen Sie die Liste der Schreibgeschwindigkeitsdeskriptoren ab, indem Sie die API IDiscFormat2Data :: get_SupportedWriteSpeedDescriptors aufrufen.

  5. Erstellen Sie einen zufälligen Datenstrom mit zufälliger Größe von bis zu 10% des verfügbaren Speicherplatzes auf dem Medium. Füllen Sie den Puffer mit zufälligen Daten.

  6. Legen Sie die Schreibgeschwindigkeit fest, indem Sie die API IDiscFormat2Data::SetWriteSpeed mit dem ersten Deskriptorwert für die Schreibgeschwindigkeit aus Schritt 4 aufrufen.

  7. Schreiben Sie den Datenpuffer aus Schritt 5 mit IDiscFormat2Data::Write auf das Medium im Writer-Laufwerk.

  8. Werfen Sie das Schreiblaufwerkfach aus, wenn es den automatischen Auswurfmechanismus unterstützt. Andernfalls bitten Sie den Benutzer, die Auswurftaste zu drücken

  9. Werfen Sie das Testlaufwerkfach aus, wenn es den automatischen Auswurfmechanismus unterstützt. Lassen Sie das Fach auswerfen, andernfalls bitten Sie den Benutzer, die Auswurftaste zu drücken.

  10. Bitten Sie den Benutzer, das Medium aus dem Brennerlaufwerk zu entfernen und in das Testlaufwerk einzulegen.

  11. Fügen Sie das Schreiblaufwerkfach ein, wenn es den Mechanismus zum automatischen Einfügen (Laden des Fachs) unterstützt. Bitten Sie andernfalls den Benutzer, das Fach in das Laufwerk einzusetzen.

  12. Fügen Sie das Testlaufwerkfach ein, wenn es den Mechanismus zum automatischen Einfügen (Laden des Fachs) unterstützt. Bitten Sie andernfalls den Benutzer, das Fach in das Laufwerk einzusetzen.

  13. Lesen Sie Daten von der Testlaufwerk-CD und vergleichen Sie, ob sie mit den Daten übereinstimmen, die in Schritt 7 auf das Medium geschrieben wurden.

  14. Setzen Sie IDiscFormat2Data::ForceMediaToBeClosed auf true und wiederholen Sie die Schritte 1 bis 13, um das Testlaufwerk auf einem finalisierten Datenträger zu validieren.

Ergebnis: Das Laufwerk sollte in der Lage sein, sowohl geschlossene als auch offene Medien zu lesen.

Seriennummer des Laufwerks

Beschreibung: Bestätigt, dass die vom Testlaufwerk zurückgegebene Laufwerksseriennummer mit dem MMC/Mt. Fuji-Spezifikationsstandards.

Warnung

   Dieser Testfall erfordert zwei identische Laufwerke, um zu überprüfen, ob beide Laufwerke eindeutige Seriennummern zurückgeben. Ein primäres Testgerät und das andere ist ein sekundäres Testlaufwerk.

 

Anwendbare Medien: Alle Medien, die vom Gerät unterstützt werden

Testfallschritte:

  1. Senden Sie den INQUIRY-Befehl an das primäre Testgerät mit der Zuordnungslänge gleich 05h.

  2. Wenn der Befehl erfolgreich ist, rufen Sie den zusätzlichen Längenwert aus dem Antwortheader ab.

  3. Senden Sie den INQUIRY-Befehl erneut an das primäre Gerät, wobei die Zuweisungslänge auf 5 Byte mehr als die zusätzliche Länge aus Schritt 2 eingestellt ist.

  4. Wenn der Befehl erfolgreich ist, rufen Sie die Anbieteridentifikation, die Produktidentifikation und die Produktrevisionsstufe ab.

  5. Wiederholen Sie die Schritte 1 bis 4 für das sekundäre Laufwerk und rufen Sie die Herstelleridentifikation, die Produktidentifikation und den Produktversionsstand ab.

  6. Vergleichen Sie die Werte für Herstelleridentifikation, Produktidentifikation und Produktrevisionsstufe aus Schritt 4 und Schritt 5. Wenn sie nicht übereinstimmen, wird der Testfall nicht bestanden.

    Warnung

       Dies soll sicherstellen, dass beide Testfahrten identisch sind

     

  7. Senden Sie den Befehl GET CONFIGURATION an das primäre Testlaufwerk, um das Feature SERIENNUMMER DER LOGISCHEN EINHEIT mit einer Zuweisungslänge gleich der Größe des Featuredeskriptors SERIENNUMMER DER LOGISCHEN EINHEIT abzurufen.

  8. Überprüfen Sie die Antwort, wenn der Funktionscode mit dem Funktionscode SERIENNUMMER DER LOGISCHEN EINHEIT übereinstimmt. Holen Sie sich die zusätzliche Länge.

  9. Senden Sie den Befehl GET CONFIGURATION an das primäre Testlaufwerk, um die Funktion SERIENNUMMER DER LOGISCHEN EINHEIT mit einer Zuordnungslänge abzurufen, die der Größe des Funktionsdeskriptors SERIENNUMMER DER LOGISCHEN EINHEIT plus der in Schritt 8 gemeldeten erforderlichen zusätzlichen Länge entspricht.

  10. Überprüfen Sie Folgendes in der Antwort:

    • Der Funktionscode stimmt mit dem Funktionscode SERIENNUMMER DER LOGISCHEN EINHEIT überein.

    • Die gemeldeten Seriennummerdaten sind in ASCII.

    • Daten werden aufgefüllt.

    • Keine Daten nach dem Auffüllen.

  11. Wiederholen Sie 7 bis 9 für das sekundäre Testgerät und rufen Sie die Seriennummer des Laufwerks ab.

  12. Vergleichen Sie die Laufwerksseriennummern aus Schritt 10 und Schritt 11. Von den Laufwerken wird erwartet, dass sie eindeutige Seriennummern zurückgeben. Wenn beide Seriennummern gleich sind, schlägt der Testfall fehl.

Ergebnis: Das Laufwerk sollte eine eindeutige Seriennummer zurückgeben, und diese Nummer sollte mit dem MMC/Mt. Fuji-Standards.

Echtzeit-Streaming

Beschreibung: Überprüft, ob die Echtzeit-Streaming-Fähigkeiten des Laufwerks für den Dateninhalt im Kontext des cdrom.sys-Treibers vorhanden sind. Das Gerät wird mit verschiedenen vom Laufwerk gemeldeten Lese- und Schreibgeschwindigkeiten getestet.

Anwendbare Medien: Alle Medien, die vom Gerät unterstützt werden

Testfallschritte:

  1. Bitten Sie den Benutzer, Medien einzulegen.

  2. Wenn das Medium nicht beschreibbar oder wiederbeschreibbar ist, fahren Sie mit dem Lesetest bei Schritt 13 fort.

  3. Rufen Sie die API IDiscFormat2Data::get_CurrentMediaStatus auf, um zu prüfen, ob das Medium leer ist.

  4. Wenn das Medium nicht leer ist und es sich um einen der folgenden wiederbeschreibbaren Medientypen handelt, löschen Sie das Medium, indem Sie den Befehl leer mit der Option minimal leer senden.

    • CD-RW

    • Sequentielle DVD-RW-Aufnahme

    • DVD-RW Eingeschränktes Überschreiben

    • DVD+RW

    • DVD-RAM

    • BD-RE

  5. Wenn es sich bei dem Medium nicht um ein wiederbeschreibbares Medium handelt, bitten Sie den Benutzer, das leere Medium einzulegen. Wiederholen Sie dies 3, andernfalls besteht der Testfall nicht.

  6. Senden Sie den Befehl GET CONFIGURATION mit der Anforderung für die REAL TIME STREAMING-Funktion. Wenn er nicht erfolgreich ist oder das aktuelle Bit nicht gesetzt ist, schlägt der Test fehl.

  7. Wenn entweder das Stream Writing (SW)-Bit oder das Write Speed Performance Descriptor (WSPD)-Bit der ECHTZEIT-STREAMING-Funktionsantwort nicht gesetzt ist, schlägt der Test fehl.

  8. Senden Sie den Befehl GET PERFORMANCE mit der Anforderung für Schreibgeschwindigkeitsdeskriptoren und erstellen und Array von unterstützten Schreibgeschwindigkeiten. Wenn der Befehl nicht erfolgreich ist, besteht der Test nicht.

  9. Mischen Sie das Schreibgeschwindigkeitsarray.

  10. Wenn die freie Mediengröße über 10% der vollen Kapazität beträgt, rufen Sie DeviceIoControl auf, wobei IOCTL_CDROM_SET_SPEED und die CDROM_SET_STREAMING-Struktur für die nächste Schreibgeschwindigkeit bereitgestellt werden. Schreiben Sie zufällige Daten bis zu 10% der vollen Kapazität und messen Sie die Geschwindigkeit (siehe den entsprechenden Abschnitt in diesem Dokument für die Beschreibung des Messverfahrens).

  11. Wiederholen Sie Schritt 10 so lange wie möglich. Wenn alle Schreibgeschwindigkeiten geprüft wurden, mischen Sie das Geschwindigkeitsarray und setzen Sie die nächste Schreibgeschwindigkeit an den Anfang.

  12. Senden Sie CLOSE TRACK SESSION-Befehle, um die Medien abzuschließen

  13. Wenn das WSPD-Bit (Write Speed Performance Descriptor) der ECHTZEIT-STREAMING-Funktionsantwort gesetzt ist, senden Sie den Befehl GET PERFORMANCE mit der Anforderung für Schreibgeschwindigkeitsdeskriptoren und erstellen Sie ein Array unterstützter Lesegeschwindigkeiten. Senden Sie andernfalls den Befehl GET PERFORMANCE mit der Anforderung von Leistungsdaten mit gesetzten Toleranzbits bis 10b (nominal) und wählen Sie für die Lesegeschwindigkeiten den niedrigsten Wert der Felder Startleistung und Endleistung in der Antwort aus. Wenn einer der Befehle nicht erfolgreich ist, besteht der Test nicht.

  14. Mischen Sie das Lesegeschwindigkeitsarray.

  15. Stellen Sie die Leselänge auf die Größe der ersten Spur auf dem Medium ein.

  16. Rufen Sie für jede Lesegeschwindigkeit DeviceIoControl auf, wobei die Struktur IOCTL_CDROM_SET_SPEED und CDROM_SET_STREAMING für die nächste Lesegeschwindigkeit bereitgestellt wird. Lesen Sie die gesamten auf dem Medium aufgezeichneten Daten in Blöcken von 10% der Medienkapazität (oder mindestens 5 MB, wenn das Medium weniger als 50 MB Daten enthält) und messen Sie die Geschwindigkeit jedes Blocks. Wenn die tatsächliche Geschwindigkeit eines Chunks unter der angeforderten Geschwindigkeit für einen der Chunks liegt, ist der Test fehlgeschlagen.

Ergebnis: Das Laufwerk sollte in der Lage sein, im Echtzeit-Streaming-Modus zu arbeiten.

Messung der Schreibgeschwindigkeit

Der Test fragt das Gerät ab und ruft die unterstützten Schreibgeschwindigkeiten für die Testmedien ab. Dann wird versucht, das Schreibszenario für alle gemeldeten Schreibgeschwindigkeiten zu validieren. Der Test geht davon aus, dass die berechneten Schreibgeschwindigkeiten für jedes Schreibszenario nahe an der für das Laufwerk eingestellten Schreibgeschwindigkeit liegen. Der Test erlaubt 10% Toleranz für die gemessene Schreibgeschwindigkeit. Der Test validiert die Schreibgeschwindigkeit wie unten.

Der Test schreibt Daten auf das Medium und überwacht die Menge der geschriebenen Daten. Es schließt das Timing für die ersten 10% der geschriebenen Daten und die letzten 10% der geschriebenen Daten aus. Es misst das Timing nur für die mittleren 80% der Daten und berechnet die Geschwindigkeit für diese Daten und fügt diesem Wert eine Toleranz von 10% hinzu. Wenn also „x“ die berechnete Geschwindigkeit für die mittleren 80% der Daten ist, beträgt die berechnete Endgeschwindigkeit 1,1x. Der Test erwartet, dass dieser Wert größer oder gleich der für das Laufwerk eingestellten Geschwindigkeit ist, bevor mit dem Schreiben begonnen wird.

Der Test schließt die anfänglichen 10% des Timings für das Schreiben von Daten aus, damit sich das Laufwerk auf das Schreiben vorbereiten kann. Die letzten 10% des Datentimings sind ausgeschlossen, damit das Laufwerk die auf das Medium geschriebenen Daten ordnungsgemäß bereinigen kann.

Audiomedien lückenlose Rohaufnahmen

Beschreibung: Validiert die Schreibfähigkeiten des Laufwerks für den lückenlosen Rohaudioinhalt im Kontext von IMAPI

Anwendbare Medien: Eines der folgenden Medien:

  • CD-R

  • CD-RW

Testfallschritte:

  1. Prüfen Sie, ob das Laufwerk mit eingelegtem Medium Gapless Raw Recording unterstützt oder nicht. Wenn es nicht unterstützt wird, schlägt der Test fehl.

  2. Überprüfen Sie die vom Testlauf unterstützten Sektortypen.

  3. Führen Sie für jeden vom Testlauf unterstützten Sektortyp die Schritte 4 bis 9 aus

  4. Erstellen Sie das Rohbild.

  5. Stellen Sie den korrekten Sektortyp ein und erstellen Sie den Ergebnisstrom für das Rohbild.

  6. Bestimmen Sie, ob das Rohbild lückenlos ist oder nicht.

  7. Wählen Sie zufällig eine Schreibgeschwindigkeit und legen Sie sie als Brenngeschwindigkeit fest. Stellen Sie den angeforderten Sektortyp auf denjenigen ein, der für das Rohbild festgelegt wurde. Schreiben Sie den Stream des Rohbilds auf das Medium und beobachten Sie den Fortschritt. Berechnen Sie die Brenngeschwindigkeit und drucken Sie den Durchsatz aus.

  8. Bestimmen Sie, ob das Schreiben erfolgreich war, indem Sie jede logische Spurinformation prüfen. Überprüfen Sie, ob der Track ein Audiotrack ist, ob die Trackgröße korrekt ist und ob die Größe der letzten logischen Tracknummer plus ihrer Startadresse gleich der Startadresse des Auslaufs der Disc ist. Wenn eine der Bedingungen falsch zurückgibt, schlägt der Test fehl. Sonst geht es vorbei.

  9. Machen Sie eine Rohlesung für die Medien. Überprüfen Sie für jede Spur, ob es sich um eine Audiospur handelt. Ist dies nicht der Fall, besteht der Test nicht, da die Aufnahme bereits sichergestellt hat, dass es sich bei den Spuren um Audiospuren handelt. Berechnen Sie den Start-Offset und den End-Offset der Spur. Führen Sie das Lesen für die Spur beginnend mit dem Start-Offset durch und enden Sie mit dem End-Offset der Spur. Wenn während des Lesevorgangs ein Fehler auftritt, besteht der Test nicht;

Ergebnis: Das Laufwerk sollte im Kontext von IMAPI in der Lage sein, das lückenlose Audio-Rohbild zu brennen.

Befehlsverwendung

Befehl Beschreibung

OpticalLogoTest.exe /drive [StorageDriveLetter]:\ /log [log] [AdditionalParams] /profile [profile] /RunTestCaseTypes [RunTestCaseTypes]

Führt den Test aus.

Hinweis

   Geben Sie /h ein, um die Befehlszeilenhilfe für diese Testbinärdatei anzuzeigen.

 

Befehlssyntax

Befehlsoption Beschreibung

Laufwerk

Testen Sie den Laufwerksbuchstaben des optischen Geräts.

Beispiel: /Laufwerk e:\\

adapter

Pfad (wird für Adaptertest verwendet).

Beispiel: /adapter \"PCI\\VEN_8086&DEV_27DF&SUBSYS_01AD1028&REV_01\\3&172E68DD&0&F9\"

PrimaryTestDrive

Testen Sie den Laufwerksbuchstaben des optischen Geräts.

Beispiel: /PrimaryTestDrive e:\\

SecondaryTestDrive

Laufwerksbuchstabe des sekundären optischen Testgeräts.

Beispiel: /Secondary Test Drive f:\\

WriterDrive

Laufwerksbuchstabe des Writers, der zum Testen von schreibgeschützten Laufwerken verwendet werden muss.

Beispiel: /WriterDrive f:\\

PrimaryDriveTray

Fähigkeiten des Fachs für primäre optische Geräte.

Beispiel: /PrimaryDriveTray SupportsEjectInject

SecondaryDriveTray

Fähigkeiten des Fachs für sekundäre optische Geräte.

Beispiel: /SecondaryDriveTray SupportsEjectInject

WriterDriveTray

Funktionen des Writer-Laufwerksfachs.

Beispiel: /WriterDriveTray SupportsEjectInject

profile

Führen Sie für Testfälle festgelegte Profile aus. Die Profil-ID sollte dezimal und durch Kommas getrennt sein, ohne Leerzeichen.

Beispiel: /profil 9,10,16

seed

Startwert zum Generieren zufälliger Testdaten.

Beispiel: /seed 1000

RunTestCaseTypes

Führt nur die Kategorie der Testfälle aus.

Beispiel: /RunTestCaseTypes device

RunTestCase

Führt nur diesen Testfall aus.

Beispiel: /RunTestCase Inquiry

Automation

Führen Sie im Automatisierungsmodus mit dem Roboter aus, um die Medien zu wechseln.

Beispiel: /Automatisierung

AutomationConfigFile

Die Konfigurationsdatei, die verwendet wird, um den Ablageort für Medien anzugeben.

Beispiel: /AutomationConfigFile OpticalLogoTest.exe.config

Kalibrieren

Kalibrieren Sie den Roboter, der zum Wechseln der Medien verwendet wird.

Beispiel: /Kalibrieren

Logo

Die Ebene der zu testenden Zertifizierungsanforderungen.

Beispiel: /logo basic oder /logo premium

ReuseMedia

Verwenden Sie die nicht leeren Medien zum Testen erneut. Der Test erwartet nicht, dass das Medium leer ist, wenn Multisession für dieses Medium unterstützt wird. Diese Option dient nur zu Testzwecken. Nicht zur Zertifizierung zugelassen.

Beispiel: /ReuseMedia

SkipFullBlank

Überspringen Sie das Full-Blank-Szenario und testen Sie nur minimale Blanks.

Beispiel: /SkipFullBlank

SkipManualTestCases

Überspringen Sie Testfälle, die eine manuelle Interaktion erfordern.

Beispiel: /SkipManualTestCases

RunDataDirectionFlagScenario

Validieren Sie die Befehle mit einem falschen Datenrichtungs-Flag.

Beispiel: /RunDataDirectionFlagScenario

Debugger

Fordert auf, den Debugger anzuhängen, wodurch Zeit bleibt, den Debugger anzuhängen, bevor das Programm weiter ausgeführt wird.

Beispiel: /Debugger

Ausführlichkeit

Ausführlichkeit protokollieren.

Beispiel: /Ausführlichkeit Ausführlich

log

Protokolldateiname

Standardwert: OpticalLogoTest.wtl

Beispiel: /log mytestlog.wtl

EnableImapiv2Trace

Aktivieren Sie den IMAPIv2-Software-Trace.

Beispiel: /EnableImapiv2Trace

Imapiv2TraceGuidsFile

IMAPIv2-Trace-GUIDs-Datei, die die vollständige Liste der Komponenten-GUIDs enthält, für die die Ablaufverfolgungen protokolliert werden müssen

Standardwert: imapiv2-guids.txt

Beispiel: /IMAPIv2TraceGuidsFile imapiv2-guids.txt

Imapiv2TraceLogFile

IMAPIv2-Ausgabe-Trace-Protokolldatei.

Standardwert: imapiv2-tracelog.etl

Beispiel: /IMAPIv2TraceLogFile imapiv2-tracelog.etl

cmdPerfTraceAnalysis

Führen Sie eine Befehlsleistungsanalyse aus.

Beispiel: /cmdPerfTraceAnalysis Always

cmdPerfTraceGuidsFile

Performance-Trace-GUIDs-Datei, die die GUIDs von Komponenten enthält, die Leistungsdaten verfolgen

Standardwert: perf-guids.txt

Beispiel: /cmdPerfTraceGuidsFile perf-guids.txt

cmdPerfTraceLogFile

Trace-Protokolldatei für die Leistungsausgabe

Standardwert: perf-tracelog.etl

Beispiel: /cmdPerfTraceLogFile perf-tracelog.etl

cmdPerfTraceTmfFile

Beschreibungsdatei für das Performance-Trace-Format.

Beispiel: /cmdPerfTraceTmfFile perf-tracelog.tmf

 

Dateiliste

Datei Standort

ataportlogotrace.tmf

<[testbinroot]>\nttest\driverstest\storage\optical\setup\tracing\

autoloader.dll

<[testbinroot]>\nttest\driverstest\storage\optical\autoloader\

DataPacket.dll

<[testbinroot]>\nttest\driverstest\storage\wdk\optical\test\

DeviceTestCases.dll

<[testbinroot]>\nttest\driverstest\storage\wdk\optical\test\

DiscManagerLib.dll

<[testbinroot]>\nttest\driverstest\storage\wdk\optical\test\

microsoft.storage.imapi.dll

<[testbinroot]>\nttest\driverstest\storage\interop\imapi\

ModularTestCase.dll

<[testbinroot]>\nttest\driverstest\storage\wdk\optical\test\

OpticalLogoTest.exe

<[testbinroot]>\nttest\driverstest\storage\wdk\optical\test\

OpticalTestHarness.dll

<[testbinroot]>\nttest\driverstest\storage\wdk\optical\test\

OpticalTestLib.dll

<[testbinroot]>\nttest\driverstest\storage\wdk\optical\test\

ProfileTestCases.dll

<[testbinroot]>\nttest\driverstest\storage\wdk\optical\test\

ScenarioTestCases.dll

<[testbinroot]>\nttest\driverstest\storage\wdk\optical\test\

ScsiLib.dll

<[testbinroot]>\nttest\driverstest\storage\wdk\optical\test\

storageinteroputil.dll

<[testbinroot]>\nttest\driverstest\storage\interop\utils\

tracefmt.exe

<[osbinroot]>\idw\

storagedevices.dll

<[testbinroot]>\nttest\driverstest\storage\wdk\

TraceLib.dll

<[osbinroot]>\nttest\driverstest\storage\wdk\optical\test\

tracelog.exe

<[osbinroot]>\idw\

 

Parameter

Parametername Parameterbeschreibung
StorageDriveLetter Testen Sie den Laufwerksbuchstaben des Geräts
profile
LLU_NetAccessOnly Benutzerkonto für den Zugriff auf die Testdateifreigabe.
LLU_LclAdminUsr Benutzerkonto zum Ausführen des Tests.
WDKDeviceID Instanzpfad des zu testenden Geräts
log
RunTestCaseTypes
AdditionalParams