Libération des descripteurs WinSNMP

L’environnement de programmation WinSNMP affecte la désallocation des ressources du descripteur à l’implémentation WinSNMP ou à l’application WinSNMP, en fonction du composant qui alloue la mémoire pour le descripteur.

Pour libérer les ressources pour un smiOID ou un descripteur smiOCTETS , les règles suivantes s’appliquent :

  • Pour les paramètres d’entrée

    Étant donné que l’application WinSNMP alloue la mémoire pour les objets d’entrée avec des longueurs variables, l’application doit libérer cette mémoire à l’aide d’une fonction appropriée. Par exemple, si l’application a alloué les ressources avec un appel à la fonction GlobalAlloc , elle doit utiliser la fonction GlobalFree pour libérer les ressources. Si l’application a alloué les ressources avec un appel à la fonction HeapAlloc , elle doit appeler la fonction HeapFree .

  • Pour les paramètres de sortie

    Un appel à l’une des fonctions suivantes permet à l’implémentation d’allouer de la mémoire pour un smiOID ou un descripteur smiOCTETS : SnmpGetVb, SnmpEncodeMsg, SnmpOidCopy, SnmpContextToStret SnmpStrToOid.

    Étant donné que l’implémentation alloue la mémoire pour ces objets de sortie, l’application doit appeler la fonction SnmpFreeDescriptor pour libérer les ressources. Cette fonction permet à l’implémentation de libérer la mémoire allouée pour le membre ptr de ces structures.

Pour libérer les ressources d’une structure smiVALUE , une application WinSNMP doit vérifier le membre de syntaxe d’une structure smiVALUE pour évaluer correctement le membre value de la structure. Si le membre de syntaxe indique que le membre de valeur est un descripteur smiOCTETS ou smiOID , et que l’implémentation a alloué les ressources pour le descripteur, l’application doit appeler SnmpFreeDescriptor. Cela permet à l’implémentation de libérer de la mémoire. Si l’application a alloué les ressources, elle doit libérer la mémoire à l’aide d’une fonction appropriée, comme indiqué plus haut.

Pour plus d’informations, consultez allocation d’objets mémoire WinSNMP.