NDIS (conjunto de regras de bloqueio)
Use essas regras para verificar se o driver gerencia corretamente os recursos compartilhados.
Nesta seção
Tópico | Descrição |
---|---|
A regra SpinLock verifica o uso correto da interface de bloqueio de rotação do NDIS. Essa regra especifica que as chamadas para NdisAcquireSpinLock são feitas somente quando o SpinLock está no estado desbloqueado. Essa regra também verifica se o SpinLock é liberado antes que a rotina do manipulador de miniportos seja encerrada. |
|
A regra SpinLockBalanced verifica se o número de chamadas para funções que adquirem um SpinLock são iguais ao número de chamadas para funções que liberam o mesmo SpinLock. |
|
A regra SpinLockDpr verifica o uso correto da interface de bloqueio de rotação do NDIS. Essa regra especifica que as chamadas para NdisDprAcquireSpinLock são feitas somente quando o bloqueio de rotação está no estado desbloqueado. Essa regra também verifica se o bloqueio de rotação é liberado antes da saída da rotina do manipulador de miniportos. |
|
A regra SpinLockDprRelease verifica se as chamadas para NdisAcquireSpinLock ou NdisDprAcquireSpinLock são chamadas somente quando o SpinLock é o estado "desbloqueado". Essa regra também verifica se, antes de sair da rotina do manipulador de miniportos, o SpinLock foi lançado. |
|
A regra SpinLockRelease especifica que um driver não deve liberar um bloqueio de rotação (NdisReleaseSpinLock) sem primeiro adquiri-lo. |
Para selecionar o conjunto de regras de bloqueio
Selecione seu projeto de driver (.vcxProj) no Microsoft Visual Studio. No menu Driver , clique em Iniciar Verificador de Driver Estático....
Clique na guia Regras . Em Conjuntos de Regras, selecione Bloqueio.
Para selecionar o conjunto de regras padrão em uma janela do prompt de comando do desenvolvedor do Visual Studio, especifique Locking.sdv com a opção /marcar. Por exemplo:
msbuild /t:sdv /p:Inputs="/check:Locking.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
Para obter mais informações, consulte Using Static Driver Verifier to Find Defects in Drivers and Static Driver Verifier commands (MSBuild).