Freigeben über


SnmpSetPort-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.]

Eine WinSNMP-Anwendung ruft die SnmpSetPort-Funktion auf, um den port zu ändern, der einer Zielentität zugewiesen ist. Die SnmpSetPort-Funktion ist ein Element der WinSNMP-API, Version 2.0.

Syntax

SNMPAPI_STATUS SNMPAPI_CALL SnmpSetPort(
  [in] HSNMP_ENTITY hEntity,
  [in] UINT         nPort
);

Parameter

[in] hEntity

Handle für eine WinSNMP-Zielentität. Dieser Parameter kann das Handle für eine Entität angeben, die als Ergebnis eines Aufrufs der SnmpListen-Funktion in der Rolle einer SNMP-Agent-Anwendung fungiert. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

[in] nPort

Gibt eine ganze Zahl ohne Vorzeichen an, die die neue Portzuweisung für die Zielentität identifiziert. Wenn Sie eine lokale Adresse angeben, die ausgelastet ist, oder wenn Sie eine Remoteadresse angeben, die nicht verfügbar ist, schlägt ein Aufruf der SnmpSetPort-Funktion fehl.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert SNMPAPI_SUCCESS.

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

Rückgabecode Beschreibung
SNMPAPI_NOT_INITIALIZED
Die SnmpStartup-Funktion wurde nicht erfolgreich abgeschlossen.
SNMPAPI_OPERATION_INVALID
Die durch den hEntity-Parameter angegebene Entität funktioniert bereits in einer Agentrolle als Ergebnis eines Aufrufs der SnmpListen-Funktion . Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
SNMPAPI_ENTITY_INVALID
Der hEntity-Parameter ist ungültig. Dieser Parameter muss ein Handle sein, das von einem vorherigen Aufruf der SnmpStrToEntity-Funktion zurückgegeben wurde.
SNMPAPI_OTHER_ERROR
Es ist ein unbekannter oder nicht definierter Fehler aufgetreten.

Hinweise

Die Microsoft WinSNMP-Implementierung weist jeder Verwaltungsentität als Ergebnis des Aufrufs einer WinSNMP-Anwendung an die SnmpStrToEntity-Funktion einen Port zu. Wenn der SNMPAPI_UNTRANSLATED Modus aktiv ist, wenn die Implementierung eine Entität erstellt, weist die Implementierung der Entität in der Regel den SNMP-Standardanforderungsport für die jeweilige Protokollfamilie zu. beispielsweise UDP 161 oder IPX 36879. Wenn der SNMPAPI_TRANSLATED Modus aktiv ist, weist die Implementierung den port zu, der für die Entität in der WinSNMP-Datenbank angegeben ist. Um den aktuellen Für die Implementierung geltenden Entitäts- und Kontextübersetzungsmodus abzurufen, kann eine Anwendung die SnmpGetTranslateMode-Funktion aufrufen. Weitere Informationen finden Sie unter Festlegen des Entitäts- und Kontextübersetzungsmodus und der WinSNMP-Datenbank.

Ein Aufruf der SnmpSetPort-Funktion schlägt fehl, wenn die durch den hEntity-Parameter angegebene Entität derzeit in einer Agentrolle funktioniert. Dies liegt daran, dass die Entität bereits einem anderen Port als dem durch den nPort-Parameter angegebenen zugewiesen wurde. Um die Zuweisung einer Agentanwendung zu einem bestimmten Port sicherzustellen, kann eine WinSNMP-Anwendung die folgenden Schritte ausführen.

  1. Rufen Sie SnmpStrToEntity wie folgt auf:

    hAgent = SnmpStrToEntity (hSession, <addrString>);

  2. Rufen Sie SnmpSetPort wie folgt auf:

    SnmpSetPort (hAgent, <nPort>);

  3. Rufen Sie SnmpListen wie folgt auf:

    SnmpListen (hAgent, SNMPAPI_ON);

dabei <enthält addrString> die Zeichenfolgendarstellung einer IP-Adresse oder einer IPX-Adresse und <nPort> die neue Portzuweisung für die Agentanwendung.

Beachten Sie, dass eine IPX-Adresse eine Netzwerknummer enthält, die aus acht Hexadezimalziffern besteht (bei Bedarf nullgefüllt); ein Trennzeichen (entweder ":", "." oder " – "); und eine Knotennummer, die aus 12 Hexadezimalstellen besteht (bei Bedarf nullgefüllt), z. B. 00000001:00081A0D01C2. Weitere Informationen finden Sie unter Unterstützung für IPX-Adresszeichenfolgen in WinSNMP.

Anforderungen

   
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

SnmpGetTranslateMode

SnmpListen

SnmpStrToEntity

WinSNMP-Funktionen

Übersicht über winSNMP-API