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.
[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 |