Compartilhar via


Função SnmpExtensionTrap (snmp.h)

[O SNMP está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele poderá ser alterado ou ficar indisponível em versões subsequentes. Em vez disso, use o Gerenciamento Remoto do Windows, que é a implementação da Microsoft do WS-Man.]

O serviço Microsoft SNMP chama a função SnmpExtensionTrap para recuperar informações de que o serviço precisa para gerar interceptações para o agente de extensão SNMP. O serviço chama essa função somente depois que o agente de extensão define o identificador de evento trap para o estado sinalizado durante uma chamada para a função SnmpExtensionInit . A função SnmpExtensionTrap é um elemento da API do Agente de Extensão SNMP.

Sintaxe

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

Parâmetros

[out] pEnterpriseOid

Ponteiro para uma estrutura AsnObjectIdentifier para receber o identificador de objeto da empresa que gerou a interceptação. O serviço SNMP não libera a memória dessa variável.

[out] pGenericTrapId

Ponteiro para uma variável para receber uma indicação da interceptação genérica. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
SNMP_GENERICTRAP_COLDSTART
O agente está inicializando entidades de protocolo no modo gerenciado. Ele pode alterar objetos em sua exibição.
SNMP_GENERICTRAP_WARMSTART
O agente está se reinicializando, mas não alterará objetos em sua exibição.
SNMP_GENERICTRAP_LINKDOWN
Uma interface anexada foi alterada do estado "para cima" para o estado "inativo". A primeira variável identifica a interface .
SNMP_GENERICTRAP_LINKUP
Uma interface anexada foi alterada do estado "para baixo" para o estado "para cima". A primeira variável identifica a interface .
SNMP_GENERICTRAP_AUTHFAILURE
Uma entidade SNMP enviou uma mensagem SNMP, mas alegou falsamente pertencer a uma comunidade conhecida.
SNMP_GENERICTRAP_EGPNEIGHLOSS
Um par de EGP foi alterado para o estado inativo. A primeira variável identifica o endereço IP do par EGP.
SNMP_GENERICTRAP_ENTERSPECIFIC
Sinaliza um evento extraordinário identificado no parâmetro pSpecificTrapId .

[out] pSpecificTrapId

Ponteiro para uma variável para receber uma indicação da interceptação específica gerada.

[out] pTimeStamp

Ponteiro para uma variável para receber o carimbo de data/hora. É recomendável inicializar esse parâmetro com o valor retornado por uma chamada para a função SnmpSvcGetUptime .

[out] pVarBindList

Ponteiro para a lista de associações de variáveis. O agente de extensão deve alocar a memória para esse parâmetro. O serviço SNMP libera a memória com uma chamada para a função SnmpUtilVarBindListFree .

Retornar valor

Se a função SnmpExtensionTrap retornar uma interceptação, o valor retornado será TRUE. O serviço SNMP chama repetidamente a função até que ela retorne um valor false. Para obter informações adicionais, consulte a seção Comentários a seguir.

Comentários

O serviço SNMP chama repetidamente a função SnmpExtensionTrap quando o identificador de evento phSubagentTrapEvent é definido como o estado sinalizado. Esse identificador é passado de volta durante a chamada para a função de ponto de entrada SnmpExtensionInit . A função SnmpExtensionTrap deve retornar TRUE para indicar que os parâmetros contêm dados válidos para uma única interceptação. A função deve retornar FALSE para indicar que os parâmetros não representam dados de interceptação válidos e para interromper as chamadas repetidas do serviço.

Observe que, depois que o serviço SNMP envia uma interceptação, ele libera a memória associada à lista de associação de variáveis.

É importante observar que a documentação anterior afirmava que o agente de extensão deveria alocar dinamicamente memória para o identificador de objeto corporativo porque o serviço SNMP tentaria liberar a memória depois de enviar uma interceptação. O serviço não liberará a memória associada ao identificador de objeto corporativo. É recomendável que você retorne um ponteiro para uma estrutura asnObjectIdentifier estática.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho snmp.h

Confira também

Funções SNMP

SetEvent

Visão geral do Protocolo SNMP

Snmpextensioninit

SnmpSvcGetUptime

SnmpUtilMemAlloc

SnmpUtilVarBindListFree

SnmpVarBindList