Compartir a través de


Función SnmpExtensionTrap (snmp.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 la administración remota de Windows, que es la implementación de Microsoft de WS-Man.]

El servicio SNMP de Microsoft llama a la función SnmpExtensionTrap para recuperar información que el servicio necesita para generar capturas para el agente de extensión SNMP. El servicio llama a esta función solo después de que el agente de extensión establezca el identificador de evento de captura en el estado señalado durante una llamada a la función SnmpExtensionInit . La función SnmpExtensionTrap es un elemento de la API del Agente de extensión SNMP.

Sintaxis

BOOL SNMP_FUNC_TYPE SnmpExtensionTrap(
  [out] AsnObjectIdentifier *pEnterpriseOid,
  [out] AsnInteger32        *pGenericTrapId,
  [out] AsnInteger32        *pSpecificTrapId,
  [out] AsnTimeticks        *pTimeStamp,
  [out] SnmpVarBindList     *pVarBindList
);

Parámetros

[out] pEnterpriseOid

Puntero a una estructura AsnObjectIdentifier para recibir el identificador de objeto de la empresa que generó la captura. El servicio SNMP no libera la memoria de esta variable.

[out] pGenericTrapId

Puntero a una variable para recibir una indicación de la captura genérica. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
SNMP_GENERICTRAP_COLDSTART
El agente está inicializando entidades de protocolo en el modo administrado. Puede modificar objetos en su vista.
SNMP_GENERICTRAP_WARMSTART
El agente se reinicializa, pero no modificará los objetos dentro de su vista.
SNMP_GENERICTRAP_LINKDOWN
Una interfaz adjunta ha cambiado del estado "arriba" al estado "abajo". La primera variable identifica la interfaz .
SNMP_GENERICTRAP_LINKUP
Una interfaz adjunta ha cambiado del estado "abajo" al estado "arriba". La primera variable identifica la interfaz .
SNMP_GENERICTRAP_AUTHFAILURE
Una entidad SNMP ha enviado un mensaje SNMP, pero ha reclamado falsamente que pertenezca a una comunidad conocida.
SNMP_GENERICTRAP_EGPNEIGHLOSS
Un par EGP ha cambiado al estado inactivo. La primera variable identifica la dirección IP del par EGP.
SNMP_GENERICTRAP_ENTERSPECIFIC
Indica un evento extraordinario que se identifica en el parámetro pSpecificTrapId .

[out] pSpecificTrapId

Puntero a una variable para recibir una indicación de la captura específica generada.

[out] pTimeStamp

Puntero a una variable para recibir la marca de tiempo. Se recomienda inicializar este parámetro con el valor devuelto por una llamada a la función SnmpSvcGetUptime .

[out] pVarBindList

Puntero a la lista de enlaces de variables. El agente de extensión debe asignar la memoria para este parámetro. El servicio SNMP libera la memoria con una llamada a la función SnmpUtilVarBindListFree .

Valor devuelto

Si la función SnmpExtensionTrap devuelve una captura, el valor devuelto es TRUE. El servicio SNMP llama repetidamente a la función hasta que devuelve un valor false. Para obtener más información, vea la siguiente sección Comentarios.

Comentarios

El servicio SNMP llama repetidamente a la función SnmpExtensionTrap cuando el controlador de eventos phSubagentTrapEvent se establece en el estado señalado. Este identificador se devuelve durante la llamada a la función de punto de entrada SnmpExtensionInit . La función SnmpExtensionTrap debe devolver TRUE para indicar que los parámetros contienen datos válidos para una sola captura. La función debe devolver FALSE para indicar que los parámetros no representan datos de captura válidos y para detener las llamadas repetidas del servicio.

Tenga en cuenta que después de que el servicio SNMP envíe una captura, libera la memoria asociada a la lista de enlaces de variables.

Es importante tener en cuenta que la documentación anterior indicó que el agente de extensión debe asignar dinámicamente memoria para el identificador de objeto de empresa porque el servicio SNMP intentaría liberar la memoria después de enviar una captura. El servicio no liberará la memoria asociada al identificador de objeto de empresa. Se recomienda devolver un puntero a una estructura AsnObjectIdentifier estática en su lugar.

Requisitos

Requisito Value
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 snmp.h

Consulte también

Funciones SNMP

SetEvent

Introducción al Protocolo simple de administración de redes (SNMP)

SnmpExtensionInit

SnmpSvcGetUptime

SnmpUtilMemAlloc

SnmpUtilVarBindListFree

SnmpVarBindList