Función SnmpSetPort (winsnmp.h)
[SNMP está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. En versiones posteriores podría modificarse o no estar disponible. En su lugar, use administración remota de Windows, que es la implementación de Microsoft de WS-Man.]
Una aplicación WinSNMP llama a la función SnmpSetPort para cambiar el puerto asignado a una entidad de destino. La función SnmpSetPort es un elemento de la API winSNMP, versión 2.0.
Sintaxis
SNMPAPI_STATUS SNMPAPI_CALL SnmpSetPort(
[in] HSNMP_ENTITY hEntity,
[in] UINT nPort
);
Parámetros
[in] hEntity
Identificador de una entidad de destino winSNMP. Este parámetro puede especificar el identificador para una entidad que actúa en el rol de una aplicación de agente SNMP como resultado de una llamada a la función SnmpListen . Para obtener más información, vea la sección Comentarios que se muestra más adelante.
[in] nPort
Especifica un entero sin signo que identifica la nueva asignación de puerto para la entidad de destino. Si especifica una dirección local que está ocupada o si especifica una dirección remota que no está disponible, se produce un error en una llamada a la función SnmpSetPort .
Valor devuelto
Si la función se realiza correctamente, se SNMPAPI_SUCCESS el valor devuelto.
Si se produce un error en la función, el valor devuelto se SNMPAPI_FAILURE. Para obtener información de error extendida, llame a SnmpGetLastError especificando un valor NULL en su parámetro de sesión . La función SnmpGetLastError puede devolver uno de los siguientes errores.
Código devuelto | Descripción |
---|---|
|
La función SnmpStartup no se completó correctamente. |
|
La entidad especificada por el parámetro hEntity ya funciona en un rol de agente como resultado de una llamada a la función SnmpListen . Para obtener más información, vea la sección Comentarios que se muestra más adelante. |
|
El parámetro hEntity no es válido. Este parámetro debe ser un identificador devuelto por una llamada anterior a la función SnmpStrToEntity . |
|
Se produjo un error desconocido o no definido. |
Comentarios
La implementación de Microsoft WinSNMP asigna un puerto a cada entidad de administración como resultado de la llamada de una aplicación WinSNMP a la función SnmpStrToEntity . Si el modo de SNMPAPI_UNTRANSLATED está en vigor cuando la implementación crea una entidad, la implementación normalmente asigna el puerto de solicitud SNMP estándar para la familia de protocolos correspondiente a la entidad; por ejemplo, UDP 161 o IPX 36879. Si el modo de SNMPAPI_TRANSLATED está en vigor, la implementación asigna el puerto especificado para la entidad en la base de datos WinSNMP. Para recuperar la entidad actual y el modo de traducción de contexto en vigor para la implementación, una aplicación puede llamar a la función SnmpGetTranslateMode . Para obtener más información, vea Establecer el modo de traducción de entidad y contexto y la base de datos WinSNMP.
Se produce un error en una llamada a la función SnmpSetPort si la entidad especificada por el parámetro hEntity funciona actualmente en un rol de agente. Esto se debe a que la entidad ya se ha asignado a un puerto distinto del especificado por el parámetro nPort . Para garantizar la asignación de una aplicación de agente a un puerto específico, una aplicación WinSNMP puede realizar los pasos siguientes.
-
Llame a SnmpStrToEntity de la siguiente manera:
hAgent = SnmpStrToEntity (hSession, <addrString>);
-
Llame a SnmpSetPort de la siguiente manera:
SnmpSetPort (hAgent, <nPort>);
-
Llame a SnmpListen de la siguiente manera:
SnmpListen (hAgent, SNMPAPI_ON);
Tenga en cuenta que una dirección IPX contiene un número de red que consta de ocho dígitos hexadecimales (relleno cero si es necesario); un separador (ya sea ":", "." o " – "); y un número de nodo que consta de 12 dígitos hexadecimales (relleno cero si es necesario), por ejemplo, 00000001:00081A0D01C2. Para obtener más información, vea Compatibilidad con cadenas de dirección IPX en WinSNMP.
Requisitos
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winsnmp.h |
Library | Wsnmp32.lib |
Archivo DLL | Wsnmp32.dll |