Compartilhar via


Teste óptico de logotipo – CD-RW

Esse teste valida que o dispositivo óptico está em conformidade com os padrões e atende aos requisitos de unidade óptica do Windows.

Detalhes do teste

   
Especificações
  • 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, edições de cliente (x86)
  • Windows 10, edições de cliente (x64)
  • Windows Server 2016 (x64)
Versões com suporte
  • Windows 10
  • Windows 10, versão 1511
  • Windows 10, versão 1607
  • Windows 10, versão 1703
  • Windows 10, versão 1709
  • Windows 10, versão 1803
  • Windows 10, versão 1809
  • Windows 10, versão 1903
  • Próxima atualização para Windows 10
Tempo de execução esperado (em minutos) 120
Categoria Cenário
Tempo limite (em minutos) 7200
Requer reinicialização false
Requer configuração especial false
Tipo automático

 

Documentação adicional

Os testes nessa área de recursos podem ter documentação adicional, incluindo pré-requisitos, configuração e informações de solução de problemas, que podem ser encontrados nos tópicos a seguir:

Executando o teste

Antes de executar o teste, conclua a configuração de teste conforme descrito nos requisitos de teste: Pré-requisitos de teste óptico de unidade de disco.

O teste mostra uma caixa de diálogo de configuração para obter a configuração da bandeja de unidade primária e secundária. O usuário precisa selecionar a unidade secundária idêntica na lista de unidades na caixa de diálogo Unidade de Gravador e deve selecionar os recursos da bandeja de unidade, independentemente de dar suporte à ejeção automática e ao carregamento automático da bandeja.

Observação

   Os aplicativos de E/S em execução no computador de teste podem interferir nos cenários ópticos de medição de desempenho de teste de logotipo. Verifique se não há outros aplicativos em execução no computador de teste quando o teste estiver em execução.

 

Solucionando problemas

Para solucionar problemas genéricos de falhas de teste do HLK, consulte Solução de problemas de falhas de teste do Windows HLK.

Para obter informações de solução de problemas, consulte Solução de problemas de device.storage testing.

Veja a seguir problemas conhecidos relacionados a este teste:

  • Cenário de teste de redefinição de barramento desabilitado por padrão.

    Por padrão, o teste não valida o comportamento adequado do dispositivo após a redefinição do barramento.

    Se a redefinição de barramento acontecer, espera-se que a unidade se redefina corretamente, volte a ficar online e funcione normalmente. Algumas unidades com defeito não são redefinidas corretamente e não funcionarão após a redefinição do barramento. Essa não é uma implementação adequada. Quando esse cenário de teste específico está habilitado, os casos de teste de verificação de comando (casos de teste de dispositivo e perfil) enviam os comandos com o sinalizador de direção de dados SRB incorreto. Isso normalmente para o ônibus e, eventualmente, faz com que o motorista da porta redefina o ônibus após um determinado período de tempo limite.

    A maioria dos controladores de armazenamento não dá suporte a esse cenário de teste corretamente. Os controladores de armazenamento implementados incorretamente não serão recuperados após a redefinição do barramento. Se isso acontecer, o caso de teste poderá falhar devido ao controlador de armazenamento, mesmo que o dispositivo tenha sido implementado corretamente. Esse teste não é capaz de distinguir falhas de dispositivo de falhas do controlador de armazenamento. Portanto, testar esse cenário específico é desabilitado por padrão. Para habilitar o teste desse cenário específico, o executável de teste deve ser executado com a opção de linha de comando "RunDataDirectionFlagScenario".

Mais informações

A unidade deve dar suporte aos seguintes comandos:

  • Obter Configuração (sem mídia)

  • Obter notificação de status do evento

  • Inquérito

  • Status do mecanismo

  • Sensor de Modo

  • Impedir permitir remoção média

  • Sensor de Solicitação

  • Iniciar Unidade de Parada

  • Unidade de teste pronta

A unidade deverá dar suporte aos comandos a seguir se eles forem obrigatórios para os recursos e perfis aos quais ela dá suporte.

  • Obter Configuração (com mídia)

  • Obter desempenho

  • Capacidade de buffer de leitura

  • Capacidade de leitura

  • Ler informações do disco

  • Capacidades de formato de leitura

  • Leia Toc Pma Atip

  • Enviar informações de Opc

  • Definir velocidade de CD

  • Leitura10

A unidade deverá dar suporte aos cenários a seguir se os comandos associados a esses cenários forem obrigatórios para os recursos e perfis compatíveis.

  • Notificação de Status do Evento

  • Gravar

    • Modo sequencial

    • Modo de pacote

    • Substituição restrita

    • Suporte a várias sessões

  • Mídia de áudio (gravar faixas de áudio)

  • Em branco

  • Número de série de unidade exclusivo

  • Streaming em tempo real

  • Gravação bruta sem lacunas de mídia de áudio

Os casos de teste são segregados nos três grupos a seguir:

  • Casos de teste de dispositivo. Os seguintes comandos verificam casos de teste aplicáveis ao dispositivo:

    • OBTER CONFIGURAÇÃO (SEM MÍDIA)

    • OBTER NOTIFICAÇÃO DE STATUS DO EVENTO

    • INQUIRY

    • STATUS DO MECANISMO

    • MODE SENSE

    • IMPEDIR PERMITIR REMOÇÃO MÉDIA

    • REQUEST SENSE

    • INICIAR UNIDADE DE PARADA

    • TEST UNIT READY

  • Casos de teste de perfil. Os seguintes casos de teste de verificação de comandos serão testados em todos os perfis aplicáveis:

    • OBTER CONFIGURAÇÃO

    • OBTER DESEMPENHO

    • CAPACIDADE DE LEITURA

    • CAPACIDADE DO BUFFER DE LEITURA

    • LER INFORMAÇÕES DO DISCO

    • CAPACIDADES DE FORMATO DE LEITURA

    • LEIA TOC PMA ATIP

    • ENVIAR INFORMAÇÕES DE OPC

    • DEFINIR VELOCIDADE DE CD

    • READ10

  • Casos de teste do cenário de uso. Os seguintes cenários são testados usando as interfaces do mecanismo de queima de IMAPI:

    • NOTIFICAÇÃO DE STATUS DO EVENTO

    • BLANK

    • WRITE/MULTISESSION

    • MÍDIA DE ÁUDIO

    • GRAVAR MÍDIA DE CAMADA DUPLA

    • NÚMERO DE SÉRIE DA UNIDADE

    • UNIDADE SOMENTE LEITURA

    • STREAMING EM TEMPO REAL

    • GRAVAÇÃO BRUTA SEM LACUNAS DE MÍDIA DE ÁUDIO

Esse teste inclui os seguintes casos de teste:

  • COMANDO GET CONFIGURATION (SEM MÍDIA)

  • COMANDO GET EVENT STATUS NOTIFICATION

  • COMANDO INQUIRY

  • COMANDO DE STATUS DO MECANISMO

  • COMANDO MODE SENSE

  • COMANDO PREVENT ALLOW MEDIUM REMOVAL

  • COMANDO REQUEST SENSE

  • INICIAR COMANDOS PARAR UNIDADE, EJETAR & DESEMPENHO DE CARGA

  • COMANDO PRONTO DA UNIDADE DE TESTE

  • OBTER COMANDO DE CONFIGURAÇÃO

  • OBTER DESEMPENHO

  • COMANDO READ CAPACITY

  • COMANDO READ BUFFER CAPACITY

  • COMANDO LER INFORMAÇÕES DO DISCO

  • COMANDO READ FORMAT CAPACITIES

  • COMANDO LER TOC/PMA/ATIP

  • COMANDO ENVIAR INFORMAÇÕES OPC

  • COMANDO SET CD SPEED

  • COMANDO READ10

  • EVENT NOTIFICATION

  • TESTES DE GRAVAÇÃO

  • MÍDIA DE ÁUDIO (GRAVAR FAIXAS DE ÁUDIO)

  • BLANK

  • GRAVAR MÍDIA DE CAMADA DUPLA

  • UNIDADE SOMENTE LEITURA

  • NÚMERO DE SÉRIE DA UNIDADE

  • STREAMING EM TEMPO REAL

  • MEDIÇÃO DE VELOCIDADE DE GRAVAÇÃO

  • GRAVAÇÃO BRUTA SEM LACUNAS DE MÍDIA DE ÁUDIO

Comando GET CONFIGURATION (sem mídia)

Descrição: Esse teste é para garantir que a unidade responda corretamente ao comando GET CONFIGURATION quando não houver mídia na bandeja.

Mídia aplicável: Qualquer mídia compatível com o dispositivo

Etapas do caso de teste:

  1. Ejete a bandeja enviando o comando START STOP UNIT.

  2. Aguarde até que a bandeja esteja aberta.

  3. Envie o comando GET CONFIGURATION com comprimento de dados de resposta de 4 bytes para obter o comprimento dos dados do cabeçalho do recurso. Se o comando falhar, imprima a tecla sense e falhe no caso de teste. Finalidade: permitir que o software investigue o suporte do comando.

  4. Verifique se a unidade relata nenhum perfil atual no cabeçalho do recurso. Se a unidade não reproduzir o perfil atual como "nenhum perfil atual", falhará no caso de teste.

  5. Envie o comando GET CONFIGURATION novamente com RT=00b e com o comprimento de dados correto retornado pelo dispositivo na etapa 3. Finalidade: permitir que o software recupere toda a lista de recursos compatíveis com a unidade.

  6. Verifique se a unidade relata nenhum perfil atual no cabeçalho do recurso. Se a unidade não reproduzir o perfil atual como "nenhum perfil atual", falhará no caso de teste.

  7. Obtenha o descritor de recursos da lista de perfis na resposta para o conjunto de bits de perfil atual e Falhe no caso de teste se qualquer um dos descritores de perfil tiver o bit de perfil atual definido como 1.

  8. Envie o comando GET CONFIGURATION com comprimento de dados de resposta de 20 bytes, RT=01b, Número do Recurso Inicial=0010h (Recurso Legível Aleatório). Se o comando falhar ou se o descritor de Recurso Legível Aleatório não for retornado, imprima a chave de sensor conforme apropriado e falhe no caso de teste. Finalidade: permitir que o software investigue uma moeda de recurso específica (não atual).

  9. [Opcional] Envie o comando GET CONFIGURATION com o sinalizador de direção de dados definido como "para o dispositivo" e com o comprimento dos dados de resposta de 4 bytes para obter o comprimento dos dados do cabeçalho do recurso. Se o comando falhar, imprima a tecla sense e falhe no caso de teste. Finalidade: para garantir que o dispositivo manipule o comando com direção de dados incorreta.

  10. Injete a bandeja.

  11. Aguarde até que o dispositivo chegue ao estado pronto

  12. Envie o comando GET CONFIGURATION com comprimento de dados de resposta de 16 bytes, RT=01b, Número do Recurso Inicial=0003h (Recurso Médio Removível). Se o comando falhar, imprima a tecla sense conforme apropriado e falhe no caso de teste. Se o comando for bem-sucedido:

    • Verifique se o bit "Ejetar" está definido se a unidade dá suporte ao mecanismo de ejeção automática.

    • Verifique se o bit "Carregar" está definido se a unidade dá suporte ao mecanismo de injeção automática.

Resultado: A unidade deve responder corretamente ao comando GET CONFIGURATION

Comando GET EVENT STATUS NOTIFICATION

Descrição: Para validar se a unidade dá suporte ao comando GET EVENT STATUS NOTIFICATION

Mídia aplicável: Qualquer mídia compatível com o dispositivo

Etapas do caso de teste:

  1. Comando Enviar Obter Notificação de Status do Evento com os valores a seguir no CDB.

    • Solicitação de classe de notificação = 0x7E (alteração operacional, gerenciamento de energia, solicitação externa, mídia, vários host, dispositivo ocupado),

    • Sondado = 1

    • Tamanho da Alocação igual ao tamanho do cabeçalho de resposta (4 bytes)

  2. Se o comando falhar, falhará no caso de teste

  3. Na resposta marcar quais eventos têm suporte

  4. [Opcional] Comando Enviar Obter Notificação de Status do Evento com o sinalizador de direção de dados definido como "para o dispositivo" e os valores a seguir no CDB.

    • Solicitação de classe de notificação = 0x7E (alteração operacional, gerenciamento de energia, solicitação externa, mídia, vários host, dispositivo ocupado),

    • Sondado = 1

    • Tamanho da Alocação igual ao tamanho do cabeçalho de resposta (4 bytes)

  5. Se o comando falhar, falhará no caso de teste

  6. Na resposta marcar que o Comprimento dos Dados do Evento é 0x6, o bit do NEA é limpo, a Classe de Notificação é diferente de zero e as Classes de Evento com suporte são idênticas à etapa 3. Caso contrário, falhará no caso de teste.

  7. Comando Enviar Obter Notificação de Status do Evento com os valores a seguir no CDB.

    • Solicitação de classe de notificação = 0x7E (alteração operacional, gerenciamento de energia, solicitação externa, mídia, vários host, dispositivo ocupado).

    • Sondado = 1

    • Tamanho da Alocação igual ao tamanho do cabeçalho de resposta (4 bytes)

  8. Se o comando falhar, falhará no caso de teste.

Resultado: A unidade deve responder corretamente ao comando GET EVENT STATUS NOTIFICATION.

Comando INQUIRY

Descrição: Para validar se a unidade dá suporte ao comando INQUIRY.

Mídia aplicável: Qualquer mídia compatível com o dispositivo

Etapas do caso de teste:

  1. Envie o comando INQUIRY com comprimento de alocação igual a 08h. Finalidade: permitir que o software investigue o tamanho do buffer de resposta necessário.

  2. Se o comando for bem-sucedido, marcar a resposta para o comprimento adicional no cabeçalho. O comprimento adicional deve ser 32d ou maior [MMC5r04 6.9.2].

  3. Envie o comando INQUIRY novamente com o comprimento de alocação definido como 5 bytes a mais do que o comprimento adicional da etapa 2.

  4. Se o comando for bem-sucedido, verifique se os campos de dados de resposta correspondem aos valores especificados na tabela MMC5r04 320.

  5. Verifique se a Identificação do Fornecedor, a Identificação do Produto e o Nível de Revisão do Produto não são nulos.

    • Finalidade: identificação básica por software.
  6. Verifique se os seguintes valores correspondem:

    • Tipo de dispositivo = 5

    • Qualificador de tipo de dispositivo = 0

    • Mídia removível = 1

    • Formato de dados de resposta = 2

    • Suporte à hierarquia = 0

    • ACA normal = 0

    • Proteger = 0

    • Cópia de terceiros = 0

    • Suporte ao grupo de portas de destino = 0

    • Coordenador de Controles de Acesso = 0

    • SCC com suporte = 0

    • Addr16 = 0

    • Alterador Médio = 0

    • Várias portas = 0

    • VS1 = 0

    • Serviços de compartimento = 0

    • BQue = 0

    • VS2 = 0

    • Fila de comandos = 0

    • Comandos vinculados = 0

    • Síncrono = 0

    • Wide16 = 0

  7. Envie o comando INQUIRY com os seguintes valores no CDB:

    • EVPD = 0

    • Comprimento da alocação = 240

  8. Envie o comando INQUIRY com os seguintes valores no CDB:

    • EVPD = 1

    • Comprimento da alocação = 240

  9. Se o comando for bem-sucedido, compare a resposta das etapas 7 e 8, se ambas forem iguais, então falhará no caso de teste.

  10. Envie o comando INQUIRY para um número aleatório de vezes entre 10 e 25 com comprimentos de alocação aleatórios. Se o comando falhar, o caso de teste falhará.

  11. [Opcional] Envie o comando INQUIRY com o sinalizador de direção de dados definido como " para o dispositivo" e com os seguintes valores no CDB

    • EVPD = 0

    • Comprimento da alocação = 240

Resultado: A unidade deve responder corretamente ao comando INQUIRY.

Comando MECHANISM STATUS

Descrição: Para validar se a unidade dá suporte ao comando MECHANISM STATUS

Mídia aplicável: Qualquer mídia compatível com o dispositivo

Etapas do caso de teste:

  1. Envie o comando MECHANISM STATUS com comprimento de alocação 0 bytes (sensor de dados não especificado). Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

    • Finalidade: permitir que o software investigue o suporte do comando
  2. Ejete a bandeja.

  3. Aguarde até que o dispositivo retorne os dados de sensor (Sense Key : 0x2, ASC: 0x3A, ASCQ: 0x02)

  4. Envie o comando MECHANISM STATUS com comprimento de alocação de 8 bytes.

  5. Verifique se o bit Abrir porta é 1b.

    • Finalidade: permitir que o software detecte se a porta está aberta ou fechada (aberta).
  6. Injetar a bandeja

  7. Aguarde até que o dispositivo esteja pronto

  8. Envie o comando MECHANISM STATUS com comprimento de alocação de 8 bytes.

  9. Verifique se Door Open bit é 0b.

    • Finalidade: permitir que o software detecte se a porta está aberta ou fechada (fechada).
  10. Crie um buffer de 8 bytes e preencha-o com dados aleatórios.

  11. [Opcional] Envie o comando MECHANISM STATUS com o sinalizador de direção de dados definido como "para o dispositivo" e com comprimento de alocação de 8 bytes. Passe o buffer da etapa 11 para o dispositivo.

Resultado: A unidade deve responder ao comando MECHANISM STATUS corretamente

Comando MODE SENSE

Descrição: Para validar se a unidade dá suporte ao comando Mode Sense.

Mídia aplicável: Qualquer mídia compatível com o dispositivo

Etapas do caso de teste:

  1. Envie o comando MODE SENSE com os seguintes valores no CDB para obter todas as Páginas de Modo com suporte:

    • Controle de página = 0

    • Desabilitar descritores de bloco = 1

    • Código da página = 0x3F

    • Comprimento da alocação = 0x8000

  2. Verifique os seguintes valores na resposta:

    • O comprimento do descritor de bloco no cabeçalho de parâmetros do modo é zero

    • O comprimento da página para cada dados de página de modo é igual ao valor documentado no MMC5.

  3. Validar os dados da página Modo para cada página relatada

  4. Envie o comando Mode Sense para cada página relatada com os seguintes valores no CDB:

    • Controle de página = 0

    • Desabilitar descritores de bloco = 1

    • Comprimento da Alocação = Comprimento da Página relatado pela unidade na etapa 2

  5. Verifique os seguintes valores na resposta:

    • Bloquear Comprimento do Descritor no cabeçalho de parâmetros do modo é zero.

    • O código da página no cabeçalho da página de modo corresponde ao código de página solicitado.

    • O comprimento da página no cabeçalho da página do modo é igual ao documento de valor no MMC5.

  6. Enviar o comando Mode Sense com comprimento de alocação 0xFFF0

  7. Verifique os seguintes valores na resposta:

    • O comprimento do descritor de bloco no cabeçalho de parâmetros do modo é zero

    • O código da página no cabeçalho da página de modo corresponde ao código de página solicitado

  8. Enviar o comando Mode Sense com comprimento de alocação 0x0A

  9. Verifique se a resposta corresponde ao byte por byte até o tamanho da resposta (0x0A) com a resposta para comprimento de alocação igual a 0xFFF0.

  10. Envie o comando Mode Sense por um número aleatório de vezes entre 10 e 25 com comprimentos de alocação aleatórios entre 0x0A e 0xFFF0.

  11. Verifique se a resposta corresponde ao byte por byte até o tamanho da resposta (valor aleatório entre 0x0A e 0xFFF0) com a resposta para comprimento de alocação igual a 0xFFF0.

  12. [Opcional] Envie o comando MODE SENSE com o sinalizador de direção de dados definido como "para o dispositivo" e com os seguintes valores no CDB para obter todas as Páginas de Modo com suporte:

    • Controle de página = 0

    • Desabilitar descritores de bloco = 1

    • Código da página = 0x3F

    • Comprimento da alocação = 0x8000

Resultado: A unidade deve responder corretamente ao comando GET CONFIGURATION

Comando PREVENT ALLOW MEDIUM REMOVAL

Descrição: Para validar se a unidade dá suporte ao comando PREVENT ALLOW MEDIUM REMOVAL.

Mídia aplicável: Qualquer mídia compatível com o dispositivo

Etapas do caso de teste:

  1. Envie o comando PREVENT ALLOW MEDIUM REMOVAL com o bit prevent definido como 1 e Bit persistente definido como 0. Isso bloquearia a unidade. Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

  2. Envie o comando iniciar unidade de parada com o bit LocEj definido como 1 e Bit imediato definido como 0 e Bit inicial definido como zero. Isso tentará ejetar o disco. Se a unidade não rejeitar o comando com 0x05 0x53 de dados de detecção, 0x02 será uma falha.

  3. Envie o comando Pronto para a Unidade de Teste e verifique se ele foi bem-sucedido.

  4. Peça ao usuário para pressionar o botão ejetar para ejetar a mídia.

  5. Envie o comando Pronto para a Unidade de Teste e verifique se ele ainda é bem-sucedido (a porta não deve abrir).

  6. Envie o comando Impedir Permitir Remoção Média com o bit de prevenção definido como 0 e Bit persistente definido como 0. Isso desbloquearia a unidade. Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

  7. Peça ao usuário para pressionar o botão ejetar para ejetar a mídia

  8. Aguarde até que o dispositivo abra a porta – Envie o comando Pronto para a Unidade de Teste, se o comando for bem-sucedido, aguarde 1 segundo e tente novamente até que ele falhe com (02/3A/02). Tempo limite após 30 segundos.

  9. Se a unidade der suporte ao mecanismo de carregamento automático, insira a bandeja de volta na unidade, caso contrário, peça ao usuário para inserir a bandeja de volta na unidade.

  10. Aguarde até que o dispositivo esteja pronto

  11. [Opcional] Envie o comando PREVENT ALLOW MEDIUM REMOVAL com o sinalizador de direção de dados definido como "para o dispositivo" e passe os dados aleatórios em um buffer de tamanho aleatório.

Resultado: A unidade deve responder corretamente ao comando PREVENT ALLOW MEDIUM REMOVAL.

Comando REQUEST SENSE

Descrição: Para validar se a unidade dá suporte ao comando REQUEST SENSE.

Mídia aplicável: Qualquer mídia compatível com o dispositivo

Etapas do caso de teste:

  1. Envie o comando REQUEST SENSE, com o bit do descritor definido como zero e o Comprimento da Alocação definido como 252. A unidade deve responder com os dados de sensor de formato fixo.

  2. Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

  3. Se o código de resposta for 0x70 ou 0x71 o teste for aprovado, caso contrário, o teste falhará.

  4. [Opcional] Envie o comando REQUEST SENSE, com o sinalizador de direção de dados definido como "para o dispositivo" e com o bit do descritor definido como zero e Comprimento de Alocação definido como 252. A unidade deve responder com os dados de sensor de formato fixo.

Resultado: A unidade deve responder corretamente ao comando REQUEST SENSE.

Comando START STOP UNIT, EJETAR & DESEMPENHO DE CARGA

Descrição: Para validar se a unidade dá suporte ao comando START STOP UNIT.

Mídia aplicável: Qualquer mídia compatível com o dispositivo

Etapas do caso de teste:

  1. Enviar o comando START STOP UNIT com os seguintes valores no CDB

    • Immediate = 0, LoadEject = 0, Start = 0, PowerConditions = 0

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

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

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

  2. O comando terá êxito para cada uma desta combinação.

  3. Se a unidade der suporte à ejeção da bandeja, envie o comando START STOP UNIT com os seguintes valores no CDB para ejetar a bandeja

    • Immediate = 1, LoadEject = 1, Start = 0, PowerConditions = 0
  4. Aguarde até que o dispositivo abra a porta – Envie o comando TEST UNIT READY, se o comando for bem-sucedido, aguarde 5 segundos e tente novamente até que ele falhe com (02/3A/02). Tempo limite após 10 segundos.

  5. Se a unidade der suporte ao carregamento da bandeja (injeção automática), envie o comando START STOP UNIT com os seguintes valores no CDB para injetar a bandeja:

    • Immediate = 1, LoadEject = 1, Start = 1, PowerConditions = 0
  6. Se a unidade não der suporte ao carregamento da bandeja, peça ao usuário para inserir a bandeja de volta na unidade.

  7. Aguarde até que o dispositivo esteja pronto – Envie o comando TEST UNIT READY, se o comando falhar com uma chave de sensor, aguarde 1 segundo e tente novamente até que ele seja bem-sucedido. Tempo limite após 30 segundos. LOGOTIPO PREMIUM: tempo limite: 20 segundos.

  8. Envie o comando START STOP UNIT com os seguintes valores no CDB para ejetar a bandeja:

    • Immediate = 0, LoadEject = 1, Start = 0, PowerConditions = 0
  9. Aguarde até que o dispositivo abra a porta – Envie o comando TEST UNIT READY, se o comando for bem-sucedido, aguarde 1 segundo e tente novamente até que ele falhe com (02/3A/02). Tempo limite após 30 segundos.

  10. Solicitar que o usuário remova a mídia

  11. Se a unidade der suporte ao carregamento da bandeja (injeção automática), envie o comando START STOP UNIT com os seguintes valores no CDB para injetar a bandeja:

    • Immediate = 0, LoadEject = 1, Start = 1, PowerConditions = 0
  12. Verifique se o comando falha com Não Pronto/Médio não presente/Bandeja fechada (02/3A/01)

  13. Se a unidade der suporte à ejeção da bandeja, envie o comando START STOP UNIT com os seguintes valores no CDB para ejetar a bandeja:

    • Immediate = 0, LoadEject = 1, Start = 0, PowerConditions = 0
  14. Peça ao usuário para colocar a mídia na bandeja.

  15. Se a unidade não der suporte ao carregamento da bandeja, peça ao usuário para inserir a bandeja novamente na unidade e aguarde até que o dispositivo esteja pronto. Se a unidade der suporte ao carregamento da bandeja (injeção automática), envie o comando START STOP UNIT com os seguintes valores no CDB, para injetar a bandeja e aguardar até que o dispositivo esteja pronto.

    • Immediate = 0, LoadEject = 1, Start = 1, PowerConditions = 0
  16. [Opcional] Envie o comando START STOP UNIT com o sinalizador de direção de dados definido como "para o dispositivo". Envie um buffer de tamanho aleatório com dados aleatórios e com os valores a seguir no CDB.

    • Immediate = 0, LoadEject = 0, Start = 0, PowerConditions = 0

Resultado: A unidade deve responder corretamente ao comando START STOP UNIT.

Comando TEST UNIT READY

Descrição: Para validar se a unidade dá suporte ao comando TEST UNIT READY.

Mídia aplicável: Qualquer mídia compatível com o dispositivo

Etapas do caso de teste:

  1. Envie o comando TEST UNIT READY.

  2. Se o comando falhar, imprima a tecla sense e falhe no caso de teste

  3. [Opcional] Envie o comando TEST UNIT READY com o sinalizador de direção de dados definido como "para o dispositivo" e com o buffer de tamanho aleatório preenchido com dados aleatórios.

Resultado: A unidade deve responder ao comando TEST UNIT READY corretamente.

Comando GET CONFIGURATION

Descrição: Para validar se a unidade dá suporte ao comando GET CONFIGURATION para o perfil relatado.

Mídia aplicável: Qualquer mídia compatível com o dispositivo

Etapas do caso de teste:

  1. Envie o comando GET CONFIGURATION com comprimento de dados de resposta de 0 bytes (sensor de dados não especificado). Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

    • Finalidade: permitir que o software investigue o suporte ao comando.
  2. Envie o comando GET CONFIGURATION com comprimento de dados de resposta de 4 bytes para obter o comprimento dos dados do cabeçalho do recurso. Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

    • Finalidade: permitir que o software investigue o suporte ao comando.
  3. Envie o comando GET CONFIGURATION com comprimento de dados de resposta de 8 bytes (para obter o cabeçalho), RT=00b, Número do Recurso Inicial=0000h. Se o comando falhar ou se o Perfil Atual for igual a 00h, imprima a chave de sentido conforme apropriado e falhe no caso de teste.

    • Fins:

      • permitir que o software investigue o tamanho do buffer de resposta necessário.

      • permitir que o software investigue o perfil atual (um perfil é atual).

  4. Se o comando for bem-sucedido marcar o seguinte na resposta

    • O comprimento dos dados no cabeçalho não é zero e é alinhado a quatro bytes

    • O número de perfil atual corresponde ao tipo de mídia carregado na unidade

  5. Envie o comando GET CONFIGURATION com o comprimento dos dados de resposta lido na etapa 3, RT=00b, Número do Recurso Inicial=0000h. Leia o Perfil Atual e procure esse código de perfil na lista de perfis com suporte. Verifique se o perfil atual corresponde ao tipo de perfil da mídia inserida. Se o comando falhar ou se o perfil atual não for relatado atualmente na lista de perfis com suporte, imprima a chave de sentido conforme apropriado e falhe no caso de teste.

    • Finalidade: verifique a consistência das informações relatadas pela unidade.
  6. Envie o comando GET CONFIGURATION novamente com RT=00b e com o comprimento de dados correto retornado pelo dispositivo na etapa3 se o comprimento se ajustar a 2 bytes. Se o comprimento exceder 2 bytes, envie o comando com comprimento máximo de dados para 2 bytes.

    • Finalidade: permitir que o software recupere toda a lista de recursos compatíveis com a unidade.
  7. Se o comprimento excedeu 2 bytes, leia o número do recurso do último descritor de recursos completo retornado e emita o comando GET CONFIGURATION adicional com RT=10b e com o número de recurso inicial igual a esse número de recurso mais 1. Repita a operação até que o comprimento dos dados retornado no cabeçalho do recurso seja igual ou menor ao comprimento alocado. Concatene os descritores de recursos resultantes para verificação na etapa 10.

  8. Para todos os comandos que têm êxito nas etapas 3 a 6, marcar se o comprimento dos dados no cabeçalho da resposta for múltiplo de 4 (4 bytes alinhados). Falha se não estiver alinhado a 4 bytes. Finalidade: o alinhamento de 4 bytes é assumido pelo software.

  9. Além disso, se os comandos tiverem êxito, marcar que cada recurso reportado Versão e Campos de Comprimento Adicional são iguais ou maiores que os respectivos valores para o recurso fornecido no documento MMC-5. Por exemplo: a versão do Recurso Principal deve ser 0010b ou superior e seu comprimento adicional deve ser 8 ou maior. Finalidade: verifique a consistência das informações relatadas pela unidade. Se o recurso médio removível for relatado, o número de versão dele deverá ser 1, conforme especificado no comando GET CONFIGURATION.

  10. Além disso, se os comandos tiverem êxito, marcar que cada recurso obrigatório para o perfil com suporte relatado seja relatado.

    • Finalidade: verifique a consistência das metadados relatadas pela unidade.
  11. Envie o comando GET CONFIGURATION com comprimento de dados de resposta de 20 bytes, RT=01b, Número do Recurso Inicial=0010h (Recurso Legível Aleatório). Se o comando falhar ou se o descritor de Recurso Legível Aleatório não for retornado, imprima a chave de sentido conforme apropriado e falhe no caso de teste. Finalidade: permitir que o software investigue a moeda de recurso específica (atual).

  12. [Opcional] Envie o comando GET CONFIGURATION com o sinalizador de direção de dados definido como "para o dispositivo" e com o buffer de tamanho aleatório preenchido com dados aleatórios. Os seguintes valores são definidos no CDB:

    • Comprimento da Alocação = Tamanho do buffer, Número do Recurso Inicial=0000h, RT=00b

Resultado: A unidade deve implementar corretamente o comando GET CONFIGURATION para os tipos de mídia aplicáveis.

Comando GET PERFORMANCE

Descrição: Para validar se a unidade dá suporte ao comando GET PERFORMANCE para o perfil relatado.

Mídia aplicável: Qualquer uma das seguintes mídias:

  • CD-R

  • CD-ROM

  • CD-RW

  • DVD+R

  • DVD+R Dual Layer

  • DVD+RW

  • Substituição restrita de DVD-RW

  • DVD-RAM

  • DVD-R

  • Seq de Camada Dupla DVD-R

  • DVD-ROM

  • BD-R

  • BD-RE

  • BD-ROM

Etapas do caso de teste:

  1. Envie o comando GET CONFIGURATION para obter o recurso STREAMING em TEMPO REAL. Verifique a resposta se o bit Descritor de Desempenho de Velocidade de Gravação estiver definido. Se isso não estiver definido, a unidade não oferecerá suporte a descritores de velocidade de gravação. Ignore as etapas 6 a 11 que validam os descritores de velocidade de gravação.

  2. Enviar o comando GET PERFORMANCE com os seguintes valores no CDB para obter nenhum descritor de desempenho de leitura nominal

    • Tipo = 0

    • Iniciando o LBA = 1

    • Descritores máximos = 0

    • Tipo de dados = 0x10

  3. Se o comando falhar, imprima a chave de sentido e falhe no caso de teste

  4. Enviar o comando GET PERFORMANCE com os seguintes valores no CDB para obter um descritor de desempenho de leitura nominal

    • Tipo = 0

    • Iniciando o LBA = 1

    • Descritores máximos = 1

    • Tipo de dados = 0x10

  5. Se o comando falhar, imprima a chave de sentido e falhe no caso de teste

  6. Envie o comando GET PERFORMANCE com os seguintes valores no CDB para obter um descritor de desempenho de gravação nominal.

    • Tipo = 0

    • Iniciando o LBA = 1

    • Descritores máximos = 1

    • Tipo de dados = 0x14

  7. Se o comando falhar, imprima a chave de sentido e falhe no caso de teste

  8. Envie o comando GET PERFORMANCE com os seguintes valores no CDB para obter o comprimento dos dados para a lista de descritores de velocidade de gravação

    • Tipo = 3

    • Iniciando o LBA = 1

    • Descritores máximos = 0

    • Tipo de dados = 0x14

  9. Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

  10. Envie o comando GET PERFORMANCE com os seguintes valores no CDB para obter a lista de descritores de velocidade de gravação

    • Tipo = 3

    • Iniciando o LBA = 1

    • Descritores máximos = 10

    • Tipo de dados = 0x14

  11. Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

  12. [Opcional] Envie o comando GET PERFORMANCE com o sinalizador de direção de dados definido como "para o dispositivo" e com o buffer de tamanho aleatório preenchido com dados aleatórios. Defina com os valores a seguir no CDB para obter zero descritores de desempenho de leitura nominal.

    • Tipo = 0

    • Iniciando LBA = 1

    • Descritores máximos = 0

    • Tipo de dados = 0x10

  13. Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

Resultado: A unidade deve implementar corretamente o comando GET PERFORMANCE para os tipos de mídia aplicáveis.

Comando READ CAPACITY

Descrição: Para validar se a unidade dá suporte ao comando READ CAPACITY para o perfil relatado.

Mídia aplicável: Qualquer mídia compatível com o dispositivo

Etapas do caso de teste:

  1. Envie o comando READ CAPACITY.

  2. Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

  3. Se o comprimento do bloco em bytes não for 2048, falhará no caso de teste.

  4. [Opcional] Envie o comando READ CAPACITY com o sinalizador de direção de dados definido como "para o dispositivo" e com o buffer de tamanho aleatório preenchido com dados aleatórios.

  5. Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

Resultado: A unidade deve implementar corretamente o comando READ CAPACITY para os tipos de mídia aplicáveis.

Comando READ BUFFER CAPACITY

Descrição: Para validar se a unidade dá suporte ao comando READ BUFFER CAPACITY para o perfil relatado.

Mídia aplicável: Qualquer mídia compatível com o dispositivo.

Etapas do caso de teste:

  1. Envie o comando GET CONFIGURATION para obter o recurso STREAMING em TEMPO REAL. Verifique a resposta, se o bit RBCB (Bloco de Capacidade do Buffer de Leitura) estiver definido. Se isso não estiver definido, a unidade não oferecerá suporte ao comando Capacidade de Buffer de Leitura. Ignore o caso de teste.

  2. Envie o comando READ BUFFER CAPACITY com bit de bloco definido como 0 e Comprimento de Alocação igual ao tamanho da Estrutura de Capacidade do Buffer.

  3. Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

  4. Repita a etapa 2 com o bit Bloquear definido como 1.

  5. Se o comando falhar, imprima a tecla sense e falhe no comando .

  6. [Opcional] Envie o comando READ BUFFER CAPACITY com o sinalizador de direção de dados definido como "para o dispositivo" e com o buffer de tamanho aleatório preenchido com dados aleatórios e bits de bloco definidos como zero.

  7. Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

Resultado: A unidade deve implementar corretamente o comando READ BUFFER CAPACITY para os tipos de mídia aplicáveis.

Comando READ DISC INFORMATION

Descrição: Para validar se a unidade dá suporte ao comando READ DISC INFORMATION para o perfil relatado.

Mídia aplicável: Qualquer uma das seguintes mídias:

  • DVD+R

  • DVD+RW

  • DVD-R

  • CD-R

  • CD-RW

Etapas do caso de teste:

  1. Envie o comando READ DISC INFORMATION, com o comprimento de alocação de 2 para obter o tamanho das informações de disco padrão.

  2. Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

  3. Obtenha o comprimento das informações do disco da resposta. Se o comprimento for menor que o Tamanho do Bloco de Informações do Disco Padrão (34), falhará no caso de teste.

  4. Envie o comando READ DISC INFORMATION, com o comprimento de alocação igual ao comprimento dos dados da etapa 3 mais 2.

  5. Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

  6. [Opcional] Envie o comando READ DISC INFORMATION com o sinalizador de direção de dados definido como "para o dispositivo" e com o buffer de tamanho aleatório preenchido com dados aleatórios e comprimento de alocação definido como o tamanho do buffer.

Resultado: A unidade deve implementar corretamente o comando READ DISC INFORMATION para os tipos de mídia aplicáveis.

Comando READ FORMAT CAPACITIES

Descrição: Para validar se a unidade dá suporte ao comando READ FORMAT CAPACITIES para o perfil relatado.

Mídia aplicável: Qualquer uma das seguintes mídias:

  • DVD+RW

  • Substituição restrita de DVD-RW

  • DVD-RAM

  • CD-RW

Etapas do caso de teste:

  1. Envie o comando READ FORMAT CAPACITIES com Comprimento de Alocação igual a 4 (Cabeçalho de Lista de Capacidade).

  2. Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

  3. Obter o comprimento da lista de capacidade da resposta

  4. Envie o comando READ FORMAT CAPACITIES com Comprimento de Alocação igual ao Tamanho da Lista de Capacidade + 4 (tamanho do Cabeçalho da Lista de Capacidade).

  5. Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

  6. Verifique a resposta se o comprimento da lista de capacidade é múltiplo de 8.

  7. [Opcional] Envie o comando READ FORMAT CAPACITIES com o sinalizador de direção de dados definido como "para o dispositivo" e com o buffer de tamanho aleatório preenchido com dados aleatórios e comprimento de alocação definido como o tamanho do buffer.

Resultado: A unidade deve implementar corretamente o comando READ FORMAT CAPACITIES para os tipos de mídia aplicáveis.

Comando READ TOC/PMA/ATIP

Descrição: Para validar se a unidade dá suporte ao comando READ TOC/PMA/ATIP para o perfil relatado.

Mídia aplicável: Qualquer uma das seguintes mídias:

  • CD-ROM

  • DVD-ROM

  • BD-ROM

Etapas do caso de teste:

  1. Envie o comando READ TOC/PMA/ATIP com os valores a seguir no CDB.

    • Format = 0, MSF = 0, Track Session Number = 1, Allocation Length = 4
  2. Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

  3. [Opcional] Envie o comando READ TOC/PMA/ATIP com o sinalizador de direção de dados definido como "para o dispositivo" e com o buffer preenchido com dados aleatórios e comprimento de alocação definido como o tamanho do buffer. Defina o CDB com os seguintes valores:

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

Resultado: A unidade deve implementar corretamente o comando READ TOC/PMA/ATIP para os tipos de mídia aplicáveis

Comando SEND OPC INFORMATION

Descrição: [Este conteúdo ainda não está disponível.]

Mídia aplicável: Qualquer uma das seguintes mídias:

  • Substituição restrita de DVD-RW

  • DVD-R

  • CD-RW

  • CD-R

Etapas do caso de teste:

  1. Enviar o comando SEND OPC INFORMATION com DoOpc definido como 1

  2. Se o comando falhar, imprima a tecla sense e falhe no caso de teste.

  3. [Opcional] Envie o comando SEND OPC INFORMATION com DoOpc definido como 1, sinalizador de direção de dados definido como "para o dispositivo" e com buffer de tamanho aleatório preenchido com dados aleatórios. O comprimento da alocação é definido como o tamanho do buffer.

Resultado: A unidade deve implementar corretamente o comando SEND OPC INFORMATION para os tipos de mídia aplicáveis.

Comando SET CD SPEED

Descrição: Para validar se a unidade dá suporte ao comando SET CD SPEED para o perfil relatado.

Mídia aplicável: Qualquer mídia compatível com o dispositivo

Etapas do caso de teste:

  1. Envie o comando GET CONFIGURATION para obter o recurso STREAMING em TEMPO REAL. Verifique a resposta, se o bit Definir Velocidade de CD (SCS) estiver definido. Se isso não estiver definido, a unidade não oferecerá suporte ao comando SET CD SPEED. Ignore o caso de teste.

  2. Envie o comando SET CD SPEED, com os valores a seguir no CDB.

    • RotationalControl = 0, ReadSpeed = 0xFFFF, WriteSpeed = (((4* 75 * 2352) + 500) / 1000) Se o comando falhar ao imprimir a tecla sense e falhar no caso de teste
  3. [Opcional] Comando Enviar SET CD SPEED com o sinalizador de direção de dados definido como "para o dispositivo" e com o buffer de tamanho aleatório preenchido com dados aleatórios. Defina os valores a seguir no CDB.

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

Resultado: A unidade deve implementar corretamente o comando SET CD SPEED para os tipos de mídia aplicáveis.

Comando READ10

Descrição: Para validar se a unidade dá suporte ao comando READ10 para o perfil relatado.

Mídia aplicável: Qualquer uma das seguintes mídias:

  • CD-ROM

  • DVD-ROM

Etapas do caso de teste:

  1. Comando Enviar READ TOC/PMA/ATIP com Comprimento de Alocação igual ao tamanho do cabeçalho de resposta READ TOC ( 4 bytes)

  2. Envie o comando READ TOC/PMA/ATIP com Comprimento de Alocação igual ao tamanho do cabeçalho de resposta READ TOC ( 4 bytes) + o Comprimento dos Dados do Cabeçalho de Resposta da etapa 1.

  3. Verifique todos os descritores de LEITURA TOC formatados, se qualquer um de seus controles estiver definido como 0x04

  4. Se não for encontrado, então, falhará no caso de teste

  5. Caso contrário, obtenha o endereço inicial da faixa do descritor de faixa toc formatado.

  6. Envie o comando Capacidade de Leitura com o campo LBA definido como zero para obter o tamanho do bloco.

  7. Envie o Comando de Leitura com o Comprimento de Transferência definido como zero e o LBA inicial definido para o LBA da etapa 5.

  8. Calcular o número de blocos a serem lidos

  9. Se o LBA na resposta de capacidade de leitura for menor que o LBA da etapa 5, o número de blocos a serem lidos será definido como 0

  10. Se o LBA na resposta de capacidade de leitura for maior que o LBA da etapa 5, defina o número de blocos para leitura igual à diferença entre o LBA da resposta de capacidade de leitura e o LBA da etapa 5. Se esse valor for maior que 50, defina o número de blocos a serem lidos como 50.

  11. Definir o LBA inicial no CDB de leitura 10 para o LBA da etapa 5

  12. Enviar o comando read10 com o comprimento de transferência definido como 1

  13. Suspensão por 10 milissegundos

  14. Incrementar o LBA inicial no CDB de leitura de 10

  15. Repita as etapas de 12 a 14 até lermos todo o número de blocos.

  16. [Opcional] Envie o comando READ10 com o sinalizador de direção de dados definido como "para o dispositivo" e com o buffer de tamanho aleatório preenchido com dados aleatórios. Defina os valores a seguir no CDB.

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

Resultado: A unidade deve implementar corretamente o comando READ10 para os tipos de mídia aplicáveis.

Notificação de evento

Descrição: Para validar se a notificação de evento do dispositivo é relatada corretamente para o PNP do Windows.

Mídia aplicável: Qualquer mídia compatível com o dispositivo

Etapas do caso de teste:

  1. Se o campo BusType da estrutura de STORAGE_ADAPTER_DESCRIPTOR da unidade estiver definido como BusTypeSata, envie IOCTL_ATA_PASS_THROUGH com solicitação para identificar dados de informações do dispositivo de pacote. Na resposta marcar que o bit 5 da palavra 78 (há suporte para o recurso de Notificação Assíncrona) e o bit 5 do word 79 (o recurso de Notificação Assíncrona está habilitado) estão definidos. Caso contrário, falhará no teste

  2. Registre-se para o evento de Alteração Operacional.

  3. Verifique se a mídia está presente.

  4. Se a mídia estiver presente, ejete a mídia.

  5. Aguarde o evento MEDIA REMOVAL. Se o evento não for gerado dentro de 60 segundos, o caso de teste falhará.

  6. Injete a mídia na unidade.

  7. Aguarde o evento MEDIA ARRIVAL. Se o evento não for gerado dentro de 60 segundos, o caso de teste falhará.

Resultado: A unidade deve implementar corretamente as notificações de evento.

Gravar testes

Descrição: Valida os recursos de gravação da unidade para o conteúdo de dados no contexto do IMAPI. O dispositivo é testado com várias velocidades de gravação relatadas pela unidade. O teste também valida se os recursos de multissessão do dispositivo são aplicáveis à mídia inserida

Mídia aplicável: Qualquer uma das seguintes mídias (depende da operação de unidade):

  • Gravação sequencial:

    • CD-R

    • CD-RW

    • DVD+R

    • DVD-R

    • DVD-RAM

    • BD-R

    • BD-RE

  • Substituição restrita:

    • DVD-RW
  • Modo de pacote:

    • DVD+RW
  • Multisessão:

    • CD-R

    • CD-RW

    • DVD-R

    • DVD+R

    • BD-R

Etapas do caso de teste:

  1. Peça ao usuário para inserir mídia em branco.

  2. Chame a API IDiscFormat2Data::get_CurrentMediaStatus para marcar se a mídia estiver em branco.

  3. Se a mídia não estiver em branco e se for um dos seguintes tipos de mídia reescrigíveis, apague a mídia enviando o comando em branco com uma opção mínima em branco.

    • CD-RW

    • Gravação sequencial de DVD-RW

    • Substituição restrita de DVD-RW

    • DVD+RW

    • DVD-RAM

    • BD-RE

  4. Se a mídia não for uma mídia recriável, peça ao usuário para inserir a mídia em branco. Repita isso por três vezes, caso contrário, falhará no caso de teste.

  5. Se a mídia não for uma mídia recriável, peça ao usuário para inserir a mídia em branco. Repita isso por três vezes, caso contrário, falhará no caso de teste.

  6. Obtenha a lista de Descritores de Velocidade de Gravação chamando a API IDiscFormat2Data::get_SupportedWriteSpeedDescriptors.

  7. Randomizar a ordem das velocidades de gravação relatadas

  8. Defina a Velocidade de Gravação chamando a API IDiscFormat2Data::SetWriteSpeed com uma das velocidades de gravação da etapa 6.

  9. Crie um tamanho de dados aleatório com o intervalo de 10% do espaço disponível na mídia. Preencha o buffer com dados aleatórios.

  10. Obtenha o número de blocos gratuitos no disco usando a API IDiscFormat2Data::get_FreeSectorsOnMedia.

  11. Obtenha o próximo endereço gravável usando a API IDiscFormat2Data::get_NextWritableAddress.

  12. Escreva o buffer de dados da etapa 8 usando IDiscFormat2Data::Write.

  13. Se a unidade der suporte ao mecanismo autojetar-injetar, ejete e injete a mídia na bandeja.

  14. Se a mídia não for DVD-RW, DVD+RW, DVD-RAM, BD-RE, então:

    • Obtenha o número de blocos gratuitos no disco usando a API IDiscFormat2Data::get_FreeSectorsOnMedia.

    • Verifique se o número de setores livres é menor que o valor da etapa 9 pelo tamanho dos dados de gravação na etapa 8.

    • Obtenha o próximo endereço gravável usando a API IDiscFormat2Data::get_NextWritableAddress.

    • Verifique se o próximo endereço gravável é maior que o próximo endereço gravável da etapa 10 pelo tamanho dos dados de gravação na etapa 8.

    • Leia os dados do disco e compare se ele corresponde aos dados gravados na mídia na etapa 11.

  15. Obter as últimas informações de faixa

  16. Se a mídia não for DVD-RW, marcar se o Tamanho da Faixa Lógica for maior ou igual ao tamanho dos dados que escrevemos.

  17. Verifique se o número da faixa lógica está correto.

  18. Obtenha a página Modo de parâmetros de gravação.

  19. Verifique se a página Controlar informações relatadas pela unidade não é Pacote/Incremental se a página Modo de parâmetros de gravação é relatada como Pacote fixo.

  20. Leia as informações do disco e marcar se o número de sessões corresponder.

  21. Se a mídia não for DVD-RW, DVD+RW e DVD-RAM, repita as etapas de 7 a 19 para cada velocidade de gravação. Se a unidade retornou apenas uma velocidade de gravação, repita as etapas 7 a 19 mais uma vez para adicionar mais uma sessão ao disco para validar os recursos de multissessão.

Resultado: A unidade deve ser capaz de queimar os dados no contexto do IMAPI.

MÍDIA DE ÁUDIO (GRAVAR FAIXAS DE ÁUDIO)

Descrição: Valide os recursos de gravação da unidade para o conteúdo de áudio no contexto do IMAPI.

Mídia aplicável: Qualquer uma das seguintes mídias:

  • CD-R

  • CD-RW

Etapas do caso de teste:

  1. Se a mídia não estiver em branco e se for um tipo de mídia CD-RW, apague a mídia enviando o comando em branco com uma opção mínima em branco.

  2. Se a mídia não for uma mídia recriável, peça ao usuário para inserir a mídia em branco. Repita isso por três vezes, caso contrário, falhará no caso de teste.

  3. Bloqueie a mídia para acesso exclusivo chamando DiscFormat2TrackAtOnce::P repareMedia.

  4. Obtenha a lista de Descritores de Velocidade de Gravação chamando a API IDiscFormat2TrackAtOnce::get_SupportedWriteSpeeds.

  5. Escolha o número aleatório de faixas de áudio entre 3 e 10.

  6. Randomize a ordem das velocidades de gravação relatadas.

  7. Defina a Velocidade de Gravação chamando a API IDiscFormat2TrackAtOnce::SetWriteSpeed da etapa 1.

  8. Obtenha o número de blocos gratuitos no disco usando a API IDiscFormat2Data::get_FreeSectorsOnMedia.

  9. Crie dados de áudio de tamanho aleatório de dados de áudio de 1 minuto a 10 minutos de dados de áudio. O tamanho dos dados deve ser um múltiplo de 2352.

  10. Adicione o fluxo de dados de áudio ao IDiscFormat2TrackAtOnce::AddAudioTrack.

  11. Obter a última faixa Informações

  12. Verifique se o Tamanho da faixa lógica se for maior ou igual ao tamanho da faixa de áudio que escrevemos.

  13. Verificar se o número da faixa lógica está correto

  14. Obtenha o número de setores gratuitos na mídia chamando IDiscFormat2TrackAtOnce::FreeSectorsOnMedia.

  15. Verifique se o número de setores livres da etapa 14 é menor que o valor da etapa 8 pelo tamanho da faixa de áudio gravada na mídia.

  16. Repita as etapas de 5 a 15 para o número de faixas de áudio da etapa 5

  17. Obter a página modo de parâmetros de gravação

  18. Verifique se a página Controlar informações relatadas pela unidade não é Pacote/Incremental se a página Modo de parâmetros de gravação é relatada como Pacote fixo

  19. Repita as etapas de 1 a 18 para cada Velocidade de Gravação.

  20. Se a unidade der suporte ao mecanismo autojetar-injetar, ejete e injete a mídia na bandeja.

Resultado: A unidade deve ser capaz de queimar a mídia de áudio no contexto do IMAPI.

Vazio

Descrição: Valida os recursos de formato/em branco da unidade no contexto do IMAPI.

Mídia aplicável: Qualquer uma das seguintes mídias:

  • CD-RW

  • DVD+RW

  • Substituição restrita de DVD-RW

  • BD-RE

Etapas do caso de teste:

  1. Verifique se a mídia é um dos seguintes tipos de mídia de gravação de leitura chamando a API IDiscFormat2Data::CurrentPhysicalMediaType

    • CD-RW

    • DVD-RW

    • DVD+RW

  2. Se a mídia não for um dos tipos de mídia de gravação de leitura, ignore o caso de teste.

  3. Verifique se a mídia é uma mídia em branco chamando a API IDiscFormat2Erase::MediaPhysicallyBlank.

  4. Se a mídia estiver em branco, vá para a etapa 7.

  5. Crie um fluxo de dados aleatório de 25 MB.

  6. Escreva o fluxo de dados no disco usando a API IDiscFormat2Data::Write.

  7. Verifique se a unidade relata a mídia como mídia não em branco chamando a API IDiscFormat2Data::get_CurrentMediaStatus.

  8. Se a unidade ainda relatar mídia como em branco, então falhará no caso de teste

  9. Implemente Erase Event Handler DDiscFormat2EraseEvents::Update.

  10. Chame a API IDiscFormat2Erase::p ut_FullErase e defina a opção de apagamento como false, para que ela faça um mínimo em branco.

  11. Envie o comando em branco usando a API IDiscFormat2Erase::EraseMedia.

  12. Chame a API IDiscFormat2Data::get_CurrentMediaStatus para marcar se a mídia estiver em branco.

  13. Ler informações de disco e marcar se o

    • O número de sessões relatadas é 1.

    • A primeira faixa na última sessão é 1.

    • A última faixa na última sessão é 1.

  14. Chame a API IDiscFormat2Erase::p ut_FullErase e defina a opção apagar como full blank. Repita as etapas de 9 a 14.

Resultado: A unidade deve ser capaz de formatar a mídia no contexto do IMAPI.

Gravar mídia de camada dupla

Descrição: Valida os recursos de gravação do para a mídia de camada dupla no contexto do IMAPI. O dispositivo é testado com várias velocidades de gravação relatadas pela unidade.

Mídia aplicável: Qualquer uma das seguintes mídias:

  • DVD+R DL

  • DVD-R DL

Etapas do caso de teste:

  1. Peça ao usuário para inserir mídia em branco.

  2. Chame a API IDiscFormat2Data::get_CurrentMediaStatus para marcar se a mídia estiver em branco

  3. Se a mídia não for uma mídia recriável, peça ao usuário para inserir a mídia em branco. Repita isso por três vezes, caso contrário, falhará no caso de teste.

  4. Obtenha a lista de Descritores de Velocidade de Gravação chamando a API IDiscFormat2Data :: get_SupportedWriteSpeedDescriptors.

  5. Randomizar a ordem das velocidades de gravação relatadas

  6. Defina a Velocidade de Gravação chamando a API IDiscFormat2Data::SetWriteSpeed com uma das velocidades de gravação da etapa 5.

  7. Crie um fluxo de dados aleatório de tamanho aleatório de até 50% do espaço disponível na mídia. Preencher o buffer com dados aleatórios

  8. Escreva o buffer de dados da etapa 7 usando IDiscFormat2Data :: Write.

  9. Se a unidade der suporte ao mecanismo de injeção automática de ejeção, ejete e injete a mídia na bandeja.

  10. Leia os dados do disco e compare se ele corresponde aos dados gravados na mídia na etapa 9.

  11. Obtenha as últimas informações de rastreamento.

  12. Verifique se o Tamanho da Faixa Lógica será maior ou igual ao tamanho dos dados que escrevemos.

  13. Verificar se o número da faixa lógica está correto

  14. Obtenha a página Modo de parâmetros de gravação.

  15. Verifique se a página Controlar informações relatadas pela unidade não é Pacote/Incremental se a página Modo de parâmetros de gravação é relatada como Pacote fixo.

  16. Leia as informações do disco e marcar se o número de sessões corresponder.

  17. Repita as etapas de 8 a 16 com um fluxo de dados aleatório de tamanho aleatório de até 100% do espaço disponível na mídia.

    Aviso

       Essas últimas etapas são testar se a unidade é capaz de gravar os dados na camada dupla corretamente.

     

Resultado: A unidade deve ser capaz de queimar os dados em ambas as camadas da mídia de Camada Dupla no contexto do IMAPI.

Unidade somente leitura

Descrição: Teste a funcionalidade de leitura de uma unidade somente leitura em um disco aberto (acréscimo) e fechado (finalizado).

Aviso

   Esse caso de teste requer uma unidade de gravador secundária para criar o disco de dados de teste para o perfil de teste correspondente.

 

Mídia aplicável: Qualquer uma das seguintes mídias:

  • CD-ROM

  • DVD-ROM

  • BD-ROM

Etapas do caso de teste:

  1. Ejete a bandeja da unidade do gravador.

  2. Se o perfil de teste for

    • CD-ROM solicita que o usuário insira CD-R/CD-RW na unidade de gravador.

    • DVD-ROM solicita que o usuário insira DVD+R/DVD-R/DVD+RW/DVD-RAM na unidade do gravador.

    • O BD-ROM solicita que o usuário insira BD-R/ BD-RE na unidade de gravador.

  3. Injete a bandeja da unidade do gravador.

  4. Obtenha a lista de Descritores de Velocidade de Gravação chamando a API IDiscFormat2Data :: get_SupportedWriteSpeedDescriptors.

  5. Crie um fluxo de dados aleatório de tamanho aleatório de até 10% do espaço disponível na mídia. Preencha o buffer com dados aleatórios.

  6. Defina a Velocidade de Gravação chamando a API IDiscFormat2Data::SetWriteSpeed com o primeiro valor de descritor de velocidade de gravação da etapa 4.

  7. Escreva o buffer de dados da etapa 5 usando IDiscFormat2Data::Write na mídia na unidade de gravador.

  8. Ejete a bandeja de unidade do gravador se ela oferecer suporte ao mecanismo de ejeção automática. Caso contrário, peça ao usuário para pressionar o botão ejetar

  9. Ejete a bandeja de test drive se ela der suporte ao mecanismo de ejeção automática ejetar a bandeja, caso contrário, peça ao usuário para pressionar o botão ejetar.

  10. Peça ao uso para remover a mídia da unidade de gravador e colocá-la no test drive.

  11. Injete a bandeja de unidade do gravador se ela der suporte ao mecanismo de injeção automática (carregando a bandeja). Caso contrário, peça ao usuário para inserir a bandeja na unidade.

  12. Injete a bandeja de test drive se ela der suporte ao mecanismo de injeção automática (carregando a bandeja). Caso contrário, peça ao usuário para inserir a bandeja na unidade.

  13. Leia os dados do disco de test drive e compare se ele corresponde aos dados gravados na mídia na etapa 7.

  14. Defina as etapas IDiscFormat2Data::ForceMediaToBeClosed como true e Repeat de 1 a 13 para validar o test drive em um disco finalizado.

Resultado: A unidade deve ser capaz de ler a mídia fechada e aberta.

Número de série da unidade

Descrição: Valida se o número de série da unidade retornado pelo test drive está em conformidade com o MMC/Mt. Padrões de especificação fuji.

Aviso

   Esse caso de teste requer duas unidades idênticas para validar se ambas as unidades retornam números de série exclusivos. Um dispositivo de teste primário e o outro é um test drive secundário.

 

Mídia aplicável: Qualquer mídia compatível com o dispositivo

Etapas do caso de teste:

  1. Envie o comando INQUIRY para o dispositivo de teste primário com o comprimento de alocação igual a 05h.

  2. Se o comando for bem-sucedido, obtenha o valor de comprimento adicional do cabeçalho de resposta.

  3. Envie o comando INQUIRY novamente para o dispositivo primário com o comprimento de alocação definido como 5 bytes a mais do que o comprimento adicional da etapa 2.

  4. Se o comando tiver êxito, obtenha a Identificação do Fornecedor, a Identificação do Produto e o Nível de Revisão do Produto.

  5. Repita a etapa 1 a 4 para a unidade secundária e obtenha a Identificação do Fornecedor, a Identificação do Produto e o Nível de Revisão do Produto.

  6. Compare os valores Identificação do Fornecedor, Identificação do Produto e Nível de Revisão do Produto da etapa 4 e etapa 5. Se eles não corresponderem, falhará no caso de teste.

    Aviso

       Isso é para garantir que ambos os test drives sejam idênticos

     

  7. Envie o comando GET CONFIGURATION para o test drive primário para obter o recurso NÚMERO DE SÉRIE DA UNIDADE LÓGICA com comprimento de alocação igual ao tamanho do descritor do recurso NÚMERO DE SÉRIE DA UNIDADE LÓGICA.

  8. Verifique a resposta se o código do recurso corresponde ao código de recurso NÚMERO DE SÉRIE DA UNIDADE LÓGICA. Obtenha o comprimento adicional.

  9. Envie o comando GET CONFIGURATION para o test drive primário para obter o recurso NÚMERO DE SÉRIE DA UNIDADE LÓGICA com comprimento de alocação igual ao tamanho do descritor de recurso NÚMERO DE SÉRIE DA UNIDADE LÓGICA mais o comprimento adicional necessário relatado na etapa 8.

  10. Verifique o seguinte na resposta:

    • O código do recurso corresponde ao código do recurso NÚMERO DE SÉRIE DA UNIDADE LÓGICA.

    • Os dados de número de série relatados estão em ASCII.

    • Os dados são acolchoados.

    • Nenhum dado após o preenchimento.

  11. Repita de 7 a 9 para o dispositivo de teste secundário e obtenha o número de série da unidade.

  12. Compare os números de série da unidade da etapa 10 e da etapa 11. Espera-se que as unidades retornem números de série exclusivos. Se ambos os números de série forem iguais, falhará no caso de teste.

Resultado: A unidade deve retornar um número de série exclusivo e esse número deve estar em conformidade com o MMC/Mt. Padrões Fuji.

Streaming em tempo real

Descrição: Valida se os recursos de streaming em tempo real da unidade para o conteúdo de dados no contexto de cdrom.sys driver. O dispositivo é testado com várias velocidades de leitura e gravação relatadas pela unidade.

Mídia aplicável: Qualquer mídia compatível com o dispositivo

Etapas do caso de teste:

  1. Peça ao usuário para inserir mídia.

  2. Se a mídia não for gravável ou recriável, prossiga para o teste de leitura na etapa 13.

  3. Chame a API IDiscFormat2Data::get_CurrentMediaStatus para marcar se a mídia estiver em branco.

  4. Se a mídia não estiver em branco e se for um dos seguintes tipos de mídia recriáveis, apague a mídia enviando o comando em branco com uma opção mínima em branco.

    • CD-RW

    • Gravação Sequencial de DVD-RW

    • Substituição restrita de DVD-RW

    • DVD+RW

    • DVD-RAM

    • BD-RE

  5. Se a mídia não for uma mídia rewritable, peça ao usuário para inserir a mídia em branco. Repita isso por três vezes, caso contrário, falhe no caso de teste.

  6. Envie o comando GET CONFIGURATION com a solicitação do recurso STREAMING em TEMPO REAL. Se não for bem-sucedido ou o bit Atual não estiver definido, falhará no teste.

  7. Se o bit SW (Gravação de Fluxo) ou o bit WSPD (Descritor de Desempenho de Velocidade de Gravação) da resposta do recurso STREAMING em tempo real não estiver definido, falhará no teste.

  8. Envie o comando GET PERFORMANCE com solicitação para descritores de velocidade de gravação e compilação e matriz de velocidades de gravação com suporte. Se o comando não for bem-sucedido, falhe no teste.

  9. Embaralhar a matriz de velocidade de gravação.

  10. Se o tamanho da mídia gratuita for superior a 10% de sua capacidade total, chame DeviceIoControl com IOCTL_CDROM_SET_SPEED e CDROM_SET_STREAMING estrutura fornecida para a próxima velocidade de gravação. Escreva dados aleatórios até 10% da capacidade total e meça a velocidade (consulte a seção correspondente neste documento para medir a descrição do procedimento).

  11. Repita a etapa 10 o máximo possível. Se todas as velocidades de gravação forem sondadas, embaralte a matriz de velocidade e defina a próxima velocidade de gravação para o início.

  12. Enviar comandos CLOSE TRACK SESSION para finalizar a mídia

  13. Se o bit WSPD (Descritor de Desempenho de Velocidade de Gravação) da resposta do recurso STREAMING em tempo real for definido, envie o comando GET PERFORMANCE com a solicitação de Descritores de Velocidade de Gravação e crie uma matriz de velocidades de leitura com suporte, caso contrário, envie o comando GET PERFORMANCE com a solicitação de dados de desempenho com bits de tolerância definidos como 10b (nominal) e, para as velocidades de leitura, selecione o valor mais baixo dos campos Iniciar Desempenho e Desempenho Final na resposta. Se um dos comandos não tiver êxito, falharei no teste.

  14. Embaralhar a matriz de velocidade de leitura.

  15. Defina o comprimento de leitura como tamanho da primeira faixa na mídia.

  16. Para cada chamada de velocidade de leitura DeviceIoControl com IOCTL_CDROM_SET_SPEED e CDROM_SET_STREAMING estrutura fornecida para a próxima velocidade de leitura. Leia os dados inteiros registrados na mídia em partes de 10% da capacidade de mídia (ou pelo menos 5 MB se a mídia tiver menos de 50 MB de dados) e meça a velocidade de cada parte. Se a velocidade real de qualquer parte estiver abaixo da velocidade solicitada para qualquer uma das partes, marque que o teste falhou.

Resultado: A unidade deve ser capaz de operar no modo de streaming em tempo real.

Medição de velocidade de gravação

O teste consulta o dispositivo e obtém as velocidades de gravação com suporte para a mídia de teste. Em seguida, ele tentará validar o cenário de gravação para todas as velocidades de gravação relatadas. O teste espera que as velocidades de gravação calculadas para cada cenário de gravação sejam próximas da velocidade de gravação definida para a unidade. O teste permite tolerância de 10% para a velocidade de gravação medida. O teste valida a velocidade de gravação conforme mostrado abaixo.

O teste grava dados na mídia e monitora a quantidade de dados que estão sendo gravados. Ele exclui o tempo para os dados gravados iniciais de 10% dos dados gravados nos últimos 10%. Ele mede o tempo apenas para os dados médios de 80% e calcula a velocidade para esses dados e adiciona tolerância de 10% a esse valor. Portanto, se 'x' for o calculado, a velocidade dos dados médios de 80%, a velocidade calculada final será de 1,1x. O teste espera que esse valor seja maior ou igual à velocidade definida para a unidade antes de iniciar a gravação.

O teste exclui os 10% iniciais de tempo de gravação de dados para permitir que a unidade se prepare para gravação. O tempo de dados final de 10% é excluído para permitir que a unidade faça a limpeza adequada dos dados gravados na mídia.

Gravações brutas sem lacunas de mídia de áudio

Descrição: Valida os recursos de gravação da unidade para o conteúdo de áudio bruto sem lacunas no contexto do IMAPI

Mídia aplicável: Qualquer uma das seguintes mídias:

  • CD-R

  • CD-RW

Etapas do caso de teste:

  1. Verifique se a unidade com mídia inserida dá suporte à gravação bruta sem lacunas ou não. Se não houver suporte, o teste falhará.

  2. Verifique os tipos de setor compatíveis com o test drive.

  3. Para cada tipo de setor compatível com test drive, conclua as etapas 4 a 9

  4. Crie a imagem bruta.

  5. Defina o tipo de setor correto e crie o fluxo de resultados para a imagem bruta.

  6. Determine se a imagem bruta é sem lacunas ou não.

  7. Escolha aleatoriamente uma velocidade de gravação e defina-a como a velocidade de queima. Defina o tipo de setor solicitado como aquele que foi definido para a imagem bruta. Escreva o fluxo da imagem bruta na mídia e watch o progresso. Calcule a velocidade de queima e imprima a taxa de transferência.

  8. Determine se a gravação foi bem-sucedida verificando cada informação de faixa lógica. Verifique se a faixa é de áudio, se o tamanho da faixa está correto e se o tamanho do último número de faixa lógica mais seu endereço inicial é igual ao endereço inicial do cliente potencial fora do disco. Se qualquer uma das condições retornar false, o teste falhará. Caso contrário, ele passará.

  9. Faça uma leitura bruta para a mídia. Para cada faixa, marcar se a faixa for áudio. Se não for, falhe no teste, pois a gravação já garantiu que as faixas são faixas de áudio. Calcule o deslocamento inicial e o deslocamento final da faixa. Faça a leitura da faixa começando do deslocamento inicial e terminando no deslocamento final da faixa. Se ocorrer um erro durante o processo de leitura, falhe no teste;

Resultado: A unidade deve ser capaz de queimar a imagem de áudio bruto sem lacunas no contexto do IMAPI.

Uso de comando

Comando Descrição

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

Executa o teste.

Observação

   Para obter ajuda de linha de comando para esse binário de teste, digite /h.

 

Sintaxe de comando

Opção de comando Descrição

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

Executa o teste.

unidade

Testar letra de unidade de dispositivo óptico.

Exemplo: /drive e:\\

adaptador

path (usado para teste do adaptador).

Exemplo: /adapter \"PCI\\VEN_8086&DEV_27DF&SUBSYS_01AD1028&REV_01\\3&172E68DDD&0&F9\"

PrimaryTestDrive

Testar letra de unidade de dispositivo óptico.

Exemplo: /PrimaryTestDrive e:\\

SecondaryTestDrive

Letra de unidade de dispositivo de teste óptico secundária.

Exemplo: /Secondary Test Drive f:\\

WriterDrive

Letra da unidade do Gravador que precisa ser usada para testar unidades somente leitura.

Exemplo: /WriterDrive f:\\

PrimaryDriveTray

Recursos primários de bandeja de dispositivo óptico.

Exemplo: /PrimaryDriveTray SupportsEjectInject

SecondaryDriveTray

Recursos secundários da bandeja de dispositivos ópticos.

Exemplo: /SecondaryDriveTray SupportsEjectInject

WriterDriveTray

Funcionalidades da bandeja de disco do gravador.

Exemplo: /WriterDriveTray SupportsEjectInject

perfil

Execute os perfis especificados dos casos de teste. A ID do perfil deve estar em casas decimais e separadas por vírgula sem espaços.

Exemplo: /profile 9,10,16

seed

Valor de semente para gerar dados de teste aleatórios.

Exemplo: /seed 1000

RunTestCaseTypes

Executa apenas a categoria de casos de teste.

Exemplo: dispositivo /RunTestCaseTypes

RunTestCase

Executa somente este caso de teste.

Exemplo: /RunTestCase Inquiry

Automação

Execute no modo de automação usando o robô para alterar a mídia.

Exemplo: /Automation

AutomationConfigFile

O arquivo de configuração usado para especificar o local do compartimento para mídia.

Exemplo: /AutomationConfigFile OpticalLogoTest.exe.config

Calibrar

Calibrar o robô usado para alterar a mídia.

Exemplo: /Calibrar

Logotipo

O nível de requisitos de certificação a serem testados.

Exemplo: /logo basic ou /logo premium

ReuseMedia

Reutilize a mídia não em branco para teste. O teste não espera que a mídia fique em branco se a multissessão tiver suporte para essa mídia. Essa opção é somente para teste. Não permitido para certificação.

Exemplo: /ReuseMedia

SkipFullBlank

Ignore o cenário em branco completo e teste apenas o mínimo em branco.

Exemplo: /SkipFullBlank

SkipManualTestCases

Ignorar casos de teste que precisam de interação manual.

Exemplo: /SkipManualTestCases

RunDataDirectionFlagScenario

Valide os comandos com um sinalizador de direção de dados incorreto.

Exemplo: /RunDataDirectionFlagScenario

Depurador

Solicita a anexação do depurador, o que dá tempo para permitir que o depurador seja anexado antes de executar o programa.

Exemplo: /Depurador

Detalhamento

Detalhamento de log.

Exemplo: /Verbosity Verbose

log

Nome do arquivo de log

Valor padrão: OpticalLogoTest.wtl

Exemplo: /log mytestlog.wtl

EnableImapiv2Trace

Habilite o rastreamento de software IMAPIv2.

Exemplo: /EnableImapiv2Trace

Imapiv2TraceGuidsFile

Arquivo GUIDs de rastreamento IMAPIv2 que tem toda a lista de GUIDs de componentes para os quais os rastreamentos precisam ser registrados

Valor padrão: imapiv2-guids.txt

Exemplo: /IMAPIv2TraceGuidsFile imapiv2-guids.txt

Imapiv2TraceLogFile

Arquivo de log de rastreamento de saída IMAPIv2.

Valor padrão: imapiv2-tracelog.etl

Exemplo: /IMAPIv2TraceLogFile imapiv2-tracelog.etl

cmdPerfTraceAnalysis

Execute a análise de desempenho do comando.

Exemplo: /cmdPerfTraceAnalysis Always

cmdPerfTraceGuidsFile

Arquivo GUIDs de rastreamento de desempenho que tem os GUIDs de componentes que rastreiam dados de desempenho

Valor padrão: perf-guids.txt

Exemplo: /cmdPerfTraceGuidsFile perf-guids.txt

cmdPerfTraceLogFile

Arquivo de log de rastreamento de saída de desempenho

Valor padrão: perf-tracelog.etl

Exemplo: /cmdPerfTraceLogFile perf-tracelog.etl

cmdPerfTraceTmfFile

Arquivo de descrição do formato de rastreamento de desempenho.

Exemplo: /cmdPerfTraceTmfFile perf-tracelog.tmf

 

Lista de arquivos

Arquivo Location

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

Nome do parâmetro Descrição do parâmetro
StorageDriveLetter Letra da unidade do dispositivo de teste
profile
LLU_NetAccessOnly Conta de usuário para acessar o compartilhamento de arquivos de teste.
LLU_LclAdminUsr Conta de usuário para executar o teste.
WDKDeviceID Caminho da instância do dispositivo a ser testado
log
RunTestCaseTypes
AdditionalParams