Freigeben über


SnmpEncodeMsg-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 Microsoft WinSNMP-Implementierung verwendet die Parameter, die in der WinSNMP SnmpEncodeMsg-Funktion übergeben werden, um eine SNMP-Nachricht zu codieren. Die Implementierung gibt die codierte SNMP-Nachricht an die WinSNMP-Anwendung in dem durch den msgBufDesc-Parameter angegebenen Puffer zurück.

Syntax

SNMPAPI_STATUS SNMPAPI_CALL SnmpEncodeMsg(
  [in]  HSNMP_SESSION session,
  [in]  HSNMP_ENTITY  srcEntity,
  [in]  HSNMP_ENTITY  dstEntity,
  [in]  HSNMP_CONTEXT context,
  [in]  HSNMP_PDU     pdu,
  [out] smiLPOCTETS   msgBufDesc
);

Parameter

[in] session

Handle mit der WinSNMP-Sitzung.

[in] srcEntity

Behandeln Sie die Verwaltungsentität, die die Anforderung zum Codieren der SNMP-Nachricht initiiert.

[in] dstEntity

Handle mit der Zielverwaltungsentität.

[in] context

Verarbeiten Sie den Kontext (eine Gruppe verwalteter Objektressourcen), den die Zielverwaltungsentität steuert.

[in] pdu

Handle mit der PDU, die die SNMP-Vorgangsanforderung enthält.

[out] msgBufDesc

Zeiger auf eine smiOCTETS-Struktur , die die codierte SNMP-Nachricht empfängt.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert die Länge der codierten SNMP-Nachricht in Bytes. Diese Zahl ist auch der Wert des len-Members der smiOCTETS-Struktur , auf die der msgBufDesc-Parameter verweist.

Wenn die Funktion fehlschlägt, wird der Rückgabewert SNMPAPI_FAILURE. Weitere Informationen finden Sie im abschnitt "Hinweise". 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_OTHER_ERROR
Ein unbekannter oder nicht definierter Fehler ist aufgetreten.

Hinweise

Die ersten fünf Parameter, die an die SnmpEncodeMsg-Funktion übergeben werden, sind dieselben Parameter, die an die SnmpSendMsg-Funktion übergeben werden.

Die WinSNMP-Anwendung muss die SnmpFreeDescriptor-Funktion aufrufen, um Ressourcen freizugeben, die für das ptr-Element der smiOCTETS-Struktur zugewiesen sind. Dies ist die Struktur, auf die der msgBufDesc-Parameter verweist. Weitere Informationen finden Sie unter WinSNMP Datenverwaltung Concepts.

Bei der Eingabe ignoriert die SnmpEncodeMsg-Funktion die Member der Struktur, auf die der msgBufDesc-Parameter verweist. Die Implementierung überschreibt die Member der Struktur, wenn die Funktion erfolgreich abgeschlossen wird.

Die Implementierung überprüft das Format der ersten fünf Eingabeparameter. Wenn einer der Parameter ungültig ist, gibt SnmpEncodeMsg SNMPAPI_FAILURE zurück, und SnmpGetLastError gibt einen erweiterten Fehlercode zurück.

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

SnmpDecodeMsg

SnmpFreeDescriptor

SnmpSendMsg

WinSNMP-Funktionen

Übersicht über die WinSNMP-API

smiOCTETS