Partilhar via


NDIS (conjunto de regras IRQL)

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

Flags_Irql

A regra Flags_Irql especifica que KeGetCurrentIrql não deve ser chamado dentro de funções de retorno de chamada que tenham um parâmetro de sinalizador de nível de expedição que indique o IRQL atual.

O uso correto do sinalizador de nível de expedição pode ajudá-lo a evitar tentativas desnecessárias de definir o IRQL. Para obter mais informações sobre como usar esse sinalizador, consulte Dispatch IRQL Tracking.

Irql_CallManager_Function

A regra Irql_CallManager_Function especifica que as funções NDIS para o CallManager do NDIS devem ser chamadas em níveis IRQL corretos.

Irql_Connection_Function

A regra Irql_Connection_Function especifica que as funções de conexão NDIS para drivers de protocolo devem ser chamadas em níveis IRQL corretos.

Irql_Filter_Driver_Function

A regra Irql_Filter_Driver_Function especifica que as funções NDIS para drivers de filtro devem ser chamadas em níveis IRQL corretos.

Irql_Gather_DMA_Function

A regra Irql_Gather_DMA_Function especifica que as funções de DMA de dispersão/coleta do NDIS devem ser chamadas em níveis IRQL corretos.

Irql_IM_Function

A regra Irql_IM_Function especifica que as funções NDIS para drivers intermediários (mensagens instantâneas) devem ser chamadas em níveis IRQL corretos.

Irql_Interfaces_Function

A regra de Irql_Interfaces_Function especifica que as funções de interface de rede NDIS devem ser chamadas em níveis IRQL corretos.

Irql_Interrupt_Function

A regra Irql_Interrupt_Function especifica que as funções NDIS para interrupções devem ser chamadas em níveis IRQL corretos.

Irql_IrqlSetting_Function

A regra Irql_IrqlSetting_Function especifica que as macros de interrupção do NDIS devem ser chamadas em níveis IRQL corretos.

Irql_MCM_Function

A regra de Irql_MCM_Function especifica que as funções NDIS MCM para drivers devem ser chamadas em níveis IRQL corretos.

Irql_MCO_Function

A regra Irql_MCO_Function especifica que os DDIs MCO do NDIS para drivers de miniporto devem ser chamados em níveis IRQL corretos.

Irql_Miniport_Driver_Function

A regra de Irql_Miniport_Driver_Function especifica que as funções NDIS para drivers de miniporto devem ser chamadas em níveis IRQL corretos.

Irql_Miscellaneous_Function

A regra Irql_Miscellaneous_Function especifica que as funções NDIS devem ser chamadas em níveis IRQL corretos.

Irql_NetBuffer_Function

A regra Irql_NetBuffer_Function especifica que as funções relacionadas à NET_BUFFER devem ser chamadas em níveis IRQL corretos.

Irql_OID_Function

A regra Irql_OID_Function especifica que os DDIs de solicitação OID do NDIS devem ser chamados em níveis IRQL corretos.

Irql_Protocol_Driver_Function

A regra Irql_Protocol_Driver_Function especifica que as funções NDIS para clientes CoNDIS devem ser chamadas em níveis IRQL corretos.

Irql_SendRcv_Function

A regra Irql_SendRcv_Function especifica que as funções de envio e recebimento para drivers NDIS devem ser chamadas em níveis IRQL corretos.

Irql_StatusIndication_Function

A regra Irql_StatusIndication_Function especifica que as funções de indicação de status NDIS para drivers de miniporto e filtro devem ser chamadas em níveis IRQL corretos.

Irql_Synch_Function

A regra Irql_Synch_Function especifica que os DDIs de interrupção e sincronização do NDIS devem ser chamados em níveis IRQL corretos.

Irql_Timer_Function

A regra Irql_Timer_Function especifica que as funções de serviço do temporizador NDIS devem ser chamadas em níveis IRQL corretos.

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 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).