SnmpCleanupEx, fonction (winsnmp.h)
[SNMP est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il sera peut-être modifié ou indisponible dans les versions ultérieures. Utilisez plutôt Windows Remote Management, qui est l’implémentation Microsoft de WS-Man.]
La fonction SnmpCleanupEx effectue un nettoyage lorsqu’il n’y a pas d’appels réussis en attente à SnmpStartup ou SnmpStartupEx dans une application Windows SNMP (WinSNMP). Sinon, un nombre de références internes indiquant le nombre actuel d’appels réussis en attente à SnmpStartupEx est décrémenté.
Cette fonction doit être utilisée à la place de SnmpCleanup si Windows Server 2003 avec Service Pack 1 (SP1) ou version ultérieure est installé. SnmpCleanupEx permet la prise en charge de plusieurs modules logiciels indépendants qui utilisent WinSNMP dans la même application.
Syntaxe
SNMPAPI_STATUS SNMPAPI_CALL SnmpCleanupEx();
Valeur de retour
Si la fonction réussit, la valeur de retour est SNMPAPI_SUCCESS. Tant que l’application WinSNMP n’a pas correctement rappelé la fonction SnmpStartupEx correspondante et qu’il n’y a pas d’autres appels réussis à SnmpStartup ou SnmpStartupEx, tout autre appel à une fonction WinSNMP dans la même application retourne SNMPAPI_FAILURE, avec un code d’erreur étendu de SNMPAPI_NOT_INITIALIZED.
Si la fonction échoue, la valeur de retour est SNMPAPI_FAILURE, mais l’application WinSNMP n’a pas besoin de réessayer l’appel à SnmpCleanupEx. Pour obtenir des informations d’erreur étendues, appelez SnmpGetLastError en spécifiant une valeur NULL dans son paramètre de session . La fonction SnmpGetLastError peut retourner l’une des erreurs suivantes.
Code de retour | Description |
---|---|
|
Une erreur s’est produite lors de l’allocation de mémoire. |
|
La fonction SnmpStartupEx ne s’est pas terminée correctement, ou une erreur inconnue ou non définie s’est produite. |
Remarques
Avant que l’application WinSNMP appelle SnmpCleanupEx, elle doit appeler la fonction SnmpClose une fois pour chaque session que l’implémentation ouvre à la suite d’un appel à la fonction SnmpCreateSession .
Lorsqu’une application WinSNMP appelle la fonction SnmpCleanupEx , l’implémentation libère toutes les ressources allouées à l’application s’il n’y a pas non plus d’appels réussis à SnmpStartup ou SnmpStartupEx. Toutefois, il est recommandé qu’une application WinSNMP libère les ressources spécifiques que l’implémentation alloue pour elle avec la fonction WinSNMP qui correspond à la ressource. Pour plus d’informations sur la libération de ressources individuelles, consultez SnmpFreeEntity, SnmpFreeVbl, SnmpFreeDescriptor, SnmpFreeContext et SnmpFreePdu.
Si une application WinSNMP doit effectuer une sortie de secours et qu’elle appelle SnmpCleanupEx sans libérer des ressources individuelles et sans appeler SnmpClose pour chaque session ouverte, l’implémentation libère toutes les ressources allouées à l’application WinSNMP. Toutefois, pour activer cette fonctionnalité dans l’implémentation, l’application doit toujours appeler SnmpCleanupEx.
SnmpCleanupEx ne doit pas être appelé lorsque la DLL d’application est en cours de déchargement.
Configuration requise
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | winsnmp.h |
Bibliothèque | Wsnmp32.lib |
DLL | Wsnmp32.dll |