Compartir a través de


Prueba de logotipo óptico - DVD-R

Esta prueba valida que el dispositivo óptico cumple con los estándares y cumple los requisitos de la unidad óptica de Windows.

Detalles de las pruebas

   
Especificaciones
  • Device.Storage.Optical.CdRawRecording
  • Device.Storage.Optical.CommandPerformance
  • Device.Storage.Optical.DriveDefinition
  • Device.Storage.Optical.Features
  • Device.Storage.Optical.Profiles
  • Device.Storage.Optical.RealTimeStreaming
  • Device.Storage.Optical.MmcVersion
  • Device.Storage.Optical.Sata.AsynchronousNotification
Plataformas
  • Windows 10, ediciones de cliente (x86)
  • Windows 10, ediciones de cliente (x64)
  • Windows Server 2016 (x64)
Versiones admitidas
  • Windows 10
  • Windows 10, versión 1511
  • Windows 10, versión 1607
  • Windows 10, versión 1703
  • Windows 10, versión 1709
  • Windows 10, versión 1803
  • Windows 10, versión 1809
  • Windows 10, versión 1903
  • Siguiente actualización a Windows 10
Tiempo de ejecución esperado (en minutos) 90
Categoría Escenario
Tiempo de espera (en minutos) 5400
Requiere reinicio false
Requiere una configuración especial false
Tipo automatic

 

Documentación adicional

Las pruebas de esta área de características pueden tener documentación adicional, incluidos los requisitos previos, la configuración y la información de solución de problemas, que se pueden encontrar en los temas siguientes:

Ejecución de la prueba

Antes de ejecutar la prueba, complete la configuración de la prueba como se describe en los requisitos de prueba: Requisitos previos de pruebas ópticas de unidades de disco.

La prueba muestra un cuadro de diálogo de configuración para obtener la configuración de la bandeja de unidad principal y secundaria. El usuario tiene que seleccionar la unidad secundaria idéntica de la lista de unidades en el cuadro de diálogo Unidad de escritura y debe seleccionar las funcionalidades de la bandeja de unidades, si admite la expulsión automática y la carga automática de la bandeja.

Nota

   Las aplicaciones intensivas de E/S que se ejecutan en el equipo de prueba podrían interferir con los escenarios de medición de rendimiento de la prueba de logotipo óptico. Asegúrese de que no haya otras aplicaciones que se ejecuten en el equipo de prueba cuando se ejecute la prueba.

 

Solución de problemas

Para solucionar problemas genéricos de errores de prueba de HLK, consulte Solución de problemas de errores de prueba de HLK de Windows.

Para obtener información de solución de problemas, consulte Solución de problemas de Device.Storage Testing.

A continuación se muestran problemas conocidos relacionados con esta prueba:

  • Escenario de prueba de restablecimiento de bus deshabilitado de forma predeterminada.

    De forma predeterminada, la prueba no valida el comportamiento adecuado del dispositivo al restablecer el bus.

    Si se produce el restablecimiento del bus, se espera que la unidad se restablezca correctamente, vuelva a estar en línea y debería funcionar de la forma normal. Algunas unidades defectuosas no se restablecen correctamente y no funcionarán después del restablecimiento del bus. Esta no es una implementación adecuada. Cuando se habilita este escenario de prueba específico, los casos de prueba de comprobación de comandos (casos de prueba de dispositivo y perfil) envían los comandos con una marca de dirección de datos SRB incorrecta. Esto normalmente detuvo el autobús y, finalmente, hará que el controlador del puerto restablezca el autobús después de un período de tiempo de espera determinado.

    La mayoría de los controladores de almacenamiento no admiten correctamente este escenario de prueba. Los controladores de almacenamiento implementados incorrectamente no se recuperarán después del restablecimiento del bus. Si esto sucede, es posible que se produzca un error en el caso de prueba debido al controlador de almacenamiento incluso si el dispositivo se implementó correctamente. Esta prueba no puede distinguir los errores del dispositivo de los errores del controlador de almacenamiento. Por lo tanto, la prueba de este escenario específico está deshabilitada de forma predeterminada. Para habilitar la prueba de este escenario específico, el ejecutable de prueba debe ejecutarse con la opción de línea de comandos "RunDataDirectionFlagScenario".

Más información

La unidad admitirá los siguientes comandos:

  • Obtener configuración (sin medios)

  • Obtener notificación de estado de evento

  • Consulta

  • Estado del mecanismo

  • Sentido del modo

  • Impedir la eliminación media de permitir

  • Sensor de solicitud

  • Iniciar unidad de detención

  • Prueba unitaria lista

La unidad admitirá los siguientes comandos si son obligatorios para las características y los perfiles que admite.

  • Obtener configuración (con medios)

  • Obtener rendimiento

  • Capacidad de búfer de lectura

  • Capacidad de lectura

  • Leer información del disco

  • Capacidades de formato de lectura

  • Leer Toc Pma Atip

  • Enviar información de Opc

  • Establecer velocidad de CD

  • Read10

La unidad admitirá los siguientes escenarios si los comandos asociados a estos escenarios son obligatorios para las características y los perfiles que admite.

  • Notificación de estado de evento

  • Escritura

    • Modo secuencial

    • Modo de paquete

    • Sobrescritura restringida

    • Compatibilidad con varias sesiones

  • Medios de audio (escribir pistas de audio)

  • En blanco

  • Número de serie de unidad única

  • Streaming en directo

  • Grabación sin formato de medios de audio sin formato

Los casos de prueba se separan en los tres grupos siguientes:

  • Casos de prueba del dispositivo. Los siguientes comandos comprueban los casos de prueba que son aplicables al dispositivo:

    • GET CONFIGURATION (WITH NO MEDIA)

    • OBTENER NOTIFICACIÓN DE ESTADO DE EVENTO

    • INQUIRY

    • ESTADO DEL MECANISMO

    • MODE SENSE

    • EVITAR LA ELIMINACIÓN MEDIA DE PERMITIR

    • REQUEST SENSE

    • INICIAR UNIDAD DE DETENCIÓN

    • TEST UNIT READY

  • Generar perfiles de casos de prueba. Los siguientes casos de prueba de comprobación de comandos se probarán en todos los perfiles aplicables:

    • OBTENER CONFIGURACIÓN

    • OBTENER RENDIMIENTO

    • CAPACIDAD DE LECTURA

    • CAPACIDAD DE BÚFER DE LECTURA

    • LEER INFORMACIÓN DEL DISCO

    • CAPACIDADES DE FORMATO DE LECTURA

    • READ TOC PMA ATIP

    • ENVIAR INFORMACIÓN DE OPC

    • ESTABLECER VELOCIDAD DE CD

    • READ10

  • Casos de prueba del escenario de uso. Los siguientes escenarios se prueban mediante las interfaces del motor de grabación de IMAPI:

    • NOTIFICACIÓN DE ESTADO DE EVENTO

    • BLANK

    • ESCRITURA/MULTISESSION

    • MEDIOS DE AUDIO

    • ESCRITURA DE MEDIOS DE DOBLE CAPA

    • NÚMERO DE SERIE DE UNIDAD

    • UNIDAD DE SOLO LECTURA

    • STREAMING EN TIEMPO REAL

    • GRABACIÓN SIN FORMATO DE MEDIOS DE AUDIO

Esta prueba incluye los siguientes casos de prueba:

  • COMANDO GET CONFIGURATION (SIN MEDIOS)

  • COMANDO GET EVENT STATUS NOTIFICATION

  • COMANDO INQUIRY

  • COMANDO DE ESTADO DEL MECANISMO

  • COMANDO MODE SENSE

  • COMANDO PREVENT ALLOW MEDIUM REMOVAL

  • COMANDO REQUEST SENSE

  • INICIAR COMANDOS DE UNIDAD DE DETENCIÓN, EXPULSAR & EL RENDIMIENTO DE LA CARGA

  • COMANDO TEST UNIT READY

  • COMANDO GET CONFIGURATION

  • OBTENER RENDIMIENTO

  • COMANDO READ CAPACITY

  • COMANDO READ BUFFER CAPACITY

  • COMANDO READ DISC INFORMATION

  • COMANDO READ FORMAT CAPACITIES

  • COMANDO READ TOC/PMA/ATIP

  • COMANDO SEND OPC INFORMATION

  • COMANDO SET CD SPEED

  • COMANDO READ10

  • EVENT NOTIFICATION

  • ESCRITURA DE PRUEBAS

  • MEDIOS DE AUDIO (ESCRIBIR PISTAS DE AUDIO)

  • BLANK

  • ESCRITURA DE MEDIOS DE DOBLE CAPA

  • UNIDAD DE SOLO LECTURA

  • NÚMERO DE SERIE DE UNIDAD

  • STREAMING EN TIEMPO REAL

  • MEDIDA DE VELOCIDAD DE ESCRITURA

  • GRABACIÓN SIN FORMATO DE MEDIOS DE AUDIO

Comando GET CONFIGURATION (sin medios)

Descripción: Esta prueba es asegurarse de que la unidad responde correctamente al comando GET CONFIGURATION cuando no hay ningún medio en la bandeja.

Medios aplicables: Cualquier medio compatible con el dispositivo

Pasos del caso de prueba:

  1. Expulse la bandeja enviando el comando START STOP UNIT.

  2. Espere hasta que la bandeja esté abierta.

  3. Envíe el comando GET CONFIGURATION con una longitud de datos de respuesta de 4 bytes para obtener la longitud de datos del encabezado de característica. Si se produce un error en el comando, imprima la tecla sense y produzca un error en el caso de prueba. Propósito: permitir que el software sondee la compatibilidad del comando.

  4. Compruebe si la unidad no notifica ningún perfil actual en el encabezado de la característica. Si la unidad no vuelve a reproducir el perfil actual como "ningún perfil actual", se producirá un error en el caso de prueba.

  5. Vuelva a enviar el comando GET CONFIGURATION con RT=00b y con la longitud de datos correcta devuelta por el dispositivo en el paso 3. Propósito: permita que el software recupere toda la lista de características compatibles con la unidad.

  6. Compruebe si la unidad no notifica ningún perfil actual en el encabezado de la característica. Si la unidad no vuelve a reproducir el perfil actual como "ningún perfil actual", se producirá un error en el caso de prueba.

  7. Obtenga el descriptor de características de la lista de perfiles en la respuesta del conjunto de bits de perfil actual y produzca un error en el caso de prueba si alguno del descriptor de perfil tiene el bit de perfil actual establecido en 1.

  8. Envíe el comando GET CONFIGURATION con una longitud de datos de respuesta de 20 bytes, RT=01b, Número de característica inicial=0010h (característica legible aleatoria). Si se produce un error en el comando o si no se devuelve el descriptor de característica legible aleatoria, imprima la clave de detección según corresponda y produzca un error en el caso de prueba. Propósito: permitir que el software sondee la moneda específica de la característica (no actual).

  9. [Opcional] Envíe el comando GET CONFIGURATION con la marca de dirección de datos establecida en "en el dispositivo" y con la longitud de datos de respuesta de 4 bytes para obtener la longitud de datos del encabezado de característica. Si se produce un error en el comando, imprima la tecla sense y produzca un error en el caso de prueba. Propósito: para asegurarse de que el dispositivo controla el comando con una dirección de datos incorrecta.

  10. Inserte la bandeja.

  11. Espere hasta que el dispositivo llegue al estado listo.

  12. Envíe el comando GET CONFIGURATION con longitud de datos de respuesta de 16 bytes, RT=01b, Número de característica inicial=0003h (característica mediana extraíble). Si se produce un error en el comando, imprima la clave de detección según corresponda y produzca un error en el caso de prueba. Si el comando se ejecuta correctamente:

    • Compruebe si el bit "Eject" está establecido si la unidad admite el mecanismo de expulsión automática.

    • Compruebe si el bit "Load" (Cargar) está establecido si la unidad admite el mecanismo de inserción automática.

Resultado: La unidad debe responder correctamente al comando GET CONFIGURATION.

Comando GET EVENT STATUS NOTIFICATION

Descripción: Para validar si la unidad admite el comando GET EVENT STATUS NOTIFICATION

Medios aplicables: Cualquier medio compatible con el dispositivo

Pasos del caso de prueba:

  1. Envíe el comando Obtener notificación de estado de evento con los siguientes valores en la CDB.

    • Solicitud de clase de notificación = 0x7E (cambio operativo, administración de energía, solicitud externa, medios, host múltiple, dispositivo ocupado),

    • Sondear = 1

    • Longitud de asignación igual al tamaño del encabezado de respuesta (4 bytes)

  2. Si se produce un error en el comando, se producirá un error en el caso de prueba.

  3. En la comprobación de respuestas, los eventos que se admiten

  4. [Opcional] Envíe el comando Obtener notificación de estado de evento con la marca de dirección de datos establecida en "en el dispositivo" y los valores siguientes en la CDB.

    • Solicitud de clase de notificación = 0x7E (cambio operativo, administración de energía, solicitud externa, medios, host múltiple, dispositivo ocupado),

    • Sondear = 1

    • Longitud de asignación igual al tamaño del encabezado de respuesta (4 bytes)

  5. Si se produce un error en el comando, se producirá un error en el caso de prueba.

  6. En la respuesta, compruebe que la longitud de los datos de eventos es 0x6, se borra el bit de NEA, la clase de notificación no es cero y las clases de eventos admitidas son idénticas al paso 3. De lo contrario, se produce un error en el caso de prueba.

  7. Envíe el comando Obtener notificación de estado de evento con los siguientes valores en la CDB.

    • Notification Class Request = 0x7E (cambio operativo, administración de energía, solicitud externa, medios, multi host, dispositivo ocupado).

    • Sondear = 1

    • Longitud de asignación igual al tamaño del encabezado de respuesta (4 bytes)

  8. Si se produce un error en el comando, se producirá un error en el caso de prueba.

Resultado: La unidad debe responder correctamente al comando GET EVENT STATUS NOTIFICATION.

Comando INQUIRY

Descripción: Para validar si la unidad admite el comando INQUIRY.

Medios aplicables: Cualquier medio compatible con el dispositivo

Pasos del caso de prueba:

  1. Envíe el comando INQUIRY con longitud de asignación igual a 08h. Propósito: permita que el software sondee el tamaño de búfer de respuesta necesario.

  2. Si el comando se ejecuta correctamente, compruebe la respuesta de la longitud adicional del encabezado. La longitud adicional debe ser de 32d o mayor [MMC5r04 6.9.2].

  3. Vuelva a enviar el comando INQUIRY con la longitud de asignación establecida en 5 bytes más que la longitud adicional del paso 2.

  4. Si el comando se ejecuta correctamente, asegúrese de que los campos de datos de respuesta coincidan con los valores especificados en la tabla 320 de MMC5r04.

  5. Compruebe que la identificación del proveedor, la identificación del producto y el nivel de revisión del producto no son null.

    • Propósito: identificación básica por software.
  6. Compruebe si los valores siguientes coinciden:

    • Tipo de dispositivo = 5

    • Calificador de tipo de dispositivo = 0

    • Medios extraíbles = 1

    • Formato de datos de respuesta = 2

    • Compatibilidad con jerarquía = 0

    • ACA normal = 0

    • Proteger = 0

    • Copia de terceros = 0

    • Compatibilidad con grupos de puertos de destino = 0

    • Coordinador de controles de acceso = 0

    • SCC supported = 0

    • Addr16 = 0

    • Cambiador medio = 0

    • Multi Port = 0

    • VS1 = 0

    • Servicios de gabinete = 0

    • BQue = 0

    • VS2 = 0

    • Cola de comandos = 0

    • Comandos vinculados = 0

    • Sincrónico = 0

    • Wide16 = 0

  7. Envíe el comando INQUIRY con los siguientes valores en la CDB:

    • EVPD = 0

    • Longitud de asignación = 240

  8. Envíe el comando INQUIRY con los siguientes valores en la CDB:

    • EVPD = 1

    • Longitud de asignación = 240

  9. Si el comando se ejecuta correctamente, compare la respuesta del paso 7 y el paso 8, si ambos son iguales, se producirá un error en el caso de prueba.

  10. Envíe el comando INQUIRY para un número aleatorio de veces entre 10 y 25 con longitudes de asignación aleatorias. Si se produce un error en el comando, se producirá un error en el caso de prueba.

  11. [Opcional] Envíe el comando INQUIRY con la marca de dirección de datos establecida en" en el dispositivo" y con los siguientes valores en la CDB.

    • EVPD = 0

    • Longitud de asignación = 240

Resultado: La unidad debe responder correctamente al comando INQUIRY.

Comando MECHANISM STATUS

Descripción: Para validar si la unidad admite el comando MECHANISM STATUS

Medios aplicables: Cualquier medio compatible con el dispositivo

Pasos del caso de prueba:

  1. Envíe el comando MECHANISM STATUS con longitud de asignación de 0 bytes (sentido de datos sin especificar). Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

    • Propósito: permitir que el software sondee la compatibilidad del comando
  2. Expulse la bandeja.

  3. Espere hasta que el dispositivo devuelva los datos de sentido (Sense Key : 0x2, ASC: 0x3A, ASCQ: 0x02)

  4. Envíe el comando MECHANISM STATUS con longitud de asignación de 8 bytes.

  5. Compruebe que el bit Door Open es 1b.

    • Propósito: permita que el software detecte si la puerta está abierta o cerrada (abierta).
  6. Inserción de la bandeja

  7. Espere hasta que el dispositivo esté listo.

  8. Envíe el comando MECHANISM STATUS con longitud de asignación de 8 bytes.

  9. Compruebe que el bit Door Open es 0b.

    • Propósito: permita que el software detecte si la puerta está abierta o cerrada (cerrada).
  10. Cree un búfer de 8 bytes y llene con datos aleatorios.

  11. [Opcional] Envíe el comando MECHANISM STATUS con la marca de dirección de datos establecida en "en el dispositivo" y con la longitud de asignación de 8 bytes. Pase el búfer del paso 11 al dispositivo.

Resultado: La unidad debe responder correctamente al comando MECHANISM STATUS.

Comando MODE SENSE

Descripción: Para validar si la unidad admite el comando Mode Sense.

Medios aplicables: Cualquier medio compatible con el dispositivo

Pasos del caso de prueba:

  1. Envíe el comando MODE SENSE con los siguientes valores en la CDB para obtener todas las páginas de modo admitidas:

    • Control de página = 0

    • Deshabilitar descriptores de bloque = 1

    • Código de página = 0x3F

    • Longitud de asignación = 0x8000

  2. Compruebe los valores siguientes en la respuesta:

    • La longitud del descriptor de bloque en el encabezado de parámetros de modo es cero

    • La longitud de página para cada dato de página de modo es igual al valor documentado en MMC5.

  3. Validar los datos de la página modo para cada página notificada

  4. Envíe el comando Mode Sense para cada página notificada con los siguientes valores en la CDB:

    • Control de página = 0

    • Deshabilitar descriptores de bloque = 1

    • Longitud de asignación = Longitud de página notificada por la unidad en el paso 2

  5. Compruebe los siguientes valores en la respuesta:

    • La longitud del descriptor de bloque en el encabezado de parámetros de modo es cero.

    • El código de página del encabezado de página en modo coincide con el código de página solicitado.

    • La longitud de página en el encabezado de página en modo es igual al documento de valor en MMC5.

  6. Enviar el comando Mode Sense con longitud de asignación 0xFFF0

  7. Compruebe los siguientes valores en la respuesta:

    • La longitud del descriptor de bloque en el encabezado de parámetros del modo es cero

    • El código de página del encabezado de página en modo coincide con el código de página solicitado

  8. Enviar el comando Mode Sense con longitud de asignación 0x0A

  9. Compruebe si la respuesta coincide con el byte byte hasta el tamaño de respuesta (0x0A) con la respuesta para la longitud de asignación igual a 0xFFF0.

  10. Envíe el comando Mode Sense para un número aleatorio de veces entre 10 y 25 con longitudes de asignación aleatorias entre 0x0A y 0xFFF0.

  11. Compruebe si la respuesta coincide con el byte de bytes hasta el tamaño de respuesta (valor aleatorio entre 0x0A y 0xFFF0) con la respuesta para la longitud de asignación igual a 0xFFF0.

  12. [Opcional] Envíe el comando MODE SENSE con la marca de dirección de datos establecida en "en el dispositivo" y con los valores siguientes en la CDB para obtener todas las páginas de modo compatibles:

    • Control de página = 0

    • Deshabilitar descriptores de bloque = 1

    • Código de página = 0x3F

    • Longitud de asignación = 0x8000

Resultado: La unidad debe responder correctamente al comando GET CONFIGURATION.

COMANDO PREVENT ALLOW MEDIUM REMOVAL

Descripción: Para validar si la unidad admite el comando PREVENT ALLOW MEDIUM REMOVAL.

Medios aplicables: Cualquier medio compatible con el dispositivo

Pasos del caso de prueba:

  1. Envíe el comando PREVENT ALLOW MEDIUM REMOVAL con prevent bit establecido en 1 y Persistent bit establecido en 0. Esto bloquearía la unidad. Si se produce un error en el comando, se imprime la tecla sense y se produce un error en el caso de prueba.

  2. Envíe el comando start stop unit con locEj bit establecido en 1 y Immediate bit establecido en 0 y Start bit establecido en cero. Esto intentará expulsar el disco. Si la unidad no rechaza el comando con 0x05 0x53 de datos de detección, 0x02, se trata de un error.

  3. Envíe el comando Test Unit ready y asegúrese de que se realiza correctamente.

  4. Pida al usuario que presione el botón de expulsión para expulsar el medio.

  5. Envíe el comando Listo para la unidad de prueba y asegúrese de que sigue funcionando correctamente (la puerta no debe abrirse).

  6. Envíe el comando Prevent Allow Medium Removal (Impedir eliminación media) con prevent bit establecido en 0 y Persistent bit establecido en 0. Esto desbloquearía la unidad. Si se produce un error en el comando, se imprime la tecla sense y se produce un error en el caso de prueba.

  7. Pida al usuario que presione el botón de expulsión para expulsar el medio

  8. Espere a que el dispositivo abra la puerta: envíe el comando Listo para la unidad de prueba, si el comando se ejecuta correctamente, espere 1 segundo y vuelva a intentarlo hasta que se produzca un error (02/3A/02). Tiempo de espera después de 30 segundos.

  9. Si la unidad admite el mecanismo de carga automática, inserte la bandeja de nuevo en la unidad; de lo contrario, pida al usuario que vuelva a insertar la bandeja en la unidad.

  10. Espere a que el dispositivo esté listo

  11. [Opcional] Envíe el comando PREVENT ALLOW MEDIUM REMOVAL con la marca de dirección de datos establecida en "en el dispositivo" y pase los datos aleatorios en un búfer de tamaño aleatorio.

Resultado: La unidad debe responder correctamente al comando PREVENT ALLOW MEDIUM REMOVAL.

Comando REQUEST SENSE

Descripción: Para validar si la unidad admite el comando REQUEST SENSE.

Medios aplicables: Cualquier medio compatible con el dispositivo

Pasos del caso de prueba:

  1. Envíe el comando REQUEST SENSE, con el bit descriptor establecido en cero y Longitud de asignación establecida en 252. La unidad responderá con los datos de sentido de formato fijo.

  2. Si se produce un error en el comando, se imprime la tecla sense y se produce un error en el caso de prueba.

  3. Si el código de respuesta se 0x70 o 0x71 se supera la prueba en caso contrario, se produce un error en la prueba.

  4. [Opcional] Envíe el comando REQUEST SENSE, con la marca de dirección de datos establecida en "en el dispositivo" y con el bit descriptor establecido en cero y longitud de asignación establecida en 252. La unidad responderá con los datos de sentido de formato fijo.

Resultado: La unidad debe responder correctamente al comando REQUEST SENSE.

Comando START STOP UNIT, EJECT & LOAD PERFORMANCE

Descripción: Para validar si la unidad admite el comando START STOP UNIT.

Medios aplicables: Cualquier medio compatible con el dispositivo

Pasos del caso de prueba:

  1. Envíe el comando START STOP UNIT con los siguientes valores en el CDB.

    • Inmediato = 0, LoadEject = 0, Start = 0, PowerConditions = 0

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

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

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

  2. El comando se realizará correctamente para cada una de estas combinaciones.

  3. Si la unidad admite la expulsión de la bandeja, envíe el comando START STOP UNIT con los siguientes valores en la CDB para expulsar la bandeja.

    • Immediate = 1, LoadEject = 1, Start = 0, PowerConditions = 0
  4. Espere a que el dispositivo abra la puerta: envíe el comando TEST UNIT READY, si el comando se ejecuta correctamente, espere 5 segundos y vuelva a intentarlo hasta que se produzca un error (02/3A/02). Tiempo de espera después de 10 segundos.

  5. Si la unidad admite la carga de la bandeja (inserción automática), envíe el comando START STOP UNIT con los siguientes valores en la CDB para insertar la bandeja:

    • Inmediato = 1, LoadEject = 1, Start = 1, PowerConditions = 0
  6. Si la unidad no admite la carga de la bandeja, pida al usuario que vuelva a insertar la bandeja en la unidad.

  7. Espere a que el dispositivo esté listo: envíe el comando TEST UNIT READY, si se produce un error en el comando con una tecla de detección, espere 1 segundo y vuelva a intentarlo hasta que se realice correctamente. Tiempo de espera después de 30 segundos. LOGOTIPO PREMIUM: tiempo de espera: 20 segundos.

  8. Envíe el comando START STOP UNIT con los siguientes valores en el CDB para expulsar la bandeja:

    • Inmediato = 0, LoadEject = 1, Start = 0, PowerConditions = 0
  9. Espere a que el dispositivo abra la puerta: envíe el comando TEST UNIT READY, si el comando se ejecuta correctamente, espere 1 segundo y vuelva a intentarlo hasta que se produzca un error (02/3A/02). Tiempo de espera después de 30 segundos.

  10. Pedir al usuario que quite los medios

  11. Si la unidad admite la carga de la bandeja (inserción automática), envíe el comando START STOP UNIT con los siguientes valores en la CDB para insertar la bandeja:

    • Inmediato = 0, LoadEject = 1, Start = 1, PowerConditions = 0
  12. Asegúrese de que se produce un error en el comando con Not Ready / Medium not present /Tray closed (02/3A/01)

  13. Si la unidad admite la expulsión de la bandeja, envíe el comando START STOP UNIT con los siguientes valores en la CDB para expulsar la bandeja:

    • Inmediato = 0, LoadEject = 1, Start = 0, PowerConditions = 0
  14. Pida al usuario que coloque el medio en la bandeja.

  15. Si la unidad no admite la carga de la bandeja, pida al usuario que vuelva a insertar la bandeja en la unidad y espere hasta que el dispositivo esté listo. Si la unidad admite la carga de la bandeja (inserción automática), envíe el comando START STOP UNIT con los siguientes valores en la CDB, para insertar la bandeja y esperar hasta que el dispositivo esté listo.

    • Inmediato = 0, LoadEject = 1, Start = 1, PowerConditions = 0
  16. [Opcional] Envíe el comando START STOP UNIT con la marca de dirección de datos establecida en "en el dispositivo". Envíe un búfer de tamaño aleatorio con datos aleatorios y con los valores siguientes en la CDB.

    • Inmediato = 0, LoadEject = 0, Start = 0, PowerConditions = 0

Resultado: La unidad debe responder correctamente al comando START STOP UNIT.

Comando TEST UNIT READY

Descripción: Para validar si la unidad admite el comando TEST UNIT READY.

Medios aplicables: Cualquier medio compatible con el dispositivo

Pasos del caso de prueba:

  1. Envíe el comando TEST UNIT READY.

  2. Si se produce un error en el comando, se imprime la clave de detección y se produce un error en el caso de prueba.

  3. [Opcional] Envíe el comando TEST UNIT READY con la marca de dirección de datos establecida en "en el dispositivo" y con el búfer de tamaño aleatorio lleno de datos aleatorios.

Resultado: La unidad debe responder correctamente al comando TEST UNIT READY.

Comando GET CONFIGURATION

Descripción: Para validar si la unidad admite el comando GET CONFIGURATION para el perfil notificado.

Medios aplicables: Cualquier medio compatible con el dispositivo

Pasos del caso de prueba:

  1. Envíe el comando GET CONFIGURATION con una longitud de datos de respuesta de 0 bytes (sentido de datos sin especificar). Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

    • Propósito: permitir que el software sondee la compatibilidad del comando.
  2. Envíe el comando GET CONFIGURATION con la longitud de datos de respuesta de 4 bytes para obtener la longitud de datos del encabezado de característica. Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

    • Propósito: permitir que el software sondee la compatibilidad del comando.
  3. Envíe el comando GET CONFIGURATION con longitud de datos de respuesta de 8 bytes (para obtener el encabezado), RT=00b, Número de característica inicial=0000h. Si se produce un error en el comando o si el perfil actual es igual a 00h, imprima la clave de sentido según corresponda y produzca un error en el caso de prueba.

    • Propósitos:

      • permitir que el software sondee el tamaño de búfer de respuesta necesario.

      • permitir que el software sondee el perfil actual (un perfil es actual).

  4. Si el comando se realiza correctamente, compruebe lo siguiente en la respuesta.

    • La longitud de los datos en el encabezado no es cero y tiene cuatro bytes alineados

    • El número de perfil actual coincide con el tipo de medio cargado en la unidad

  5. Envíe el comando GET CONFIGURATION con la longitud de datos de respuesta leída en el paso 3, RT=00b, Starting Feature Number=0000h. Lea el perfil actual y busque este código de perfil en la lista de perfiles admitidos. Asegúrese de que el perfil actual coincide con el tipo de perfil del medio insertado. Si se produce un error en el comando o si el perfil actual no se notifica en la lista de perfiles admitidos, imprima la clave de detección según corresponda y produzca un error en el caso de prueba.

    • Propósito: asegúrese de la coherencia de la información notificada por la unidad.
  6. Envíe de nuevo el comando GET CONFIGURATION con RT=00b y con la longitud de datos correcta devuelta por el dispositivo en el paso3 si la longitud se ajusta a 2 bytes. Si la longitud supera los 2 bytes, envíe el comando con una longitud máxima de datos para 2 bytes.

    • Propósito: permita que el software recupere toda la lista de características compatibles con la unidad.
  7. Si la longitud supera los 2 bytes, lea el número de característica del último descriptor de características completo devuelto y emita el comando GET CONFIGURATION adicional con RT=10b y con el número de característica inicial igual a este número de característica más 1. Repita la operación hasta que la longitud de los datos devuelta en el encabezado de característica sea igual o menor a la longitud asignada. Concatene los descriptores de características resultantes para la comprobación en el paso 10.

  8. Para todos los comandos que se realizan correctamente en los pasos 3 a 6, compruebe si la longitud de los datos en el encabezado de la respuesta es múltiplo de 4 (4 bytes alineados). Se produce un error si no está alineado con 4 bytes. Propósito: el software asume la alineación de 4 bytes.

  9. Además, si los comandos se realizaron correctamente, compruebe que cada campo Versión de característica notificada y Longitud adicional son iguales o mayores que los valores respectivos de la característica especificada en el documento MMC-5. Por ejemplo: La versión de la característica principal debe ser 0010b o superior y su longitud adicional debe ser 8 o mayor. Propósito: asegúrese de la coherencia de la información notificada por la unidad. Si se notifica la característica de medios extraíbles, el número de versión de debe ser 1 como se especifica en el comando GET CONFIGURATION.

  10. Además, si los comandos se han realizado correctamente, compruebe que se notifica cada característica obligatoria para el perfil admitido notificado.

    • Propósito: asegúrese de la coherencia de la metainformación notificada por la unidad.
  11. Envíe el comando GET CONFIGURATION con una longitud de datos de respuesta de 20 bytes, RT=01b, Número de característica inicial=0010h (característica legible aleatoria). Si se produce un error en el comando o si no se devuelve el descriptor de característica legible aleatoria, imprima la clave de sentido según corresponda y genere un error en el caso de prueba. Propósito: permitir que el software sondee la moneda de característica específica (actual).

  12. [Opcional] Envíe el comando GET CONFIGURATION con la marca de dirección de datos establecida en "en el dispositivo" y con el búfer de tamaño aleatorio lleno de datos aleatorios. Los valores siguientes se establecen en la CDB:

    • Longitud de asignación = Tamaño del búfer, Número de característica inicial=0000h, RT=00b

Resultado: La unidad debe implementar correctamente el comando GET CONFIGURATION para los tipos de medios aplicables.

Comando GET PERFORMANCE

Descripción: Para validar si la unidad admite el comando GET PERFORMANCE para el perfil notificado.

Medios aplicables: Cualquiera de los siguientes medios:

  • CD-R

  • CD-ROM

  • CD-RW

  • DVD+R

  • Capa dual de DVD+R

  • DVD+RW

  • Sobrescritura restringida de DVD-RW

  • DVD-RAM

  • DVD-R

  • Seq de doble capa de DVD-R

  • DVD-ROM

  • BD-R

  • BD-RE

  • BD-ROM

Pasos del caso de prueba:

  1. Envíe el comando GET CONFIGURATION para obtener la característica STREAMING EN TIEMPO REAL. Compruebe la respuesta si está establecido el bit Descriptor de rendimiento de velocidad de escritura. Si no se establece, la unidad no admite descriptores de velocidad de escritura. Omita los pasos del 6 al 11, que validan los descriptores de velocidad de escritura.

  2. Envíe el comando GET PERFORMANCE con los siguientes valores en la CDB para obtener cero descriptores nominales de rendimiento de lectura.

    • Tipo = 0

    • Iniciar LBA = 1

    • Descriptores máximos = 0

    • Tipo de datos = 0x10

  3. Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

  4. Envíe el comando GET PERFORMANCE con los siguientes valores en la CDB para obtener un descriptor de rendimiento de lectura nominal.

    • Tipo = 0

    • Iniciar LBA = 1

    • Descriptores máximos = 1

    • Tipo de datos = 0x10

  5. Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

  6. Envíe el comando GET PERFORMANCE con los siguientes valores en la CDB para obtener un descriptor de rendimiento de escritura nominal.

    • Tipo = 0

    • Iniciar LBA = 1

    • Descriptores máximos = 1

    • Tipo de datos = 0x14

  7. Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

  8. Envíe el comando GET PERFORMANCE con los siguientes valores en la CDB para obtener la longitud de los datos de la lista de descriptores de velocidad de escritura.

    • Tipo = 3

    • Iniciar LBA = 1

    • Descriptores máximos = 0

    • Tipo de datos = 0x14

  9. Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

  10. Envíe el comando GET PERFORMANCE con los siguientes valores en la CDB para obtener la lista de descriptores de velocidad de escritura.

    • Tipo = 3

    • Iniciar LBA = 1

    • Descriptores máximos = 10

    • Tipo de datos = 0x14

  11. Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

  12. [Opcional] Envíe el comando GET PERFORMANCE con la marca de dirección de datos establecida en "en el dispositivo" y con el búfer de tamaño aleatorio lleno de datos aleatorios. Establezca con los siguientes valores en la CDB para obtener cero descriptores nominales de rendimiento de lectura.

    • Tipo = 0

    • Iniciar LBA = 1

    • Descriptores máximos = 0

    • Tipo de datos = 0x10

  13. Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

Resultado: La unidad debe implementar correctamente el comando GET PERFORMANCE para los tipos de medios aplicables.

Comando READ CAPACITY

Descripción: Para validar si la unidad admite el comando READ CAPACITY para el perfil notificado.

Medios aplicables: Cualquier medio compatible con el dispositivo

Pasos del caso de prueba:

  1. Envíe el comando READ CAPACITY.

  2. Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

  3. Si la longitud del bloque en bytes no es 2048, se producirá un error en el caso de prueba.

  4. [Opcional] Envíe el comando READ CAPACITY con la marca de dirección de datos establecida en "al dispositivo" y con el búfer de tamaño aleatorio lleno de datos aleatorios.

  5. Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

Resultado: La unidad debe implementar correctamente el comando READ CAPACITY para los tipos de medios aplicables.

Comando READ BUFFER CAPACITY

Descripción: Para validar si la unidad admite el comando READ BUFFER CAPACITY para el perfil notificado.

Medios aplicables: Cualquier medio compatible con el dispositivo.

Pasos del caso de prueba:

  1. Envíe el comando GET CONFIGURATION para obtener la característica STREAMING EN TIEMPO REAL. Compruebe la respuesta si está establecido el bit Bloque de capacidad de búfer de lectura (RBCB). Si no se establece, la unidad no admite el comando Capacidad de búfer de lectura. Omita el caso de prueba.

  2. Envíe el comando READ BUFFER CAPACITY con el bit de bloque establecido en 0 y Longitud de asignación igual al tamaño de la estructura de capacidad del búfer.

  3. Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

  4. Repita el paso 2 con Bloquear bit establecido en 1.

  5. Si se produce un error en el comando, imprima la clave de sentido y produzca un error en el comando.

  6. [Opcional] Envíe el comando READ BUFFER CAPACITY con la marca de dirección de datos establecida en "en el dispositivo" y con el búfer de tamaño aleatorio lleno de datos aleatorios y bit de bloque establecido en cero.

  7. Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

Resultado: La unidad debe implementar correctamente el comando READ BUFFER CAPACITY para los tipos de medios aplicables.

Comando READ DISC INFORMATION

Descripción: Para validar si la unidad admite el comando READ DISC INFORMATION para el perfil notificado.

Medios aplicables: Cualquiera de los siguientes medios:

  • DVD+R

  • DVD+RW

  • DVD-R

  • CD-R

  • CD-RW

Pasos del caso de prueba:

  1. Envíe el comando READ DISC INFORMATION, con la longitud de asignación de 2 para obtener el tamaño de información del disco estándar.

  2. Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

  3. Obtiene la longitud de la información del disco de la respuesta. Si la longitud es menor que el tamaño del bloque de información de disco estándar (34), se producirá un error en el caso de prueba.

  4. Envíe el comando READ DISC INFORMATION, con la longitud de asignación igual a la longitud de datos del paso 3 más 2.

  5. Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

  6. [Opcional] Envíe el comando READ DISC INFORMATION con la marca de dirección de datos establecida en "en el dispositivo" y con el búfer de tamaño aleatorio lleno de datos aleatorios y longitud de asignación establecida en el tamaño del búfer.

Resultado: La unidad debe implementar correctamente el comando READ DISC INFORMATION para los tipos de medios aplicables.

Comando READ FORMAT CAPACITIES

Descripción: Para validar si la unidad admite el comando READ FORMAT CAPACITIES para el perfil notificado.

Medios aplicables: Cualquiera de los siguientes medios:

  • DVD+RW

  • Sobrescritura restringida de DVD-RW

  • DVD-RAM

  • CD-RW

Pasos del caso de prueba:

  1. Envíe el comando READ FORMAT CAPACITYS con la longitud de asignación igual a 4 (encabezado de lista de capacidad).

  2. Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

  3. Obtención de la longitud de la lista de capacidad de la respuesta

  4. Envíe el comando READ FORMAT CAPACITYS con Longitud de asignación igual a Longitud de lista de capacidad + 4 (tamaño del encabezado de lista de capacidad).

  5. Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

  6. Compruebe la respuesta si la longitud de la lista de capacidad es múltipla de 8.

  7. [Opcional] Envíe el comando READ FORMAT CAPACITIES con la marca de dirección de datos establecida en "al dispositivo" y con el búfer de tamaño aleatorio lleno de datos aleatorios y longitud de asignación establecida en el tamaño del búfer.

Resultado: La unidad debe implementar correctamente el comando READ FORMAT CAPACITIES para los tipos de medios aplicables.

Comando READ TOC/PMA/ATIP

Descripción: Para validar si la unidad admite el comando READ TOC/PMA/ATIP para el perfil notificado.

Medios aplicables: Cualquiera de los siguientes medios:

  • CD-ROM

  • DVD-ROM

  • BD-ROM

Pasos del caso de prueba:

  1. Envíe el comando READ TOC/PMA/ATIP con los siguientes valores en la CDB.

    • Format = 0, MSF = 0, Track Session Number = 1, Allocation Length = 4
  2. Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

  3. [Opcional] Envíe el comando READ TOC/PMA/ATIP con la marca de dirección de datos establecida en "en el dispositivo" y con el búfer lleno de datos aleatorios y longitud de asignación establecida en el tamaño del búfer. Establezca la CDB con los valores siguientes:

    • Format = 0, MSF = 0, Track Session Number = 1, Allocation Length = 4

Resultado: La unidad debe implementar correctamente el comando READ TOC/PMA/ATIP para los tipos de medios aplicables.

Comando SEND OPC INFORMATION

Descripción: [Este contenido aún no está disponible.]

Medios aplicables: Cualquiera de los siguientes medios:

  • Sobrescritura restringida de DVD-RW

  • DVD-R

  • CD-RW

  • CD-R

Pasos del caso de prueba:

  1. Enviar el comando SEND OPC INFORMATION con DoOpc establecido en 1

  2. Si se produce un error en el comando, imprima la clave de detección y produzca un error en el caso de prueba.

  3. [Opcional] Envíe el comando SEND OPC INFORMATION con DoOpc establecido en 1, la marca de dirección de datos establecida en "en el dispositivo" y con el búfer de tamaño aleatorio rellenado con datos aleatorios. La longitud de asignación se establece en el tamaño del búfer.

Resultado: La unidad debe implementar correctamente el comando SEND OPC INFORMATION para los tipos de medios aplicables.

Comando SET CD SPEED

Descripción: Para validar si la unidad admite el comando SET CD SPEED para el perfil notificado.

Medios aplicables: Cualquier medio compatible con el dispositivo

Pasos del caso de prueba:

  1. Envíe el comando GET CONFIGURATION para obtener la característica STREAMING EN TIEMPO REAL. Compruebe la respuesta si se ha establecido el bit Set CD Speed (SCS). Si no se establece, la unidad no admite el comando SET CD SPEED. Omita el caso de prueba.

  2. Envíe el comando SET CD SPEED, con los siguientes valores en la CDB.

    • RotationalControl = 0, ReadSpeed = 0xFFFF, WriteSpeed = (((4* 75 * 2352) + 500) / 1000) Si el comando no imprime la tecla de detección y produce un error en el caso de prueba
  3. [Opcional] Envíe el comando SET CD SPEED con la marca de dirección de datos establecida en "en el dispositivo" y con el búfer de tamaño aleatorio lleno de datos aleatorios. Establezca los valores siguientes en la CDB.

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

Resultado: La unidad debe implementar correctamente el comando SET CD SPEED para los tipos de medios aplicables.

Comando READ10

Descripción: Para validar si la unidad admite el comando READ10 para el perfil notificado.

Medios aplicables: Cualquiera de los siguientes medios:

  • CD-ROM

  • DVD-ROM

Pasos del caso de prueba:

  1. Enviar comando READ TOC/PMA/ATIP con longitud de asignación igual al tamaño del encabezado de respuesta READ TOC ( 4 bytes)

  2. Envíe el comando READ TOC/PMA/ATIP con Longitud de asignación igual al tamaño del encabezado de respuesta READ TOC ( 4 bytes) + la longitud de datos del encabezado de respuesta del paso 1.

  3. Compruebe todos los descriptores read TOC con formato, si alguno de sus controles está establecido en 0x04

  4. Si no se encuentra, se produce un error en el caso de prueba.

  5. De lo contrario, obtenga la dirección inicial de la pista del descriptor de seguimiento toc con formato.

  6. Envíe el comando Read Capacity con el campo LBA establecido en cero para obtener el tamaño de bloque.

  7. Envíe el comando De lectura con la longitud de transferencia establecida en cero e Iniciar LBA establecido en el LBA desde el paso 5.

  8. Calcular el número de bloques que se van a leer

  9. Si el LBA en la respuesta de capacidad de lectura es menor que el LBA del paso 5, el número de bloques que se van a leer se establece en 0.

  10. Si el LBA en la respuesta de capacidad de lectura es mayor que el LBA del paso 5, establezca el número de bloques para leer igual a la diferencia entre el LBA de la respuesta de capacidad de lectura y el LBA del paso 5. Si ese valor es mayor que 50, establezca el número de bloques que se leerán en 50.

  11. Establezca el LBA inicial en el CDB de lectura 10 en el LBA del paso 5.

  12. Enviar el comando read10 con la longitud de transferencia establecida en 1

  13. Suspensión para 10 milisegundos

  14. Incrementar el LBA inicial en el CDB de lectura 10

  15. Repita los pasos del 12 al 14 hasta que se lea todo el número de bloques.

  16. [Opcional] Envíe el comando READ10 con la marca de dirección de datos establecida en "en el dispositivo" y con el búfer de tamaño aleatorio lleno de datos aleatorios. Establezca los valores siguientes en la CDB.

    • TransferLength = 1, Iniciando LBA = valor LBA aleatorio en el intervalo LBA de Número de LBA del paso 8 con el inicio de LBA desde el paso 5

Resultado: La unidad debe implementar correctamente el comando READ10 para los tipos de medios aplicables.

Notificación de eventos

Descripción: Para validar si la notificación de eventos del dispositivo se notifica correctamente al PNP de Windows.

Medios aplicables: Cualquier medio compatible con el dispositivo

Pasos del caso de prueba:

  1. Si el campo BusType de la estructura de STORAGE_ADAPTER_DESCRIPTOR de la unidad se establece en BusTypeSata, envíe IOCTL_ATA_PASS_THROUGH con la solicitud de identificar los datos de información del dispositivo de paquete. En la respuesta, compruebe que el bit 5 de la palabra 78 (se admite la característica de notificación asincrónica) y el bit 5 de la palabra 79 (la característica de notificación asincrónica está habilitada) están establecidos. De lo contrario, se produce un error en la prueba.

  2. Regístrese para el evento De cambio operativo.

  3. Compruebe si el medio está presente.

  4. Si el medio está presente, expulse los medios.

  5. Espere al evento MEDIA REMOVAL. Si el evento no se genera en un tiempo de espera de 60 segundos, se producirá un error en el caso de prueba.

  6. Inserte el medio en la unidad.

  7. Espere al evento MEDIA ARRIVAL. Si el evento no se genera en un tiempo de espera de 60 segundos, se producirá un error en el caso de prueba.

Resultado: La unidad debe implementar correctamente las notificaciones de eventos.

Escritura de pruebas

Descripción: Valida las funcionalidades de escritura de la unidad para el contenido de datos en el contexto de IMAPI. El dispositivo se prueba con varias velocidades de escritura notificadas por la unidad. La prueba también valida las funcionalidades de multisesión del dispositivo se aplica a los medios insertados.

Medios aplicables: Cualquiera de los siguientes medios (depende de la operación de unidad):

  • Escritura secuencial:

    • CD-R

    • CD-RW

    • DVD+R

    • DVD-R

    • DVD-RAM

    • BD-R

    • BD-RE

  • Sobrescritura restringida:

    • DVD-RW
  • Modo de paquete:

    • DVD+RW
  • Multisesión:

    • CD-R

    • CD-RW

    • DVD-R

    • DVD+R

    • BD-R

Pasos del caso de prueba:

  1. Pida al usuario que inserte medios en blanco.

  2. Llame a la API IDiscFormat2Data::get_CurrentMediaStatus para comprobar si el medio está en blanco.

  3. Si el medio no está en blanco y si es uno de los siguientes tipos de medios reescritos, borre el medio enviando el comando en blanco con una opción en blanco mínima.

    • CD-RW

    • Grabación secuencial DVD-RW

    • Sobrescritura restringida de DVD-RW

    • DVD+RW

    • DVD-RAM

    • BD-RE

  4. Si el medio no es un medio reescritable, pida al usuario que inserte el medio en blanco. Vuelva a intentarlo 3 veces; de lo contrario, se producirá un error en el caso de prueba.

  5. Si el medio no es un medio reescritable, pida al usuario que inserte el medio en blanco. Vuelva a intentarlo 3 veces; de lo contrario, se producirá un error en el caso de prueba.

  6. Obtenga la lista de descriptores de velocidad de escritura llamando a la API IDiscFormat2Data::get_SupportedWriteSpeedDescriptors.

  7. Aleatorizar el orden de las velocidades de escritura notificadas

  8. Establezca la velocidad de escritura llamando a la API IDiscFormat2Data::SetWriteSpeed con una de las velocidades de escritura del paso 6.

  9. Cree un tamaño de datos aleatorio con el intervalo del 10 % del espacio disponible en el medio. Rellene el búfer con datos aleatorios.

  10. Obtenga el número de bloques gratuitos en el disco mediante la API IDiscFormat2Data::get_FreeSectorsOnMedia.

  11. Obtenga la siguiente dirección grabable mediante la API IDiscFormat2Data::get_NextWritableAddress.

  12. Escriba el búfer de datos del paso 8 mediante IDiscFormat2Data::Write.

  13. Si la unidad admite el mecanismo de inyección automática, expulse e inserte el medio en la bandeja.

  14. Si el medio no es DVD-RW, DVD+RW, DVD-RAM, BD-RE entonces:

    • Obtenga el número de bloques gratuitos en el disco mediante la API IDiscFormat2Data::get_FreeSectorsOnMedia.

    • Compruebe si el número de sectores libres es menor que el valor del paso 9 por el tamaño de los datos de escritura en el paso 8.

    • Obtenga la siguiente dirección grabable mediante la API IDiscFormat2Data::get_NextWritableAddress.

    • Compruebe que la siguiente dirección grabable sea mayor que la siguiente dirección grabable del paso 10 por el tamaño de los datos de escritura en el paso 8.

    • Lee datos del disco y compara si coincide con los datos escritos en el medio en el paso 11.

  15. Obtención de la última información de seguimiento

  16. Si el medio no es DVD-RW, compruebe si el tamaño de pista lógica es mayor o igual que el tamaño de los datos que hemos escrito.

  17. Compruebe si el número de seguimiento lógico es correcto.

  18. Obtenga la página Modo de parámetros de escritura.

  19. Compruebe si la información de seguimiento notificada por la unidad no es Packet/Incremental si la página del modo Parámetros de escritura notifica como paquete fijo.

  20. Lea la información del disco y compruebe si el número de coincidencias de sesión.

  21. Si el medio no es DVD-RW, DVD+RW y DVD-RAM, repita los pasos de 7 a 19 para cada velocidad de escritura. Si la unidad devolvió solo una velocidad de escritura, repita los pasos 7 a 19 una vez más para agregar una sesión más al disco para validar las funcionalidades de multisesión.

Resultado: La unidad debe ser capaz de quemar los datos en el contexto de IMAPI.

MEDIOS DE AUDIO (ESCRIBIR PISTAS DE AUDIO)

Descripción: Valide las funcionalidades de escritura de la unidad para el contenido de audio en el contexto de IMAPI.

Medios aplicables: Cualquiera de los siguientes medios:

  • CD-R

  • CD-RW

Pasos del caso de prueba:

  1. Si el medio no está en blanco y si es el tipo de medio CD-RW, borre los medios enviando el comando en blanco con una opción en blanco mínima.

  2. Si el medio no es un medio reescritable, pida al usuario que inserte el medio en blanco. Vuelva a intentarlo 3 veces; de lo contrario, se producirá un error en el caso de prueba.

  3. Bloquee el medio para acceso exclusivo llamando a DiscFormat2TrackAtOnce::P repareMedia.

  4. Obtenga la lista de descriptores de velocidad de escritura llamando a la API IDiscFormat2TrackAtOnce::get_SupportedWriteSpeeds.

  5. Elija el número aleatorio de pistas de audio entre 3 y 10.

  6. Aleatorizar el orden de las velocidades de escritura notificadas.

  7. Establezca la velocidad de escritura llamando a la API IDiscFormat2TrackAtOnce::SetWriteSpeed del paso 1.

  8. Obtenga el número de bloques gratuitos en el disco mediante la API IDiscFormat2Data::get_FreeSectorsOnMedia.

  9. Cree datos de audio de tamaño aleatorio de 1 minuto a datos de audio de 10 minutos. El tamaño de los datos debe ser un múltiplo de 2352.

  10. Agregue la secuencia de datos de audio a IDiscFormat2TrackAtOnce::AddAudioTrack.

  11. Obtener la última información de seguimiento

  12. Compruebe si el tamaño de la pista lógica es mayor o igual que el tamaño de la pista de audio que hemos escrito.

  13. Compruebe si el número de seguimiento lógico es correcto.

  14. Obtenga el número de sectores gratuitos en los medios llamando a IDiscFormat2TrackAtOnce::FreeSectorsOnMedia.

  15. Compruebe si el número de sectores libres del paso 14 es menor que el valor del paso 8 por el tamaño de la pista de audio escrita en el medio.

  16. Repita los pasos del 5 al 15 para el número de pistas de audio del paso 5.

  17. Obtener la página Modo de parámetros de escritura

  18. Compruebe si la información de seguimiento notificada por la unidad no es Packet/Incremental si la página del modo de parámetros de escritura notifica como paquete fijo.

  19. Repita los pasos del 1 al 18 para cada velocidad de escritura.

  20. Si la unidad admite el mecanismo de inyección automática, expulse e inserte el medio en la bandeja.

Resultado: La unidad debe ser capaz de grabar el medio de audio en el contexto de IMAPI.

Blanco

Descripción: Valida las funcionalidades de formato o en blanco de la unidad en el contexto de IMAPI.

Medios aplicables: Cualquiera de los siguientes medios:

  • CD-RW

  • DVD+RW

  • Sobrescritura restringida de DVD-RW

  • BD-RE

Pasos del caso de prueba:

  1. Compruebe si el medio es uno de los siguientes tipos de medios de escritura de lectura llamando a la API IDiscFormat2Data::CurrentPhysicalMediaType.

    • CD-RW

    • DVD-RW

    • DVD+RW

  2. Si el medio no es uno de los tipos de medios de escritura de lectura, omita el caso de prueba.

  3. Compruebe si el medio es un medio en blanco llamando a la API IDiscFormat2Erase::MediaPhysicallyBlank.

  4. Si el medio está en blanco, vaya al paso 7.

  5. Cree un flujo de datos aleatorio de 25 MB.

  6. Escriba el flujo de datos en el disco mediante la API IDiscFormat2Data::Write.

  7. Compruebe si la unidad notifica los medios como medios que no están en blanco llamando a la API IDiscFormat2Data::get_CurrentMediaStatus.

  8. Si la unidad sigue informando de medios como en blanco, se producirá un error en el caso de prueba.

  9. Implemente borrador del controlador de eventos DDiscFormat2EraseEvents::Update.

  10. Llame a la API IDiscFormat2Erase::p ut_FullErase y establezca la opción de borrado en false, de modo que haga un espacio en blanco mínimo.

  11. Envíe el comando en blanco mediante la API IDiscFormat2Erase::EraseMedia.

  12. Llame a la API IDiscFormat2Data::get_CurrentMediaStatus para comprobar si el medio está en blanco.

  13. Leer información del disco y comprobar si el

    • El número de sesiones notificadas es 1.

    • La primera pista de la última sesión es 1.

    • La última pista de la última sesión es 1.

  14. Llame a la API IDiscFormat2Erase::p ut_FullErase y establezca la opción de borrado en blanco completo. Repita los pasos del 9 al 14.

Resultado: La unidad debe ser capaz de dar formato al medio en el contexto de IMAPI.

Escritura de medios de doble capa

Descripción: Valida las funcionalidades de escritura de para los medios de doble capa en el contexto de IMAPI. El dispositivo se prueba con varias velocidades de escritura notificadas por la unidad.

Medios aplicables: Cualquiera de los siguientes medios:

  • DVD+R DL

  • DVD-R DL

Pasos del caso de prueba:

  1. Pida al usuario que inserte medios en blanco.

  2. Llame a la API IDiscFormat2Data::get_CurrentMediaStatus para comprobar si el medio está en blanco.

  3. Si el medio no es un medio reescritable, pida al usuario que inserte el medio en blanco. Vuelva a intentarlo 3 veces; de lo contrario, se producirá un error en el caso de prueba.

  4. Obtenga la lista de descriptores de velocidad de escritura llamando a la API IDiscFormat2Data :: get_SupportedWriteSpeedDescriptors.

  5. Aleatorizar el orden de las velocidades de escritura notificadas

  6. Establezca la velocidad de escritura llamando a la API IDiscFormat2Data::SetWriteSpeed con una de las velocidades de escritura del paso 5.

  7. Cree un flujo de datos aleatorio de tamaño aleatorio hasta el 50 % del espacio disponible en el medio. Rellenar el búfer con datos aleatorios

  8. Escriba el búfer de datos del paso 7 mediante IDiscFormat2Data :: Write.

  9. Si la unidad admite el mecanismo de inyección automática, expulse e inserte el medio en la bandeja.

  10. Lea los datos del disco y compare si coincide con los datos escritos en el medio en el paso 9.

  11. Obtenga la última información de seguimiento.

  12. Compruebe si el tamaño de la pista lógica es mayor o igual que el tamaño de los datos que hemos escrito.

  13. Compruebe si el número de seguimiento lógico es correcto.

  14. Obtenga la página Modo de parámetros de escritura.

  15. Compruebe si la información de seguimiento notificada por la unidad no es Packet/Incremental si la página del modo Parámetros de escritura notifica como paquete fijo.

  16. Lea la información del disco y compruebe si el número de coincidencias de sesión.

  17. Repita los pasos del 8 al 16 con un flujo de datos aleatorio de tamaño aleatorio de hasta el 100 % del espacio disponible en el medio.

    Advertencia

       Estos últimos pasos son probar si la unidad puede escribir correctamente los datos en la capa dual.

     

Resultado: La unidad debe ser capaz de quemar los datos en ambas capas del medio de doble capa en el contexto de IMAPI.

Unidad de solo lectura

Descripción: Pruebe la funcionalidad de lectura de una unidad de solo lectura en un disco abierto (append able) y cerrado (finalizado).

Advertencia

   Este caso de prueba requiere una unidad de escritura secundaria para crear el disco de datos de prueba para el perfil de prueba correspondiente.

 

Medios aplicables: Cualquiera de los medios siguientes:

  • CD-ROM

  • DVD-ROM

  • BD-ROM

Pasos del caso de prueba:

  1. Expulsar la bandeja de la unidad de escritura.

  2. Si el perfil de prueba es

    • CD-ROM pide al usuario que inserte CD-R/CD-RW en la unidad de escritura.

    • DVD-ROM pide al usuario que inserte DVD+R/DVD-R/DVD+RW/DVD-RAM en la unidad de escritura.

    • BD-ROM pide al usuario que inserte BD-R/ BD-RE en la unidad de escritura.

  3. Inserte la bandeja de unidades del sistema de escritura.

  4. Obtenga la lista de descriptores de velocidad de escritura llamando a la API IDiscFormat2Data :: get_SupportedWriteSpeedDescriptors.

  5. Cree un flujo de datos aleatorio de tamaño aleatorio hasta el 10 % del espacio disponible en el medio. Rellene el búfer con datos aleatorios.

  6. Establezca la velocidad de escritura llamando a la API IDiscFormat2Data::SetWriteSpeed con el primer valor del descriptor de velocidad de escritura del paso 4.

  7. Escriba el búfer de datos del paso 5 mediante IDiscFormat2Data::Write en el medio de la unidad de escritura.

  8. Expulsar la bandeja de la unidad de escritura si admite el mecanismo de expulsión automática. De lo contrario, pida al usuario que presione el botón de expulsión.

  9. Expulsar la bandeja de la versión de prueba si admite el mecanismo de expulsión automática expulsa la bandeja; de lo contrario, pida al usuario que presione el botón de expulsión.

  10. Pida al uso que quite el medio de la unidad de escritura y colóquelo en la versión de prueba.

  11. Inserte la bandeja de la unidad de escritura si admite el mecanismo de inserción automática (carga de la bandeja). De lo contrario, pida al usuario que inserte la bandeja en la unidad.

  12. Inserte la bandeja de la versión de prueba si admite la inserción automática (carga de la bandeja). De lo contrario, pida al usuario que inserte la bandeja en la unidad.

  13. Lee datos del disco de la versión de prueba y compara si coincide con los datos escritos en el medio en el paso 7.

  14. Establezca IDiscFormat2Data::ForceMediaToBeClosed en true y Repita los pasos 1 a 13 para validar la versión de prueba en un disco finalizado.

Resultado: La unidad debe ser capaz de leer los medios cerrados y abiertos.

Número de serie de unidad

Descripción: Valida que el número de serie de la unidad devuelta por la versión de prueba cumple con MMC/Mt. Normas de especificación fuji.

Advertencia

   Este caso de prueba requiere dos unidades idénticas para validar si ambas unidades devuelven números de serie únicos. Un dispositivo de prueba principal y el otro es una versión de prueba secundaria.

 

Medios aplicables: Cualquier medio compatible con el dispositivo

Pasos del caso de prueba:

  1. Envíe el comando INQUIRY al dispositivo de prueba principal con la longitud de asignación igual a 05h.

  2. Si el comando se ejecuta correctamente, obtenga el valor de longitud adicional del encabezado de respuesta.

  3. Vuelva a enviar el comando INQUIRY al dispositivo principal con la longitud de asignación establecida en 5 bytes más que la longitud adicional del paso 2.

  4. Si el comando obtiene correctamente la identificación del proveedor, la identificación del producto y el nivel de revisión del producto.

  5. Repita el paso 1 a 4 para la unidad secundaria y obtenga el nivel de identificación del proveedor, identificación del producto y revisión del producto.

  6. Compare los valores de Identificación del proveedor, Identificación del producto y Nivel de revisión del producto del paso 4 y del paso 5. Si no coinciden, se producirá un error en el caso de prueba.

    Advertencia

       Esto es para asegurarse de que ambas versiones de prueba sean idénticas.

     

  7. Envíe el comando GET CONFIGURATION a la versión de prueba principal para obtener la característica NÚMERO DE SERIE DE UNIDAD LÓGICA con longitud de asignación igual al tamaño del descriptor de característica NÚMERO DE SERIE DE UNIDAD LÓGICA.

  8. Compruebe la respuesta si el código de la característica coincide con el código de característica NÚMERO DE SERIE DE UNIDAD LÓGICA. Obtiene la longitud adicional.

  9. Envíe el comando GET CONFIGURATION a la versión de prueba principal para obtener la característica NÚMERO DE SERIE DE UNIDAD LÓGICA con longitud de asignación igual al tamaño del descriptor de características NÚMERO DE SERIE DE UNIDAD LÓGICA más la longitud adicional necesaria notificada en el paso 8.

  10. Compruebe lo siguiente en la respuesta:

    • El código de característica coincide con el código de característica DE NÚMERO DE SERIE DE UNIDAD LÓGICA.

    • Los datos del número de serie notificados están en ASCII.

    • Los datos se rellenan.

    • No hay datos después del relleno.

  11. Repita entre 7 y 9 para el dispositivo de prueba secundario y obtenga el número de serie de la unidad.

  12. Compare los números de serie de unidad del paso 10 y del paso 11. Se espera que las unidades devuelvan números de serie únicos. Si ambos números de serie son iguales, produzca un error en el caso de prueba.

Resultado: La unidad debe devolver un número de serie único y ese número debe cumplir con MMC/Mt. Normas Fuji.

Streaming en tiempo real

Descripción: Valida que las funcionalidades de streaming en tiempo real de la unidad para el contenido de datos en el contexto de cdrom.sys controlador. El dispositivo se prueba con varias velocidades de lectura y escritura notificadas por la unidad.

Medios aplicables: Cualquier medio compatible con el dispositivo

Pasos del caso de prueba:

  1. Pida al usuario que inserte medios.

  2. Si los medios no se pueden escribir o se pueden volver a escribir, continúe con la prueba de lectura en el paso 13.

  3. Llame a la API IDiscFormat2Data::get_CurrentMediaStatus para comprobar si el medio está en blanco.

  4. Si el medio no está en blanco y es uno de los siguientes tipos de medios reescritibles, borre el medio enviando el comando en blanco con una opción en blanco mínima.

    • CD-RW

    • Grabación secuencial dvd-RW

    • Sobrescritura restringida de DVD-RW

    • DVD+RW

    • DVD-RAM

    • BD-RE

  5. Si el medio no es un medio reescrito, pida al usuario que inserte el medio en blanco. Vuelva a intentarlo 3 veces; de lo contrario, produzca un error en el caso de prueba.

  6. Envíe el comando GET CONFIGURATION con la solicitud de la característica STREAMING EN TIEMPO REAL. Si no se realiza correctamente o el bit actual no se establece, se producirá un error en la prueba.

  7. Si el bit de escritura de secuencias (SW) o el bit del descriptor de rendimiento de velocidad de escritura (WSPD) de la respuesta de la característica streaming en tiempo real no se establece, se producirá un error en la prueba.

  8. Envíe el comando GET PERFORMANCE con la solicitud de descriptores de velocidad de escritura y compilación y matriz de velocidades de escritura admitidas. Si el comando no se realiza correctamente, se producirá un error en la prueba.

  9. Ordena aleatoriamente la matriz de velocidad de escritura.

  10. Si el tamaño de los medios libres supera el 10 % de su capacidad completa, llama a DeviceIoControl con IOCTL_CDROM_SET_SPEED y CDROM_SET_STREAMING estructura proporcionada para la siguiente velocidad de escritura. Escriba datos aleatorios hasta el 10 % de capacidad completa y mida la velocidad (consulte la sección correspondiente de este documento para medir la descripción del procedimiento).

  11. Repita el paso 10 siempre que sea posible. Si todas las velocidades de escritura se sondean ordena la matriz de velocidad y establecen la siguiente velocidad de escritura al principio.

  12. Enviar comandos CLOSE TRACK SESSION para finalizar el medio

  13. Si se establece el bit del descriptor de rendimiento de velocidad de escritura (WSPD) de la respuesta de la característica streaming en tiempo real, envíe el comando GET PERFORMANCE con la solicitud de descriptores de velocidad de escritura y cree una matriz de velocidades de lectura admitidas; de lo contrario, envíe el comando GET PERFORMANCE con la solicitud de datos de rendimiento en tiempo real con bits de tolerancia establecidos en 10b (nominal) y para las velocidades de lectura, seleccione el valor más bajo de los campos Start Performance y End Performance en la respuesta. Si alguno de los comandos no se ha realizado correctamente, no se pudo realizar la prueba.

  14. Ordena la matriz de velocidad de lectura.

  15. Establezca la longitud de lectura en el tamaño de la primera pista del medio.

  16. Para cada velocidad de lectura, llame a DeviceIoControl con IOCTL_CDROM_SET_SPEED y CDROM_SET_STREAMING estructura proporcionada para la siguiente velocidad de lectura. Lea todos los datos registrados en los medios en fragmentos del 10 % de la capacidad de los medios (o al menos 5 MB si el medio tiene menos de 50 MB de datos) y mida la velocidad de cada fragmento. Si la velocidad real de cualquier fragmento está por debajo de la velocidad solicitada para cualquiera de los fragmentos marca el error de la prueba.

Resultado: La unidad debe ser capaz de funcionar en modo de streaming en tiempo real.

Medida de velocidad de escritura

La prueba consulta el dispositivo y obtiene las velocidades de escritura admitidas para los medios de prueba. A continuación, intentará validar el escenario de escritura para todas las velocidades de escritura notificadas. La prueba espera que las velocidades de escritura calculadas para cada escenario de escritura se acerquen a la velocidad de escritura establecida en la unidad. La prueba permite una tolerancia del 10 % para la velocidad de escritura medida. La prueba valida la velocidad de escritura como se indica a continuación.

La prueba escribe datos en el medio y supervisa la cantidad de datos que se escriben. Excluye el tiempo de los datos escritos iniciales del 10 % de los datos escritos finales del 10 %. Mide el tiempo solo para los datos intermedios del 80 % y calcula la velocidad de esos datos y agrega una tolerancia del 10 % a ese valor. Por lo tanto, si "x" es la velocidad calculada para los datos intermedios del 80 %, la velocidad calculada final es de 1,1x. La prueba espera que este valor sea mayor o igual que la velocidad establecida en la unidad antes de comenzar la escritura.

La prueba excluye el 10 % inicial del tiempo escrito de datos para permitir que la unidad se prepare para escribir. El tiempo final de datos del 10 % se excluye para permitir que la unidad realice la limpieza adecuada de los datos escritos en el medio.

Grabaciones sin formato de medios de audio sin formato

Descripción: Valida las funcionalidades de escritura de la unidad para el contenido de audio sin formato sin espacio en el contexto de IMAPI.

Medios aplicables: Cualquiera de los medios siguientes:

  • CD-R

  • CD-RW

Pasos del caso de prueba:

  1. Compruebe si la unidad con medios insertados admite o no la grabación sin formato. Si no se admite, se producirá un error en las pruebas.

  2. Compruebe los tipos de sector admitidos por la versión de prueba.

  3. Para cada tipo de sector admitido por la versión de prueba, complete los pasos del 4 al 9.

  4. Cree la imagen sin procesar.

  5. Establezca el tipo de sector correcto y cree el flujo de resultados para la imagen sin procesar.

  6. Determine si la imagen sin formato no tiene espacio o no.

  7. Elija aleatoriamente una velocidad de escritura y establézcala para que sea la velocidad de grabación. Establezca el tipo de sector solicitado para que sea el que se ha establecido para la imagen sin procesar. Escriba la secuencia de la imagen sin procesar en el medio y watch el progreso. Calcule la velocidad de quema e imprima el rendimiento.

  8. Determine si la escritura se realiza correctamente comprobando cada información de pista lógica. Compruebe si la pista es una pista de audio, si el tamaño de la pista es correcto y si el tamaño del último número de pista lógica más su dirección de inicio es igual a la dirección inicial del cliente potencial fuera del disco. Si alguna de las condiciones devuelve false, se producirá un error en las pruebas. De lo contrario, pasará.

  9. Realice una lectura sin procesar para los medios. Para cada pista, compruebe si la pista es audio. Si no es así, produzca un error en las pruebas, ya que la grabación ya se ha asegurado de que las pistas son pistas de audio. Calcule el desplazamiento inicial y el desplazamiento final de la pista. Realice la lectura de la pista a partir del desplazamiento inicial y termine en el desplazamiento final de la pista. Si se produce un error durante el proceso de lectura, se produce un error en las pruebas;

Resultado: La unidad debe ser capaz de quemar la imagen de audio sin formato sin espacio en el contexto de IMAPI.

Uso de comandos

Comando Descripción

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

Ejecuta la prueba.

Nota

   Para obtener ayuda de línea de comandos para este archivo binario de prueba, escriba /h.

 

Sintaxis de comandos

Opción de comando Descripción

unidad

Probar la letra de unidad del dispositivo óptico.

Ejemplo: /drive e:\\

adaptador

ruta de acceso (usada para la prueba del adaptador).

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

PrimaryTestDrive

Probar la letra de unidad del dispositivo óptico.

Ejemplo: /PrimaryTestDrive e:\\

SecondaryTestDrive

Letra de unidad del dispositivo de prueba óptica secundaria.

Ejemplo: /Secondary Test Drive f:\\

WriterDrive

Letra de unidad del escritor que debe usarse para probar las unidades de solo lectura.

Ejemplo: /WriterDrive f:\\

PrimaryDriveTray

Funcionalidades principales de la bandeja de dispositivos ópticos.

Ejemplo: /PrimaryDriveTray SupportsEjectInject

SecondaryDriveTray

Funcionalidades secundarias de bandeja de dispositivos ópticos.

Ejemplo: /SecondaryDriveTray SupportsEjectInject

WriterDriveTray

Funcionalidades de bandeja de unidad de escritura.

Ejemplo: /WriterDriveTray SupportsEjectInject

perfil

Ejecutar perfiles especificados de casos de prueba. El identificador de perfil debe estar separado por comas y decimales sin espacios.

Ejemplo: /profile 9,10,16

seed

Valor de inicialización para generar datos de prueba aleatorios.

Ejemplo: /seed 1000

RunTestCaseTypes

Ejecuta solo la categoría de casos de prueba.

Ejemplo: dispositivo /RunTestCaseTypes

RunTestCase

Ejecuta solo este caso de prueba.

Ejemplo: /RunTestCase Inquiry

automatización

Ejecute en modo de automatización mediante el robot para cambiar el medio.

Ejemplo: /Automation

AutomationConfigFile

El archivo de configuración usado para especificar la ubicación de discretización de los medios.

Ejemplo: /AutomationConfigFile OpticalLogoTest.exe.config

Calibrar

Calibrar el robot usado para cambiar el medio.

Ejemplo: /Calibrate

Logotipo

Nivel de requisitos de certificación que se van a probar.

Ejemplo: /logo basic o /logo premium

ReuseMedia

Reutilice los medios que no están en blanco para las pruebas. La prueba no esperará que el medio esté en blanco si se admite la multisesión para ese medio. Esta opción es solo para pruebas. No permitido para la certificación.

Ejemplo: /ReuseMedia

SkipFullBlank

Omita el escenario en blanco completo y pruebe solo en blanco mínimo.

Ejemplo: /SkipFullBlank

SkipManualTestCases

Omita los casos de prueba que necesitan interacción manual.

Ejemplo: /SkipManualTestCases

RunDataDirectionFlagScenario

Valide los comandos con una marca de dirección de datos incorrecta.

Ejemplo: /RunDataDirectionFlagScenario

instantáneas

Solicita que se adjunte el depurador, lo que da tiempo para permitir que el depurador se adjunte antes de ejecutar aún más el programa.

Ejemplo: /Debugger

Nivel de detalle

Detalle del registro.

Ejemplo: /Verbosity Verbose

log

Nombre del archivo de registro

Valor predeterminado: OpticalLogoTest.wtl

Ejemplo: /log mytestlog.wtl

EnableImapiv2Trace

Habilite el seguimiento de software IMAPIv2.

Ejemplo: /EnableImapiv2Trace

Imapiv2TraceGuidsFile

Archivo de GUID de seguimiento IMAPIv2 que tiene toda la lista de GUID de componentes para los que se deben registrar los seguimientos

Valor predeterminado: imapiv2-guids.txt

Ejemplo: /IMAPIv2TraceGuidsFile imapiv2-guids.txt

Imapiv2TraceLogFile

Archivo de registro de seguimiento de salida IMAPIv2.

Valor predeterminado: imapiv2-tracelog.etl

Ejemplo: /IMAPIv2TraceLogFile imapiv2-tracelog.etl

cmdPerfTraceAnalysis

Ejecute el análisis de rendimiento de comandos.

Ejemplo: /cmdPerfTraceAnalysis Always

cmdPerfTraceGuidsFile

Archivo de GUID de seguimiento de rendimiento que tiene los GUID de los componentes que rastrean los datos de rendimiento

Valor predeterminado: perf-guids.txt

Ejemplo: /cmdPerfTraceGuidsFile perf-guids.txt

cmdPerfTraceLogFile

Archivo de registro de seguimiento de salida de rendimiento

Valor predeterminado: perf-tracelog.etl

Ejemplo: /cmdPerfTraceLogFile perf-tracelog.etl

cmdPerfTraceTmfFile

Archivo de descripción del formato de seguimiento de rendimiento.

Ejemplo: /cmdPerfTraceTmfFile perf-tracelog.tmf

 

Lista de archivos

Archivo Ubicación

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\

 

Parámetros

Nombre de parámetro Descripción de los parámetros
StorageDriveLetter Carta de unidad de dispositivo de prueba
profile
LLU_NetAccessOnly Cuenta de usuario para acceder al recurso compartido de archivos de prueba.
LLU_LclAdminUsr Cuenta de usuario para ejecutar la prueba.
WDKDeviceID Ruta de acceso de instancia del dispositivo que se va a probar
log
RunTestCaseTypes
AdditionalParams