Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Utilisez ces règles pour vérifier que votre pilote appelle correctement les fonctions NDIS pour allouer et libérer de la mémoire.
Dans cette section
| Sujet | Descriptif |
|---|---|
La règle NdisAllocateGenericObject spécifie que NdisAllocateGenericObject et NdisFreeGenericObject sont appelés dans un autre ordre. L’objectif ultime 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 ultime est de s’assurer que tous les MDL sont libérés lorsque MiniportHaltEx se termine. |
|
La règle NdisAllocateMemoryWithTagPriority spécifie qu’un pilote ne doit pas appeler NdisAllocateMemoryWithTagPriority sans fournir de Tag. Chaque allocation de mémoire doit utiliser une balise de pool unique pour vous assurer que les débogueurs du noyau et le vérificateur de pilote 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 ultime est de s’assurer que toutes les instances de NET_BUFFER sont libérées lorsque MiniportHaltEx se termine. |
|
NdisMFreeSharedMemory ne peut pas être appelé à partir d’une fonction MiniportShutdownEx . |
|
Le pilote ne doit pas appeler NdisMIndicateStatusEx après son retour à partir de la fonction MiniportHaltEx . |
|
La fonction NdisMMapIoSpace doit uniquement être appelée 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 MemoryUsage.
Pour sélectionner l’ensemble de règles par défaut à partir d’une fenêtre d’invite de commandes du développeur Visual Studio, spécifiez MemoryUsage.sdv avec l’option /check . Par exemple:
msbuild /t:sdv /p:Inputs="/check:MemoryUsage.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32Pour plus d’informations, veuillez consulter la section Utilisation de Static Driver Verifier pour rechercher des défauts dans les pilotes et les commandes MSBuild (Static Driver Verifier).