Ensemble de règles d’utilisation de la mémoire (NDIS)
Utilisez ces règles pour vérifier que votre pilote appelle correctement les fonctions NDIS pour allouer et libérer de la mémoire.
Contenu de cette section
Rubrique | Description |
---|---|
La règle NdisAllocateGenericObject spécifie que NdisAllocateGenericObject et NdisFreeGenericObject sont appelés dans un autre ordre. L’objectif final est de s’assurer que tous les objets génériques sont libérés lorsque MiniportHaltEx se termine. |
|
La règle NdisAllocateMdl spécifie que NdisAllocateMdl et NdisFreeMdl sont appelés dans un autre ordre. L’objectif final est de s’assurer que toutes les MDL sont libérées lorsque MiniportHaltEx se termine. |
|
La règle NdisAllocateMemoryWithTagPriority spécifie qu’un pilote ne doit pas appeler NdisAllocateMemoryWithTagPriority sans fournir de balise. Chaque allocation de mémoire doit utiliser une balise de pool unique pour s’assurer que les débogueurs de noyau et le vérificateur de pilotes peuvent identifier un bloc de mémoire alloué distinct. |
|
La règle NdisAllocateNetBuffer spécifie que NdisAllocateNetBuffer et NdisFreeNetBuffer sont appelés dans un autre ordre. L’objectif final est de s’assurer que toutes les instances de NET_BUFFER sont libérées à la fin de MiniportHaltEx . |
|
NdisMFreeSharedMemory ne peut pas être appelé à partir d’une fonction MiniportShutdownEx . |
|
Le pilote ne doit pas appeler NdisMIndicateStatusEx après un retour à partir de la fonction MiniportHaltEx . |
|
La fonction NdisMMapIoSpace ne doit être appelée que dans le contexte de MiniportInitializeEx. |
|
Un pilote miniport appelle NdisMRegisterIoPortRange à partir de ses fonctions MiniportInitializeEx ou MINIPORT_ADD_DEVICE. MiniportInitializeEx ou MINIPORT_ADD_DEVICE devez appeler NdisMSetMiniportAttributes avant d’appeler NdisMRegisterIoPortRange. |
Pour sélectionner l’ensemble de règles d’utilisation de la mémoire
Sélectionnez votre projet de pilote (.vcxProj) dans Microsoft Visual Studio. Dans le menu Pilote , cliquez sur Lancer le vérificateur de pilote statique....
Cliquez sur l’onglet Règles . Sous Ensembles de règles, sélectionnez MémoireUsage.
Pour sélectionner l’ensemble de règles par défaut dans une fenêtre d’invite de commandes du développeur Visual Studio, spécifiez MemoryUsage.sdv avec l’option /case activée. Par exemple :
msbuild /t:sdv /p:Inputs="/check:MemoryUsage.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
Pour plus d’informations, consultez Utilisation du vérificateur de pilote statique pour rechercher des défauts dans les pilotes et commandes msBuild (Static Driver Verifier).