Conjunto de regras de uso de memória (NDIS)
Use essas regras para verificar se o driver chama corretamente funções NDIS para alocar e liberar memória.
Nesta seção
Tópico | Descrição |
---|---|
A regra NdisAllocateGenericObject especifica que NdisAllocateGenericObject e NdisFreeGenericObject são chamados em ordem alternativa. O objetivo final é garantir que todos os objetos genéricos sejam liberados quando MiniportHaltEx terminar. |
|
A regra NdisAllocateMdl especifica que NdisAllocateMdl e NdisFreeMdl são chamados em ordem alternativa. O objetivo final é garantir que todos os MDLs sejam liberados quando MiniportHaltEx terminar. |
|
A regra NdisAllocateMemoryWithTagPriority especifica que um driver não deve chamar NdisAllocateMemoryWithTagPriority sem fornecer uma Tag. Cada alocação de memória deve usar uma marca de pool exclusiva para garantir que os depuradores de kernel e o Verificador de Driver possam identificar um bloco de memória alocado distinto. |
|
A regra NdisAllocateNetBuffer especifica que NdisAllocateNetBuffer e NdisFreeNetBuffer são chamados em ordem alternativa. O objetivo final é garantir que todas as instâncias de NET_BUFFER sejam liberadas quando MiniportHaltEx terminar. |
|
NdisMFreeSharedMemory não pode ser chamado de uma função MiniportShutdownEx . |
|
O driver não deve chamar NdisMIndicateStatusEx depois de retornar da função MiniportHaltEx . |
|
A função NdisMMapIoSpace só deve ser chamada no contexto de MiniportInitializeEx. |
|
Um driver de miniporto chama NdisMRegisterIoPortRange de suas funções MiniportInitializeEx ou MINIPORT_ADD_DEVICE. MiniportInitializeEx ou MINIPORT_ADD_DEVICE deve chamar NdisMSetMiniportAttributes antes de chamar NdisMRegisterIoPortRange. |
Para selecionar o conjunto de regras de uso de memória
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 MemóriaUso.
Para selecionar o conjunto de regras padrão em uma janela do prompt de comando do desenvolvedor do Visual Studio, especifique MemoryUsage.sdv com a opção /marcar. Por exemplo:
msbuild /t:sdv /p:Inputs="/check:MemoryUsage.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
Para obter mais informações, consulte Using Static Driver Verifier to Find Defects in Drivers and Static Driver Verifier commands (MSBuild).