Condividi tramite


Funzione SnmpSetPort (winsnmp.h)

[SNMP è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. È possibile che in versioni successive sia stata modificata o non sia più disponibile. Usare invece Gestione remota Windows, ovvero l'implementazione Microsoft di WS-Man.

Un'applicazione WinSNMP chiama la funzione SnmpSetPort per modificare la porta assegnata a un'entità di destinazione. La funzione SnmpSetPort è un elemento dell'API WinSNMP, versione 2.0.

Sintassi

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

Parametri

[in] hEntity

Gestire un'entità di destinazione WinSNMP. Questo parametro può specificare l'handle in un'entità che agisce nel ruolo di un'applicazione agente SNMP come risultato di una chiamata alla funzione SnmpListen . Per ulteriori informazioni, vedere la sezione Osservazioni successiva.

[in] nPort

Specifica un intero senza segno che identifica la nuova assegnazione di porta per l'entità di destinazione. Se si specifica un indirizzo locale occupato o se si specifica un indirizzo remoto non disponibile, una chiamata alla funzione SnmpSetPort ha esito negativo.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è SNMPAPI_SUCCESS.

Se la funzione ha esito negativo, il valore restituito è SNMPAPI_FAILURE. Per ottenere informazioni sull'errore estese, chiamare SnmpGetLastError specificando un valore NULL nel relativo parametro di sessione . La funzione SnmpGetLastError può restituire uno degli errori seguenti.

Codice restituito Descrizione
SNMPAPI_NOT_INITIALIZED
La funzione SnmpStartup non è stata completata correttamente.
SNMPAPI_OPERATION_INVALID
L'entità specificata dal parametro hEntity è già funzionante in un ruolo agente come risultato di una chiamata alla funzione SnmpListen . Per ulteriori informazioni, vedere la sezione Osservazioni successiva.
SNMPAPI_ENTITY_INVALID
Il parametro hEntity non è valido. Questo parametro deve essere un handle restituito da una chiamata precedente alla funzione SnmpStrToEntity .
SNMPAPI_OTHER_ERROR
Si è verificato un errore sconosciuto o non definito.

Commenti

L'implementazione di Microsoft WinSNMP assegna una porta a ogni entità di gestione in seguito alla chiamata di un'applicazione WinSNMP alla funzione SnmpStrToEntity . Se la modalità SNMPAPI_UNTRANSLATED è effettiva quando l'implementazione crea un'entità, l'implementazione assegna in genere la porta di richiesta SNMP standard per la rispettiva famiglia di protocolli all'entità; ad esempio UDP 161 o IPX 36879. Se la modalità SNMPAPI_TRANSLATED è effettiva, l'implementazione assegna la porta specificata per l'entità nel database WinSNMP. Per recuperare l'entità corrente e la modalità di traduzione del contesto in effetti per l'implementazione, un'applicazione può chiamare la funzione SnmpGetTranslateMode . Per altre informazioni, vedere Impostazione della modalità di traduzione dell'entità e del contesto e del database WinSNMP.

Una chiamata alla funzione SnmpSetPort ha esito negativo se l'entità specificata dal parametro hEntity è attualmente funzionante in un ruolo agente. Questo perché l'entità è già stata assegnata a una porta diversa da quella specificata dal parametro nPort . Per garantire l'assegnazione di un'applicazione agente a una porta specifica, un'applicazione WinSNMP può eseguire la procedura seguente.

  1. Chiamare SnmpStrToEntity come indicato di seguito:

    hAgent = SnmpStrToEntity (hSession, <addrString>);

  2. Chiamare SnmpSetPort come indicato di seguito:

    SnmpSetPort (hAgent, <nPort>);

  3. Chiamare SnmpListen come indicato di seguito:

    SnmpListen (hAgent, SNMPAPI_ON);

dove <addrString> contiene la rappresentazione stringa di un indirizzo IP o di un indirizzo IPX e <nPort> contiene la nuova assegnazione di porta per l'applicazione agente.

Si noti che un indirizzo IPX contiene un numero di rete costituito da otto cifre esadecimali (senza riempimento se necessario); separatore (":", "." o " – "); e un numero di nodo costituito da 12 cifre esadecimali (con riempimento zero se necessario), ad esempio 00000001:00081A0D01C2. Per altre informazioni, vedere Supporto per stringhe di indirizzi IPX in WinSNMP.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winsnmp.h
Libreria Wsnmp32.lib
DLL Wsnmp32.dll

Vedi anche

SnmpGetTranslateMode

SnmpListen

SnmpStrToEntity

Funzioni WinSNMP

Panoramica dell'API WinSNMP