Freigeben über


SnmpDecodeMsg-Funktion (winsnmp.h)

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

Die WinSNMP SnmpDecodeMsg-Funktion decodiert eine codierte SNMP-Nachricht in ihre Komponenten. Diese Funktion führt die entgegengesetzte Aktion der WinSNMP SnmpEncodeMsg-Funktion aus.

Syntax

SNMPAPI_STATUS SNMPAPI_CALL SnmpDecodeMsg(
  [in]  HSNMP_SESSION   session,
  [out] LPHSNMP_ENTITY  srcEntity,
  [out] LPHSNMP_ENTITY  dstEntity,
  [out] LPHSNMP_CONTEXT context,
  [out] LPHSNMP_PDU     pdu,
  [in]  smiLPCOCTETS    msgBufDesc
);

Parameter

[in] session

Handle mit der WinSNMP-Sitzung. Dieser Parameter ist erforderlich. Weitere Informationen finden Sie im abschnitt "Hinweise".

[out] srcEntity

Zeiger auf eine Variable, die ein Handle auf die Quellverwaltungsentität empfängt. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

[out] dstEntity

Zeiger auf eine Variable, die ein Handle auf die Zielverwaltungsentität empfängt. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

[out] context

Zeiger auf eine Variable, die ein Handle auf den Kontext (eine Gruppe verwalteter Objektressourcen) empfängt, den die Zielverwaltungsentität steuert.

[out] pdu

Zeiger auf eine Variable, die ein Handle auf die SNMP-Protokolldateneinheit (PDU) empfängt.

[in] msgBufDesc

Zeiger auf eine smiOCTETS-Struktur , die die SNMP-Nachricht enthält, die in ihre Komponenten decodiert werden soll. Das len-Element der -Struktur gibt die maximale Anzahl von Bytes an, die verarbeitet werden sollen. das ptr-Element verweist auf die codierte SNMP-Nachricht.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert die Anzahl der decodierten Bytes. Dieser Wert kann gleich oder kleiner als der len-Member der smiOCTETS-Struktur sein, auf die vom msgBufDesc-Parameter verwiesen wird.

Wenn die Funktion fehlschlägt, wird der Rückgabewert SNMPAPI_FAILURE. Rufen Sie SnmpGetLastError auf, um erweiterte Fehlerinformationen zu erhalten. Die SnmpGetLastError-Funktion kann einen der folgenden Fehler zurückgeben.

Rückgabecode Beschreibung
SNMPAPI_NOT_INITIALIZED
Die SnmpStartup-Funktion wurde nicht erfolgreich abgeschlossen.
SNMPAPI_ALLOC_ERROR
Während der Speicherzuordnung ist ein Fehler aufgetreten.
SNMPAPI_SESSION_INVALID
Der Sitzungsparameter ist ungültig.
SNMPAPI_ENTITY_INVALID
Ein oder beide Entitätsparameter sind ungültig.
SNMPAPI_CONTEXT_INVALID
Der Kontextparameter ist ungültig.
SNMPAPI_PDU_INVALID
Der pdu-Parameter ist ungültig.
SNMPAPI_OUTPUT_TRUNCATED
Die Länge des Ausgabepuffers reicht nicht aus. Es wurden keine Ausgabeparameter erstellt.
SNMPAPI_MESSAGE_INVALID
Das SNMP-Nachrichtenformat im Puffer, das durch den msgBufDesc-Parameter angegeben wird, ist ungültig. Es wurden keine Ausgabeparameter erstellt.
SNMPAPI_OTHER_ERROR
Ein unbekannter oder nicht definierter Fehler ist aufgetreten.

Hinweise

Die Microsoft WinSNMP-Implementierung gibt den Wert null in den Parametern srcEntity und dstEntity zurück, wenn eine Anwendung eine SNMPv1- oder SNMPv2C-Nachricht an die SnmpDecodeMsg-Funktion sendet. Dies liegt daran, dass das Nachrichtenformat keine Adressinformationen enthält, die zum Erstellen von WinSNMP-Entitätsressourcen erforderlich sind.

Die Microsoft WinSNMP-Implementierung weist der WinSNMP-Anwendung Ressourcen zu, da die SnmpDecodeMsg-Funktion erfolgreich aufgerufen wurde. Es wird empfohlen, dass die WinSNMP-Anwendung einzelne Ressourcen mit der WinSNMP-Funktion freigibt, die der Ressource entspricht. Weitere Informationen finden Sie unter Freigeben von WinSNMP-Deskriptoren und WinSNMP Datenverwaltung Concepts.

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 winsnmp.h
Bibliothek Wsnmp32.lib
DLL Wsnmp32.dll

Weitere Informationen

SnmpEncodeMsg

SnmpFreeContext

SnmpFreeEntity

SnmpFreePdu

SnmpSendMsg

WinSNMP-Funktionen

Übersicht über die WinSNMP-API

smiOCTETS