Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Utilize essas regras para verificar se o driver chama corretamente DDIs que são de especial interesse para drivers de miniport virtual do Storport (VMiniport).
Nesta seção
| Tópico | Descrição |
|---|---|
Essa regra verifica se o driver não tenta liberar o mesmo bloco de memória do pool duas vezes. |
|
Essa regra verifica se KeSetEvent não é chamado duas vezes no mesmo objeto de evento. Se o mesmo objeto de evento for passado para a rotina, o driver falhará na regra. |
|
Essa regra verifica se um IRP alocado por IoAllocateIrp será liberado pelo IoFreeIrp ou sua rotina de conclusão será definida por IoSetCompletionRoutine. |
|
Essa regra verifica se, ao sair da rotina HwStorFindAdapter , o campo VirtualDevice na estrutura PORT_CONFIGURATION_INFORMATION (Storport) foi definido como FALSE. A regra se aplica somente a miniportos storport físicos. |
|
Essa regra verifica se, ao sair da rotina HwStorFindAdapter , o campo VirtualDevice na estrutura PORT_CONFIGURATION_INFORMATION (Storport) foi definido como TRUE. A regra se aplica somente a miniportos storport virtuais. |
|
Essa regra verifica se as chamadas do driver para determinadas funções de sincronização são feitas somente enquanto a distribuição normal do APC do kernel está desabilitada. |
|
Essa regra verifica se o identificador de uma chave do Registro criada com ZwCreateKey é usado corretamente por outras rotinas ZwXxx . A rotina ZwOpenKey não deve ser chamada em um identificador já aberto. As rotinas ZwEnumerateKey, ZwEnumerateValueKey, ZwFlushKey, ZwQueryKey, ZwQueryValueKey, ZwSetValueKey, ZwClose e ZwDeleteKey não devem ser chamadas em um identificador que não esteja aberto. O handle também deve ser fechado antes de retornar. |
|
Essa regra verifica se o identificador da chave do Registro aberto via ZwOpenKey é usado corretamente por outras rotinas ZwXxx. As rotinas ZwEnumerateKey, ZwEnumerateValueKey, ZwFlushKey, ZwQueryKey, ZwQueryValueKey, ZwSetValueKey, ZwClose e ZwDeleteKey não devem ser chamadas em um identificador que não esteja aberto. O manipulador também deve ser fechado antes de retornar. |
Para selecionar o conjunto de regras do VirtualStorport
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 VirtualStorport.
Para selecionar o conjunto de regras padrão em uma janela de prompt de comando do desenvolvedor do Visual Studio, especifique VirtualStorport.sdv com a opção /check . Por exemplo:
msbuild /t:sdv /p:Inputs="/check:VirtualStorport.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).