Mehrere Trap-Registrierungen

Wenn eine WinSNMP-Anwendung eine WinSNMP-Sitzung für Traps oder Benachrichtigungen registriert, stehen mehrere Optionen zur Verfügung. Aus diesem Grund kann eine Anwendung die SnmpRegister-Funktion mehrmals aufrufen und einen benutzerdefinierten Filter für den Empfang von Traps und Benachrichtigungen definieren. Beispielsweise können Sie sich je nach Wert des Benachrichtigungsparameters für einen Trap- oder Benachrichtigungstyp oder für alle Traps und Benachrichtigungen registrieren. Darüber hinaus kann die Anwendung Werte in anderen Parametern für die SnmpRegister-Funktion angeben, um die Traps und Benachrichtigungen, die eine Anwendung erreichen sollen, weiter zu definieren. Weitere Informationen finden Sie unter Verwalten von Traps und Benachrichtigungen.

Im Folgenden werden Instanzen aufgeführt, in denen mehrere Aufrufe von SnmpRegister redundant sind. In diesen Fällen gibt SnmpRegister SNMPAPI_SUCCESS zurück, wenn die Funktion erfolgreich abgeschlossen wird, aber die redundante Registrierung ist ineffektiv.

  1. Ein Aufruf der SnmpRegister-Funktion , die die gefilterte Übermittlung von Traps und Benachrichtigungen an die Sitzung anfordert, nachdem ein vorheriger Aufruf von SnmpRegister die Übermittlung aller Traps und Benachrichtigungen angefordert hat (ungefilterte Übermittlung). Dieser Aufruf ist redundant, da die Sitzung bereits alle Traps und Benachrichtigungen empfängt, einschließlich des einzelnen Typs, der durch den Filter definiert wird.
  2. Ein doppelter Aufruf von SnmpRegister oder ein Aufruf, bei dem die Parameterliste mit der Parameterliste in einem vorherigen Aufruf von SnmpRegister für die Sitzung identisch ist.
  3. Ein Aufruf der SnmpRegister-Funktion , die die gefilterte Übermittlung von Traps und Benachrichtigungen basierend auf einem Objektbezeichner (OID) anfordert, dessen Präfix eine OID ist, die in einem vorherigen Aufruf von SnmpRegister angegeben wurde. Sie können z. B. "1.3.6.1.4.1.311" im Benachrichtigungsparameter angeben, um Benachrichtigungen von einer beliebigen Entität des Microsoft SNMP-Agents zu empfangen. Wenn Sie SnmpRegister erneut aufrufen und "1.3.6.1.4.1.311.1" angeben, ist der zweite Aufruf redundant, da die Sitzung bereits alle Traps und Benachrichtigungen empfängt, die das OID-Präfix "1.3.6.1.4.1.311" enthalten.

Um die Registrierung der Sitzung aufzuheben, müssen Sie jeden eindeutigen Registrierungsaufruf mit der SnmpRegister-Funktion abgleichen. Rufen Sie SnmpRegister auf, um die Registrierung der Sitzung aufzuheben, und stellen Sie sicher, dass die ersten fünf Parameter für SnmpRegister mit denen im ersten Registrierungsaufruf identisch sind. Der einzige Unterschied zwischen dem anfänglichen Aufruf und dem Aufheben der Registrierung besteht darin, dass Sie bei der Registrierung den Wert SNMPAPI_ON im parameter status angeben müssen, und wenn Sie die Funktion aufrufen, um die Registrierung aufzuheben, müssen Sie SNMPAPI_OFF angeben. Sie müssen der SnmpRegister-Funktion keine redundanten Registrierungsaufrufe zuordnen. Sie müssen nur dem ersten eindeutigen Registrierungsaufruf entsprechen.

Um Filterkriterien zu ändern, kann es erforderlich sein, dass eine Anwendung zuerst die Registrierung aufhebt und die Übermittlung bestimmter Traps oder Benachrichtigungen deaktiviert. Anschließend kann die Anwendung einen neuen Filter erstellen, indem sie SnmpRegister aufruft und entsprechende Werte übergibt.