Set di regole di utilizzo della memoria (NDIS)
Usare queste regole per verificare che il driver chiami correttamente le funzioni NDIS per allocare e liberare memoria.
Contenuto della sezione
Argomento | Descrizione |
---|---|
La regola NdisAllocateGenericObject specifica che NdisAllocateGenericObject e NdisFreeGenericObject vengono chiamati in ordine alternativo. L'obiettivo finale è quello di assicurarsi che tutti gli oggetti generici vengano liberati quando MiniportHaltEx termina. |
|
La regola NdisAllocateMdl specifica che NdisAllocateMdl e NdisFreeMdl vengono chiamati in ordine alternativo. L'obiettivo finale è quello di assicurarsi che tutti gli MDL siano liberati quando MiniportHaltEx termina. |
|
La regola NdisAllocateMemoryWithTagPriority specifica che un driver non deve chiamare NdisAllocateMemoryWithTagPriority senza specificare un tag. Ogni allocazione di memoria deve usare un tag di pool univoco per garantire che i debugger del kernel e il driver verifier possano identificare un blocco di memoria allocato distinto. |
|
La regola NdisAllocateNetBuffer specifica che NdisAllocateNetBuffer e NdisFreeNetBuffer vengono chiamati in ordine alternativo. L'obiettivo finale è assicurarsi che tutte le istanze di NET_BUFFER vengano liberate quando termina MiniportHaltEx . |
|
Non è possibile chiamare NdisMFreeSharedMemory da una funzione MiniportShutdownEx. |
|
Il driver non deve chiamare NdisMIndicateStatusEx dopo aver restituito dalla funzione MiniportHaltEx . |
|
La funzione NdisMMapIoSpace deve essere chiamata solo nel contesto di MiniportInitializeEx. |
|
Un driver miniport chiama NdisMRegisterIoPortRange dalle funzioni MiniportInitializeEx o MINIPORT_ADD_DEVICE. MiniportInitializeEx o MINIPORT_ADD_DEVICE deve chiamare NdisMSetMiniportAttributes prima di chiamare NdisMRegisterIoPortRange. |
Per selezionare il set di regole di utilizzo della memoria
Selezionare il progetto driver (con estensione vcxProj) in Microsoft Visual Studio. Dal menu Driver fare clic su Avvia verifica driver statico....
Fare clic sulla scheda Regole . In Set di regole selezionare MemoryUsage.
Per selezionare il set di regole predefinito da una finestra del prompt dei comandi per sviluppatori di Visual Studio, specificare MemoryUsage.sdv con l'opzione /check . Ad esempio:
msbuild /t:sdv /p:Inputs="/check:MemoryUsage.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
Per altre informazioni, vedere Uso del verificatore driver statico per trovare i difetti nei comandi driver e verifica driver statici (MSBuild).