Conjunto de regras IRQL (Storport)
Use essas regras para verificar se o driver faz chamadas DDI no IRQL necessário.
Um driver que não segue as regras do IRQL pode causar sérios problemas durante a operação que podem levar a condições de deadlock ou falhas no computador.
Nesta seção
Tópico | Descrição |
---|---|
Essa regra verifica se as rotinas a seguir são chamadas apenas em IRQL = DISPATCH_LEVEL. |
|
Essa regra verifica se KeReleaseSpinLock é chamado em IRQL = somente DISPATCH_LEVEL . Ele também deve definir o IRQL para o nível IRQL anterior. Normalmente, essa chamada seria precedida por uma chamada para KeAcquireSpinLock. |
|
Essa regra verifica se as rotinas de retorno de chamada do StorPort retornam no mesmo nível IRQL que o nível no qual são chamadas. |
|
Essa regra verifica se as rotinas TdiRegisterPnPHandlers e TdiDeregisterPnPnPHandlers só são chamadas em IRQL inferiores a DISPATCH_LEVEL. No entanto, se ExFreeToNPagedLookasideList for chamado, a regra será aprovada. |
|
A regra StorPortIrql verifica se as rotinas do StorPort são chamadas nos níveis IRQL corretos. |
Para selecionar o conjunto de regras Irql
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 Irql.
Para selecionar o conjunto de regras padrão em uma janela do prompt de comando do desenvolvedor do Visual Studio, especifique Irql.sdv com a opção /marcar. Por exemplo:
msbuild /t:sdv /p:Inputs="/check:Irql.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
Para obter mais informações, consulte Usando o Verificador de Driver Estático para localizar defeitos em drivers e comandos do Verificador de Driver Estático (MSBuild).