Compartilhar via


Teste de Syscache

Esse é um teste automatizado que grava em um arquivo e verifica se os dados gravados são lidos corretamente. Ele pode detectar corrompidos causados por qualquer coisa no caminho de firmware, drivers, sistema de arquivos, memória etc. Ele usa APIs padrão de gerenciamento de memória e sistema de arquivos Win32 para ler e gravar dados do arquivo. O binário de teste é readwrit.exe.

O Syscache abre um arquivo com um determinado sinalizador/atributo e grava no arquivo. Cada sinalizador escolhido pode abranger várias execuções no arquivo.

Uma execução é definida como um conjunto da seguinte sequência:

  • Criar/abrir um arquivo.

  • Trunque o filesize como 0.

  • Gravar no arquivo.

  • Feche o arquivo.

  • Reabra o arquivo.

  • Ler o arquivo.

  • Verifique o conteúdo do arquivo.

  • Feche o arquivo.

Há um conjunto de regiões zero e não zero no arquivo. Zero regiões são áreas no arquivo em que nenhum dado foi gravado. Regiões não zero são áreas no arquivo em que os dados foram gravados. O padrão é um DWORD do formato RRPPPPPP. Os dois primeiros bytes são o número de execução e os próximos três bytes são o complemento do deslocamento desse DWORD no arquivo.

Os seguintes atributos são usados para gravar um arquivo:

Atributo de Gravação Explicação

FILE_ATTRIBUTE_NORMAL

Consulte a Documentação de CreateFile()

FILE_FLAG_SEQUENTIAL_SCAN

Consulte a Documentação de CreateFile()

FILE_FLAG_NO_BUFFERING

Consulte a Documentação de CreateFile()

FILE_FLAG_NO_BUFFERING

Consulte a Documentação de CreateFile()

FILE_FLAG_WRITE_THROUGH

Consulte a Documentação de CreateFile()

FILE_ATTRIBUTE_TEMPORARY

Consulte a Documentação de CreateFile()

NO_BUFFERING | WRITE_THROUGH

Consulte a Documentação de CreateFile()

FILE_ATTRIBUTE_SPARSE_FILE

O arquivo é definido como esparso.

NORMAL APPEND_WRITE

O mesmo que FILE_ATTRIBUTE_NORMAL; fecha e reabre o arquivo por gravação e acrescentando a próxima região.

FILE_FLAG_SECTOR_CHUNKS

Assim como FILE_FLAG_NO_BUFFERING, os dados são gravados um setor por vez.

FILE_MAP

Assim como FILE_ATTRIBUTE_NORMAL, os dados são gravados por meio do mapeamento de memória.

FILE_FLAG_OVEREXTEND

Assim como FILE_ATTRIBUTE_NORMAL, os dados são gravados por meio do mapeamento de memória.

 

Os seguintes atributos são usados para leitura do arquivo:

Atributo de leitura Explicação

FILE_MAP

FILE_ATTRIBUTE_NORMAL, os dados são lidos por meio do mapeamento de memória

NO_BUFFERING

FILE_FLAG_NO_BUFFERING

NORMAL

FILE_ATTRIBUTE_NORMAL

RANDOM_ACCESS

FILE_FLAG_RANDOM_ACCESS

SEQUENTIAL_SCAN

FILE_FLAG_SEQUENTIAL_SCAN

TEMPORARY

FILE_FLAG_TEMPORARY

WRITE_THROUGH

FILE_FLAG_WRITE_THROUGH

 

Detalhes do teste

   
Especificações
  • Filter.Driver.FileSystem.MiniFilter
  • Filter.Driver.AntiVirus.MiniFilter
  • Filter.Driver.FileSystem.Functionality
Plataformas
  • Windows 10, edições de cliente (x86)
  • Windows 10, edições de cliente (x64)
  • Windows Server 2016 (x64)
  • Windows 10, edição móvel (Arm)
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) 180
Categoria Desenvolvimento
Tempo limite (em minutos) 10800
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

Para obter mais informações sobre os requisitos, consulte Pré-requisitos de teste do sistema de arquivos.

Além disso, esse teste requer espaço extra no disco rígido para quatro partições simples de 2.048 megabytes (MB) e duas partições simples de 1.024 MB.

Antes de executar o teste, você deve adicionar as partições a seguir ao computador de teste.

Rótulo Sistema de arquivos Tamanho Letra da unidade esperada

NTFS

NTFS

2.048 MB

G:

CNTFS

NTFS (compactado)

2.048 MB

i:

FAT

FAT16

1.024 MB

K:

FAT32

FAT32

1.024 MB

l:

ExFAT

ExFAT

2.048 MB

M:

UDF

UDF

2.048 MB

N:

REFS

REFS

10240 mb

o:

 

Solucionando problemas

Para solução de 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 teste do sistema de arquivos.

Quando o teste falha, o log contém todas as informações necessárias para analisar a falha. Procure as seguintes informações para reproduzir o erro:

  • O "Atributo de Gravação". Pesquise a tabela de atributos de gravação para descobrir como os dados foram gravados no arquivo.

  • O "Atributo de Leitura". Pesquise a tabela de atributos de leitura para descobrir como os dados foram lidos no arquivo.

  • O deslocamento no qual o erro ocorreu.

  • A região do arquivo em que o erro ocorreu. O teste normalmente grava toda a região usando uma única gravação (com exceção da opção FILE_FLAG_SECTOR_CHUNKS).

Para executar esse teste, verifique se o computador tem volumes NTFS, CNTFS, FAT16, FAT32, ExFAT e UDF configurados. Além disso, verifique se a letra da unidade desse volume foi inserida nos parâmetros _DRIVE_LETTER <sistema> de arquivos.

Este teste retorna Pass ou Fail. Para examinar os detalhes do teste, examine o log de teste do Windows Hardware Lab Kit (Windows HLK) Studio.

Mais informações

Sintaxe de comando

Opção de comando Descrição

WrapSyscache.cmd [NTFS_DRIVE_LETTER] [CNTFS_DRIVE_LETTER] [FAT_DRIVE_LETTER] [FAT32_DRIVE_LETTER] [EXFAT_DRIVE_LETTER] [UDF_DRIVE_LETTER] [WTTRunWorkingDir]

Grava em um arquivo e verifica se os dados gravados são lidos corretamente

Observação

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

 

Lista de arquivos

Arquivo Location

Ntlog.dll

<[osbinroot]>\nttest\CommonTest\NtLog\

Ntlogger.ini

<[osbinroot]>\nttest\CommonTest\NtLog\

Readwrit.exe

<[testbinroot]>\nttest\BASETEST\core_file_services\cachemgr\

RunSyscache.cmd

<[testbinroot]>\nttest\BASETEST\Core_File_Services\FilterManager\TestSuite\Scripts\FileSystems\

Stresslog.dll

<[testbinroot]>\nttest\basetest\core_file_services\shared_libs\

WrapSyscache.cmd

<[testbinroot]>\nttest\BASETEST\Core_File_Services\FilterManager\TestSuite\Scripts\FileSystems\

 

Parâmetros

Nome do parâmetro Descrição do parâmetro
NTFS_DRIVE_LETTER A letra da unidade para o volume NTFS no qual o teste do Syscache será executado.
CNTFS_DRIVE_LETTER A letra da unidade para o volume NTFS compactado no qual o teste do Syscache será executado.
FAT_DRIVE_LETTER A letra da unidade para o volume FAT no qual o teste do Syscache será executado.
FAT32_DRIVE_LETTER A letra da unidade para o volume FAT no qual o teste do Syscache será executado.
EXFAT_DRIVE_LETTER A letra da unidade do volume ExFat em que o teste do Syscache será executado.
UDF_DRIVE_LETTER A letra da unidade para o volume UDF em que o teste do Syscache será executado.
LLU_LclAdminUser LLU para execução
LLU_NetAccessOnly LLU para cópia
REFS_DRIVE_LETTER A letra da unidade para o volume ReFS no qual o teste será executado. Insira NONE se não >= Servidor Win8.