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 |
---|---|
|
La fonction SnmpStartup ne s’est pas terminée correctement. |
|
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. |
|
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 . |
|
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.
-
Appelez SnmpStrToEntity comme suit :
hAgent = SnmpStrToEntity (hSession, <addrString>);
-
Appelez SnmpSetPort comme suit :
SnmpSetPort (hAgent, <nPort>);
-
Appelez SnmpListen comme suit :
SnmpListen (hAgent, SNMPAPI_ON);
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 |