Partager via


Fonction SnmpSetPort (winsnmp.h)

[SNMP est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il sera peut-être modifié ou indisponible dans les versions ultérieures. Au lieu de cela, utilisez La gestion à distance Windows, qui est l’implémentation Microsoft de WS-Man.]

Une application WinSNMP appelle la fonction SnmpSetPort pour modifier le port affecté à une entité de destination. La fonction SnmpSetPort est un élément de l’API WinSNMP, version 2.0.

Syntaxe

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

Paramètres

[in] hEntity

Gérez une entité de destination WinSNMP. Ce paramètre peut spécifier le handle d’une entité agissant dans le rôle d’une application d’agent SNMP à la suite d’un appel à la fonction SnmpListen . Pour plus d'informations, consultez la section Notes qui suit.

[in] nPort

Spécifie un entier non signé qui identifie la nouvelle affectation de port pour l’entité de destination. Si vous spécifiez une adresse locale occupée ou si vous spécifiez une adresse distante qui n’est pas disponible, un appel à la fonction SnmpSetPort échoue.

Valeur retournée

Si la fonction réussit, la valeur de retour est SNMPAPI_SUCCESS.

Si la fonction échoue, la valeur de retour est SNMPAPI_FAILURE. Pour obtenir des informations d’erreur étendues, appelez SnmpGetLastError en spécifiant une valeur NULL dans son paramètre de session . La fonction SnmpGetLastError peut retourner l’une des erreurs suivantes.

Code de retour Description
SNMPAPI_NOT_INITIALIZED
La fonction SnmpStartup ne s’est pas terminée correctement.
SNMPAPI_OPERATION_INVALID
L’entité spécifiée par le paramètre hEntity fonctionne déjà dans un rôle d’agent à la suite d’un appel à la fonction SnmpListen . Pour plus d'informations, consultez la section Notes qui suit.
SNMPAPI_ENTITY_INVALID
Le paramètre hEntity n’est pas valide. Ce paramètre doit être un handle retourné par un appel précédent à la fonction SnmpStrToEntity .
SNMPAPI_OTHER_ERROR
Une erreur inconnue ou non définie s’est produite.

Remarques

L’implémentation de Microsoft WinSNMP affecte un port à chaque entité de gestion à la suite de l’appel d’une application WinSNMP à la fonction SnmpStrToEntity . Si le mode SNMPAPI_UNTRANSLATED est en vigueur lorsque l’implémentation crée une entité, l’implémentation affecte généralement le port de requête SNMP standard pour la famille de protocoles correspondante à l’entité ; par exemple, UDP 161 ou IPX 36879. Si le mode SNMPAPI_TRANSLATED est en vigueur, l’implémentation affecte le port spécifié pour l’entité dans la base de données WinSNMP. Pour récupérer le mode de traduction d’entité et de contexte actuel en vigueur pour l’implémentation, une application peut appeler la fonction SnmpGetTranslateMode . Pour plus d’informations, consultez Définition du mode de traduction d’entité et de contexte et La base de données WinSNMP.

Un appel à la fonction SnmpSetPort échoue si l’entité spécifiée par le paramètre hEntity fonctionne actuellement dans un rôle d’agent. Cela est dû au fait que l’entité a déjà été affectée à un port autre que celui spécifié par le paramètre nPort . Pour garantir l’affectation d’une application agent à un port spécifique, une application WinSNMP peut effectuer les étapes suivantes.

  1. Appelez SnmpStrToEntity comme suit :

    hAgent = SnmpStrToEntity (hSession, <addrString>);

  2. Appelez SnmpSetPort comme suit :

    SnmpSetPort (hAgent, <nPort>);

  3. Appelez SnmpListen comme suit :

    SnmpListen (hAgent, SNMPAPI_ON);

où <addrString> contient la représentation sous forme de chaîne d’une adresse IP ou d’une adresse IPX, et <où nPort> contient la nouvelle attribution de port pour l’application agent.

Notez qu’une adresse IPX contient un numéro réseau qui se compose de huit chiffres hexadécimaux (vides si nécessaire) ; un séparateur (soit « : », « . » ou " – « ); et un numéro de nœud qui se compose de 12 chiffres hexadécimaux (vides si nécessaire), par exemple, 00000001:00081A0D01C2. Pour plus d’informations, consultez Prise en charge des chaînes d’adresse IPX dans WinSNMP.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winsnmp.h
Bibliothèque Wsnmp32.lib
DLL Wsnmp32.dll

Voir aussi

SnmpGetTranslateMode

SnmpListen

SnmpStrToEntity

Fonctions WinSNMP

Vue d’ensemble de l’API WinSNMP