Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você pode executar o SDV (Verificador de Driver Estático) em uma janela do Prompt de Comando do Visual Studio , por meio da instalação do WDK (Windows Driver Kit) ou da execução do Enterprise Windows Driver Kit (EWDK). Navegue até o diretório onde o arquivo de projeto do driver ou o arquivo de projeto da biblioteca está armazenado. Os parâmetros podem aparecer em qualquer ordem na linha de comando.
Important
O SDV não tem mais suporte e o SDV não está disponível nas versões WDK ou EWDK do Windows 24H2. Ele não está disponível em WDKs mais recentes do que o build 26017 e não está incluído no WDK do Windows 24H2 RTM.
O SDV ainda pode ser usado baixando o Windows 11, versão 22H2 EWDK (lançado em 24 de outubro de 2023) com as ferramentas de construção do Visual Studio 17.1.5 a partir do Download do Kit de Drivers do Windows (WDK). É recomendável apenas o uso do WDK Enterprise para executar o SDV. Não é recomendável usar versões mais antigas do WDK padrão em conjunto com versões recentes do Visual Studio, pois isso provavelmente resultará em falhas de análise.
De agora em diante, o CodeQL será a ferramenta principal de análise estática para drivers de software. O CodeQL fornece uma linguagem de consulta poderosa que trata o código como um banco de dados a ser consultado, simplificando a gravação de consultas para comportamentos específicos, padrões e muito mais.
Para obter mais informações sobre como usar o CodeQL, consulte CodeQL e o Teste de Logotipo de Ferramentas Estáticas.
msbuild /t:sdv /p:Inputs="Parameters" ProjectFile /p:Configuration=configuration /p:Platform=platform
Você deve selecionar uma configuração de versão (por exemplo, /p:Configuration="Versão do Windows 7"). Para obter a lista de configurações de versão com suporte, consulte Como criar um driver. A plataforma pode ser Win32 (para x86) ou x64 (por exemplo, /p:Platform=Win32).
Note
Verifique o plano de gerenciamento de energia do computador para garantir que o computador não entre em um estado de suspensão durante a análise.
Parameters
/scan
Verifica o código-fonte do driver em busca de declarações de tipo de função. Para obter informações sobre como declarar as funções de retorno de chamada fornecidas pelo driver e rotinas de expedição, consulte Usando declarações de tipo de função. Durante essa verificação, o SDV tenta detectar os pontos de entrada do driver que precisa para verificar o driver. Ele registra os resultados da verificação em Sdv-map.h, um arquivo que ele cria no diretório de projeto do driver.
Para obter mais informações, consulte Preparando seu código-fonte.
/check:<em>Rule</em> |Rule,...
Inicia uma verificação com as regras especificadas. Você pode especificar mais de uma regra separando cada regra com uma vírgula. Execute o comando /check: e especifique o arquivo de projeto do Visual Studio do driver (*.vcxproj).
Regra é o nome de uma regra ou um padrão de nome de regra que inclui caracteres curinga (*) para representar um ou mais caracteres. Quando usado sozinho, o caractere curinga (*) representa todas as regras.
/check:RuleList.sdv
Inicia uma verificação com as regras no arquivo de lista de regras especificado. Você pode listar apenas um arquivo com esse parâmetro. No arquivo de lista de regras, cada linha pode ser o nome de uma regra ou pode ser um caractere curinga (*), que representa todas as regras SDV. Execute o comando /check:RuleList.sdv e especifique o arquivo de projeto do Visual Studio do driver (*.vcxproj).
RuleList.sdv é o caminho totalmente qualificado e o nome do arquivo de um arquivo de lista de regras. O arquivo deve ter a extensão de nome de arquivo .sdv . A menos que o arquivo esteja no diretório local, o caminho é necessário. Se o caminho ou o nome do arquivo incluir espaços, você deverá colocar RuleList entre si.sdv entre aspas.
Se você especificar a opção /check: sem especificar uma regra, o SDV será executado com a regra padrão definida para o modelo de driver.
/lib
Processa a biblioteca no diretório atual. O SDV chama MSBuild.exe para compilar e criar a biblioteca para uso externo e gera os arquivos necessários para incluir a biblioteca na verificação do driver.
Use esse parâmetro antes de verificar os drivers que exigem a biblioteca. Execute o comando msbuild /t:sdv /p:Inputs="/lib" e especifique o arquivo de projeto do Visual Studio (*.vcxproj) para a biblioteca.
Para obter mais informações sobre o uso e o efeito do parâmetro /lib , consulte o Processamento de Biblioteca no Verificador de Driver Estático.
/view
Abre o Verificador de Driver Estático. Execute comandos /view e especifique o arquivo de projeto do Visual Studio do driver (*.vcxproj).
Os resultados estão disponíveis assim que uma verificação é concluída e permanecem disponíveis até que você use um comando /clean para excluir os arquivos SDV do diretório de projeto do driver.
/clean
Exclui arquivos SDV do diretório. Como esses arquivos são usados para gerar a exibição do Relatório do Verificador de Driver Estático, o comando /clean também exclui o relatório da verificação.
Execute um comando /clean e especifique o arquivo de projeto do Visual Studio (*.vcxproj) para o driver ou biblioteca. O comando exclui arquivos SDV somente para o projeto especificado.
Execute um comando /clean para um projeto de driver antes de cada verificação.
Execute um comando /clean para uma biblioteca quando os arquivos da biblioteca estiverem desatualizados, como quando o código da biblioteca for alterado.
Um comando /clean não removerá o arquivo Sdv-map.h, se o sinalizador aprovado for definido como true no arquivo Sdv-map.h (Approved=true). O SDV pode usar esse arquivo para verificações futuras.
/?
Exibe o uso de comandos SDV. Os comandos que usam esse parâmetro não precisam ser executados em uma janela de ambiente de build.
Comments
Executar msbuild /t:/sdv p:/Inputs= /? sem parâmetros exibe o uso dos comandos SDV.
Um comando /clean exclui os arquivos que o SDV usa para criar a exibição do Relatório do Verificador de Driver Estático para uma verificação. Depois de executar esse comando, a exibição do Relatório do Verificador de Driver Estático para a verificação não está mais disponível.
Examples
Para executar o SDV usando todas as regras nos arquivos de driver no diretório local para o projeto do mydriver:
msbuild /t:sdv /p:Inputs="/check:*" mydriver.VcxProj /p:Configuration="Windows 7 Release"/p:Platform=Win32
Para executar o SDV usando a regra CancelSpinLock nos arquivos de driver no diretório local:
msbuild /t:sdv /p:Inputs="/check:CancelSpinLock" mydriver.VcxProj /p:Configuration="Windows 7 Release" /p:Platform=Win32
Para executar o SDV usando a regra especificada no arquivo de lista de regras Rules1.sdv no diretório D:\SDV:
msbuild /t:sdv /p:Inputs="/check:D:\SDV\Rules1.sdv" mydriver.VcxProj /p:Configuration="Windows 7 Release" /p:Platform=Win32
Para executar o SDV novamente, desta vez usando a opção /clean:
msbuild /t:sdv /p:Inputs="/clean" mydriver.VcxProj /p:Configuration="Windows 7 Release"/p:Platform=Win32
Para exibir o Verificador de Driver Estático para que você possa exibir os resultados da verificação mais recente do driver no diretório local:
msbuild /t:sdv /p:Inputs="/view" mydriver.VcxProj /p:Configuration="Windows 7 Release" /p:Platform=Win32
Tópicos relacionados
Usando o Verificador de Driver Estático para localizar defeitos em drivers do Windows