Freigeben über


SnmpExtensionTrap-Funktion (snmp.h)

[SNMP ist für die Verwendung in den im Abschnitt Anforderungen angegebenen Betriebssystemen verfügbar. Es kann in nachfolgenden Versionen geändert oder entfernt werden. Verwenden Sie stattdessen die Windows-Remoteverwaltung, die Microsoft-Implementierung von WS-Man.]

Der Microsoft SNMP-Dienst ruft die SnmpExtensionTrap-Funktion auf, um Informationen abzurufen, die der Dienst zum Generieren von Traps für den SNMP-Erweiterungs-Agent benötigt. Der Dienst ruft diese Funktion erst auf, nachdem der Erweiterungs-Agent das Trap-Ereignishandle während eines Aufrufs der SnmpExtensionInit-Funktion auf den signalierten Zustand festgelegt hat. Die SnmpExtensionTrap-Funktion ist ein Element der SNMP-Erweiterungs-Agent-API.

Syntax

BOOL SNMP_FUNC_TYPE SnmpExtensionTrap(
  [out] AsnObjectIdentifier *pEnterpriseOid,
  [out] AsnInteger32        *pGenericTrapId,
  [out] AsnInteger32        *pSpecificTrapId,
  [out] AsnTimeticks        *pTimeStamp,
  [out] SnmpVarBindList     *pVarBindList
);

Parameter

[out] pEnterpriseOid

Zeiger auf eine AsnObjectIdentifier-Struktur , um den Objektbezeichner des Unternehmens zu empfangen, das die Trap generiert hat. Der SNMP-Dienst gibt den Arbeitsspeicher für diese Variable nicht frei.

[out] pGenericTrapId

Zeiger auf eine Variable, um einen Hinweis auf die generische Trap zu empfangen. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
SNMP_GENERICTRAP_COLDSTART
Der Agent initialisiert Protokollentitäten im verwalteten Modus. Es kann Objekte in seiner Ansicht ändern.
SNMP_GENERICTRAP_WARMSTART
Der Agent initialisiert sich selbst neu, ändert jedoch keine Objekte in seiner Ansicht.
SNMP_GENERICTRAP_LINKDOWN
Eine angefügte Schnittstelle hat sich vom Status "oben" in den Zustand "down" geändert. Die erste Variable identifiziert die -Schnittstelle.
SNMP_GENERICTRAP_LINKUP
Eine angefügte Schnittstelle hat sich vom Zustand "down" in den Status "up" geändert. Die erste Variable identifiziert die -Schnittstelle.
SNMP_GENERICTRAP_AUTHFAILURE
Eine SNMP-Entität hat eine SNMP-Nachricht gesendet, aber fälschlicherweise behauptet, zu einer bekannten Community zu gehören.
SNMP_GENERICTRAP_EGPNEIGHLOSS
Ein EGP-Peer hat sich in den Down-Zustand geändert. Die erste Variable identifiziert die IP-Adresse des EGP-Peers.
SNMP_GENERICTRAP_ENTERSPECIFIC
Signalisiert ein außergewöhnliches Ereignis, das im pSpecificTrapId-Parameter identifiziert wird.

[out] pSpecificTrapId

Zeiger auf eine Variable, um einen Hinweis auf die generierte spezifische Trap zu erhalten.

[out] pTimeStamp

Zeiger auf eine Variable, um den Zeitstempel zu erhalten. Es wird empfohlen, diesen Parameter mit dem Wert zu initialisieren, der von einem Aufruf der SnmpSvcGetUptime-Funktion zurückgegeben wird.

[out] pVarBindList

Zeiger auf die Variablenbindungsliste. Der Erweiterungs-Agent muss den Arbeitsspeicher für diesen Parameter zuordnen. Der SNMP-Dienst gibt den Arbeitsspeicher mit einem Aufruf der SnmpUtilVarBindListFree-Funktion frei.

Rückgabewert

Wenn die SnmpExtensionTrap-Funktion eine Trap zurückgibt, ist der Rückgabewert TRUE. Der SNMP-Dienst ruft die Funktion wiederholt auf, bis der Wert FALSE zurückgegeben wird. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

Hinweise

Der SNMP-Dienst ruft die SnmpExtensionTrap-Funktion wiederholt auf, wenn das phSubagentTrapEvent-Ereignishandle auf den signalierten Zustand festgelegt ist. Dieses Handle wird während des Aufrufs der SnmpExtensionInit-Einstiegspunktfunktion zurückgegeben. Die SnmpExtensionTrap-Funktion muss TRUE zurückgeben, um anzugeben, dass die Parameter gültige Daten für eine einzelne Trap enthalten. Die Funktion muss FALSE zurückgeben, um anzugeben, dass die Parameter keine gültigen Trapdaten darstellen, und um die wiederholten Aufrufe des Diensts zu beenden.

Beachten Sie, dass der SNMP-Dienst, nachdem er eine Trap gesendet hat, den Arbeitsspeicher freigibt, der der Variablenbindungsliste zugeordnet ist.

Es ist wichtig zu beachten, dass in der früheren Dokumentation angegeben wurde, dass der Erweiterungs-Agent den Arbeitsspeicher für den Enterprise-Objektbezeichner dynamisch zuordnen sollte, da der SNMP-Dienst nach dem Senden eines Traps versuchen würde, den Arbeitsspeicher freizugeben. Der Dienst gibt den Arbeitsspeicher, der dem Enterprise-Objektbezeichner zugeordnet ist, nicht frei. Es wird empfohlen, stattdessen einen Zeiger auf eine statische AsnObjectIdentifier-Struktur zurückzugeben.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile snmp.h

Weitere Informationen

SNMP-Funktionen

SetEvent

Simple Network Management-Protokoll (SNMP) – Übersicht

SnmpExtensionInit

SnmpSvcGetUptime

SnmpUtilMemAlloc

SnmpUtilVarBindListFree

SnmpVarBindList