Share via


Inscriptions à plusieurs pièges

Plusieurs options sont disponibles lorsqu’une application WinSNMP inscrit une session WinSNMP pour des interruptions ou des notifications. Pour cette raison, une application peut appeler la fonction SnmpRegister plusieurs fois, définissant en effet un filtre personnalisé pour la réception des interruptions et des notifications. Par exemple, vous pouvez vous inscrire à un type d’interruption ou de notification, ou à toutes les interruptions et notifications, en fonction de la valeur du paramètre de notification . En outre, l’application peut spécifier des valeurs dans d’autres paramètres à la fonction SnmpRegister pour définir davantage les interruptions et les notifications qui doivent atteindre une application. Pour plus d’informations, consultez Gestion des interruptions et des notifications.

Voici les instances dans lesquelles plusieurs appels à SnmpRegister sont redondants. Dans ces cas, SnmpRegister retourne SNMPAPI_SUCCESS si la fonction se termine correctement, mais que l’inscription redondante est inefficace.

  1. Appel à la fonction SnmpRegister demandant une remise filtrée des interruptions et des notifications à la session, après un appel précédent à SnmpRegister demandant la remise de toutes les interruptions et notifications (remise non filtrée). Cet appel est redondant, car la session reçoit déjà tous les pièges et notifications, y compris le type unique défini par le filtre.
  2. Appel en double à SnmpRegister, ou dans lequel la liste de paramètres est identique à la liste de paramètres d’un appel précédent à SnmpRegister pour la session.
  3. Appel à la fonction SnmpRegister demandant une remise filtrée d’interruptions et de notifications basées sur un identificateur d’objet (OID) dont le préfixe est un OID spécifié dans un appel précédent à SnmpRegister. Par exemple, vous pouvez spécifier « 1.3.6.1.4.1.311 » dans le paramètre de notification pour recevoir des notifications provenant de n’importe quelle entité d’agent Microsoft SNMP. Si vous appelez à nouveau SnmpRegister et spécifiez « 1.3.6.1.4.1.311.1 », le deuxième appel est redondant, car la session reçoit déjà tous les pièges et notifications qui contiennent le préfixe OID « 1.3.6.1.4.1.311 ».

Pour annuler l’inscription de la session, vous devez faire correspondre chaque appel d’inscription unique à la fonction SnmpRegister . Appelez SnmpRegister pour annuler l’inscription de la session et vérifiez que les cinq premiers paramètres de SnmpRegister sont identiques à ceux de l’appel d’inscription initial. La seule différence entre l’appel initial et l’appel de désinscription est que lors de l’inscription, vous devez spécifier la valeur SNMPAPI_ON dans le paramètre status, et lorsque vous appelez la fonction pour annuler l’inscription, vous devez spécifier SNMPAPI_OFF. Vous n’avez pas besoin de faire correspondre des appels d’inscription redondants à la fonction SnmpRegister . Vous devez uniquement correspondre au premier appel d’inscription unique.

Pour modifier les critères de filtrage, il peut être nécessaire qu’une application se désinscrit d’abord et désactive la remise de certaines interruptions ou notifications. Ensuite, l’application peut créer un filtre en appelant SnmpRegister, en passant les valeurs appropriées.