SnmpCreatePdu-Funktion (winsnmp.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.]

Die WinSNMP-Funktion SnmpCreatePdu erstellt und initialisiert eine SNMP-Protokolldateneinheit (PDU).

Syntax

HSNMP_PDU SNMPAPI_CALL SnmpCreatePdu(
  [in] HSNMP_SESSION session,
  [in] smiINT        PDU_type,
  [in] smiINT32      request_id,
  [in] smiINT        error_status,
  [in] smiINT        error_index,
  [in] HSNMP_VBL     varbindlist
);

Parameter

[in] session

Handle für die WinSNMP-Sitzung.

[in] PDU_type

Gibt einen PDU-Typ an, der den SNMP-Vorgang identifiziert. Dieser Parameter kann NULL oder einer der folgenden Werte sein. Wenn dieser Parameter NULL ist, stellt die Microsoft WinSNMP-Implementierung den PDU-Standardtyp SNMP_PDU_GETNEXT bereit. Der einzige Typ von Trap-PDU, die Sie mit einem Aufruf der SnmpCreatePdu-Funktion erstellen können, ist eine SNMPv2C-Trap-PDU.

Wert Bedeutung
SNMP_PDU_GET
Suchen und Abrufen eines Werts aus einer angegebenen SNMP-Variablen.
SNMP_PDU_GETNEXT
Suchen und Abrufen des Werts einer SNMP-Variablen, ohne den genauen Namen der Variablen zu kennen.
SNMP_PDU_RESPONSE
Antworten auf eine SNMP_PDU_GET oder eine SNMP_PDU_GETNEXT-Anforderung.
SNMP_PDU_SET
Speichern Sie einen Wert in einer angegebenen SNMP-Variablen.
SNMP_PDU_GETBULK
Suchen und Abrufen mehrerer Werte mit einer einzelnen Anforderung.
SNMP_PDU_TRAP
Warnt das Managementsystem auf ein Ereignis unter SNMPv2C.

[in] request_id

Gibt einen eindeutigen numerischen Wert an, den die WinSNMP-Anwendung zur Identifizierung der PDU bereitstellt. Wenn dieser Parameter NULL ist, weist die Implementierung einen Wert zu.

[in] error_status

Wenn der parameter PDU_type gleich SNMP_PDU_GETBULK ist, gibt dieser Parameter einen Wert für das non_repeaters Feld der PDU an. Für andere PDU-Typen gibt dieser Parameter einen Wert für das feld error_status der PDU an. Dieser Parameter kann NULL sein.

[in] error_index

Wenn der parameter PDU_type gleich SNMP_PDU_GETBULK ist, gibt dieser Parameter einen Wert für das max_repetitions Feld der PDU an. Für andere PDU-Typen gibt dieser Parameter einen Wert für das error_index Feld der PDU an. Dieser Parameter kann NULL sein.

[in] varbindlist

Handle für eine Struktur, die eine SNMP-Variablenbindungsliste darstellt. Dieser Parameter kann NULL sein.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert das Handle für eine neue SNMP-PDU.

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 Speicherbelegung ist ein Fehler aufgetreten.
SNMPAPI_SESSION_INVALID
Das Sitzungshandle ist ungültig.
SNMPAPI_PDU_INVALID
Der PDU-Typ ist ungültig.
SNMPAPI_VBL_INVALID
Die Variablenbindungsliste ist ungültig.
SNMPAPI_OTHER_ERROR
Es ist ein unbekannter oder nicht definierter Fehler aufgetreten.

Hinweise

Eine WinSNMP-Anwendung muss eine PDU erstellen, bevor sie die Funktionen SnmpSendMsg oder SnmpEncodeMsg aufruft.

Alle Parameter der SnmpCreatePdu-Funktion sind erforderlich. Alle Parameter mit Ausnahme des Sitzungsparameters können jedoch NULL sein. In diesem instance weist die neue PDU die folgenden Standardwerte auf.

Feld Inhalte
PDU_type SNMP_PDU_GETNEXT
request_id Die Implementierung generiert einen numerischen Wert.
error_status SNMP_ERROR_NOERROR
error_index 0
varbindlist NULL
 

Die Anwendung muss die SnmpFreePdu-Funktion aufrufen, um die Ressourcen freizugeben, die die SnmpCreatePdu-Funktion für die neue PDU zuweist.

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

SnmpFreePdu

SnmpSendMsg

WinSNMP-Funktionen

Übersicht über winSNMP-API