Partager via


Test de logo optique - DVD-RAM

Ce test valide que l’appareil optique est conforme aux normes et qu’il répond aux exigences du lecteur optique Windows.

Détails du test

   
Spécifications
  • 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.AsynchroneNotification
Plateformes
  • Windows 10, éditions clientes (x86)
  • Windows 10, éditions clientes (x64)
  • Windows Server 2016 (x64)
Versions prises en charge
  • 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
  • Prochaine mise à jour de Windows 10
Durée d’exécution attendue (en minutes) 210
Catégorie Scénario
Délai d’expiration (en minutes) 12600
Nécessite un redémarrage false
Nécessite une configuration spéciale false
Type automatique

 

Documentation supplémentaire

Les tests de cette zone de fonctionnalités peuvent contenir une documentation supplémentaire, notamment des informations sur les prérequis, l’installation et la résolution des problèmes, que vous trouverez dans les rubriques suivantes :

Exécution du test

Avant d’exécuter le test, effectuez la configuration du test comme décrit dans la configuration requise pour le test : Conditions préalables pour le test de lecteur de disque optique.

Le test montre une boîte de dialogue de configuration pour obtenir la configuration de la barre d’état du lecteur principal et secondaire. L’utilisateur doit sélectionner le lecteur secondaire identique dans la liste des lecteurs dans la boîte de dialogue Lecteur writer et doit sélectionner les fonctionnalités de la barre d’état du lecteur, s’il prend en charge l’éjection automatique et le chargement automatique de la barre d’état.

Notes

   Les applications intensives d’E/S qui s’exécutent sur l’ordinateur de test peuvent interférer avec les scénarios de mesure des performances de test du logo optique. Assurez-vous qu’aucune autre application ne s’exécute sur l’ordinateur de test lorsque le test est en cours d’exécution.

 

Dépannage

Pour la résolution des problèmes génériques des échecs de test HLK, consultez Résolution des échecs de test Windows HLK.

Pour plus d’informations sur la résolution des problèmes, consultez Résolution des problèmes de test Device.Storage.

Voici les problèmes connus liés à ce test :

  • Scénario de test de réinitialisation de bus désactivé par défaut.

    Par défaut, le test ne valide pas le comportement approprié de l’appareil lors de la réinitialisation du bus.

    Si la réinitialisation du bus se produit, le lecteur est censé se réinitialiser correctement, revenir en ligne et doit fonctionner normalement. Certains lecteurs défectueux ne se réinitialisent pas correctement et ne fonctionnent pas après la réinitialisation du bus. Il ne s’agit pas d’une implémentation appropriée. Lorsque ce scénario de test spécifique est activé, les cas de test de vérification des commandes (cas de test d’appareil et de profil) envoient les commandes avec l’indicateur de direction des données SRB incorrect. Cela bloque généralement le bus et finit par entraîner la réinitialisation du bus par le pilote de port après un délai d’expiration donné.

    La plupart des contrôleurs de stockage ne prennent pas correctement en charge ce scénario de test. Les contrôleurs de stockage implémentés de manière incorrecte ne seront pas récupérés après la réinitialisation du bus. Si cela se produit, le cas de test peut échouer en raison du contrôleur de stockage, même si l’appareil a été correctement implémenté. Ce test n’est pas en mesure de distinguer les défaillances d’appareil des défaillances du contrôleur de stockage. Par conséquent, le test de ce scénario spécifique est désactivé par défaut. Pour activer le test de ce scénario spécifique, l’exécutable de test doit être exécuté avec l’option de ligne de commande « RunDataDirectionFlagScenario ».

Plus d’informations

Le lecteur doit prendre en charge les commandes suivantes :

  • Obtenir la configuration (sans support)

  • Obtenir la notification d’état de l’événement

  • Enquête

  • État du mécanisme

  • Sens du mode

  • Empêcher la suppression d’un moyen

  • Sens de la demande

  • Start Stop Unit

  • Unité de test prête

Le lecteur doit prendre en charge les commandes suivantes si elles sont obligatoires pour les fonctionnalités et les profils qu’il prend en charge.

  • Obtenir la configuration (avec un support)

  • Obtenir les performances

  • Capacité de mémoire tampon de lecture

  • Capacité de lecture

  • Lire les informations sur le disque

  • Capacités de format de lecture

  • Lire toc Pma Atip

  • Envoyer des informations opc

  • Définir la vitesse du CD

  • Read10

Le lecteur prend en charge les scénarios suivants si les commandes associées à ces scénarios sont obligatoires pour les fonctionnalités et les profils qu’il prend en charge.

  • Notification d’état d’événement

  • Write

    • Mode séquentiel

    • Mode paquet

    • Remplacement restreint

    • Prise en charge des sessions multiples

  • Média audio (écriture de pistes audio)

  • Vide

  • Numéro de série du lecteur unique

  • Streaming en temps réel

  • Audio Media Gapless Raw Recording

Les cas de test sont séparés dans les trois groupes suivants :

  • Cas de test d’appareil. Les cas de test de vérification des commandes suivants s’appliquent à l’appareil :

    • OBTENIR LA CONFIGURATION (SANS MÉDIA)

    • OBTENIR LA NOTIFICATION D’ÉTAT DE L’ÉVÉNEMENT

    • INQUIRY

    • ÉTAT DU MÉCANISME

    • MODE SENSE

    • EMPÊCHER AUTORISER LA SUPPRESSION MOYENNE

    • REQUEST SENSE

    • START STOP UNIT

    • TEST UNIT READY

  • Profiler les cas de test. Les cas de test de vérification des commandes suivants seront testés sur tous les profils applicables :

    • GET CONFIGURATION

    • OBTENIR LES PERFORMANCES

    • CAPACITÉ DE LECTURE

    • CAPACITÉ DE MÉMOIRE TAMPON DE LECTURE

    • LIRE LES INFORMATIONS SUR LE DISQUE

    • CAPACITÉS DE FORMAT DE LECTURE

    • LIRE TOC PMA ATIP

    • ENVOYER DES INFORMATIONS OPC

    • DÉFINIR LA VITESSE DU CD

    • READ10

  • Cas de test de scénario d’utilisation. Les scénarios suivants sont testés à l’aide des interfaces du moteur de gravure IMAPI :

    • NOTIFICATION D’ÉTAT DE L’ÉVÉNEMENT

    • BLANK

    • WRITE/MULTISESSION

    • AUDIO MEDIA

    • ÉCRIRE UN MÉDIA DOUBLE COUCHE

    • NUMÉRO DE SÉRIE DU LECTEUR

    • LECTEUR EN LECTURE SEULE

    • STREAMING EN TEMPS RÉEL

    • AUDIO MEDIA GAPLESS RAW RECORDING

Ce test inclut les cas de test suivants :

  • GET CONFIGURATION COMMAND (WITH NO MEDIA)

  • COMMANDE GET EVENT STATUS NOTIFICATION

  • COMMANDE INQUIRY

  • COMMANDE D’ÉTAT MÉCANISME

  • COMMANDE MODE SENSE

  • COMMANDE PREVENT ALLOW MEDIUM REMOVAL

  • COMMANDE REQUEST SENSE

  • DÉMARRER LES COMMANDES ARRÊTER L’UNITÉ, ÉJECTER & LES PERFORMANCES DE CHARGE

  • COMMANDE TEST UNIT READY

  • GET CONFIGURATION COMMAND

  • OBTENIR LES PERFORMANCES

  • READ CAPACITY COMMAND

  • READ BUFFER CAPACITY COMMAND

  • COMMANDE READ DISC INFORMATION

  • READ FORMAT CAPACITIES COMMAND

  • READ TOC/PMA/ATIP COMMAND

  • COMMANDE ENVOYER DES INFORMATIONS OPC

  • COMMANDE SET CD SPEED

  • READ10 COMMAND

  • EVENT NOTIFICATION

  • ÉCRIRE DES TESTS

  • AUDIO MEDIA (ÉCRITURE DE PISTES AUDIO)

  • BLANK

  • ÉCRIRE UN MÉDIA DOUBLE COUCHE

  • LECTEUR EN LECTURE SEULE

  • NUMÉRO DE SÉRIE DU LECTEUR

  • STREAMING EN TEMPS RÉEL

  • MESURE DE VITESSE D’ÉCRITURE

  • AUDIO MEDIA GAPLESS RAW RECORDING

Commande GET CONFIGURATION (sans support)

Description: Ce test permet de s’assurer que le lecteur répond correctement à la commande GET CONFIGURATION lorsqu’il n’y a pas de média dans le bac.

Média applicable : Tout média pris en charge par l’appareil

Étapes du cas de test :

  1. Éjectez la barre d’état en envoyant la commande START STOP UNIT.

  2. Attendez que le plateau soit ouvert.

  3. Envoyez la commande GET CONFIGURATION avec une longueur de données de réponse de 4 octets pour obtenir la longueur des données d’en-tête de fonctionnalité. Si la commande échoue, imprimez la touche sense et échouez au cas de test. Objectif : autoriser le logiciel à sonder la prise en charge de la commande.

  4. Vérifiez si le lecteur ne signale aucun profil actuel dans l’en-tête de fonctionnalité. Si le lecteur ne repropulse pas le profil actuel comme « aucun profil actuel », le cas de test échoue.

  5. Envoyez à nouveau la commande GET CONFIGURATION avec RT=00b et avec la longueur de données correcte retournée par l’appareil à l’étape 3. Objectif : permettre au logiciel de récupérer la liste complète des fonctionnalités prises en charge par le lecteur.

  6. Vérifiez si le lecteur ne signale aucun profil actuel dans l’en-tête de fonctionnalité. Si le lecteur ne repropulse pas le profil actuel comme « aucun profil actuel », le cas de test échoue.

  7. Obtenez le descripteur de fonctionnalité de liste de profils dans la réponse pour le jeu de bits de profil actuel et Échec du cas de test si l’un des descripteurs de profil a le bit de profil actuel défini sur 1.

  8. Envoyez la commande GET CONFIGURATION avec une longueur de données de réponse de 20 octets, RT=01b, Numéro de fonctionnalité de départ=0010h (fonctionnalité lisible aléatoire). Si la commande échoue ou si le descripteur de fonctionnalité lisible aléatoire n’est pas retourné, imprimez la touche sense comme il convient et échouez au cas de test. Objectif : autoriser le logiciel à sonder la devise des fonctionnalités spécifiques (non actuelle).

  9. [Facultatif] Envoyez la commande GET CONFIGURATION avec l’indicateur de direction des données défini sur « à l’appareil » et avec une longueur de données de réponse de 4 octets pour obtenir la longueur des données d’en-tête de fonctionnalité. Si la commande échoue, imprimez la touche sense et échouez au cas de test. Objectif : vérifier que l’appareil gère la commande avec une direction des données incorrecte.

  10. Injectez le plateau.

  11. Attendez que l’appareil arrive à l’état prêt

  12. Envoyez la commande GET CONFIGURATION avec une longueur de données de réponse de 16 octets, RT=01b, Numéro de fonctionnalité de départ=0003h (fonctionnalité moyenne amovible). Si la commande échoue, imprimez la touche sense comme il convient et échouez le cas de test. Si la commande réussit :

    • Vérifiez si le bit « Éjecter » est défini si le lecteur prend en charge le mécanisme d’éjection automatique.

    • Vérifiez si le bit « Charger » est défini si le lecteur prend en charge le mécanisme d’injection automatique.

Résultat: Le lecteur doit répondre correctement à la commande GET CONFIGURATION

COMMANDE GET EVENT STATUS NOTIFICATION

Description: Pour vérifier si le lecteur prend en charge la commande GET EVENT STATUS NOTIFICATION

Média applicable : Tout média pris en charge par l’appareil

Étapes du cas de test :

  1. Envoyez la commande Get Event Status Notification avec les valeurs suivantes dans la base de données CDB.

    • Demande de classe de notification = 0x7E (changement opérationnel, gestion de l’alimentation, demande externe, média, multi-hôte, appareil occupé),

    • Interrogé = 1

    • Longueur d’allocation égale à la taille de l’en-tête de réponse (4 octets)

  2. Si la commande échoue, échec du cas de test

  3. Dans la réponse case activée quels événements sont pris en charge

  4. [Facultatif] Envoyez la commande Get Event Status Notification avec l’indicateur de direction des données défini sur « à l’appareil » et les valeurs suivantes dans la base de données.

    • Demande de classe de notification = 0x7E (changement opérationnel, gestion de l’alimentation, demande externe, média, multi-hôte, appareil occupé),

    • Interrogé = 1

    • Longueur d’allocation égale à la taille de l’en-tête de réponse (4 octets)

  5. Si la commande échoue, échec du cas de test

  6. Dans la réponse case activée que la longueur des données d’événement est 0x6, le bit NEA est effacé, la classe de notification est différente de zéro et les classes d’événements prises en charge sont identiques à l’étape 3. Sinon, le cas de test échoue.

  7. Envoyez la commande Get Event Status Notification avec les valeurs suivantes dans la base de données CDB.

    • Demande de classe de notification = 0x7E (changement opérationnel, gestion de l’alimentation, demande externe, média, multi-hôte, appareil occupé).

    • Interrogé = 1

    • Longueur d’allocation égale à la taille de l’en-tête de réponse (4 octets)

  8. Si la commande échoue, échouez le cas de test.

Résultat: Le lecteur doit répondre correctement à la commande GET EVENT STATUS NOTIFICATION.

Commande INQUIRY

Description: Pour vérifier si le lecteur prend en charge la commande INQUIRY.

Média applicable : Tout média pris en charge par l’appareil

Étapes de cas de test :

  1. Envoyez la commande INQUIRY avec une longueur d’allocation égale à 08h. Objectif : permettre au logiciel de sonder la taille de mémoire tampon de réponse requise.

  2. Si la commande réussit, case activée la réponse pour la longueur supplémentaire dans l’en-tête. La longueur supplémentaire doit être supérieure ou égale à 32d [MMC5r04 6.9.2].

  3. Envoyez à nouveau la commande INQUIRY avec une longueur d’allocation définie sur 5 octets de plus que la longueur supplémentaire de l’étape 2.

  4. Si la commande réussit, assurez-vous que les champs de données de réponse correspondent aux valeurs spécifiées dans le tableau MMC5r04 320.

  5. Vérifiez que l’identification du fournisseur, l’identification du produit et le niveau de révision du produit ne sont pas null.

    • Objectif : identification de base par un logiciel.
  6. Vérifiez si les valeurs suivantes correspondent :

    • Type d’appareil = 5

    • Qualificateur de type d’appareil = 0

    • Média amovible = 1

    • Format des données de réponse = 2

    • Prise en charge de la hiérarchie = 0

    • ACA normal = 0

    • Protéger = 0

    • Copie tierce = 0

    • Prise en charge du groupe de ports cible = 0

    • Coordinateur des contrôles d’accès = 0

    • SCC pris en charge = 0

    • Addr16 = 0

    • Changeur moyen = 0

    • Multi port = 0

    • VS1 = 0

    • Services de boîtier = 0

    • BQue = 0

    • VS2 = 0

    • File d’attente de commandes = 0

    • Commandes liées = 0

    • Synchrone = 0

    • Wide16 = 0

  7. Envoyez la commande INQUIRY avec les valeurs suivantes dans la base de données CDB :

    • EVPD = 0

    • Longueur d’allocation = 240

  8. Envoyez la commande INQUIRY avec les valeurs suivantes dans la base de données CDB :

    • EVPD = 1

    • Longueur d’allocation = 240

  9. Si la commande réussit, comparez la réponse de l’étape 7 et de l’étape 8, si les deux sont égales, le cas de test échoue.

  10. Envoyez la commande INQUIRY pour un nombre aléatoire de fois compris entre 10 et 25 avec des longueurs d’allocation aléatoires. Si la commande échoue, le cas de test échoue.

  11. [Facultatif] Envoyez la commande INQUIRY avec l’indicateur de direction des données défini sur « à l’appareil » et avec les valeurs suivantes dans la base de données CDB

    • EVPD = 0

    • Longueur d’allocation = 240

Résultat: Le lecteur doit répondre correctement à la commande INQUIRY.

Commande MECHANISM STATUS

Description: Pour vérifier si le lecteur prend en charge la commande MECHANISM STATUS

Média applicable : Tout média pris en charge par l’appareil

Étapes de cas de test :

  1. Envoyez la commande MECHANISM STATUS avec une longueur d’allocation de 0 octet (sens des données non spécifié). Si la commande échoue, imprimez la touche sense et échouez le cas de test.

    • Objectif : permettre au logiciel de sonder la prise en charge des commandes
  2. Éjectez la barre d’état.

  3. Patientez jusqu’à ce que l’appareil retourne les données de sens (Touche d’sens : 0x2, ASC : 0x3A, ASCQ : 0x02)

  4. Envoyez la commande MECHANISM STATUS avec une longueur d’allocation de 8 octets.

  5. Vérifiez que door Open bit est 1b.

    • Objectif : autoriser le logiciel à détecter si la porte est ouverte ou fermée (ouverte).
  6. Injecter la barre d’état

  7. Attendez que l’appareil soit prêt

  8. Envoyez la commande MECHANISM STATUS avec une longueur d’allocation de 8 octets.

  9. Vérifiez que door Open bit est 0b.

    • Objectif : autoriser le logiciel à détecter si la porte est ouverte ou fermée (fermée).
  10. Créez une mémoire tampon de 8 octets et remplissez-la de données aléatoires.

  11. [Facultatif] Envoyez la commande MECHANISM STATUS avec l’indicateur de direction des données défini sur « à l’appareil » et avec une longueur d’allocation de 8 octets. Passez la mémoire tampon de l’étape 11 à l’appareil.

Résultat: Le lecteur doit répondre correctement à la commande MECHANISM STATUS

Commande MODE SENSE

Description: Pour vérifier si le lecteur prend en charge la commande Mode Sense.

Média applicable : Tout média pris en charge par l’appareil

Étapes de cas de test :

  1. Envoyez la commande MODE SENSE avec les valeurs suivantes dans la base de données CDB pour obtenir toutes les pages de mode prises en charge :

    • Contrôle de page = 0

    • Désactiver les descripteurs de blocs = 1

    • Code de page = 0x3F

    • Longueur d’allocation = 0x8000

  2. Vérifiez les valeurs suivantes dans la réponse :

    • La longueur du descripteur de bloc dans l’en-tête des paramètres de mode est égale à zéro

    • La longueur de page de chaque mode de données de page est égale à la valeur documentée dans MMC5.

  3. Valider les données de la page Mode pour chaque page signalée

  4. Envoyez la commande Mode Sense pour chaque page signalée avec les valeurs suivantes dans la CDB :

    • Contrôle de page = 0

    • Désactiver les descripteurs de blocs = 1

    • Longueur d’allocation = Longueur de page signalée par le lecteur à l’étape 2

  5. Vérifiez les valeurs suivantes dans la réponse :

    • La longueur du descripteur de bloc dans l’en-tête des paramètres de mode est égale à zéro.

    • Le code de page dans l’en-tête de page de mode correspond au code de page demandé.

    • La longueur de page dans l’en-tête de page de mode est égale à la valeur du document dans MMC5.

  6. Envoyer la commande Mode Sense avec la longueur d’allocation 0xFFF0

  7. Vérifiez les valeurs suivantes dans la réponse :

    • Longueur du descripteur de bloc dans l’en-tête des paramètres de mode est égal à zéro

    • Le code de page dans l’en-tête de page de mode correspond au code de page demandé

  8. Envoyer la commande Mode Sense avec la longueur d’allocation 0x0A

  9. Vérifiez si la réponse correspond à la taille de la réponse (0x0A) avec la réponse pour la longueur d’allocation égale à 0xFFF0.

  10. Envoyez la commande Sens du mode pour un nombre aléatoire de fois compris entre 10 et 25 avec des longueurs d’allocation aléatoires comprises entre 0x0A et 0xFFF0.

  11. Vérifiez si la réponse correspond à la taille de la réponse (valeur aléatoire entre 0x0A et 0xFFF0) avec la réponse pour la longueur d’allocation égale à 0xFFF0.

  12. [Facultatif] Envoyez la commande MODE SENSE avec l’indicateur de direction des données défini sur « sur l’appareil » et avec les valeurs suivantes dans la CDB pour obtenir toutes les pages de mode prises en charge :

    • Contrôle de page = 0

    • Désactiver les descripteurs de blocs = 1

    • Code de page = 0x3F

    • Longueur d’allocation = 0x8000

Résultat: Le lecteur doit répondre correctement à la commande GET CONFIGURATION

Commande PREVENT ALLOW MEDIUM REMOVAL

Description: Pour vérifier si le lecteur prend en charge la commande PREVENT ALLOW MEDIUM REMOVAL.

Média applicable : Tout média pris en charge par l’appareil

Étapes du cas de test :

  1. Envoyez la commande PREVENT ALLOW MEDIUM REMOVAL avec prevent bit défini sur 1 et Persistent bit défini sur 0. Cela verrouillerait le lecteur. Si la commande échoue, imprimez la touche sense et échouez au cas de test.

  2. Envoyez la commande start stop unit avec le bit LocEj défini sur 1 et le bit Immédiat défini sur 0 et start bit défini sur zéro. Cela va essayer d’éjecter le disque. Si le lecteur ne rejette pas la commande avec sense data 0x05 0x53, 0x02 il s’agit d’un échec.

  3. Envoyez la commande Test Unit ready et assurez-vous qu’elle réussit.

  4. Demandez à l’utilisateur d’appuyer sur le bouton éjecter pour éjecter le média.

  5. Envoyez la commande Test Unit ready et assurez-vous qu’elle réussit toujours (la porte ne doit pas s’ouvrir).

  6. Envoyez la commande Empêcher l’autorisation de suppression moyenne avec prevent bit défini sur 0 et persistent bit défini sur 0. Cela déverrouille le lecteur. Si la commande échoue, imprimez la touche sense et échouez au cas de test.

  7. Demander à l’utilisateur d’appuyer sur le bouton éjecter pour éjecter le média

  8. Attendez que l’appareil ouvre la porte : envoyez la commande Test Unit ready. Si la commande réussit, attendez une seconde et réessayez jusqu’à ce qu’elle échoue avec (02/3A/02). Délai d’expiration après 30 secondes.

  9. Si le lecteur prend en charge le mécanisme de chargement automatique, réinjectez le bac dans le lecteur, sinon demandez à l’utilisateur d’insérer le bac à nouveau dans le lecteur.

  10. Attendez que l’appareil soit prêt

  11. [Facultatif] Envoyez la commande PREVENT ALLOW MEDIUM REMOVAL avec l’indicateur de direction des données défini sur « à l’appareil » et transmettez les données aléatoires dans une mémoire tampon de taille aléatoire.

Résultat: Le lecteur doit répondre correctement à la commande PREVENT ALLOW MEDIUM REMOVAL.

COMMANDE REQUEST SENSE

Description: Pour vérifier si le lecteur prend en charge la commande REQUEST SENSE.

Média applicable : Tout média pris en charge par l’appareil

Étapes du cas de test :

  1. Envoyez la commande REQUEST SENSE, avec le bit de descripteur défini sur zéro et la longueur d’allocation définie sur 252. Le lecteur doit répondre avec les données de sens du format fixe.

  2. Si la commande échoue, imprimez la touche sense et échouez au cas de test.

  3. Si le code de réponse est 0x70 ou 0x71 le test réussit sinon le test échoue.

  4. [Facultatif] Envoyez la commande REQUEST SENSE, avec l’indicateur de direction des données défini sur « sur l’appareil » et avec le bit de descripteur défini sur zéro et longueur d’allocation définie sur 252. Le lecteur doit répondre avec les données de sens du format fixe.

Résultat: Le lecteur doit répondre correctement à la commande REQUEST SENSE.

COMMANDE START STOP UNIT, EJECT & LOAD PERFORMANCE

Description: Pour vérifier si le lecteur prend en charge la commande START STOP UNIT.

Média applicable : Tout média pris en charge par l’appareil

Étapes du cas de test :

  1. Envoyer la commande START STOP UNIT avec les valeurs suivantes dans la CDB

    • Immédiat = 0, LoadEject = 0, Start = 0, PowerConditions = 0

    • Immédiat = 0, LoadEject = 0, Start = 1, PowerConditions = 0

    • Immédiat = 1, LoadEject = 0, Start = 0, PowerConditions = 0

    • Immédiat = 1, LoadEject = 0, Start = 1, PowerConditions = 0

  2. La commande réussit pour chacune de ces combinaisons.

  3. Si le lecteur prend en charge l’éjection de la barre d’état, envoyez la commande START STOP UNIT avec les valeurs suivantes dans la CDB, pour éjecter la barre d’état

    • Immédiat = 1, LoadEject = 1, Start = 0, PowerConditions = 0
  4. Attendez que l’appareil ouvre la porte : envoyez la commande TEST UNIT READY. Si la commande réussit, attendez 5 secondes et réessayez jusqu’à ce qu’elle échoue avec (02/3A/02). Délai d’expiration après 10 secondes.

  5. Si le lecteur prend en charge le chargement de la barre d’état (injection automatique), envoyez la commande START STOP UNIT avec les valeurs suivantes dans la CDB, pour injecter la barre d’état :

    • Immédiat = 1, LoadEject = 1, Start = 1, PowerConditions = 0
  6. Si le lecteur ne prend pas en charge le chargement de la barre d’état, demandez à l’utilisateur de réinsérer la barre d’état dans le lecteur.

  7. Attendez que l’appareil soit prêt : envoyez la commande TEST UNIT READY. Si la commande échoue avec une touche sense, attendez une seconde et réessayez jusqu’à ce qu’elle aboutisse. Délai d’expiration après 30 secondes. LOGO PREMIUM : Délai d’expiration : 20 secondes.

  8. Envoyez la commande START STOP UNIT avec les valeurs suivantes dans la CDB pour éjecter la barre d’état :

    • Immédiat = 0, LoadEject = 1, Start = 0, PowerConditions = 0
  9. Attendez que l’appareil ouvre la porte : envoyez la commande TEST UNIT READY. Si la commande réussit, attendez une seconde et réessayez jusqu’à ce qu’elle échoue avec (02/3A/02). Délai d’expiration après 30 secondes.

  10. Demander à l’utilisateur de supprimer le média

  11. Si le lecteur prend en charge le chargement de la barre d’état (injection automatique), envoyez la commande START STOP UNIT avec les valeurs suivantes dans la CDB, pour injecter la barre d’état :

    • Immédiat = 0, LoadEject = 1, Start = 1, PowerConditions = 0
  12. Vérifiez que la commande échoue avec Non prêt / Moyen non présent / Bac fermé (02/3A/01)

  13. Si le lecteur prend en charge l’éjection de la barre d’état, envoyez la commande START STOP UNIT avec les valeurs suivantes dans la CDB, pour éjecter la barre d’état :

    • Immédiat = 0, LoadEject = 1, Start = 0, PowerConditions = 0
  14. Demandez à l’utilisateur de placer le média dans la barre d’état.

  15. Si le lecteur ne prend pas en charge le chargement de la barre d’état, demandez à l’utilisateur de réinsérer la barre d’état dans le lecteur et d’attendre que l’appareil soit prêt. Si le lecteur prend en charge le chargement de la barre d’état (injection automatique), envoyez la commande START STOP UNIT avec les valeurs suivantes dans la CDB, pour injecter la barre d’état et attendre que l’appareil soit prêt.

    • Immédiat = 0, LoadEject = 1, Start = 1, PowerConditions = 0
  16. [Facultatif] Envoyez la commande START STOP UNIT avec l’indicateur de direction des données défini sur « à l’appareil ». Envoyer une mémoire tampon de taille aléatoire avec des données aléatoires et avec les valeurs suivantes dans la base de données CDB.

    • Immédiat = 0, LoadEject = 0, Start = 0, PowerConditions = 0

Résultat: Le lecteur doit répondre correctement à la commande START STOP UNIT.

COMMANDE TEST UNIT READY

Description: Pour vérifier si le lecteur prend en charge la commande TEST UNIT READY.

Média applicable : Tout média pris en charge par l’appareil

Étapes du cas de test :

  1. Envoyez la commande TEST UNIT READY.

  2. Si la commande échoue, imprimez la touche sense et échouez au cas de test

  3. [Facultatif] Envoyez la commande TEST UNIT READY avec l’indicateur de direction des données défini sur « à l’appareil » et avec une mémoire tampon de taille aléatoire remplie de données aléatoires.

Résultat: Le lecteur doit répondre correctement à la commande TEST UNIT READY.

Commande GET CONFIGURATION

Description: Pour vérifier si le lecteur prend en charge la commande GET CONFIGURATION pour le profil signalé.

Média applicable : Tout média pris en charge par l’appareil

Étapes de cas de test :

  1. Envoyez la commande GET CONFIGURATION avec une longueur de données de réponse de 0 octet (sens des données non spécifié). Si la commande échoue, imprimez la touche sense et échouez le cas de test.

    • Objectif : permettre au logiciel de sonder la prise en charge de la commande.
  2. Envoyez la commande GET CONFIGURATION avec une longueur de données de réponse de 4 octets pour obtenir la longueur des données d’en-tête de fonctionnalité. Si la commande échoue, imprimez la touche sense et échouez le cas de test.

    • Objectif : permettre au logiciel de sonder la prise en charge de la commande.
  3. Envoyez la commande GET CONFIGURATION avec une longueur de données de réponse de 8 octets (pour obtenir l’en-tête), RT=00b, Numéro de fonctionnalité de début=0000h. Si la commande échoue ou si le profil actuel est égal à 00 h, imprimez la touche sense comme il convient et échouez au cas de test.

    • Fins:

      • autoriser le logiciel à sonder la taille de mémoire tampon de réponse requise.

      • autoriser le logiciel à sonder le profil actuel (un profil est actuel).

  4. Si la commande réussit case activée ce qui suit dans la réponse

    • La longueur des données dans l’en-tête est différente de zéro et elle est alignée sur quatre octets

    • Le numéro de profil actuel correspond au type de média chargé dans le lecteur

  5. Envoyez la commande GET CONFIGURATION avec la longueur des données de réponse lue à l’étape 3, RT=00b, Numéro de fonctionnalité de début=0000h. Lisez le profil actuel, puis recherchez ce code de profil dans la liste des profils pris en charge. Vérifiez que le profil actuel correspond au type de profil du média inséré. Si la commande échoue ou si le profil actuel n’est pas signalé dans la liste des profils pris en charge, imprimez la touche de sens si nécessaire et échouez au cas de test.

    • Objectif : Garantir la cohérence des informations signalées par le lecteur.
  6. Envoyez à nouveau la commande GET CONFIGURATION avec RT=00b et avec la longueur de données correcte retournée par l’appareil à l’étape 3 si la longueur correspond à 2 octets. Si la longueur dépasse 2 octets, envoyez la commande avec une longueur de données maximale de 2 octets.

    • Objectif : permettre au logiciel de récupérer la liste complète des fonctionnalités prises en charge par le lecteur.
  7. Si la longueur a dépassé 2 octets, lisez le numéro de fonctionnalité du dernier descripteur de fonctionnalité complet retourné et émettez une commande GET CONFIGURATION supplémentaire avec RT=10b et avec le numéro de fonctionnalité de début égal à ce numéro de fonctionnalité plus 1. Répétez l’opération jusqu’à ce que la longueur des données retournées dans l’en-tête de fonctionnalité soit égale ou inférieure à la longueur allouée. Concaténer les descripteurs de caractéristiques résultants pour la vérification à l’étape 10.

  8. Pour toutes les commandes qui réussissent aux étapes 3 à 6, case activée si la longueur des données dans l’en-tête de la réponse est multiple de 4 (4 octets alignés). Échec s’il n’est pas aligné sur 4 octets. Objectif : l’alignement de 4 octets est pris en charge par le logiciel.

  9. En outre, si la ou les commandes ont réussi, case activée que chaque champ Version et Longueur supplémentaire signalés sont égaux ou supérieurs aux valeurs respectives de la fonctionnalité donnée dans le document MMC-5. Par exemple : la version de Core Feature doit être égale ou supérieure à 0010b et sa longueur supplémentaire doit être supérieure ou égale à 8. Objectif : Garantir la cohérence des informations signalées par le lecteur. Si la fonctionnalité de support amovible est signalée, son numéro de version doit être 1, comme spécifié dans la commande GET CONFIGURATION.

  10. En outre, si les commandes ont réussi, case activée que chaque fonctionnalité obligatoire pour le profil pris en charge signalé est signalée.

    • Objectif : Garantir la cohérence des méta-informations signalées par le lecteur.
  11. Envoyez la commande GET CONFIGURATION avec une longueur de données de réponse de 20 octets, RT=01b, Numéro de fonctionnalité de début=0010h (Fonctionnalité lisible aléatoire). Si la commande échoue ou si le descripteur de fonctionnalité de lecture aléatoire n’est pas retourné, imprimez la touche de détection comme il convient et échouez au cas de test. Objectif : permettre au logiciel de sonder une devise de fonctionnalité spécifique (actuelle).

  12. [Facultatif] Envoyez la commande GET CONFIGURATION avec l’indicateur de direction des données défini sur « à l’appareil » et avec la mémoire tampon de taille aléatoire remplie de données aléatoires. Les valeurs suivantes sont définies dans la base de données CDB :

    • Longueur d’allocation = Taille de la mémoire tampon, Numéro de fonctionnalité de début =0000h, RT=00b

Résultat: Le lecteur doit implémenter correctement la commande GET CONFIGURATION pour les types de supports applicables.

Commande GET PERFORMANCE

Description: Pour vérifier si le lecteur prend en charge la commande GET PERFORMANCE pour le profil signalé.

Média applicable : L’un des supports suivants :

  • CD-R

  • CD-ROM

  • CD-RW

  • DVD+R

  • DOUBLE COUCHE DVD+R

  • DVD+RW

  • Remplacement restreint de DVD-RW

  • DVD-RAM

  • DVD-R

  • Seq double couche DVD-R

  • DVD-ROM

  • BD-R

  • BD-RE

  • BD-ROM

Étapes de cas de test :

  1. Envoyez la commande GET CONFIGURATION à la fonctionnalité get TIME STREAMING. Vérifiez la réponse si le bit descripteur de performance de vitesse d’écriture est défini. Si ce n’est pas défini, le lecteur ne prend pas en charge les descripteurs de vitesse d’écriture. Ignorez les étapes 6 à 11 qui valident les descripteurs de vitesse d’écriture.

  2. Envoyez la commande GET PERFORMANCE avec les valeurs suivantes dans la base de données CDB pour obtenir zéro descripteurs de performances de lecture nominales

    • Type = 0

    • LBA de démarrage = 1

    • Nombre maximal de descripteurs = 0

    • Type de données = 0x10

  3. Si la commande échoue, imprimez la touche sense et échouez le cas de test

  4. Envoyez la commande GET PERFORMANCE avec les valeurs suivantes dans la base de données CDB pour obtenir un descripteur de performances de lecture nominale

    • Type = 0

    • LBA de démarrage = 1

    • Nombre maximal de descripteurs = 1

    • Type de données = 0x10

  5. Si la commande échoue, imprimez la touche sense et échouez le cas de test

  6. Envoyez la commande GET PERFORMANCE avec les valeurs suivantes dans la base de données CDB pour obtenir un descripteur de performances d’écriture nominale.

    • Type = 0

    • LBA de démarrage = 1

    • Nombre maximal de descripteurs = 1

    • Type de données = 0x14

  7. Si la commande échoue, imprimez la touche sense et échouez le cas de test

  8. Envoyez la commande GET PERFORMANCE avec les valeurs suivantes dans la base de données pour obtenir la longueur des données pour la liste des descripteurs de vitesse d’écriture

    • Type = 3

    • LBA de démarrage = 1

    • Nombre maximal de descripteurs = 0

    • Type de données = 0x14

  9. Si la commande échoue, imprimez la touche sense et échouez le cas de test.

  10. Envoyez la commande GET PERFORMANCE avec les valeurs suivantes dans la base de données CDB pour obtenir la liste des descripteurs de vitesse d’écriture

    • Type = 3

    • LBA de démarrage = 1

    • Nombre maximal de descripteurs = 10

    • Type de données = 0x14

  11. Si la commande échoue, imprimez la touche sense et échouez le cas de test.

  12. [Facultatif] Envoyez la commande GET PERFORMANCE avec l’indicateur de direction des données défini sur « à l’appareil » et avec une mémoire tampon de taille aléatoire remplie de données aléatoires. Définissez avec les valeurs suivantes dans la base de données CDB pour obtenir zéro descripteurs de performances de lecture nominales.

    • Type = 0

    • LBA de démarrage = 1

    • Nombre maximal de descripteurs = 0

    • Type de données = 0x10

  13. Si la commande échoue, imprimez la touche sense et échouez le cas de test.

Résultat: Le lecteur doit implémenter correctement la commande GET PERFORMANCE pour les types de médias applicables.

COMMANDE READ CAPACITY

Description: Pour vérifier si le lecteur prend en charge la commande READ CAPACITY pour le profil signalé.

Média applicable : Tout média pris en charge par l’appareil

Étapes de cas de test :

  1. Envoyez la commande READ CAPACITY.

  2. Si la commande échoue, imprimez la touche sense et échouez le cas de test.

  3. Si la longueur de bloc en octets n’est pas 2048, le cas de test échoue.

  4. [Facultatif] Envoyez la commande READ CAPACITY avec l’indicateur de direction des données défini sur « à l’appareil » et avec une mémoire tampon de taille aléatoire remplie de données aléatoires.

  5. Si la commande échoue, imprimez la touche sense et échouez le cas de test.

Résultat: Le lecteur doit implémenter correctement la commande READ CAPACITY pour les types de médias applicables.

COMMANDE READ BUFFER CAPACITY

Description: Pour vérifier si le lecteur prend en charge la commande READ BUFFER CAPACITY pour le profil signalé.

Média applicable : Tout média pris en charge par l’appareil.

Étapes de cas de test :

  1. Envoyez la commande GET CONFIGURATION à la fonctionnalité get TIME STREAMING. Vérifiez la réponse si le bit Read Buffer Capacity Block (RBCB) est défini. Si ce n’est pas défini, le lecteur ne prend pas en charge la commande Read Buffer Capacity. Ignorez le cas de test.

  2. Envoyez la commande READ BUFFER CAPACITY avec le bit de bloc défini sur 0 et la longueur d’allocation égale à la taille de la structure de capacité de mémoire tampon.

  3. Si la commande échoue, imprimez la touche sense et échouez le cas de test.

  4. Répétez l’étape 2 avec le bit de bloc défini sur 1.

  5. Si la commande échoue, imprimez la touche sense et la commande échoue.

  6. [Facultatif] Envoyez la commande READ BUFFER CAPACITY avec l’indicateur de direction des données défini sur « à l’appareil » et avec la mémoire tampon de taille aléatoire remplie de données aléatoires et le bit de bloc défini sur zéro.

  7. Si la commande échoue, imprimez la touche sense et échouez le cas de test.

Résultat: Le lecteur doit implémenter correctement la commande READ BUFFER CAPACITY pour les types de médias applicables.

COMMANDE READ DISC INFORMATION

Description: Pour vérifier si le lecteur prend en charge la commande READ DISC INFORMATION pour le profil signalé.

Média applicable : L’un des supports suivants :

  • DVD+R

  • DVD+RW

  • DVD-R

  • CD-R

  • CD-RW

Étapes de cas de test :

  1. Envoyez la commande READ DISC INFORMATION avec la longueur d’allocation de 2 pour obtenir la taille d’informations de disque standard.

  2. Si la commande échoue, imprimez la touche sense et échouez le cas de test.

  3. Obtenez la longueur des informations sur le disque à partir de la réponse. Si la longueur est inférieure à la taille standard du bloc d’informations sur le disque (34), le cas de test échoue.

  4. Envoyez la commande READ DISC INFORMATION avec la longueur d’allocation égale à la longueur des données de l’étape 3 plus 2.

  5. Si la commande échoue, imprimez la touche sense et échouez le cas de test.

  6. [Facultatif] Envoyez la commande READ DISC INFORMATION avec l’indicateur de direction des données défini sur « sur l’appareil » et avec la mémoire tampon de taille aléatoire remplie de données aléatoires et la longueur d’allocation définie sur la taille de la mémoire tampon.

Résultat: Le lecteur doit implémenter correctement la commande READ DISC INFORMATION pour les types de supports applicables.

COMMANDE READ FORMAT CAPACITIES

Description: Pour vérifier si le lecteur prend en charge la commande READ FORMAT CAPACITIES pour le profil signalé.

Média applicable : L’un des supports suivants :

  • DVD+RW

  • Remplacement restreint de DVD-RW

  • DVD-RAM

  • CD-RW

Étapes de cas de test :

  1. Envoyez la commande READ FORMAT CAPACITIES avec une longueur d’allocation égale à 4 (en-tête de liste de capacité).

  2. Si la commande échoue, imprimez la touche sense et échouez le cas de test.

  3. Obtenir la longueur de la liste de capacité à partir de la réponse

  4. Envoyez la commande READ FORMAT CAPACITIES avec une longueur d’allocation égale à la longueur de la liste de capacité + 4 (taille de l’en-tête de liste de capacité).

  5. Si la commande échoue, imprimez la touche sense et échouez le cas de test.

  6. Vérifiez la réponse si la longueur de la liste de capacité est multiple de 8.

  7. [Facultatif] Envoyez la commande READ FORMAT CAPACITIES avec l’indicateur de direction des données défini sur « à l’appareil » et avec la mémoire tampon de taille aléatoire remplie de données aléatoires et la longueur d’allocation définie sur la taille de la mémoire tampon.

Résultat: Le lecteur doit implémenter correctement la commande READ FORMAT CAPACITIES pour les types de médias applicables.

COMMANDE READ TOC/PMA/ATIP

Description: Pour vérifier si le lecteur prend en charge la commande READ TOC/PMA/ATIP pour le profil signalé.

Média applicable : L’un des supports suivants :

  • CD-ROM

  • DVD-ROM

  • BD-ROM

Étapes de cas de test :

  1. Envoyez la commande READ TOC/PMA/ATIP avec les valeurs suivantes dans la base de données CDB.

    • Format = 0, MSF = 0, Numéro de session de suivi = 1, Longueur d’allocation = 4
  2. Si la commande échoue, imprimez la touche sense et échouez le cas de test.

  3. [Facultatif] Envoyez la commande READ TOC/PMA/ATIP avec l’indicateur de direction des données défini sur « à l’appareil » et avec la mémoire tampon remplie de données aléatoires et la longueur d’allocation définie sur la taille de la mémoire tampon. Définissez la base de données CDB avec les valeurs suivantes :

    • Format = 0, MSF = 0, Numéro de session de suivi = 1, Longueur d’allocation = 4

Résultat: Le lecteur doit implémenter correctement la commande READ TOC/PMA/ATIP pour les types de médias applicables

COMMANDE SEND OPC INFORMATION

Description : [Ce contenu n’est pas encore disponible.]

Média applicable : L’un des supports suivants :

  • Remplacement restreint de DVD-RW

  • DVD-R

  • CD-RW

  • CD-R

Étapes de cas de test :

  1. Envoyer la commande SEND OPC INFORMATION avec DoOpc défini sur 1

  2. Si la commande échoue, imprimez la touche sense et échouez le cas de test.

  3. [Facultatif] Envoyez la commande SEND OPC INFORMATION avec DoOpc défini sur 1, indicateur de direction des données défini sur « à l’appareil » et avec une mémoire tampon de taille aléatoire remplie de données aléatoires. La longueur d’allocation est définie sur la taille de la mémoire tampon.

Résultat: Le lecteur doit implémenter correctement la commande SEND OPC INFORMATION pour les types de médias applicables.

COMMANDE SET CD SPEED

Description: Pour vérifier si le lecteur prend en charge la commande SET CD SPEED pour le profil signalé.

Média applicable : Tout média pris en charge par l’appareil

Étapes de cas de test :

  1. Envoyez la commande GET CONFIGURATION à la fonctionnalité get TIME STREAMING. Vérifiez la réponse si le bit Set CD Speed (SCS) est défini. Si ce n’est pas défini, le lecteur ne prend pas en charge la commande SET CD SPEED. Ignorez le cas de test.

  2. Envoyez la commande SET CD SPEED, avec les valeurs suivantes dans la CDB.

    • RotationalControl = 0, ReadSpeed = 0xFFFF, WriteSpeed = (((4* 75 * 2352) + 500) / 1000) Si la commande échoue, imprimez la touche sense et échouez au cas de test
  3. [Facultatif] Envoyer la commande SET CD SPEED avec l’indicateur de direction des données défini sur « sur l’appareil » et avec la mémoire tampon de taille aléatoire remplie de données aléatoires. Définissez les valeurs suivantes dans la base de données CDB.

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

Résultat: Le lecteur doit implémenter correctement la commande SET CD SPEED pour les types de supports applicables.

Commande READ10

Description: Pour vérifier si le lecteur prend en charge la commande READ10 pour le profil signalé.

Média applicable : L’un des supports suivants :

  • CD-ROM

  • DVD-ROM

Étapes du cas de test :

  1. Envoyer la commande READ TOC/PMA/ATIP avec la longueur d’allocation égale à la taille de l’en-tête de réponse READ TOC (4 octets)

  2. Envoyer la commande READ TOC/PMA/ATIP avec la longueur d’allocation est égale à la taille de l’en-tête de réponse READ TOC (4 octets) + la longueur des données de l’en-tête de réponse de l’étape 1.

  3. Vérifiez tous les descripteurs Read TOC mis en forme, si l’un de ses contrôles est défini sur 0x04

  4. S’il est introuvable, le cas de test échoue

  5. Sinon, récupérez l’adresse de départ de la piste à partir du descripteur de piste Toc mis en forme.

  6. Envoyez la commande Capacité de lecture avec le champ LBA défini sur zéro pour obtenir la taille de bloc.

  7. Envoyez la commande Read avec la longueur de transfert définie sur zéro et l’élément LBA de démarrage défini sur LBA de l’étape 5.

  8. Calculer le nombre de blocs à lire

  9. Si le LBA dans la réponse Capacité de lecture est inférieur à l’adaptateur LBA de l’étape 5, le nombre de blocs à lire est défini sur 0

  10. Si l’adaptateur LBA dans la réponse capacité de lecture est supérieur à l’adaptateur LBA de l’étape 5, définissez le nombre de blocs à lire égal à la différence entre l’adaptateur LBA de la réponse de capacité de lecture et l’adaptateur LBA de l’étape 5. Si cette valeur est supérieure à 50, définissez le nombre de blocs à lire sur 50.

  11. Définissez l’adaptateur LBA de démarrage dans la base de données CDB de lecture 10 sur LBA de l’étape 5

  12. Envoyer la commande read10 avec la longueur de transfert définie sur 1

  13. Mise en veille pendant 10 millisecondes

  14. Incrémenter l’adaptateur LBA de départ dans la base de données CDB de lecture 10

  15. Répétez les étapes 12 à 14 jusqu’à ce que nous lisons tout le nombre de blocs.

  16. [Facultatif] Envoyez la commande READ10 avec l’indicateur de direction des données défini sur « à l’appareil » et avec la mémoire tampon de taille aléatoire remplie de données aléatoires. Définissez les valeurs suivantes dans la base de données CDB.

    • TransferLength = 1, Starting LBA = Random LBA value in the LBA range of LBA number of LBA from step 8 with starting LBA from the step 5

Résultat: Le lecteur doit implémenter correctement la commande READ10 pour les types de médias applicables.

Notification d’événement

Description: Pour vérifier si la notification d’événement d’appareil est correctement signalée au PNP windows.

Média applicable : Tout média pris en charge par l’appareil

Étapes du cas de test :

  1. Si le champ BusType du STORAGE_ADAPTER_DESCRIPTOR structure du lecteur est défini sur BusTypeSata, envoyez IOCTL_ATA_PASS_THROUGH avec la demande d’identification des données d’identification des informations sur le périphérique de paquet. Dans la réponse case activée que le bit 5 du mot 78 (fonctionnalité de notification asynchrone est prise en charge) et le bit 5 du mot 79 (fonctionnalité de notification asynchrone activée) sont tous deux définis. Sinon, échec du test

  2. Inscrivez-vous à l’événement Operational Change.

  3. Vérifiez si le média est présent.

  4. Si le média est présent, éjectez le média.

  5. Attendez l’événement MEDIA REMOVAL. Si l’événement n’est pas généré dans le délai d’expiration de 60 secondes, le cas de test échoue.

  6. Injectez le média sur le lecteur.

  7. Attendez l’événement MEDIA ARRIVAL. Si l’événement n’est pas généré dans le délai d’expiration de 60 secondes, le cas de test échoue.

Résultat: Le lecteur doit implémenter correctement les notifications d’événements.

Écrire des tests

Description: Valide les fonctionnalités d’écriture du lecteur pour le contenu des données dans le contexte d’IMAPI. L’appareil est testé avec différentes vitesses d’écriture signalées par le lecteur. Le test vérifie également que les fonctionnalités multisession de l’appareil s’appliquent au média inséré

Média applicable : L’un des supports suivants (dépend de l’opération de lecteur) :

  • Écriture séquentielle :

    • CD-R

    • CD-RW

    • DVD+R

    • DVD-R

    • DVD-RAM

    • BD-R

    • BD-RE

  • Remplacement restreint :

    • DVD-RW
  • Mode paquet :

    • DVD+RW
  • Multisession:

    • CD-R

    • CD-RW

    • DVD-R

    • DVD+R

    • BD-R

Étapes du cas de test :

  1. Demandez à l’utilisateur d’insérer un média vide.

  2. Appelez l’API IDiscFormat2Data::get_CurrentMediaStatus pour case activée si le média est vide.

  3. Si le média n’est pas vide et s’il s’agit de l’un des types de média réécritables suivants, effacez le média en envoyant la commande vide avec une option vide minimale.

    • CD-RW

    • ENREGISTREMENT SÉQUENTIEL DVD-RW

    • Remplacement restreint de DVD-RW

    • DVD+RW

    • DVD-RAM

    • BD-RE

  4. Si le média n’est pas un média réécritable, demandez à l’utilisateur d’insérer le média vide. Réessayez cette opération 3 fois, sinon échouez le cas de test.

  5. Si le média n’est pas un média réécritable, demandez à l’utilisateur d’insérer le média vide. Réessayez cette opération 3 fois, sinon échouez le cas de test.

  6. Obtenez la liste des descripteurs de vitesse d’écriture en appelant l’API IDiscFormat2Data::get_SupportedWriteSpeedDescriptors.

  7. Aléatoire de l’ordre des vitesses d’écriture signalées

  8. Définissez la vitesse d’écriture en appelant l’API IDiscFormat2Data::SetWriteSpeed avec l’une des vitesses d’écriture de l’étape 6.

  9. Créez une taille de données aléatoire avec la plage de 10 % de l’espace disponible sur le média. Remplissez la mémoire tampon avec des données aléatoires.

  10. Obtenez le nombre de blocs libres sur le disque à l’aide de l’API IDiscFormat2Data::get_FreeSectorsOnMedia.

  11. Obtenez l’adresse accessible en écriture suivante à l’aide de l’API IDiscFormat2Data::get_NextWritableAddress.

  12. Écrivez la mémoire tampon de données de l’étape 8 à l’aide de IDiscFormat2Data::Write.

  13. Si le lecteur prend en charge le mécanisme d’éjection/injection automatique, éjectez et injectez le média dans le bac.

  14. Si le média n’est pas DVD-RW, DVD+RW, DVD-RAM, BD-RE alors :

    • Obtenez le nombre de blocs libres sur le disque à l’aide de l’API IDiscFormat2Data::get_FreeSectorsOnMedia.

    • Vérifiez si le nombre de secteurs libres est inférieur à la valeur de l’étape 9 par la taille des données d’écriture à l’étape 8.

    • Obtenez l’adresse accessible en écriture suivante à l’aide de l’API IDiscFormat2Data::get_NextWritableAddress.

    • Vérifiez que l’adresse accessible en écriture suivante est supérieure à l’adresse accessible en écriture suivante de l’étape 10 par la taille des données d’écriture à l’étape 8.

    • Lisez les données du disque et comparez si elles correspondent aux données écrites sur le support à l’étape 11.

  15. Obtenir les dernières informations de suivi

  16. Si le média n’est pas DVD-RW, case activée si la taille de la piste logique est supérieure ou égale à la taille des données que nous avons écrites.

  17. Vérifiez si le numéro de la piste logique est correct.

  18. Obtenez la page Mode d’écriture des paramètres.

  19. Vérifiez si les informations de suivi signalées par le lecteur ne sont pas Paquet/Incrémentiel si la page Mode De paramètres d’écriture indique paquet fixe.

  20. Lisez les informations sur le disque et case activée si le nombre de sessions correspond.

  21. Si le média n’est pas DVD-RW, DVD+RW et DVD-RAM, répétez les étapes 7 à 19 pour chaque vitesse d’écriture. Si le lecteur n’a retourné qu’une seule vitesse d’écriture, répétez les étapes 7 à 19 une fois de plus pour ajouter une session supplémentaire au disque afin de valider les fonctionnalités multisession.

Résultat: Le lecteur doit être capable de graver les données dans le contexte d’IMAPI.

AUDIO MEDIA (ÉCRITURE DE PISTES AUDIO)

Description: Validez les fonctionnalités d’écriture du lecteur pour le contenu audio dans le contexte d’IMAPI.

Média applicable : L’un des supports suivants :

  • CD-R

  • CD-RW

Étapes du cas de test :

  1. Si le média n’est pas vide et s’il s’agit d’un type de média CD-RW, effacez le média en envoyant la commande vide avec une option vide minimale.

  2. Si le média n’est pas un média réécritable, demandez à l’utilisateur d’insérer le média vide. Réessayez cette opération 3 fois, sinon échouez le cas de test.

  3. Verrouillez le média pour l’accès exclusif en appelant DiscFormat2TrackAtOnce::P repareMedia.

  4. Obtenez la liste des descripteurs de vitesse d’écriture en appelant l’API IDiscFormat2TrackAtOnce::get_SupportedWriteSpeeds.

  5. Choisissez un nombre aléatoire de pistes audio compris entre 3 et 10.

  6. Aléatoirez l’ordre des vitesses d’écriture signalées.

  7. Définissez la vitesse d’écriture en appelant l’API IDiscFormat2TrackAtOnce::SetWriteSpeed à l’étape 1.

  8. Obtenez le nombre de blocs libres sur le disque à l’aide de l’API IDiscFormat2Data::get_FreeSectorsOnMedia.

  9. Créez des données audio de taille aléatoire allant de 1 minute à des données audio de 10 minutes. La taille des données doit être un multiple de 2352.

  10. Ajoutez le flux de données audio à IDiscFormat2TrackAtOnce::AddAudioTrack.

  11. Obtenir les informations de la dernière piste

  12. Vérifiez si la taille de la piste logique est supérieure ou égale à la taille de la piste audio que nous avons écrite.

  13. Vérifier si le numéro de piste logique est correct

  14. Obtenez le nombre de secteurs gratuits sur les médias en appelant IDiscFormat2TrackAtOnce::FreeSectorsOnMedia.

  15. Vérifiez si le nombre de secteurs libres de l’étape 14 est inférieur à la valeur de l’étape 8 par la taille de la piste audio écrite sur le média.

  16. Répétez les étapes 5 à 15 pour le nombre de pistes audio de l’étape 5

  17. Obtenir la page Mode Écriture des paramètres

  18. Vérifiez si les informations de suivi signalées par le lecteur ne sont pas paquet/incrémentiel si la page Mode de paramètres d’écriture indique comme paquet fixe

  19. Répétez les étapes 1 à 18 pour chaque vitesse d’écriture.

  20. Si le lecteur prend en charge le mécanisme d’éjection/injection automatique, éjectez et injectez le média dans le bac.

Résultat: Le lecteur doit être capable de graver le média audio dans le contexte d’IMAPI.

Blanc

Description: Valide les fonctionnalités de format/vide du lecteur dans le contexte d’IMAPI.

Média applicable : L’un des supports suivants :

  • CD-RW

  • DVD+RW

  • Remplacement restreint de DVD-RW

  • BD-RE

Étapes du cas de test :

  1. Vérifiez si le média est l’un des types de média en lecture écriture suivants en appelant l’API IDiscFormat2Data::CurrentPhysicalMediaType

    • CD-RW

    • DVD-RW

    • DVD+RW

  2. Si le média ne fait pas partie du type de média en lecture-écriture, ignorez le cas de test.

  3. Vérifiez si le média est vide en appelant l’API IDiscFormat2Erase::MediaPhysicalBlank.

  4. Si le média est vide, passez à l’étape 7.

  5. Créez un flux de données aléatoires de 25 Mo.

  6. Écrivez le flux de données sur le disque à l’aide de l’API IDiscFormat2Data::Write.

  7. Vérifiez si le lecteur signale le média en tant que média non vide en appelant l’API IDiscFormat2Data::get_CurrentMediaStatus.

  8. Si le lecteur signale toujours le média comme étant vide, le cas de test échoue

  9. Implémentez le gestionnaire d’événements Erase DDiscFormat2EraseEvents::Update.

  10. Appelez l’API IDiscFormat2Erase::p ut_FullErase et définissez l’option d’effacement sur false, afin qu’elle effectue un vide minimal.

  11. Envoyez la commande vide à l’aide de l’API IDiscFormat2Erase::EraseMedia.

  12. Appelez l’API IDiscFormat2Data::get_CurrentMediaStatus pour case activée si le média est vide.

  13. Lire les informations sur le disque et case activée si le

    • Le nombre de sessions signalées est de 1.

    • La première piste de la dernière session est 1.

    • La dernière piste de la dernière session est 1.

  14. Appelez l’API IDiscFormat2Erase::p ut_FullErase et définissez l’option d’effacement sur vide. Répétez les étapes 9 à 14.

Résultat: Le lecteur doit être capable de formater le média dans le contexte d’IMAPI.

Écrire un média double couche

Description: Valide les fonctionnalités d’écriture de pour le média double couche dans le contexte d’IMAPI. L’appareil est testé avec différentes vitesses d’écriture signalées par le lecteur.

Média applicable : L’un des supports suivants :

  • DVD+R DL

  • DVD-R DL

Étapes du cas de test :

  1. Demandez à l’utilisateur d’insérer un média vide.

  2. Appelez l’API IDiscFormat2Data::get_CurrentMediaStatus pour case activée si le média est vide

  3. Si le média n’est pas un média réécritable, demandez à l’utilisateur d’insérer le média vide. Réessayez cette opération 3 fois, sinon échouez le cas de test.

  4. Obtenez la liste des descripteurs de vitesse d’écriture en appelant l’API IDiscFormat2Data :: get_SupportedWriteSpeedDescriptors.

  5. Aléatoire de l’ordre des vitesses d’écriture signalées

  6. Définissez la vitesse d’écriture en appelant l’API IDiscFormat2Data::SetWriteSpeed avec l’une des vitesses d’écriture de l’étape 5.

  7. Créez un flux de données aléatoires de taille aléatoire allant jusqu’à 50 % de l’espace disponible sur le média. Remplir la mémoire tampon avec des données aléatoires

  8. Écrivez la mémoire tampon de données de l’étape 7 à l’aide de IDiscFormat2Data :: Write.

  9. Si le lecteur prend en charge le mécanisme d’éjection-injection automatique, éjectez et injectez le média dans le bac.

  10. Lisez les données du disque et comparez si elles correspondent aux données écrites sur le média à l’étape 9.

  11. Obtenez les dernières informations de suivi.

  12. Vérifiez si la taille de la piste logique est supérieure ou égale à la taille des données que nous avons écrites.

  13. Vérifier si le numéro de piste logique est correct

  14. Obtenez la page Mode d’écriture des paramètres.

  15. Vérifiez si les informations de suivi signalées par le lecteur ne sont pas Paquet/Incrémentiel si la page Mode De paramètres d’écriture indique paquet fixe.

  16. Lisez les informations sur le disque et case activée si le nombre de sessions correspond.

  17. Répétez les étapes 8 à 16 avec un flux de données aléatoires de taille aléatoire pouvant atteindre 100 % de l’espace disponible sur le média.

    Avertissement

       Ces dernières étapes permettent de vérifier si le lecteur est en mesure d’écrire correctement les données sur la double couche.

     

Résultat: Le lecteur doit être capable de graver les données sur les deux couches du média double couche dans le contexte d’IMAPI.

Lecteur en lecture seule

Description: Testez la capacité de lecture d’un lecteur en lecture seule sur un disque ouvert (pouvant être ajouté) et fermé (finalisé).

Avertissement

   Ce cas de test nécessite un lecteur d’enregistreur secondaire pour créer le disque de données de test pour le profil de test correspondant.

 

Média applicable : L’un des supports suivants :

  • CD-ROM

  • DVD-ROM

  • BD-ROM

Étapes de cas de test :

  1. Éjectez la barre d’état du lecteur writer.

  2. Si le profil de test est

    • LE CD-ROM demande à l’utilisateur d’insérer des CD-R/CD-RW dans le lecteur writer.

    • DVD-ROM demande à l’utilisateur d’insérer DVD+R/DVD-R/DVD+RW/DVD-RAM dans le lecteur writer.

    • BD-ROM demande à l’utilisateur d’insérer BD-R/BD-RE dans le lecteur writer.

  3. Injectez la barre d’état du lecteur writer.

  4. Obtenez la liste des descripteurs de vitesse d’écriture en appelant l’API IDiscFormat2Data :: get_SupportedWriteSpeedDescriptors.

  5. Créez un flux de données aléatoire de taille aléatoire allant jusqu’à 10 % de l’espace disponible sur le média. Remplissez la mémoire tampon avec des données aléatoires.

  6. Définissez la vitesse d’écriture en appelant l’API IDiscFormat2Data::SetWriteSpeed avec la première valeur de descripteur de vitesse d’écriture de l’étape 4.

  7. Écrivez la mémoire tampon de données de l’étape 5 à l’aide de IDiscFormat2Data::Write sur le média dans le lecteur writer.

  8. Éjectez le plateau du lecteur de l’enregistreur s’il prend en charge le mécanisme d’éjection automatique. Sinon, demandez à l’utilisateur d’appuyer sur le bouton éjection

  9. Éjectez la barre d’état de la version d’évaluation s’il prend en charge le mécanisme d’éjection automatique du plateau, sinon demandez à l’utilisateur d’appuyer sur le bouton éjection.

  10. Demandez à l’utilisateur de supprimer le média du lecteur writer et de le placer dans la version d’évaluation.

  11. Injectez la barre d’état du lecteur de l’enregistreur si elle prend en charge le mécanisme d’injection automatique (chargement de la barre d’état). Sinon, demandez à l’utilisateur d’insérer la barre d’état dans le lecteur.

  12. Injectez le bac de la version d’évaluation s’il prend en charge le mécanisme d’injection automatique (chargement du bac). Sinon, demandez à l’utilisateur d’insérer la barre d’état dans le lecteur.

  13. Lisez les données du disque de version d’évaluation et comparez si elles correspondent aux données écrites sur le média à l’étape 7.

  14. Définissez IDiscFormat2Data::ForceMediaToBeClosed sur true et Répétez les étapes 1 à 13 pour valider la version d’évaluation sur un disque finalisé.

Résultat: Le lecteur doit être capable de lire les supports fermés et ouverts.

Numéro de série du lecteur

Description: Valide que le numéro de série du lecteur retourné par la version d’évaluation est conforme à la MMC/Mt. Normes de spécification Fuji.

Avertissement

   Ce cas de test nécessite deux lecteurs identiques pour vérifier si les deux lecteurs retournent des numéros de série uniques. Un appareil de test principal et l’autre est une version d’évaluation secondaire.

 

Média applicable : Tout média pris en charge par l’appareil

Étapes de cas de test :

  1. Envoyez la commande INQUIRY à l’appareil de test principal avec une longueur d’allocation égale à 05h.

  2. Si la commande réussit, obtenez la valeur de longueur supplémentaire à partir de l’en-tête de réponse.

  3. Envoyez à nouveau la commande INQUIRY à l’appareil principal dont la longueur d’allocation est définie sur 5 octets de plus que la longueur supplémentaire de l’étape 2.

  4. Si la commande réussit, obtenez le niveau d’identification du fournisseur, d’identification du produit et de révision du produit.

  5. Répétez les étapes 1 à 4 pour le lecteur secondaire et obtenez le niveau d’identification du fournisseur, d’identification du produit et de révision du produit.

  6. Comparez les valeurs Identification du fournisseur, Identification du produit et Niveau de révision du produit des étapes 4 et 5. S’ils ne correspondent pas, le cas de test échoue.

    Avertissement

       Cela permet de s’assurer que les deux versions d’évaluation sont identiques

     

  7. Envoyez la commande GET CONFIGURATION à la version d’évaluation principale pour obtenir la fonctionnalité LOGICAL UNIT SERIAL NUMBER dont la longueur d’allocation est égale à la taille du descripteur de la fonctionnalité LOGICAL UNIT SERIAL NUMBER.

  8. Vérifiez la réponse si le code de fonctionnalité correspond au code de fonctionnalité LOGICAL UNIT SERIAL NUMBER. Obtenez la longueur supplémentaire.

  9. Envoyez la commande GET CONFIGURATION à la version d’évaluation principale pour obtenir la fonctionnalité LOGICAL UNIT SERIAL NUMBER dont la longueur d’allocation est égale à la taille du descripteur de la fonctionnalité LOGICAL UNIT SERIAL NUMBER plus la longueur supplémentaire requise indiquée à l’étape 8.

  10. Vérifiez ce qui suit dans la réponse :

    • Le code de fonctionnalité correspond au code de fonctionnalité LOGICAL UNIT SERIAL NUMBER.

    • Les données de numéro de série signalées sont en ASCII.

    • Les données sont rembourrées.

    • Aucune donnée après le remplissage.

  11. Répétez 7 à 9 pour le périphérique de test secondaire et obtenez le numéro de série du lecteur.

  12. Comparez les numéros de série des lecteurs de l’étape 10 et de l’étape 11. Les lecteurs sont censés retourner des numéros de série uniques. Si les deux numéros de série sont égaux, le cas de test échoue.

Résultat: Le lecteur doit retourner un numéro de série unique et ce numéro doit être conforme à la MMC/Mt. Normes Fuji.

Streaming en temps réel

Description: Valide les fonctionnalités de streaming en temps réel du lecteur pour le contenu de données dans le contexte de cdrom.sys pilote. L’appareil est testé avec différentes vitesses de lecture et d’écriture signalées par le lecteur.

Média applicable : Tout média pris en charge par l’appareil

Étapes de cas de test :

  1. Demandez à l’utilisateur d’insérer un média.

  2. Si le média n’est pas accessible en écriture ou réécritable, passez au test de lecture à l’étape 13.

  3. Appelez l’API IDiscFormat2Data::get_CurrentMediaStatus pour case activée si le média est vide.

  4. Si le média n’est pas vide et s’il s’agit de l’un des types de média réécritables suivants, effacez le média en envoyant la commande vide avec une option vide minimale.

    • CD-RW

    • Enregistrement séquentiel DVD-RW

    • Remplacement restreint de DVD-RW

    • DVD+RW

    • DVD-RAM

    • BD-RE

  5. Si le média n’est pas un média réécritable, demandez à l’utilisateur d’insérer le média vide. Réessayez cette opération 3 fois, sinon le cas de test échoue.

  6. Envoyer la commande GET CONFIGURATION avec la fonctionnalité de demande de streaming en temps réel. S’il n’est pas réussi ou si le bit actuel n’est pas défini, le test échoue.

  7. Si le bit SW (Stream Writing) ou le bit WSPD (Write Speed Performance Descriptor) de la réponse de la fonctionnalité STREAMING EN TEMPS RÉEL n’est pas défini, le test échoue.

  8. Envoyez la commande GET PERFORMANCE avec demande de descripteurs de vitesse d’écriture et générez et tableau des vitesses d’écriture prises en charge. Si la commande échoue, le test.

  9. Mélanger le tableau de vitesse d’écriture.

  10. Si la taille du média libre dépasse 10 % de sa capacité totale, appelez DeviceIoControl avec IOCTL_CDROM_SET_SPEED et CDROM_SET_STREAMING structure fournie pour la vitesse d’écriture suivante. Écrivez des données aléatoires jusqu’à 10 % de la pleine capacité et mesurez la vitesse (reportez-vous à la section correspondante de ce document pour la description de la procédure de mesure).

  11. Répétez l’étape 10 aussi longtemps que possible. Si toutes les vitesses d’écriture sont sondées, effectuez une analyse aléatoire du tableau de vitesses et définissez la vitesse d’écriture suivante sur le début.

  12. Envoyer des commandes CLOSE TRACK SESSION pour finaliser le média

  13. Si le bit WSPD (Write Speed Performance Descriptor) de la réponse de fonctionnalité DE STREAMING EN TEMPS RÉEL est défini, envoyez la commande GET PERFORMANCE avec la demande de descripteurs de vitesse d’écriture et créez un tableau de vitesses de lecture prises en charge, sinon envoyez la commande GET PERFORMANCE avec requête de données de performances avec des bits de tolérance définis sur 10b (nominal) et, pour les vitesses de lecture, sélectionnez la valeur la plus faible des champs Start Performance et End Performance dans la réponse. Si l’une des commandes n’a pas réussi, le test échoue.

  14. Mélanger le tableau de vitesse de lecture.

  15. Définissez la longueur de lecture sur la taille de la première piste sur le média.

  16. Pour chaque vitesse de lecture, appelez DeviceIoControl avec IOCTL_CDROM_SET_SPEED et CDROM_SET_STREAMING structure fournie pour la vitesse de lecture suivante. Lisez l’ensemble des données enregistrées sur le média en segments de 10 % de la capacité du média (ou au moins 5 Mo si le média contient moins de 50 Mo de données) et mesurez la vitesse de chaque segment. Si la vitesse réelle d’un segment est inférieure à la vitesse demandée pour l’un des segments, marquez l’échec du test.

Résultat: Le lecteur doit être capable de fonctionner en mode streaming en temps réel.

Vitesse d’écriture Mesure

Le test interroge l’appareil et obtient les vitesses d’écriture prises en charge pour le support de test. Ensuite, il essaiera de valider le scénario d’écriture pour toutes les vitesses d’écriture signalées. Le test s’attend à ce que les vitesses d’écriture calculées pour chaque scénario d’écriture se rapprochent de la vitesse d’écriture définie sur le lecteur. Le test autorise une tolérance de 10 % pour la vitesse d’écriture mesurée. Le test valide la vitesse d’écriture comme ci-dessous.

Le test écrit des données dans le média et surveille la quantité de données en cours d’écriture. Il exclut le moment pour les 10 % de données écrites initiales et les 10 % de données écrites finales. Il mesure le minutage uniquement pour les données moyennes de 80 %, calcule la vitesse de ces données et ajoute une tolérance de 10 % à cette valeur. Ainsi, si « x » est la vitesse calculée pour les données du milieu de 80 %, la vitesse calculée finale est de 1,1x. Le test s’attend à ce que cette valeur soit supérieure ou égale à la vitesse définie sur le lecteur avant de commencer l’écriture.

Le test exclut le minutage initial de 10 % des données écrites pour permettre au lecteur de se préparer à l’écriture. Le minutage final de 10 % des données est exclu pour permettre au lecteur d’effectuer le nettoyage approprié des données écrites sur le média.

Enregistrements bruts sans lacune du média audio

Description: Valide les fonctionnalités d’écriture du lecteur pour le contenu audio brut gapless dans le contexte d’IMAPI

Média applicable : L’un des supports suivants :

  • CD-R

  • CD-RW

Étapes de cas de test :

  1. Vérifiez si le lecteur avec le média inséré prend ou non en charge l’enregistrement brut sans intervalles. S’il n’est pas pris en charge, le test échoue.

  2. Vérifiez les types de secteurs pris en charge par la version d’évaluation.

  3. Pour chaque type de secteur pris en charge par la version d’évaluation, effectuez les étapes 4 à 9

  4. Créez l’image brute.

  5. Définissez le type de secteur correct et créez le flux de résultats pour l’image brute.

  6. Déterminez si l’image brute est vide ou non.

  7. Choisissez aléatoirement une vitesse d’écriture et définissez-la comme vitesse de combustion. Définissez le type de secteur demandé sur celui qui a été défini pour l’image brute. Écrivez le flux de l’image brute sur le média et watch la progression. Calculez la vitesse de gravure et d’impression du débit.

  8. Déterminez si l’écriture réussit en vérifiant chaque information de piste logique. Vérifiez si la piste est une piste audio, si la taille de la piste est correcte et si la taille du dernier numéro de piste logique plus son adresse de début est égale à l’adresse de début du prospect sortant du disque. Si l’une des conditions retourne false, le test échoue. Sinon, ça passera.

  9. Effectuez une lecture brute pour le média. Pour chaque piste, case activée si la piste est audio. Si ce n’est pas le cas, échouez au test, car l’enregistrement s’est déjà assuré que les pistes sont des pistes audio. Calculez le décalage de début et le décalage de fin de la piste. Effectuez la lecture de la piste en commençant par le décalage de début et en se terminant par le décalage de fin de la piste. Si une erreur se produit pendant le processus de lecture, échec du test ;

Résultat: Le lecteur doit être en mesure de graver l’image audio brute sans intervalle dans le contexte d’IMAPI.

Utilisation des commandes

Commande Description

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

Exécute le test.

Notes

   Pour obtenir de l’aide en ligne de commande pour ce binaire de test, tapez /h.

 

Syntaxe de commande

Option de commande Description

lecteur

Tester la lettre de lecteur de périphérique optique.

Exemple : /drive e:\\

adaptateur

path (utilisé pour le test de l’adaptateur).

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

PrimaryTestDrive

Tester la lettre de lecteur de périphérique optique.

Exemple : /PrimaryTestDrive e:\\

SecondaryTestDrive

Lettre de lecteur de test optique secondaire.

Exemple : /Secondary Test Drive f:\\

WriterDrive

Lettre de lecteur de l’enregistreur qui doit être utilisée pour tester les lecteurs en lecture seule.

Exemple : /WriterDrive f:\\

PrimaryDriveTray

Fonctionnalités de la barre d’état des appareils optiques principaux.

Exemple : /PrimaryDriveTray supportsEjectInject

SecondaryDriveTray

Fonctionnalités de la barre d’état des appareils optiques secondaires.

Exemple : /SecondaryDriveTray supportsEjectInject

WriterDriveTray

Fonctionnalités de la barre d’état du lecteur writer.

Exemple : /WriterDriveTray prend en chargeEjectInject

profile

Exécutez des profils spécifiés dans des cas de test. L’ID de profil doit être en décimal et séparé par des virgules sans espaces.

Exemple : /profile 9,10,16

seed

Valeur initiale pour générer des données de test aléatoires.

Exemple : /seed 1000

RunTestCaseTypes

Exécute uniquement la catégorie de cas de test.

Exemple : appareil /RunTestCaseTypes

RunTestCase

Exécute uniquement ce cas de test.

Exemple : /RunTestCase Inquiry

Automatisation

Exécutez en mode automation à l’aide du robot pour modifier le média.

Exemple : /Automation

AutomationConfigFile

Fichier de configuration utilisé pour spécifier l’emplacement bin pour le média.

Exemple : OpticalLogoTest.exe.config /AutomationConfigFile

Calibrer

Étalonnez le robot utilisé pour changer le média.

Exemple : /Calibrage

Logo

Niveau des exigences de certification à tester.

Exemple : /logo basic ou /logo premium

ReuseMedia

Réutilisez le média non vide à des fins de test. Le test ne s’attend pas à ce que le média soit vide si la multisession est prise en charge pour ce média. Cette option est uniquement destinée aux tests. Non autorisé pour la certification.

Exemple : /ReuseMedia

SkipFullBlank

Ignorez le scénario vide complet et testez uniquement un vide minimal.

Exemple : /SkipFullBlank

SkipManualTestCases

Ignorez les cas de test qui nécessitent une interaction manuelle.

Exemple : /SkipManualTestCases

RunDataDirectionFlagScenario

Validez les commandes avec un indicateur de direction des données incorrect.

Exemple : /RunDataDirectionFlagscenario

Débogueur

Invite à attacher le débogueur, ce qui donne le temps d’autoriser le débogueur à être attaché avant d’exécuter le programme.

Exemple : /Debugger

Commentaires

Détail de journalisation.

Exemple : /Verbosity Verbose

log

Nom du fichier journal

Valeur par défaut : OpticalLogoTest.wtl

Exemple : /log mytestlog.wtl

EnableImapiv2Trace

Activez la trace logicielle IMAPIv2.

Exemple : /EnableImapiv2Trace

Imapiv2TraceGuidsFile

Fichier GUID de trace IMAPIv2 qui contient la liste complète des GUID des composants pour lesquels les traces doivent être enregistrées

Valeur par défaut : imapiv2-guids.txt

Exemple : /IMAPIv2TraceGuidsFile imapiv2-guids.txt

Imapiv2TraceLogFile

Fichier journal de suivi de sortie IMAPIv2.

Valeur par défaut : imapiv2-tracelog.etl

Exemple : /IMAPIv2TraceLogFile imapiv2-tracelog.etl

cmdPerfTraceAnalysis

Exécutez l’analyse des performances des commandes.

Exemple : /cmdPerfTraceAnalysis Always

cmdPerfTraceGuidsFile

Fichier GUIDs de suivi des performances qui contient les GUID des composants qui tracent les données de performances

Valeur par défaut : perf-guids.txt

Exemple : /cmdPerfTraceGuidsFile perf-guids.txt

cmdPerfTraceLogFile

Fichier journal de suivi de la sortie des performances

Valeur par défaut : perf-tracelog.etl

Exemple : /cmdPerfTraceLogFile perf-tracelog.etl

cmdPerfTraceTmfFile

Fichier de description du format de suivi des performances.

Exemple : /cmdPerfTraceTmfFile perf-tracelog.tmf

 

Liste de fichiers

Fichier Emplacement

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\

 

Paramètres

Nom du paramètre Description des paramètres
StorageDriveLetter Lettre de lecteur d’appareil d’évaluation
profile
LLU_NetAccessOnly Compte d’utilisateur pour accéder au partage de fichiers de test.
LLU_LclAdminUsr Compte d’utilisateur pour l’exécution du test.
WDKDeviceID Chemin d’instance de l’appareil à tester
log
RunTestCaseTypes
AdditionalParams