Optisch – Logo-Test – DVD+RW
Dieser Test überprüft, ob das optische Gerät den Standards entspricht und die Windows-Anforderungen an optische Laufwerke erfüllt.
Testdetails
Spezifikationen |
|
Plattformen |
|
Unterstützte Versionen |
|
Voraussichtliche Laufzeit (in Minuten) | 180 |
Kategorie | Szenario |
Timeout (in Minuten) | 10800 |
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:
Werfen Sie das Fach aus, indem Sie den Befehl START STOP UNIT senden.
Warten Sie, bis das Fach geöffnet ist.
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.
Ü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.
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.
Ü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.
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.
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.
[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.
Injizieren Sie das Fach.
Warten Sie, bis das Gerät bereit ist
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:
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)
Schlägt der Befehl fehl, schlägt der Testfall fehl
Überprüfen Sie in der Antwort, welche Ereignisse unterstützt werden
[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)
Schlägt der Befehl fehl, schlägt der Testfall fehl
Ü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.
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)
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:
Senden Sie den INQUIRY-Befehl mit einer Zuweisungslänge von 08h. Zweck: Software erlauben, die erforderliche Antwortpuffergröße zu prüfen.
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].
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.
Wenn der Befehl erfolgreich ist, stellen Sie sicher, dass die Antwortdatenfelder mit den in MMC5r04-Tabelle 320 angegebenen Werten übereinstimmen.
Stellen Sie sicher, dass Herstelleridentifikation, Produktidentifikation und Produktrevisionsstufe nicht null sind.
- Zweck: Basic Identifikation durch Software.
Ü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
Senden Sie den INQUIRY-Befehl mit den folgenden Werten im CDB:
EVPD = 0
Zuweisungslänge = 240
Senden Sie den INQUIRY-Befehl mit den folgenden Werten im CDB:
EVPD = 1
Zuweisungslänge = 240
Wenn der Befehl erfolgreich ist, vergleichen Sie die Antworten aus Schritt 7 und Schritt 8. Wenn beide gleich sind, schlagen Sie im Testfall fehl.
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.
[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:
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
Werfen Sie das Fach aus.
Warten Sie, bis das Gerät die Sense-Daten zurückgibt (Sense Key: 0x2, ASC: 0x3A, ASCQ: 0x02)
Senden Sie den Befehl MECHANISM STATUS mit einer Zuweisungslänge von 8 Bytes.
Ü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.
Injizieren Sie das Fach
Warten Sie, bis das Gerät bereit ist
Senden Sie den Befehl MECHANISM STATUS mit einer Zuweisungslänge von 8 Bytes.
Ü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.
Erstellen Sie einen 8-Byte-Puffer und füllen Sie ihn mit Zufallsdaten.
[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:
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
Ü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.
Validieren Sie die Modusseitendaten für jede gemeldete Seite
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
Ü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.
Senden Sie den Mode Sense-Befehl mit der Zuweisungslänge 0xFFF0
Ü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
Senden Sie den Mode Sense-Befehl mit der Zuweisungslänge 0x0A
Ü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.
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.
Ü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.
[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:
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.
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.
Senden Sie den Befehl Test Unit ready und stellen Sie sicher, dass er erfolgreich ist.
Bitten Sie den Benutzer, die Auswurftaste zu drücken, um das Medium auszuwerfen.
Senden Sie den Befehl Testeinheit bereit und vergewissern Sie sich, dass er weiterhin erfolgreich ist (Tür sollte sich nicht öffnen).
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.
Bitten Sie den Benutzer, die Auswurftaste zu drücken, um das Medium auszuwerfen
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.
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.
Warten Sie, bis das Gerät bereit ist
[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:
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.
Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.
Wenn der Antwortcode 0x70 oder 0x71 ist, wird der Test bestanden, andernfalls schlägt der Test fehl.
[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:
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
Der Befehl soll für jede dieser Kombinationen erfolgreich sein.
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
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.
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
Wenn das Laufwerk das Laden des Fachs nicht unterstützt, bitten Sie den Benutzer, das Fach wieder in das Laufwerk einzusetzen.
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.
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
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.
Bitten Sie den Benutzer, das Medium zu entfernen
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
Stellen Sie sicher, dass der Befehl mit Not Ready / Medium not present / Tray closed (02/3A/01 fehlschlägt)
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
Bitten Sie den Benutzer, das Medium in das Fach zu legen.
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
[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:
Senden Sie den Befehl TEST UNIT READY.
Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl
[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:
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.
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.
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).
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
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.
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.
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.
Ü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.
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.
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.
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.
[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:
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.
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
Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl
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
Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl
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
Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl
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
Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.
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
Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.
[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
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:
Senden Sie den Befehl READ CAPACITY.
Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.
Wenn die Blocklänge in Bytes nicht 2048 ist, schlägt der Testfall fehl.
[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.
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:
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.
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.
Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.
Wiederholen Sie Schritt 2, wobei das Block-Bit auf 1 gesetzt ist.
Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Befehl fehl.
[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.
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:
Senden Sie den Befehl READ DISC INFORMATION mit der Zuordnungslänge 2, um die Standard-Disc-Informationsgröße zu erhalten.
Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.
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.
Senden Sie den Befehl READ DISC INFORMATION, wobei die Zuweisungslänge gleich der Datenlänge aus Schritt 3 plus 2 ist.
Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.
[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:
Senden Sie den Befehl READ FORMAT CAPACITIES mit der Zuordnungslänge gleich 4 (Header der Kapazitätsliste).
Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.
Rufen Sie die Länge der Kapazitätsliste aus der Antwort ab
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).
Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.
Überprüfen Sie die Antwort, wenn die Länge der Kapazitätsliste ein Vielfaches von 8 ist.
[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:
Senden Sie den Befehl READ TOC/PMA/ATIP mit den folgenden Werten im CDB.
- Format = 0, MSF = 0, Sitzungsnummer verfolgen = 1, Zuweisungslänge = 4
Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.
[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:
Senden Sie den Befehl SEND OPC INFORMATION mit DoOpc auf 1 gesetzt
Wenn der Befehl fehlschlägt, drucken Sie den Sense-Schlüssel und schlagen Sie den Testfall fehl.
[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:
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.
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
[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:
Senden Sie den READ TOC/PMA/ATIP-Befehl mit einer Zuweisungslänge gleich der Größe des READ TOC-Antwortheaders (4 Bytes)
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.
Überprüfen Sie alle formatierten Read TOC-Deskriptoren, wenn eines ihrer Steuerelemente auf 0x04 gesetzt ist
Wenn nicht gefunden, schlägt der Testfall fehl
Andernfalls holen Sie sich die Track-Startadresse aus dem formatierten Toc-Track-Deskriptor.
Senden Sie den Read Capacity-Befehl mit auf Null gesetztem LBA-Feld, um die Blockgröße zu erhalten.
Senden Sie den Lesebefehl mit der auf Null gesetzten Übertragungslänge und der LBA-Starteinstellung ab Schritt 5 an die LBA.
Berechnen Sie die Anzahl der zu lesenden Blöcke
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
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.
Setzen Sie die Start-LBA in der Read 10 CDB auf die LBA aus Schritt 5
Senden Sie den Befehl read10 mit einer auf 1 eingestellten Übertragungslänge
10 Millisekunden schlafen
Inkrementieren Sie die Start-LBA in der Lese-10-CDB
Wiederholen Sie die Schritte 12 bis 14, bis wir alle Blöcke gelesen haben.
[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:
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
Melden Sie sich für das Operational Change Event an.
Überprüfen Sie, ob das Medium vorhanden ist.
Wenn das Medium vorhanden ist, werfen Sie das Medium aus.
Warten Sie auf das Ereignis MEDIA REMOVAL. Wenn das Ereignis nicht innerhalb von 60 Sekunden generiert wird, schlägt der Testfall fehl.
Legen Sie das Medium in das Laufwerk ein.
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:
Bitten Sie den Benutzer, leere Medien einzulegen.
Rufen Sie die API IDiscFormat2Data::get_CurrentMediaStatus auf, um zu prüfen, ob das Medium leer ist.
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
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.
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.
Rufen Sie die Liste der Schreibgeschwindigkeitsdeskriptoren ab, indem Sie die API IDiscFormat2Data::get_SupportedWriteSpeedDescriptors aufrufen.
Randomisieren Sie die Reihenfolge der gemeldeten Schreibgeschwindigkeiten
Legen Sie die Schreibgeschwindigkeit fest, indem Sie die API IDiscFormat2Data::SetWriteSpeed mit einer der Schreibgeschwindigkeiten aus Schritt 6 aufrufen.
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.
Rufen Sie die Anzahl der freien Blöcke auf der Disc mit der API IDiscFormat2Data::get_FreeSectorsOnMedia ab.
Rufen Sie die nächste beschreibbare Adresse mit der API IDiscFormat2Data::get_NextWritableAddress ab.
Schreiben Sie den Datenpuffer aus Schritt 8 mit IDiscFormat2Data::Write.
Wenn das Laufwerk den automatischen Auswurf-Einschub-Mechanismus unterstützt, werfen Sie das Medium aus und legen Sie es in das Fach ein.
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.
Holen Sie sich die letzten Track-Informationen
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.
Überprüfen Sie, ob die logische Spurnummer korrekt ist.
Rufen Sie die Seite Parametermodus schreiben auf.
Überprüfen Sie, ob die vom Laufwerk gemeldeten Track-Informationen nicht Packet/Incremental sind, wenn die Seite Write parameters mode als Fixed packet meldet.
Lesen Sie die Disc-Informationen und überprüfen Sie, ob die Anzahl der Sitzungen übereinstimmt.
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:
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.
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.
Sperren Sie die Medien für exklusiven Zugriff, indem Sie DiscFormat2TrackAtOnce::PrepareMedia aufrufen.
Rufen Sie die Liste der Schreibgeschwindigkeitsdeskriptoren ab, indem Sie die API IDiscFormat2TrackAtOnce::get_SupportedWriteSpeeds aufrufen.
Wählen Sie eine zufällige Anzahl von Audiospuren zwischen 3 und 10.
Randomisieren Sie die Reihenfolge der gemeldeten Schreibgeschwindigkeiten.
Legen Sie die Schreibgeschwindigkeit fest, indem Sie die API IDiscFormat2TrackAtOnce::SetWriteSpeed aus Schritt 1 aufrufen.
Rufen Sie die Anzahl der freien Blöcke auf der Disc mit der API IDiscFormat2Data::get_FreeSectorsOnMedia ab.
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.
Fügen Sie den Audiodatenstrom zu IDiscFormat2TrackAtOnce::AddAudioTrack hinzu.
Holen Sie sich die letzten Titelinformationen
Überprüfen Sie, ob die Größe der logischen Spur größer oder gleich der Größe der von uns geschriebenen Audiospur ist.
Überprüfen Sie, ob die logische Spurnummer korrekt ist
Rufen Sie die Anzahl der freien Sektoren auf dem Medium ab, indem Sie IDiscFormat2TrackAtOnce::FreeSectorsOnMedia aufrufen.
Ü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.
Wiederholen Sie die Schritte 5 bis 15 für die Anzahl der Audiospuren aus Schritt 5
Rufen Sie die Seite Parametermodus schreiben auf
Überprüfen Sie, ob die vom Laufwerk gemeldeten Track-Informationen nicht Packet/Incremental sind, wenn die Seite Write parameters mode als Fixed packet meldet
Wiederholen Sie die Schritte 1 bis 18 für jede Schreibgeschwindigkeit.
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:
Ü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
Wenn das Medium kein Lese-Schreib-Medientyp ist, überspringen Sie den Testfall.
Überprüfen Sie, ob es sich bei dem Medium um ein leeres Medium handelt, indem Sie die API IDiscFormat2Erase::MediaPhysicallyBlank aufrufen.
Wenn das Medium leer ist, fahren Sie mit Schritt 7 fort.
Erstellen Sie einen zufälligen Datenstrom von 25 MB.
Schreiben Sie den Datenstrom mithilfe der API IDiscFormat2Data::Write auf die Disc.
Überprüfen Sie, ob das Laufwerk die Medien als nicht leere Medien meldet, indem Sie die IDiscFormat2Data::get_CurrentMediaStatus-API aufrufen.
Wenn das Laufwerk Medien immer noch als leer meldet, schlagen Sie den Testfall fehl
Implementieren Sie den Löschereignishandler DDiscFormat2EraseEvents::Update.
Rufen Sie die API IDiscFormat2Erase::put_FullErase auf und setzen Sie die Erase-Option auf false, damit ein minimales Leerzeichen entsteht.
Senden Sie den leeren Befehl mithilfe der IDiscFormat2Erase::EraseMedia-API.
Rufen Sie die API IDiscFormat2Data::get_CurrentMediaStatus auf, um zu prüfen, ob das Medium leer ist.
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.
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:
Bitten Sie den Benutzer, leere Medien einzulegen.
Rufen Sie die API IDiscFormat2Data::get_CurrentMediaStatus auf, um zu prüfen, ob das Medium leer ist
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.
Rufen Sie die Liste der Schreibgeschwindigkeitsdeskriptoren ab, indem Sie die API IDiscFormat2Data :: get_SupportedWriteSpeedDescriptors aufrufen.
Randomisieren Sie die Reihenfolge der gemeldeten Schreibgeschwindigkeiten
Legen Sie die Schreibgeschwindigkeit fest, indem Sie die API IDiscFormat2Data::SetWriteSpeed mit einer der Schreibgeschwindigkeiten aus Schritt 5 aufrufen.
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
Schreiben Sie den Datenpuffer aus Schritt 7 mit IDiscFormat2Data :: Write.
Wenn das Laufwerk den automatischen Auswurf-Einwurf-Mechanismus unterstützt, werfen Sie das Medium aus und legen Sie es in das Fach ein.
Lesen Sie Daten von der Disc und vergleichen Sie, ob sie mit den Daten übereinstimmen, die in Schritt 9 auf das Medium geschrieben wurden.
Holen Sie sich die letzten Track-Informationen.
Überprüfen Sie, ob die logische Spurgröße größer oder gleich der Größe der von uns geschriebenen Daten ist.
Überprüfen Sie, ob die logische Spurnummer korrekt ist
Rufen Sie die Seite Parametermodus schreiben auf.
Überprüfen Sie, ob die vom Laufwerk gemeldeten Track-Informationen nicht Packet/Incremental sind, wenn die Seite Write parameters mode als Fixed packet meldet.
Lesen Sie die Disc-Informationen und überprüfen Sie, ob die Anzahl der Sitzungen übereinstimmt.
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:
Werfen Sie die Laufwerksschublade des Brenners aus.
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.
Spritzen Sie das Schreiblaufwerkfach ein.
Rufen Sie die Liste der Schreibgeschwindigkeitsdeskriptoren ab, indem Sie die API IDiscFormat2Data :: get_SupportedWriteSpeedDescriptors aufrufen.
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.
Legen Sie die Schreibgeschwindigkeit fest, indem Sie die API IDiscFormat2Data::SetWriteSpeed mit dem ersten Deskriptorwert für die Schreibgeschwindigkeit aus Schritt 4 aufrufen.
Schreiben Sie den Datenpuffer aus Schritt 5 mit IDiscFormat2Data::Write auf das Medium im Writer-Laufwerk.
Werfen Sie das Schreiblaufwerkfach aus, wenn es den automatischen Auswurfmechanismus unterstützt. Andernfalls bitten Sie den Benutzer, die Auswurftaste zu drücken
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.
Bitten Sie den Benutzer, das Medium aus dem Brennerlaufwerk zu entfernen und in das Testlaufwerk einzulegen.
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.
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.
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.
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:
Senden Sie den INQUIRY-Befehl an das primäre Testgerät mit der Zuordnungslänge gleich 05h.
Wenn der Befehl erfolgreich ist, rufen Sie den zusätzlichen Längenwert aus dem Antwortheader ab.
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.
Wenn der Befehl erfolgreich ist, rufen Sie die Anbieteridentifikation, die Produktidentifikation und die Produktrevisionsstufe ab.
Wiederholen Sie die Schritte 1 bis 4 für das sekundäre Laufwerk und rufen Sie die Herstelleridentifikation, die Produktidentifikation und den Produktversionsstand ab.
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
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.
Überprüfen Sie die Antwort, wenn der Funktionscode mit dem Funktionscode SERIENNUMMER DER LOGISCHEN EINHEIT übereinstimmt. Holen Sie sich die zusätzliche Länge.
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.
Ü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.
Wiederholen Sie 7 bis 9 für das sekundäre Testgerät und rufen Sie die Seriennummer des Laufwerks ab.
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:
Bitten Sie den Benutzer, Medien einzulegen.
Wenn das Medium nicht beschreibbar oder wiederbeschreibbar ist, fahren Sie mit dem Lesetest bei Schritt 13 fort.
Rufen Sie die API IDiscFormat2Data::get_CurrentMediaStatus auf, um zu prüfen, ob das Medium leer ist.
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
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.
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.
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.
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.
Mischen Sie das Schreibgeschwindigkeitsarray.
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).
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.
Senden Sie CLOSE TRACK SESSION-Befehle, um die Medien abzuschließen
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.
Mischen Sie das Lesegeschwindigkeitsarray.
Stellen Sie die Leselänge auf die Größe der ersten Spur auf dem Medium ein.
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:
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.
Überprüfen Sie die vom Testlauf unterstützten Sektortypen.
Führen Sie für jeden vom Testlauf unterstützten Sektortyp die Schritte 4 bis 9 aus
Erstellen Sie das Rohbild.
Stellen Sie den korrekten Sektortyp ein und erstellen Sie den Ergebnisstrom für das Rohbild.
Bestimmen Sie, ob das Rohbild lückenlos ist oder nicht.
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.
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.
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 |