Partilhar via


Conjunto de regras IRQL (Storport)

Use estas regras para verificar se o driver faz chamadas DDI no IRQL necessário.

Um driver que não segue as regras IRQL pode causar sérios problemas durante a operação que podem levar a condições de bloqueio ou falhas do computador.

Nesta secção

Tópico Descrição

IrqlDispatch

Esta regra verifica se as seguintes rotinas são chamadas apenas em IRQL = DISPATCH_LEVEL.

IrqlKeReleaseSpinLock

Esta regra verifica se KeReleaseSpinLock é chamado apenas em IRQL = DISPATCH_LEVEL . Ele também deve definir o IRQL para o nível de IRQL anterior. Normalmente, essa chamada seria precedida por uma chamada para KeAcquireSpinLock.

SpChangeIrql

Esta regra verifica se as rotinas de retorno de chamada StorPort retornam ao mesmo nível de IRQL em que são chamadas.

SpIrql

Esta regra verifica se as rotinas TdiRegisterPnPHandlers e TdiDeregisterPnPHandlers só são chamadas no IRQL inferior a DISPATCH_LEVEL. No entanto, se for chamado ExFreeToNPagedLookasideList, a regra passará.

StorPortIrql

A regra StorPortIrql verifica se as rotinas StorPort são chamadas nos níveis corretos de IRQL.

Para selecionar o conjunto de regras Irql

  1. Selecione seu projeto de driver (.vcxProj) no Microsoft Visual Studio. No menu Driver, clique em Iniciar Verificador de Driver Estático...

  2. Clique na guia Regras . Em Conjuntos de Regras, selecione Irql.

    Para selecionar o conjunto de regras padrão em uma janela de prompt de comando do desenvolvedor do Visual Studio, especifique Irql.sdv com a opção /check . 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).