Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Utilize estas regras para verificar se o driver usa os DDIs do NDIS corretamente.
Nesta secção
| Tópico | Descrição |
|---|---|
A regra Init_DeRegisterInterrupt especifica que, se NdisMRegisterInterruptEx for chamado pelo menos uma vez durante MPInitilize, NdisMDeregisterInterruptEx deve ser chamado pelo menos uma vez em MPHaltEx. |
|
A regra Init_NdisAllocateIoWorkItem especifica que, se NdisAllocateIoWorkItem for chamado pelo menos uma vez durante MiniportInitializeEx, a função NdisFreeIoWorkItem deverá:
|
|
A regra Init_RegisterInterrupt especifica que o registro de interrupções, que geralmente acontece durante a inicialização, deve ser desfeito se algo der errado no processo de inicialização ou durante a parada do driver de miniporta. Se NdisMRegisterInterruptEx for chamado pelo menos uma vez durante MiniportInitializeEx, a função NdisMDeregisterInterruptEx deve ser chamada pelo menos uma vez em MiniportHaltEx. |
|
A regra Init_RegisterSG especifica que o registro da lista de dispersão-coleta (SG), que geralmente acontece durante a inicialização, deve ser desfeito se algo der errado no processo de inicialização ou durante a parada do driver de miniporta. Se NdisMRegisterScatterGatherDma for chamado pelo menos uma vez durante MiniportInitializeEx, a função NdisMDeregisterScatterGatherDma deve ser chamada pelo menos uma vez em MiniportHaltEx. |
|
Um driver de filtro deve chamar NdisFDeregisterFilterDriver da sua rotina FilterDriverUnload. |
|
Depois que NdisMDeregisterInterruptEx retorna o controle, o driver de miniporta não pode chamar a função NdisMSynchronizeWithInterruptEx . |
|
A regra NullCheck verifica se um valor NULL dentro do código do driver não é desreferenciado posteriormente no driver. Esta regra relata um defeito se uma destas condições for verdadeira:
** Com violações da regra NullCheck, as instruções de código mais relevantes são realçadas no painel da estrutura hierárquica de rastreamento. Para obter mais informações sobre como trabalhar com saída de relatório, consulte Relatório do verificador de driver estático e Noções básicas sobre o visualizador de rastreamento. |
Para selecionar o conjunto de regras de uso de DDI
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 DDIUsage.
Para selecionar o conjunto de regras padrão em uma janela de prompt de comando do desenvolvedor do Visual Studio, especifique DDIUsage.sdv com a opção /check . Por exemplo:
msbuild /t:sdv /p:Inputs="/check:DDIUsage.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32Para 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).